打杂
全部博文(524)
分类: Oracle
2014-11-21 11:41:59
[oracle@oracle1 script]$ ll
oracle备份顺序:先备数据文件,然后是归档日志,最后才是控制文件,最后是sfplie文件。
二级增量备份
oracle用户下定时执行任务
下面这个是每天逻辑导出oracle数据库
total 40
-rwxrwxrwx 1 oracle oinstall 294 Dec 25 2013 back0.sh
-rwxrwxrwx 1 oracle oinstall 294 Dec 25 2013 back1.sh
-rwxrwxrwx 1 oracle oinstall 294 Dec 25 2013 back2.sh
-rwxrwxrwx 1 oracle oinstall 294 Dec 25 2013 back3.sh
-rwxrwxrwx 1 oracle oinstall 294 Dec 25 2013 back4.sh
-rwxrwxrwx 1 oracle oinstall 294 Dec 25 2013 back5.sh
-rwxrwxrwx 1 oracle oinstall 294 Dec 25 2013 back6.sh
-rwxrwxrwx 1 oracle oinstall 552 Mar 7 2014 bakl0
-rwxrwxrwx 1 oracle oinstall 502 Mar 7 2014 bakl1
-rwxrwxrwx 1 oracle oinstall 503 Mar 7 2014 bakl2
[oracle@oracle1 script]$ cat back0.sh
#!/bin/sh
export ORACLE_BASE=/u01
export ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1
export ORACLE_SID=prod1
export PATH=$ORACLE_HOME/bin:$PATH
export rman=/u01/oracle/product/10.2.0/db_1/bin/rman
$rman target / cmdfile=/u01/rmanbak/script/bakl0 msglog=/u01/rmanbak/bakl0.log <
零级增量备份
[oracle@oracle1 script]$ cat bakl0
run {
allocate channel a1 type disk;
allocate channel a2 type disk;
backup incremental level 0 database format '/u01/rmanbak/level0_%d_%s_%T.bak' tag='level 0';
sql 'alter system archive log current';
backup archivelog all format '/u01/rmanbak/log_%d_%s_%T.bak' delete all input;
backup current controlfile tag='bak_ctlfile' format='/u01/rmanbak/ctl_file_%U_%T';
backup spfile tag='spfile' format='/u01/rmanbak/ORCL_spfile_%U_%T';
release channel a2;
release channel a1;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
}
一级增量备份
[oracle@oracle1 script]$ cat bakl1
run {
allocate channel d1 type disk;
backup incremental level 1 format '/u01/rmanbak/level1_%d_%s_%T.bak' tag = 'level 1' database;
sql 'alter system archive log current';
backup archivelog all format '/u01/rmanbak/log_%d_%s_%T.bak' delete all input;
backup current controlfile tag='bak_ctlfile' format='/u01/rmanbak/ctl_file_%U_%T';
backup spfile tag='spfile' format='/u01/rmanbak/ORCL_spfile_%U_%T';
release channel d1;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
}
[oracle@oracle1 script]$ cat bakl2
run {
allocate channel c1 type disk;
backup incremental level 2 format '/u01/rmanbak/level2_%d_%s_%T.bak' tag = 'level 2' database;
sql 'alter system archive log current';
backup archivelog all format '/u01/rmanbak/log_%d_%s_%T.bak' delete all input;
backup current controlfile tag='bak_ctlfile' format='/u01/rmanbak/ctl_file_%U_%T';
backup spfile tag='spfile' format='/u01/rmanbak/ORCL_spfile_%U_%T';
release channel c1;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
}
[oracle@oracle1 script]$ crontab -l
10 23 * * 0 /u01/rmanbak/script/back0.sh
11 23 * * 1 /u01/rmanbak/script/back1.sh
12 23 * * 2 /u01/rmanbak/script/back2.sh
13 23 * * 3 /u01/rmanbak/script/back3.sh
14 23 * * 4 /u01/rmanbak/script/back4.sh
15 23 * * 5 /u01/rmanbak/script/back5.sh
16 23 * * 6 /u01/rmanbak/script/back6.sh
50 23 * * * /u01/backup/backup.sh
[oracle@oracle1 script]$ cat /u01/backup/backup.sh
#!/bin/bash
export ORACLE_HOME=/u01/oracle/product/10.2.0/db_1
export ORACLE_SID=prod1
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
rq=`date +%y%m%d_%H`
$ORACLE_HOME/bin/exp datum/giapdata owner=datum file=/u01/backup/exp_${rq}.dmp log=/u01/backup/exp_${rq}.log
没有删除功能。