본문 바로가기

DataBase/Oracle

시노님(SYNONYM) 이란? 시노님(SYNONYM) 이란? 데이터베이스 객체에 대한 소유권은 해당 객체를 생성한 사용자가 가진다. 따라서 다른 사용자가 소유한 객체에 접근하기 위해서는 소유자로부터 접근권한을 부여 받아야 한다. 그리고 다른 사용자가 소유한 객체를 조회할 때에는 소유자의 ID를 객체 이름 앞에 지정해야 한다. 예를 들어, emp 테이블의 소유자가 scott이고, 어떤 사용자가 scott로부터 접근권한을 부여 받아 emp 테이블을 조회하려면 scott.emp와 같이 소유자 ID를 테이블 이름 앞에 지정해야 한다. 하지만 객체를 조회할 때마다 객체의 소유자를 일일이 지정하는 방법은 매우 번거로운 일이다. 시노님은 하나의 객체에 대해 다른 이름을 정의하는 방법이다. 예를 들어, scott 소유의 scott.emp 테이블에 .. 더보기
작업 진행율 -- ACtive Process view SELECT s.SQL_HASH_VALUE,s.SADDR, s.SID, s.SERIAL#, s.AUDSID, s.PADDR, s.USER#, s.USERNAME, s.COMMAND, s.OWNERID, s.TADDR, s.LOCKWAIT, s.STATUS, s.SERVER, s.SCHEMA#, s.SCHEMANAME, s.OSUSER, s.PROCESS, s.MACHINE, s.TERMINAL, UPPER(s.PROGRAM) PROGRAM, s.TYPE, s.SQL_ADDRESS, s.PREV_SQL_ADDR, s.PREV_HASH_VALUE, s.MODULE, s.MODULE_HASH, s.ACTION, s.ACTION_HASH, s.CLIENT_INFO, s... 더보기
[펌]XMLTYPE 기본 사용 예 이 강좌는 Oracle Technical Bulletins No. 18182 XMLTYPE COLUMN에 대한 DDL, DML, QUERY 예제(9I)를 정리한 내용 입니다. XMLType은 Oracle9i 이후 버전에 저장되는 XML 데이타를 작성, 추출 및 인덱스싱하는 강력한 메커니즘을 제공하는 자체 고유 함수를 가지고 있습니다. 아래는 XMLType의 사용 예제 입니다 1. XMLType 컬럼을 갖는 테이블 생성 SQL> CREATE TABLE po_xml_tab( poid number, poDoc SYS.XMLTYPE ); 테이블이 생성되었습니다. 2. XMLType 컬럼의 생성, 추가, 삭제 방법 -- 컬럼의 추가 SQL> ALTER TABLE po_xml_tab ADD (custDoc sys... 더보기
[펌]with문을 활용하자 oracle 9i 이상에서 지원됩니다. 제가 써본 경험으로는 속도뿐만이 아니라 sql 자체도 많이 간결해졌습니다. 특히 union에 똑같은 문장이 계속 들어갈 경우 사용하면 한번만 기술하고 불러쓰면 됩니다. 문장이 많이 간결해지겠죠? //기본With문에서 , alias as 로 연결하여 쓰면 된다. with A as ( .... ) , B as ( .... ) select .. .. from ( select * from A ), ( select * from B ) ----- in-line view or temporary table에서 “with”구 사용 복잡한 SQL에서 동일 블록에 대해 반복적으로 사용하는 경우 그 블록을 재사용 할 수 있게 함으로서 성능향상을 높일 수 있는데 with절을 이용하여 미리.. 더보기
SQL*LOADER에서 SEQUENCE함수와 DECODE함수 사용하는 방법 - 이 내용은 오라클 불틴 No.20180 와 No.10863를 참고했습니다. - Unique한 DATA을 Load하고자 할때 쓰이는 오라클 시퀀스와, SEQUENCE () 함수와 DECODE 함수의 사용 예제입니다. - 함수를 사용하는 경우는 conventional path load인 경우에만 가능하며 direct path load인 경우는 적용되지 않음을 주의해야 합니다. - 테스트 테이블 생성 CREATE TABLE load_test (id NUMBER, data1 VARCHAR2(30), data2 VARCHAR2(30)); [예제1] Database Sequence를 Load하기 - SQL*Loader에 사용할 시퀀스를 생성 합니다. CREATE SEQUENCE load_test_seq STAR.. 더보기
SQL*Loader에 사용되는 파일들 1. Control File ▒ Control File의 정의 ① Control File은 Load할 데이터에 대한 설명을 기술한 파일 입니다. ② 데이터를 로드 할 오라클 테이블과 컬럼을 명시 합니다. ③ 테이블 내에 데이터와 컬럼 사이의 종속 관계를 지정 합니다. ▒ Control File 작성 Guide ① Control File은 대소문자 구분없이 작성 할 수 있습니다. ② 대소문자 구분은 " "등으로 지정된 스트링 데이터를 제외하고는 중요하지 않습니다. ③ 주석은 -- 로 표시 합니다. ④ SQL*Loader의 예약어를 테이블 또는 컬럼명으로 사용 할 때에는 " "를 사용해야 합니다. ▒ Control File 예약어들 ① LOAD DATA : 제어화일의 시작을 명시 합니다. ② INFILE :.. 더보기
SQL*Loader란? 1. SQL*Loader란 ? SQL*Loader란 외부 화일 데이터를 ORACLE 데이타베이스의 테이블에 넣기 위한 유틸리티 입니다. 2. SQL*Loader 특징 ① 하나 이상의 입력 파일을 사용 할 수 있습니다. ② 로드를 위해 여러 개의 입력 레코드가 하나의 논리적 레코드로 결합될 수 있습니다. ③ 입력 필드는 고정된 길이를 가질 수도, 다양한 길이를 가질 수도 있습니다. ④ 입력 데이터는 문자, 이진, 팩 십진수(packed decimal), 날짜, 그리고 존 십진수(zoned decimal)등의 어떤 유형도 사용 할 수 있습니다. ⑤ 데이터는 디스크나 테이프, 또는 명명된 파이프 등 여러 유형의 매체로부터 로드될 수 있습니다. ⑥ 데이터는 한 번에 여러 테이블로 로드될 수 있습니다. ⑦ 데이터.. 더보기
SQL*Loader 예제 연습용 테이블 생성 SQL>CREATE TABLE DEPT_TEST( DEPTNO NUMBER NOT NULL, DNAME VARCHAR2(14), LOC VARCHAR2(13)) 테이블이 생성되었습니다. SQL>CREATE TABLE EMP_TEST( EMPNO NUMBER NOT NULL, ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4), HIREDATE DATE, SAL NUMBER(7,2), COMM NUMBER(7,2), D0EPTNO NUMBER(2)) 테이블이 생성되었습니다. 제어파일에 데이터가 들어가 있는 경우 - DEPT_TEST 테이블에 insert하는 예제 입니다. - 각 데이터의 레코드의 필드를 ','로 구분을 했습니다 ===========.. 더보기
NVL2 함수의 사용 NVL2라는 함수 DECODE랑 조금 비슷한 놈 같기도 하고요.. 참 편한놈이네용.. 문법 NVL2(expr,expr1,expr2); expr의 값이 null이 아닐 경우에는 expr1의 값을 반환 하고요 null일 경우에는 expr2의 값을 반환 합니다. 예제) -- 보통 SQL문을 실행 했을 경우 SQL> SELECT ename, comm FROM emp; ENAME COMM ---------------- ---------- SMITH ALLEN 300 WARD 500 JONES MARTIN 1400 BLAKE CLARK SCOTT KING TURNER 0 ADAMS -- NVL함수를 사용 했을 경우 SQL>SELECT ename, NVL(comm, 0) comm FROM emp; ENAME COMM.. 더보기
LONG TYPE을 LOB TYPE으로 CONVERSION하는 방법(TO_LOB) LONG TYPE을 LOB TYPE으로 CONVERSION하는 방법(TO_LOB) Bulletin no 12143 참고 Oracle8 부터 LONG이나 LONG RAW Type과는 별도로 LOB Type이 추가 되었습니다. LONG 이나 LONG RAW Type을 CLOB 또는 BLOB Type으로 변경하기 위해서는 Oracle8에서는 데이타를 다시 입력해야 했지만, 오라클 8i부터는 TO_LOB Function을 이용해서 Long Type의 Data를 LOB Type으로 쉽게 Conversion할 수 있습니다. TO_LOB Function은 보통 CREATE TABLE .. AS SELECT .. 문장이나 INSERT INTO .. SELECT .. 문장을 이용해서 쉽게 사용 할 수 있습니다. [예제1.. 더보기