'백업'에 해당되는 글 2건


Datapump를 이용한 백업!! //백업전 준비사항 확인 후 백업시작할 것.

   

1. 리스너 상태확인

   

   

1-1  "lsnrctl status" 를 통하여 현재 리스너 연결 상태를 확인한다.

   

1-2  리스너가 연결 되어 있다면 "lsnrctl stop"을 통하여 연결을 잠시 끊어준다. 

       (DB 끄고 난 뒤 다시 리스너 연결을 해도 됨.)

   

1-3  현재 DB를 사용하고 있는 사용자들을 초기화 하기 위함.

   

1-4  다시 리스너 연결을 해도 된다. "lsnrctl start"

   

<현재 리스너가 연결되지 않은 상태에서 시작했지만 실제 현장에서는 연결 되어 있었습니다.>

   

2. 리스너 정지 및 디렉토리 생성

   

   

   

2-1  backup을 해도 되는 디렉토리를 마운트 시켜주면, 그곳에 자신이 정리하기 쉽게 mkdir /경로/datapump 디렉토리를 만들어 놓는다.

   

2-2  편의상 디렉토리를 만들었기 때문에 만들지 않아도 상관없다.

   

   

3. DB 사용량 확인하기(백업하기 전 준비사항 참고)

   

   

3-1  백업을 실행 하기 전 한번더 현재 데이터 사용량을 확인한다.

   

3-2  현재 DB 사용량 확인

       select sum (bytes)/1024/1024 from DBA_data_files;  

       select sum (bytes)/1024/1024 from DBA_free_space;

   

3-3  현재 사용하는 DB의 수 확인 

       cd $ORACLE_BASE/admin 들어가서 확인

       cd $ORACLE_HOME/dbs/ 들어가서 init 파일 확인

3-4  추가적인건 "백업하기전에 해야될 것들!!" 을 확인하자! 

   

   

4. DB 정지 후 재시작

   

   

4-1 본격적으로 datapump 백업을 하기전에 몇가지 선수해야될 사항들이 있다.

   

4-2  디렉토리 설정   

       create or replace directory dpump_dir as '/backup/datapump';

   

4-3  디렉토리 권한 설정

       grant read, write on directory dpump_dir to system ;

   

※ dpump_dir 명칭을 변경해되 된다, 다만 일치 시켜줘야한다.

   

   

5. Datapump export/import 시작

   

   

5-1 이제는 실제로 datapump를 실행해서 백업을 받을 시간이다.

   

5-2 datapump export 명령어

     expdp system/oracle directory=dpump_dir dumpfile=full_dump.dmp logfile=full_dmp.log job_name=expdp_full full=y; 

   

5-3 datapump import 명령어

      impdp system/oracle directory=dump_dir dumpfile=full_dump.dmp logfile=full_dmp.log job_name=expdp_full full=y

   

※ system/oracle 의 경우 system 비밀번호가 다를 수 있다.

※ 해당 dump_dir의 이름이 일치해야 된다.

※ 백업 파일명에 백업한 날짜를 넣어 주면 좋다.

   

   

6. Datapump export 성공 및 오류발생

   

   

   

6-1 만약 아무런 오류 없이 성공했다면 datapump는 끝이 난다.

6-2 .dmp파일이 만들어 진 것을 볼 수있다.(.log 파일로 백업의 현재 진행상황 및 상태를 확인할 수 있다.)

   

하지만 오류가 나게된다면!!

대부분 초반에 오류가 나타난다. 

   

   

6-3  위 그림과 같은 XML 스키마관련 테이블 에러가 발생한다면, 해결방법은 2가지이다.

   

6-4 첫번째는 datapump를 포기하고 기존의 export백업을 실행하는 방법.

   

6-5 두번째는 오류가 발생한 해당 테이블만 export백업으로 받는 것이다. 

      exp system/oracle tables=SYS.tableName 

                 file=backup/datapump/exp_full_20110825.dmp log=/home/oracle/datapump/exp_full_20110825.log 

   

   

※ SYS 부분에 해당 테이블 이름을 명시하고 위치를 지정해주면 된다.

※ import를 해야되는 경우에는 각각 import해주어야 한다.

   

   

추가적인 오류로 인하여 datapump를 수행하지 못하고 export백업을 하게 될 경우도 있다.

다음에는 export백업에 대하여 정리하겠습니다.

블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

