ProDBA에 Rocky Linux 8 환경에서 Oracle 11g 설치 방법에 대한 질문 글이 있어서 오랜만에 설치 테스트를 했습니다. 설치 과정중의 시행착오와 설치 절차를 정리해 보려고 합니다. Rocky Linux 설치는 처음이라 생소했지만, 설치해보니 Red Hat Enterprise / CentOS 와 거의 동일하게 느껴졌습니다. Rocky Linux Minimal ISO를 다운받아 VMware Workstation Player에서 CentOS 8로 선택하여 설치했습니다. 오라클은 11.2.0.4 버전 제품을 준비했습니다. 1. runInstaller 실행시 No such file or directory 메시지 발생 $ ./runInstaller ./runInstaller: line 137: /..
안녕하세요. 오라클의 ORA-00257 오류메시지가 발생한 문제를 해결한 방법에 대해 정리해보고자 합니다. 평소와 다름없이 sqlplus를 사용해서 오라클에 접속하려고 하는데 아래처럼 오류메시지가 나왔습니다. $ sqlplus scott/tiger SQL*Plus: Release 11.2.0.1.0 Production on Sun Jan 9 17:21:31 2022 Copyright (c) 1982, 2009, Oracle. All rights reserved. ERROR: ORA-00257: archiver error. Connect internal only, until freed. 테스트 서버이고, 생소한 오류이지만 archiver라는 내용으로 유추했을때 로그 아카이브가 안되나? 생각으로 파일시스템을..
며칠 전에 gurubee에서 오라클 데이터베이스의 인덱스에 상수값을 넣는 방식에 대한 질문글이 올라와 찾아본 내용을 정리해보려고 합니다. 몇개의 블로그 글과 오라클 매뉴얼에서 이와 관련된 재미있는 내용을 발견했습니다. 오라클은 인덱스의 키 값이 모두 NULL인 row에 대해서는 저장하지 않는다는 것입니다. Oracle Database does not store in the index any rows where all the keys are NULL. docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5010.htm 이런 특성으로 인해 WHERE 조건절에 IS NULL을 사용할 경우 테이블 스캔이 발생할 수 있습니다. 이런 경우를 회피하기 위한 방법이 ..
사용자 예외 처리시 RAISE_APPLICATION_ERROR 구문을 사용하는데, 예외 상황이 발생할 경우 ORA-06512 메시지가 같이 나오더군요. 구루비 커뮤니티에서 사용자가 정의한 오류만 출력하는 방법에 대한 질문글이 있어서 나중에 참고도 할겸 찾아보았습니다. 먼저 구루비 커뮤니티 강좌의 사용자 정의 예외 예제입니다. (www.gurubee.net/lecture/1073) CREATE OR REPLACE PROCEDURE User_Exception (v_deptno IN emp.deptno%type ) IS -- 예외의 이름을 선언 user_define_error EXCEPTION; -- STEP 1 cnt NUMBER; BEGIN DBMS_OUTPUT.ENABLE; SELECT COUNT(emp..
안녕하세요. 오라클 데이터베이스에서 Microsft Access (mdb) 파일을 조회하는 기능을 테스트해보았습니다. 테스트 환경은 윈도우 10 64비트, 오라클 데이터베이스 11gR2 64비트 입니다. 먼저 Database Gateway가 설치되어야 합니다. 오라클 기본 설치 구성 중 제외하지 않았다면 사용할 수 있습니다. mdb 파일은 odbc 를 통해 접근할 수 있으므로 DG4ODBC 설정을 했습니다. 10g에서는 HSODBC라고 하죠. 참고로 Database Gateway는 Oracle Document 232482.1에 따르면 별도의 라이센스는 필요하지 않다고 합니다. 아래는 해당 문서 내용의 일부입니다. The purpose of this note is to clarify the licensin..
4KB가 넘는 이미지 데이터가 hex string으로 존재하고 이를 이미지 형태로 ORACLE 테이블에 입력하는 테스트를 해보았습니다. 먼저 아래와 같은 함수를 만듭니다. 함수는 stack overflow의 글에서 참조했습니다. 기본적인 기능만 있어 예외처리가 추가로 필요할 수 있습니다. create or replace function hextoblob(data in clob) return blob is v_blob blob; v_start pls_integer := 1; v_buffer pls_integer := 4000; begin if data is null then return '""'; end if; dbms_lob.createtemporary(v_blob, true); for i in 1..c..
- Total
- Today
- Yesterday