DB dump 작업

HanSamDul·2023년 6월 27일
0

운영서버에서 개발서버로 DB dump작업

1. 운영 DB서버접속 후 DB덤프 export

0) DB PUMP Path 확인 (운영DB)

SQL> SELECT DIRECTORY_PATH
     FROM SYS.DBA_DIRECTORIES 
     WHERE DIRECTORY_NAME='DATA_PUMP_DIR';

: D:\oracle\product\admin\sebl\dpdump/

1) cmd

 window server : cmd
 Linux server : putty
* 서버내에 DB가 여러개인 경우 식별자 지정
 set ORACLE_SID = XXXX

2-1) DB덤프 생성

#DIRECTORY_PATH 생성
expdp premier_qms/vmflaldj directory=DATA_PUMP_DIR dumpfile=PREMIER_QMS_20230627.DMP logfile=PREMIER_QMS_20230627.log

2-2) FULL DUMP

expdp SYSTEM/oracle directory=DATA_PUMP_DIR dumpfile=EXPDP_FULL_20230627.DMP logfile=EXPDP_FULL_20230627.log

2. 개발 서버 접속 후 스키마 생성

  • 서버내에 DB가 여러개인 경우 식별자 지정

    set ORACLE_SID = XXXX
  • 이전 개발(과거) 스키마 존재 시 삭제 후 스키마 생성

    #시스템 계정 접속 
     cmd> sqlplus /"as sysdba"
     #현재 생성된 계정 조회
     SQL> select username 
          from dba_users
     #현재 접속 중인 세션 확인
     SELECT sid, serial# FROM v$session WHERE username = 'PREMIER_PLM';
     #세션 강제 종료
     ALTER SYSTEM KILL SESSION 'SID,SERIAL#' IMMEDIATE;
     #계정 삭제
     SQL> drop user 유저네임 cascade; 

    cascade 를 명시하면 유저네임과 관련된 모든 데이터베이스 스키마가 데이터 사전으로부터 삭제되고 모든 스키마 객체도 물리적으로 삭제 됨

    - 리눅스 서버 -

    1) putty 로 접속 : root/HPinvent12!@

    2) 유저변경 : su - oracle

    3) 인스턴스 선택 : 4넣고 엔터

    4)(관리자권한으로 접속)

    	 premier_qms 스키마 생성 : sqlplus "/as sysdba" 

    5) 아래 쿼리 실행

    5-1)만들고자 하는 계정 생성하기

    ex) create user [생성할 아이디] identified by [생성할 비밀번호];
    
    create user premier_qms identified by vmflaldj default tablespace PREMIER_DAT; 

    5-2)계정 정보 조회

    select username from dba_users; 

    5-3) [connect(접속 권한), resource(객체 및 데이터 조작 권한), dba (DB 관리자 권한)]

    grant connect, resource to premier_qms;
     grant dba to premier_qms;
     grant create any directory to premier_qms;

    - 윈도우 서버 -

    1) cmd 접속

    > set ORACLE_SID=DEV4 

    SID 설정해야지만 expdp 성공적으로 진행할 수 있음.

    2) 관리자권한으로 접속

    > sqlplus "/as sysdba" 

    3) 계정 생성 쿼리 실행

    3-1)만들고자 하는 계정 생성하기

    ex) create user [생성할 아이디] identified by [생성할 비밀번호];
    create user premier_qms identified by vmflaldj default tablespace PREMIER_DAT;

    3-2)계정 정보 조회

    select username from dba_users; 

    5-3) [connect(접속 권한), resource(객체 및 데이터 조작 권한), dba (DB 관리자 권한)]

     grant connect, resource to premier_qms;
      grant dba to premier_qms;
      grant create any directory to premier_qms;

3. 개발 서버 덤프 import

1) 덤프위치(DATA_PUMP_DIR) 확인

SELECT DIRECTORY_PATH 
FROM SYS.DBA_DIRECTORIES 
WHERE DIRECTORY_NAME='DATA_PUMP_DIR';

2) 덤프파일 해당위치에 복사

/home/oracle/admin/dev3/dpdump/

3) 덤프파일 import

impdp premier_qms/vmflaldj directory=DATA_PUMP_DIR dumpfile=PREMIER_QMS_20230627.DMP logfile=PREMIER_QMS_20230627.log

사용방법 및 옵션
참고자료

0개의 댓글