'오라클 백업 날짜'에 해당되는 글 1건

  1. 2018.04.24 오라클 백업하기(쉘 스크립트로)
2018. 4. 24. 11:10

오라클 자동백을 하기 위해서 쉘 스크립트를 만들어서 쉘을 돌리게 백업하는 방법이다.


> vi backup.sh


치고 들어가서, 안에

밑에꺼를 써준다.

su - oracle -c "exp db유저/db패스워드 file=/home/oracle/backup/backup_`date +%Y%m%d`.dmp log=/home/oracle/backup/log/backup_log_`date +%Y%m%d`.log"


orcle 계정에서

 c 커멘드를 쓴다.

 exp 오라클 백업명령어

 유저명/유저패스워드 쓰고, 


file=은 저장 경로 및 파일명 를 적어주면 된다.

뒤에 `date +%Y%m%d`.dmp  이거는 파일명뒤에 날짜를 입력해준다.

예 ) backup_20180424.dmp 이렇게 저장된다.

여기에쓰는 콜론은 `이거다. 이거는 숫자1키옆에 있는 ~ 여기에 있는 콜론이다.

엔터옆의 " ' 이 아니다.

이거때문에 처음에 계속 에러 떴음.


그리고,  쉘 스크립트를 실행해 본다.

> ./backup.sh

또는 

> sh backup.sh 

하는데, 안 먹힐때가 있다.


이건 쉘 스크립트 실행권한을 줘야한다.


> chmod +x /home/oracle/backup/backup.sh

또는

> chmod +rx /home/oracle/backup/backup.sh


이렇게 해주고.

> ./backup.sh

하면 먹힌다. 


근데, 갑자기 


EXP-00056: ORACLE error 21561 encountered

ORA-21561: OID generation failed

에러를 토해낸다.

이거 해결법은 아래 포스트에 있다.


http://tyson.tistory.com/112




근데, 또 아래와 같은 에러가 뜬다.


Connected to: Oracle Database 11g Release 11.2.0.4.0 - 64bit Production

EXP-00028: failed to open /home/oracle/backup/backup_20180424.dmp for write

Export file: expdat.dmp >



이건, 오라클이 폴더권한이 없어서 그런거다.


그래서 위 경로 폴더에 777권한을 준다.


>chmod 777 /home/oracle/backup

>chmod 777 /home/oracle/backup/log


이렇게 준다.


그리고 다시 

> ./backup.sh

실행했을때, 자동으로 실행이 완료되면 스크립트 만들기는 끝난거다.



여기까지 하면 이제 cron에 등록만 해주면 된다.


크론에 등록법은 다음 포스트에서~

http://tyson.tistory.com/114



Posted by Tyson