#sqlplus / as sysdba
sql> SELECT * FROM DBA_DIRECTORIES;
sql> CREATE OR REPLACE DIRECTORY DP_DIR AS "경로";
sql> GRANT READ, WRITE ON DIRECTORY DP_DIR TO 사용자;
--DUMP.PAR 작성
SCHEMAS=KCA_RUN
DIRECTORY=DATA_PUMP_DIR
DUMPFILE=kca_run.dmp
LOGFILE=kca_run.log
EXCLUDE=TABLE:"IN ('TZIP_CCW', 'TZIP_CTPV', 'TZIP_EMD', 'TZIP_LNDN', 'TZIP_LNDN_ENTR', 'TZIP_ROAD', 'TZIP_ROAD_ENTR')"
--실행
sql> expdp ID/PW PARFILE=DUMP.PAR
2014년 1월 3일 금요일
EXPDP - SQL PUMP DUMP사용법
SQL*LOADER 사용법
작업파일.ctl LOAD DATA INFILE '/oradata/juso/00.txt' INFILE '/oradata/juso/01.txt' INFILE '/oradata/juso/02.txt' INFILE '/oradata/juso/03.txt' INFILE '/oradata/juso/04.txt' INFILE '/oradata/juso/05.txt' INFILE '/oradata/juso/06.txt' INFILE '/oradata/juso/07.txt' INFILE '/oradata/juso/08.txt' INFILE '/oradata/juso/09.txt' INFILE '/oradata/juso/10.txt' INFILE '/oradata/juso/11.txt' INFILE '/oradata/juso/12.txt' INFILE '/oradata/juso/13.txt' INFILE '/oradata/juso/14.txt' INFILE '/oradata/juso/15.txt' INFILE '/oradata/juso/16.txt' APPEND INTO TABLE TZIP_LNDN_ENTR #컬럼 Mapping FIELDS TERMINATED BY '|' (STTT_DONG_CODE, CTPV_NM, CCW_NM, STTT_EMD_NM, STTT_RI_NM, MNT_TYPE, LNDN_MAIN_NO, LNDN_SUB_NO, ROAD_NM_CODE, ROAD_NM, UDGR_TYPE, BULD_MAIN_NO, BULD_SUB_NO, BULD_NM, DTL_BULD_NM, BULD_MNG_NO, EMD_SRL_NO, ADTV_DONG_CODE, ADTV_DONG_NM, ZPCD, ZPCD_SRL_NO, MASS_TDST_NM, MVNT_RSN_CODE, CHNG_DATE, CHNG_BF_ROAD_NM_ADDR, CCW_BULD_NM, CLBR_HOUSE_TYPE) SQL>sqlldr ID/PW control="작업파일.ctl"
Oracle Tablespace 변경방법
테이블스페이스를 변경하는 방법을 정리한다.
/*
* 1. 테이블의 TABLESPACE변경 방법은 다음과 같다.
* ALTER TABLE 테이블명 MOVE TABLESPACE 테이블스페이스명;
*
*/
SELECT 'ALTER TABLE ' || SEGMENT_NAME || ' MOVE TABLESPACE 테이블스페이명;'
FROM USER_SEGMENTS
WHERE SEGMENT_TYPE = 'TABLE';
/*
* 2. 두번째 INDEX의 TABLESPACE 변경.
* ALTER INDEX 인덱스명 REBUILD TABLESPACE 테이블스페이스명;
*
*/
SELECT 'ALTER INDEX ' || SEGMENT_NAME || ' REBUILD TABLESPACE 테이블스페이명;'
FROM USER_SEGMENTS
WHERE SEGMENT_TYPE = 'INDEX';
/*
* 3. LOBINDEX, LOG SEGMENT의 TABLESPACE변경
* ALTER INDEX 인덱스명 REBUILD TABLESPACE 테이블스페이스명;
* 테이블의 TABLESPACE를 변경해도 해당계정의 TABLESPACE사용정보를 조회하면 몇가지가 나온다.
* LOBINDEX, LOG SEGMENT의 테이블스페이스 정보들이다.
*
*/
SELECT *
FROM DBA_SEGMENTS
WHERE OWNER = '사용자계정';
ALTER TABLE 테이블명 MOVE LOB ( 컬럼1, 컬럼2 ) STORE AS ( TABLESPACE 테이블스페이스명 );
DBA_SEGMENTS에 SELECT한 결과를 보니 하나의 테이블에 여러개의 LOB을 사용하면 행으로 나온다.
SELECT 'ALTER TABLE ' || TABLE_NAME || ' MOVE LOB (' ||
SUBSTR (XMLAGG (XMLELEMENT (A, ',' || COLUMN_NAME)).EXTRACT ('//text()'),2) || ')
STORE AS ( TABLESPACE 테이블스페이스명 );'
FROM DBA_LOBS
WHERE OWNER = '사용자계정'
GROUP BY TABLE_NAME;
피드 구독하기:
글 (Atom)