내용으로 건너뛰기
GaramX
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
현재 위치:
home
»
white
»
h5dbimport
추적:
white:h5dbimport
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== H5 DB Export and Import ====== [[oracle:home|Oracle 관리하기]] [[white:pepper_import|PepperSavingBank]] export & import 스크립트 ● sys 또는 system 계정정보 없이 간단하게 sysdba권한 접속하기 <code cmd> $ sqlplus sys/system_password as sysdba </code> ※ 권한에 제한이 있을 수 있음. ※ 아래 내용에서 C:\> 부분은 명령프롬프트에서 실행. SQL> 부분은 sqlplus "/as sysdba"로 접속하여 실행해야 하는 명령문. ===== Export ===== ● 일반 EXPDP 명령 <code bash> EXPDP h552/h552 schemas=h552 DUMPFILE=H552_11G.DMP LOGFILE=H552_11G.log </code> ● 11g이상에서 import할 대상이 하위 버전일 경우의 Export명령문(import대상 오라클의 버전 명시) <code bash> EXPDP h552/h552 schemas=h552 DUMPFILE=H552_10G.DMP LOGFILE=H552_10G.log VERSION=10.2 </code> ※ EXPDP, IMPDP 명령문 경우 Oracle 10 부터 사용가능 ※ EXPDP 사용시 덤프파일 생성 경로 확인 <code sql> SELECT DIRECTORY_PATH FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME = 'DATA_PUMP_DIR'; </code> • EXPDP 사용시 조회된 위치에 export한 덤프파일이 생성된다. • IMPDP 사용시에도 해당 경로에 덤프파일을 옮겨놓고 import해야 한다. ● Oracle 9 이하에서 Export(유저별) <code cmd> C:\> exp userid=h552/h552 owner=h552 file='D:\H552_11G.DMP' log='D:\H552_11G.LOG' </code> ● Oracle 9 이하에서 Export(DB전체) <code cmd> C:\> exp userid=h552/h552 file='D:\H552_11G.DMP' log='D:\H552_11G.LOG' full=y </code> ===== Import ===== ==== 유저삭제 ==== <code sql> DROP USER h551 CASCADE; -- ORACLE12C에서는 오류가 나올 수 있음.alter session set "_ORACLE_SCRIPT"=true; -- 'H5_DATA' 테이블스페이스 삭제(파일포함) DROP TABLESPACE H5_DATA INCLUDING CONTENTS AND DATAFILES; -- 'H5_INDX' 테이블스페이스 삭제(파일포함) 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#=d.ts#; -- * 조회시 테이블스페이스 이름 및 파일경로 확인가능 </code> ==== 테이블스페이스 생성 ==== === ● 'H5_DATA' 테이블스페이스 생성 – 데이터 파일 경로는 수정 필요 === <code SQL> CREATE TABLESPACE H5_DATA DATAFILE 'C:\app\virtual\oradata\orcl\H5_DATA.dbf' SIZE 1024M AUTOEXTEND ON NEXT 100M; </code> === ● 'H5_INDX' 테이블스페이스 생성 === <code sql> CREATE TABLESPACE H5_INDX DATAFILE 'C:\app\virtual\oradata\orcl\H5_INDX.dbf' SIZE 1024M AUTOEXTEND ON NEXT 100M; </code> Oracle 12c에서 USER명을 다룰 때, 다음 에러가 발생 할 수 있다. ORA-65096: invalid common user or role name on oracle12c 해결책1 - USER명앞에 c##을 붙인다. 해결책2 - alter session set "_ORACLE_SCRIPT"=true; ==== 유저생성 ==== <code sql> -- default 비번 만료 기한 unlimited로 변경 alter profile default limit password_life_time unlimited; </code> <code SQL> -- 원하는 이름의 유저생성 및 기본 테이블스페이스 지정 CREATE USER c##h551 IDENTIFIED BY win1234 DEFAULT TABLESPACE H5_DATA TEMPORARY TABLESPACE temp; </code> <code sql> -- 유저 권한 부여 GRANT CONNECT, RESOURCE, DBA TO c##h551; </code> <code sql> -- 암호화 권한 부여 GRANT EXECUTE ON DBMS_OBFUSCATION_TOOLKIT TO c##h551; </code> <code sql> -- 암호화 권한 부여 GRANT EXECUTE ON DBMS_CRYPTO TO c##h551; </code> <code sql> -- 유저 unlock ALTER USER c##h551 ACCOUNT UNLOCK ; </code> <code sql> -- ※ IMPDP 사용 전 경로 확인 SELECT DIRECTORY_PATH FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME = 'DATA_PUMP_DIR'; </code> • 해당 경로에 덤프파일을 옮겨놓고 import해야 한다 ===== ● Import 명령문 ===== ※ IMPDP 경우 Oracle 10 부터 사용가능 <code cmd> impdp h551/h551 DUMPFILE=H552_11G.DMP LOGFILE=H552_11G.log REMAP_SCHEMA=h552:h551 REMAP_TABLESPACE=(H5_DATA:H5_DATA, H5_INDX:H5_INDX) </code> ※ REMAP_SCHEMA 와 REMAP_TABLESPACE 의 경우 EXPDP 환경과 같다(유저와 테이블스페이스 변경이 없음)면 굳이 사용하지 않아도 됨. <code cmd> -- ● Oracle 9 이하 === imp userid=h552/h552 fromuser=h552 touser=h551 file=D:\H552_11G.DMP log=D:\H552_11G.LOG </code> ==== 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> <code cmd> IMPDP h551/win1234 DUMPFILE=pepper181013.DMP LOGFILE=pepper181013_02.log REMAP_SCHEMA=h551:psb </code>
white/h5dbimport.txt
· 마지막으로 수정됨: 2025/04/15 10:05 저자
127.0.0.1
문서 도구
문서 보기
이전 판
역링크
맨 위로