문서유형ㅣ기술정보
분야ㅣ관리/환경설정
적용제품버전ㅣ6FS07, 7FS02, 7FS02PS
문서번호ㅣTADTI026
개요
Job을 다른 시스템이나 계정으로 이관해야 하는 경우가 종종 발생합니다. 이를 스크립트 형태로 재구성하여 안전하게 이관하는 방법을 안내합니다.
job이관 스크립트 확보 목적
- 일부 구버전 바이너리에서는 tbexport 시 Job이 export 대상에서 누락되는 경우가 있습니다.
- 운영 중 실수나 장애로 인한 잡 삭제 상황에 대비해, 평소에 정기적인 백업이 필요합니다.
방법
절차
1. job_bak.sql를 생성합니다.
$ vi job_bak.sql set pages 500; set lines 300; set feedback off; set heading off; set echo off; select 'DECLARE job_no number;'|| chr(10) || 'begin ' || chr(10) || ' dbms_job.submit (job_no,' || '''' || what||''',' || '''' || next_date || ''','|| '''' || interval || ''');' || chr(10) || ' end;' || chr(10) || '/' from dba_jobs; SELECT 'schema : '||B.USERNAME||'','DECLARE job_no number;'|| chr(10) || 'begin ' || chr(10) || ' dbms_job.submit (job_no,' || '''' || what||''',' || '''' || next_date || ''','|| '''' || interval || ''');' || chr(10) || ' end;' || chr(10) || '/' FROM dba_jobs a , dba_users b where a.SCHEMA_USER=b.USER_ID;
2. job_bak.sh를 생성합니다.
$ vi job_bak.sh source /home/tibero/.bash_profile tbsql -s sys/tibero @/home/tibero/job_bak.sql << EOF quit EOF
3. 실행권한을 부여합니다.
$ chmod +x job_bak*
4. crontab에 등록합니다.
$ crontab -e * * * * * sh /home/tibero/job_bak.sh >> /home/tibero/job_backup_$(date +%y%m%d%H%M).sql 2>&1
5. 결과를 확인합니다.