문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 | ||
| white:h5dbimport [2024/02/24 14:46] – [Export] taekgu | white:h5dbimport [2025/04/15 10:05] (현재) – 바깥 편집 127.0.0.1 | ||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| + | ====== H5 DB Export and Import ====== | ||
| + | [[oracle: | ||
| + | [[white: | ||
| + | export & import 스크립트 | ||
| + | |||
| + | ● sys 또는 system 계정정보 없이 간단하게 sysdba권한 접속하기 | ||
| + | <code cmd> | ||
| + | $ sqlplus sys/ | ||
| + | </ | ||
| + | ※ 권한에 제한이 있을 수 있음. | ||
| + | |||
| + | ※ 아래 내용에서 | ||
| + | C:\> 부분은 명령프롬프트에서 실행. | ||
| + | SQL> 부분은 sqlplus "/as sysdba" | ||
| + | |||
| + | ===== Export ===== | ||
| + | |||
| + | ● 일반 EXPDP 명령 | ||
| + | <code bash> | ||
| + | EXPDP h552/h552 schemas=h552 DUMPFILE=H552_11G.DMP LOGFILE=H552_11G.log | ||
| + | </ | ||
| + | |||
| + | ● 11g이상에서 import할 대상이 하위 버전일 경우의 Export명령문(import대상 오라클의 버전 명시) | ||
| + | <code bash> | ||
| + | EXPDP h552/h552 schemas=h552 DUMPFILE=H552_10G.DMP LOGFILE=H552_10G.log VERSION=10.2 | ||
| + | </ | ||
| + | ※ EXPDP, IMPDP 명령문 경우 Oracle 10 부터 사용가능 | ||
| + | |||
| + | ※ EXPDP 사용시 덤프파일 생성 경로 확인 | ||
| + | <code sql> | ||
| + | SELECT DIRECTORY_PATH FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME = ' | ||
| + | </ | ||
| + | • EXPDP 사용시 조회된 위치에 export한 덤프파일이 생성된다. | ||
| + | • IMPDP 사용시에도 해당 경로에 덤프파일을 옮겨놓고 import해야 한다. | ||
| + | |||
| + | ● Oracle 9 이하에서 Export(유저별) | ||
| + | <code cmd> | ||
| + | C:\> exp userid=h552/ | ||
| + | </ | ||
| + | |||
| + | ● Oracle 9 이하에서 Export(DB전체) | ||
| + | <code cmd> | ||
| + | C:\> exp userid=h552/ | ||
| + | </ | ||
| + | |||
| + | ===== Import ===== | ||
| + | |||
| + | ==== 유저삭제 ==== | ||
| + | <code sql> | ||
| + | DROP USER h551 CASCADE; | ||
| + | -- ORACLE12C에서는 오류가 나올 수 있음.alter session set " | ||
| + | |||
| + | -- ' | ||
| + | DROP TABLESPACE H5_DATA INCLUDING CONTENTS AND DATAFILES; | ||
| + | |||
| + | -- ' | ||
| + | DROP TABLESPACE H5_INDX INCLUDING CONTENTS AND DATAFILES; | ||
| + | |||
| + | -- ※ 기존 tablepace H5_DATA, H5_INDX(H5_IDX)를 확인 후 Import할 곳에 생성해야 한다. | ||
| + | SELECT t.name ,d.name FROM V$DATAFILE d, V$TABLESPACE t WHERE t.ts# | ||
| + | -- * 조회시 테이블스페이스 이름 및 파일경로 확인가능 | ||
| + | </ | ||
| + | |||
| + | ==== 테이블스페이스 생성 ==== | ||
| + | |||
| + | === ● ' | ||
| + | <code SQL> CREATE TABLESPACE H5_DATA | ||
| + | DATAFILE ' | ||
| + | SIZE 1024M | ||
| + | AUTOEXTEND ON NEXT 100M; | ||
| + | </ | ||
| + | |||
| + | === ● ' | ||
| + | |||
| + | <code sql> | ||
| + | CREATE TABLESPACE H5_INDX | ||
| + | DATAFILE ' | ||
| + | SIZE 1024M | ||
| + | AUTOEXTEND ON NEXT 100M; | ||
| + | </ | ||
| + | |||
| + | |||
| + | Oracle 12c에서 USER명을 다룰 때, 다음 에러가 발생 할 수 있다. | ||
| + | ORA-65096: invalid common user or role name on oracle12c | ||
| + | 해결책1 - USER명앞에 c##을 붙인다. | ||
| + | 해결책2 - alter session set " | ||
| + | |||
| + | |||
| + | |||
| + | ==== 유저생성 ==== | ||
| + | <code sql> | ||
| + | -- default 비번 만료 기한 unlimited로 변경 | ||
| + | alter profile default limit password_life_time unlimited; | ||
| + | </ | ||
| + | <code SQL> | ||
| + | -- 원하는 이름의 유저생성 및 기본 테이블스페이스 지정 | ||
| + | CREATE USER c##h551 IDENTIFIED BY win1234 DEFAULT TABLESPACE H5_DATA TEMPORARY TABLESPACE temp; | ||
| + | </ | ||
| + | |||
| + | <code sql> | ||
| + | -- 유저 권한 부여 | ||
| + | GRANT CONNECT, RESOURCE, DBA TO c##h551; | ||
| + | </ | ||
| + | |||
| + | <code sql> | ||
| + | -- 암호화 권한 부여 | ||
| + | GRANT EXECUTE ON DBMS_OBFUSCATION_TOOLKIT TO c##h551; | ||
| + | </ | ||
| + | |||
| + | <code sql> | ||
| + | -- 암호화 권한 부여 | ||
| + | GRANT EXECUTE ON DBMS_CRYPTO TO c##h551; | ||
| + | </ | ||
| + | |||
| + | <code sql> | ||
| + | -- 유저 unlock | ||
| + | ALTER USER c##h551 ACCOUNT UNLOCK ; | ||
| + | </ | ||
| + | |||
| + | <code sql> | ||
| + | -- ※ IMPDP 사용 전 경로 확인 | ||
| + | SELECT DIRECTORY_PATH FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME = ' | ||
| + | </ | ||
| + | |||
| + | • 해당 경로에 덤프파일을 옮겨놓고 import해야 한다 | ||
| + | |||
| + | ===== ● Import 명령문 ===== | ||
| + | |||
| + | ※ IMPDP 경우 Oracle 10 부터 사용가능 | ||
| + | <code cmd> | ||
| + | impdp h551/h551 DUMPFILE=H552_11G.DMP LOGFILE=H552_11G.log REMAP_SCHEMA=h552: | ||
| + | </ | ||
| + | ※ REMAP_SCHEMA 와 REMAP_TABLESPACE 의 경우 EXPDP 환경과 같다(유저와 테이블스페이스 변경이 없음)면 굳이 사용하지 않아도 됨. | ||
| + | <code cmd> | ||
| + | -- ● Oracle 9 이하 === | ||
| + | imp userid=h552/ | ||
| + | </ | ||
| + | |||
| + | ==== Import ==== | ||
| + | <code sql> | ||
| + | CREATE USER psb IDENTIFIED BY win1234 DEFAULT TABLESPACE H5_DATA TEMPORARY TABLESPACE temp; | ||
| + | |||
| + | GRANT CONNECT, RESOURCE, DBA TO psb; | ||
| + | GRANT EXECUTE ON DBMS_OBFUSCATION_TOOLKIT TO psb; | ||
| + | GRANT EXECUTE ON DBMS_CRYPTO TO psb; | ||
| + | ALTER USER psb ACCOUNT UNLOCK ; | ||
| + | </ | ||
| + | |||
| + | <code cmd> | ||
| + | IMPDP h551/ | ||
| + | </ | ||