사용자 도구

사이트 도구


white:h5dbimport

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
white:h5dbimport [2024/02/24 14:48] – [Export] taekguwhite:h5dbimport [2025/04/15 10:05] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 +====== 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>