오라클 자동백을 하기 위해서 쉘 스크립트를 만들어서 쉘을 돌리게 백업하는 방법이다.
> 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
에러를 토해낸다.
이거 해결법은 아래 포스트에 있다.
근데, 또 아래와 같은 에러가 뜬다.
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에 등록만 해주면 된다.
크론에 등록법은 다음 포스트에서~
'컴퓨터 > Oracle' 카테고리의 다른 글
ORA-21561 : OID generation failed 오라클 에러 (0) | 2021.07.20 |
---|---|
오라클 시간차이 계산하기 (0) | 2019.10.31 |
오라클 데이터값 오늘 날짜 검색 (0) | 2018.04.27 |
오라클 백업시(exp) 에러 EXP-00056 / ORA-21561 (0) | 2018.04.24 |
쿼리 자리수 앞에 0 붙여 주기. (0) | 2015.10.01 |