Cold 백업하자!!

1. IT Story/DB 2011. 9. 11. 20:22


안녕하세요!!

즐거운 추석보내셨나요??
점점 시대가 흐르면서 가족 수가 줄어 들다보니..
모이게 되는 사람들도 적어지고 있습니다.

예전과는 다른 새로운 추석 문화도 생겨나고, 
시대의 변화에 맞추어 추석도 변화되고 있다는 것을
요즘들어서 많이 느끼고 있습니다.

가족들과 즐거운 추석 보내세요!!

-운명을 바꾸는 자- 




Cold 백업하자!!
//백업 선수과정 부터 참조하기!!


1. 리스너 상태확인 및 정지

1-1  Cold백업을 하기전에, 백업 도중에 사용자들이 들어 오지 못하도록 리스너를 종료시켜준다.
        lsnrctl status //리스너 상태확인 
       

1-2  정지하지 않게되면 사용자들이 변경한 내용으로 인하여 오류가 발생할 수 있다. 
        lsnrctl stop //리스너 정지
 
 



2. Cold 백업을 위한 스크립트 준비(.sql)


2-1  Cold백업을 위해 사용해야될 명령어들이 있다.
      조금은 많은 내용을 작성해야 되기때문에 .sql 파일을 생성하여 사용하기 쉽게 만들어 놓는다.
  
2-2  "vi" 명령어를 통해서 .sql 을 만들고, 내부에 Cold 백업을 위한 스크립트를 넣어 저장한다.

           define 3 = /backup1/cold/

Set Heading Off

Set Verify Off

Set FeedBack Off

Set LineSize 132

Set PageSize 1000

set termout off

Spool runcoldbackup.sh

/* Data Files */

Select 'cp ' || File_Name || ' &&3 ' From DBA_Data_Files

/

/* Redo Log Files */

Select 'cp ' || Member || ' &&3 ' From V$LogFile

/

/* Control Files */

Select 'cp ' || name || ' &&3 ' From V$controlfile

/

/* Temp files */

Select 'cp ' || File_Name || ' &&3 ' From dba_temp_files

Spool Off

 


2-3 만들어진 .sql를 실행시켜서 -> .sh 파일로 만들어 준다.

※ 파일을 실행하는 장소에 따라서 형태가 다르기 때문에 변경해주어야 함.



3. Cold 백업을 위한 스크립트 준비(.sh) 및 DB 정지

3-1 "@해당sql이름" 을 통해서 .sh 형태로 변환이 완료된다.

3-2 .sh 형태의 파일이 생성되면 DB를 "Shutdown immediate"를 통해서 종료 시켜준다.


※ Cold백업 시에는 DB를 종료한 상태에서 해야 되기 때문에 해당 DB관리자에게 문의를 구한뒤에 시작하자.




4. Cold 백업을 위한 스크립트 실행(.sh)

4-1 생성된 .sh 파일을 실행 시켜서 Cold백업을 실행하자.
       "sh 파일명.sh" 을 통해 실행하자.

4-2 파일의 수와 용량에 따라서 시간은 정해진다. 


 



5. Cold 백업 성공 및 확인


5-1 모두 완료되면 파일들이 무사히 옮겨진것을 확인 할 수 있다.

5-2 Cold 백업만 있어도 언제든지 Recovery가 가능하기 떄문에 확인작업을 해주는 것이 좋다.

5-3 "백업하기 전에 해야될것" 에서 확인한 각 파일들의 위치를 저장해두고, 해당 파일의 이름과, 갯수, 용량을 비교해서 백업이 잘 되었는지 확인해야한다.


 



그 외에 추가적으로 하는 백업으로는 Engine백업과 Os상의 중요파일들에 대해서 다음 포스팅에서 하려고 합니다.

'1. IT Story > DB' 카테고리의 다른 글

Oracle Structure 메모리  (0) 2012.02.29
Oracle 11g Install[RHEL 5] 3  (0) 2012.02.27
Oracle 11g Install[RHEL 5] 2  (0) 2012.02.27
Oracle 11g Install[RHEL 5] 1  (0) 2012.02.27
Oracle Engine백업 및 그외..  (0) 2011.09.11
Export백업!!  (0) 2011.09.11
백업하기전에 해야 되는 것들!!!  (0) 2011.09.04
Oracle 공부하기 위해 유용한 사이트  (0) 2011.08.14
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,