本文共 33379 字,大约阅读时间需要 111 分钟。
存储脚本是命令文件的一种替方法用来管理频繁使用的一系列RMAN命令。存储脚本相比命令文件来说它的优点就是对于任何连接到目标数据库和恢复目录的RMAN客户端都能够使用它。而命令文件只有能够访问它的RMAN客户端能够使用。
存储脚本可以是全局或者局部脚本。一个局存储脚本与创建该脚本时RMAN所连接的目标数据库相关,只能当连接到该目标数据库时才能执行存储脚本。一个全局的存储脚本能在恢复目录中所注册的所有数据库中执行。注意执行存储脚本,即使是全局存储脚本,也必须连接到恢复目录和目标实例才能执行。
创建存储脚本
确保RMAN连接到正确的目标数据库和恢复目录,然后执行create script命令来创建局部存储脚本。例如:create script full_backup{backup as backupset database plus archivelog;delete obsolete;}RMAN> create script full_backup2> {3> backup as backupset database plus archivelog;4> delete obsolete;5> }created script full_backup
执行创建命令如果没有输出错误信息,那么该存储脚本full_backup就创建成功并存储在恢复目录中。
下面创建一个全局存储脚本,如下所示:
create global script global_full_backup{backup as backupset database plus archivelog;delete obsolete;}RMAN> create global script global_full_backup2> {3> backup as backupset database plus archivelog;4> delete obsolete;5> }created global script global_full_backup
还可以提供了comment来描述全局存储脚本:
create global script global_full_backupcomment 'use only with archivelog mode database'{backup as backupset database plus archivelog;delete obsolete;}RMAN> create global script global_full_backup2> comment 'use only with archivelog mode database'3> {4> backup as backupset database plus archivelog;5> delete obsolete;6> }created global script global_full_backup
还可以读取文本文件来创建局部或全局存储脚本:
RMAN> create script test_script from file '/u01/app/oracle/test_script_file.txt';script commands will be loaded from file /u01/app/oracle/test_script_file.txtcreated script test_scriptRMAN> create global script global_test_script from file '/u01/app/oracle/test_script_file.txt';script commands will be loaded from file /u01/app/oracle/test_script_file.txtcreated global script global_test_script
文本文件内宾3必须以{开始,再接RUN块中的一系列有效的命令,最后以}结束。
执行存储脚本
为了执行存储脚本,连接到目标数据库和恢复目录,使用execute script命令,execute script命令要求使用RUN块:RMAN> run2> {3> execute script full_backup;4> }executing script: full_backupStarting backup at 18-MAR-15current log archivedallocated channel: ORA_DISK_1channel ORA_DISK_1: sid=145 devtype=DISKchannel ORA_DISK_1: starting archive log backupsetchannel ORA_DISK_1: specifying archive log(s) in backup setinput archive log thread=1 sequence=1 recid=9 stamp=871547115input archive log thread=1 sequence=2 recid=10 stamp=872692777input archive log thread=1 sequence=3 recid=11 stamp=873390010input archive log thread=1 sequence=4 recid=12 stamp=873477689input archive log thread=1 sequence=5 recid=13 stamp=873557205input archive log thread=1 sequence=6 recid=14 stamp=873628154input archive log thread=1 sequence=7 recid=15 stamp=873881476input archive log thread=1 sequence=8 recid=16 stamp=873969596input archive log thread=1 sequence=9 recid=17 stamp=874234871input archive log thread=1 sequence=10 recid=18 stamp=874315436input archive log thread=1 sequence=11 recid=19 stamp=874486364input archive log thread=1 sequence=12 recid=20 stamp=874574023input archive log thread=1 sequence=13 recid=21 stamp=874579545input archive log thread=1 sequence=14 recid=22 stamp=874657043input archive log thread=1 sequence=15 recid=23 stamp=874663015channel ORA_DISK_1: starting piece 1 at 18-MAR-15channel ORA_DISK_1: finished piece 1 at 18-MAR-15piece handle=/u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T095657_bjkpvd26_.bkp tag=TAG20150318T095657 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:27channel ORA_DISK_1: starting archive log backupsetchannel ORA_DISK_1: specifying archive log(s) in backup setinput archive log thread=1 sequence=44 recid=6 stamp=870948358input archive log thread=1 sequence=45 recid=7 stamp=870948359input archive log thread=1 sequence=46 recid=8 stamp=870948359channel ORA_DISK_1: starting piece 1 at 18-MAR-15channel ORA_DISK_1: finished piece 1 at 18-MAR-15piece handle=/u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T095657_bjkpw6cl_.bkp tag=TAG20150318T095657 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:02Finished backup at 18-MAR-15Starting backup at 18-MAR-15using channel ORA_DISK_1channel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupsetinput datafile fno=00001 name=/u01/app/oracle/oradata/jy/system01.dbfinput datafile fno=00002 name=/u01/app/oracle/oradata/jy/undotbs01.dbfinput datafile fno=00003 name=/u01/app/oracle/oradata/jy/sysaux01.dbfinput datafile fno=00005 name=/u01/app/oracle/oradata/jy/example01.dbfinput datafile fno=00004 name=/u01/app/oracle/oradata/jy/users01.dbfchannel ORA_DISK_1: starting piece 1 at 18-MAR-15channel ORA_DISK_1: finished piece 1 at 18-MAR-15piece handle=/u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_nnndf_TAG20150318T095727_bjkpw9xz_.bkp tag=TAG20150318T095727 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:01:15Finished backup at 18-MAR-15Starting backup at 18-MAR-15current log archivedusing channel ORA_DISK_1channel ORA_DISK_1: starting archive log backupsetchannel ORA_DISK_1: specifying archive log(s) in backup setinput archive log thread=1 sequence=16 recid=24 stamp=874663125channel ORA_DISK_1: starting piece 1 at 18-MAR-15channel ORA_DISK_1: finished piece 1 at 18-MAR-15piece handle=/u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T095845_bjkpyqdc_.bkp tag=TAG20150318T095845 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:02Finished backup at 18-MAR-15Starting Control File and SPFILE Autobackup at 18-MAR-15piece handle=/u01/app/oracle/flash_recovery_area/JY/autobackup/2015_03_18/o1_mf_s_874663128_bjkpytxr_.bkp comment=NONEFinished Control File and SPFILE Autobackup at 18-MAR-15RMAN retention policy will be applied to the commandRMAN retention policy is set to redundancy 1using channel ORA_DISK_1Deleting the following obsolete backups and copies:Type Key Completion Time Filename/Handle-------------------- ------ ------------------ --------------------Archive Log 3769 06-FEB-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_02_06/o1_mf_1_44_bf88d537_.arcArchive Log 3770 06-FEB-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_02_06/o1_mf_1_45_bf88d73o_.arcArchive Log 3771 06-FEB-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_02_06/o1_mf_1_46_bf88d7cv_.arcArchive Log 3772 13-FEB-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_02_13/o1_mf_1_1_bftk375y_.arcArchive Log 3773 26-FEB-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_02_26/o1_mf_1_2_bgxhx2ww_.arcArchive Log 3774 03-MAR-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_03/o1_mf_1_3_bhbvorcp_.arcArchive Log 3775 04-MAR-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_04/o1_mf_1_4_bhfk9mdr_.arcArchive Log 3776 05-MAR-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_05/o1_mf_1_5_bhhyxwnp_.arcArchive Log 3777 06-MAR-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_06/o1_mf_1_6_bhl47mgr_.arcArchive Log 3778 09-MAR-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_09/o1_mf_1_7_bhsvmzby_.arcArchive Log 3779 10-MAR-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_10/o1_mf_1_8_bhwkos6m_.arcArchive Log 3780 13-MAR-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_13/o1_mf_1_9_bj4nqm2j_.arcArchive Log 3781 14-MAR-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_14/o1_mf_1_10_bj73f7y4_.arcArchive Log 3782 16-MAR-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_16/o1_mf_1_11_bjdbbrvm_.arcArchive Log 3783 17-MAR-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_17/o1_mf_1_12_bjgzxz92_.arcArchive Log 3784 17-MAR-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_17/o1_mf_1_13_bjh5bqyo_.arcArchive Log 3785 18-MAR-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_18/o1_mf_1_14_bjkk0h4p_.arcBackup Set 3786 06-FEB-15 Backup Piece 3788 06-FEB-15 /u01/app/oracle/flash_recovery_area/JY/autobackup/2015_02_06/o1_mf_s_870945982_bf861zo6_.bkpDatafile Copy 3794 03-MAR-15 /u01/app/oracle/users01.dbfBackup Set 3787 06-FEB-15 Backup Piece 3789 06-FEB-15 /u01/app/oracle/flash_recovery_area/JY/autobackup/2015_02_06/o1_mf_s_870948381_bf88dyom_.bkpArchive Log 3806 18-MAR-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_18/o1_mf_1_15_bjkpv6py_.arcBackup Set 3813 18-MAR-15 Backup Piece 3817 18-MAR-15 /u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T095657_bjkpvd26_.bkpBackup Set 3814 18-MAR-15 Backup Piece 3818 18-MAR-15 /u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T095657_bjkpw6cl_.bkpDo you really want to delete the above objects (enter YES or NO)? YESdeleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_02_06/o1_mf_1_44_bf88d537_.arc recid=6 stamp=870948358deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_02_06/o1_mf_1_45_bf88d73o_.arc recid=7 stamp=870948359deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_02_06/o1_mf_1_46_bf88d7cv_.arc recid=8 stamp=870948359deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_02_13/o1_mf_1_1_bftk375y_.arc recid=9 stamp=871547115deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_02_26/o1_mf_1_2_bgxhx2ww_.arc recid=10 stamp=872692777deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_03/o1_mf_1_3_bhbvorcp_.arc recid=11 stamp=873390010deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_04/o1_mf_1_4_bhfk9mdr_.arc recid=12 stamp=873477689deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_05/o1_mf_1_5_bhhyxwnp_.arc recid=13 stamp=873557205deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_06/o1_mf_1_6_bhl47mgr_.arc recid=14 stamp=873628154deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_09/o1_mf_1_7_bhsvmzby_.arc recid=15 stamp=873881476deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_10/o1_mf_1_8_bhwkos6m_.arc recid=16 stamp=873969596deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_13/o1_mf_1_9_bj4nqm2j_.arc recid=17 stamp=874234871deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_14/o1_mf_1_10_bj73f7y4_.arc recid=18 stamp=874315436deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_16/o1_mf_1_11_bjdbbrvm_.arc recid=19 stamp=874486364deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_17/o1_mf_1_12_bjgzxz92_.arc recid=20 stamp=874574023deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_17/o1_mf_1_13_bjh5bqyo_.arc recid=21 stamp=874579545deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_18/o1_mf_1_14_bjkk0h4p_.arc recid=22 stamp=874657043deleted backup piecebackup piece handle=/u01/app/oracle/flash_recovery_area/JY/autobackup/2015_02_06/o1_mf_s_870945982_bf861zo6_.bkp recid=4 stamp=870948272deleted datafile copydatafile copy filename=/u01/app/oracle/users01.dbf recid=2 stamp=873392067deleted backup piecebackup piece handle=/u01/app/oracle/flash_recovery_area/JY/autobackup/2015_02_06/o1_mf_s_870948381_bf88dyom_.bkp recid=5 stamp=870948382deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_18/o1_mf_1_15_bjkpv6py_.arc recid=23 stamp=874663015deleted backup piecebackup piece handle=/u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T095657_bjkpvd26_.bkp recid=6 stamp=874663020deleted backup piecebackup piece handle=/u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T095657_bjkpw6cl_.bkp recid=7 stamp=874663046Deleted 23 objects
上面的命令将调用指定名称的局部脚本full_script。如果没有找到局部脚本,但存在相同名称的全局脚本,RMAN将执行同名的全局存储脚本。如果存在同名的局部和全局脚本可以使用execute global script来控制只执行全局脚本。在恢复目录中没有名叫global_full_backup的局部脚本存在,那么执行下面两个命令的结果是一样的:
RMAN> run2> {3> execute global script global_full_backup;4> }executing global script: global_full_backupStarting backup at 18-MAR-15current log archivedusing channel ORA_DISK_1channel ORA_DISK_1: starting archive log backupsetchannel ORA_DISK_1: specifying archive log(s) in backup setinput archive log thread=1 sequence=16 recid=24 stamp=874663125input archive log thread=1 sequence=17 recid=25 stamp=874663571channel ORA_DISK_1: starting piece 1 at 18-MAR-15channel ORA_DISK_1: finished piece 1 at 18-MAR-15piece handle=/u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T100613_bjkqdppq_.bkp tag=TAG20150318T100613 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:02Finished backup at 18-MAR-15Starting backup at 18-MAR-15using channel ORA_DISK_1channel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupsetinput datafile fno=00001 name=/u01/app/oracle/oradata/jy/system01.dbfinput datafile fno=00002 name=/u01/app/oracle/oradata/jy/undotbs01.dbfinput datafile fno=00003 name=/u01/app/oracle/oradata/jy/sysaux01.dbfinput datafile fno=00005 name=/u01/app/oracle/oradata/jy/example01.dbfinput datafile fno=00004 name=/u01/app/oracle/oradata/jy/users01.dbfchannel ORA_DISK_1: starting piece 1 at 18-MAR-15channel ORA_DISK_1: finished piece 1 at 18-MAR-15piece handle=/u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_nnndf_TAG20150318T100615_bjkqds89_.bkp tag=TAG20150318T100615 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:01:15Finished backup at 18-MAR-15Starting backup at 18-MAR-15current log archivedusing channel ORA_DISK_1channel ORA_DISK_1: starting archive log backupsetchannel ORA_DISK_1: specifying archive log(s) in backup setinput archive log thread=1 sequence=18 recid=26 stamp=874663651channel ORA_DISK_1: starting piece 1 at 18-MAR-15channel ORA_DISK_1: finished piece 1 at 18-MAR-15piece handle=/u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T100732_bjkqh6cv_.bkp tag=TAG20150318T100732 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:02Finished backup at 18-MAR-15Starting Control File and SPFILE Autobackup at 18-MAR-15piece handle=/u01/app/oracle/flash_recovery_area/JY/autobackup/2015_03_18/o1_mf_s_874663655_bjkqh9db_.bkp comment=NONEFinished Control File and SPFILE Autobackup at 18-MAR-15RMAN retention policy will be applied to the commandRMAN retention policy is set to redundancy 1using channel ORA_DISK_1Deleting the following obsolete backups and copies:Type Key Completion Time Filename/Handle-------------------- ------ ------------------ --------------------Archive Log 3845 18-MAR-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_18/o1_mf_1_16_bjkpynv3_.arcBackup Set 3846 18-MAR-15 Backup Piece 3850 18-MAR-15 /u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_nnndf_TAG20150318T095727_bjkpw9xz_.bkpBackup Set 3864 18-MAR-15 Backup Piece 3870 18-MAR-15 /u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T095845_bjkpyqdc_.bkpArchive Log 3913 18-MAR-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_18/o1_mf_1_17_bjkqdmto_.arcBackup Set 3880 18-MAR-15 Backup Piece 3882 18-MAR-15 /u01/app/oracle/flash_recovery_area/JY/autobackup/2015_03_18/o1_mf_s_874663128_bjkpytxr_.bkpBackup Set 3925 18-MAR-15 Backup Piece 3928 18-MAR-15 /u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T100613_bjkqdppq_.bkpDo you really want to delete the above objects (enter YES or NO)? yesdeleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_18/o1_mf_1_16_bjkpynv3_.arc recid=24 stamp=874663125deleted backup piecebackup piece handle=/u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_nnndf_TAG20150318T095727_bjkpw9xz_.bkp recid=8 stamp=874663049deleted backup piecebackup piece handle=/u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T095845_bjkpyqdc_.bkp recid=9 stamp=874663127deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_18/o1_mf_1_17_bjkqdmto_.arc recid=25 stamp=874663571deleted backup piecebackup piece handle=/u01/app/oracle/flash_recovery_area/JY/autobackup/2015_03_18/o1_mf_s_874663128_bjkpytxr_.bkp recid=10 stamp=874663130deleted backup piecebackup piece handle=/u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T100613_bjkqdppq_.bkp recid=11 stamp=874663574Deleted 6 objectsRMAN> run2> {3> execute script global_full_backup;4> }executing global script: global_full_backupStarting backup at 18-MAR-15current log archivedusing channel ORA_DISK_1channel ORA_DISK_1: starting archive log backupsetchannel ORA_DISK_1: specifying archive log(s) in backup setinput archive log thread=1 sequence=18 recid=26 stamp=874663651input archive log thread=1 sequence=19 recid=27 stamp=874664008channel ORA_DISK_1: starting piece 1 at 18-MAR-15channel ORA_DISK_1: finished piece 1 at 18-MAR-15piece handle=/u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T101329_bjkqtbtn_.bkp tag=TAG20150318T101329 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:02Finished backup at 18-MAR-15Starting backup at 18-MAR-15using channel ORA_DISK_1channel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupsetinput datafile fno=00001 name=/u01/app/oracle/oradata/jy/system01.dbfinput datafile fno=00002 name=/u01/app/oracle/oradata/jy/undotbs01.dbfinput datafile fno=00003 name=/u01/app/oracle/oradata/jy/sysaux01.dbfinput datafile fno=00005 name=/u01/app/oracle/oradata/jy/example01.dbfinput datafile fno=00004 name=/u01/app/oracle/oradata/jy/users01.dbfchannel ORA_DISK_1: starting piece 1 at 18-MAR-15channel ORA_DISK_1: finished piece 1 at 18-MAR-15piece handle=/u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_nnndf_TAG20150318T101331_bjkqtdoh_.bkp tag=TAG20150318T101331 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:01:05Finished backup at 18-MAR-15Starting backup at 18-MAR-15current log archivedusing channel ORA_DISK_1channel ORA_DISK_1: starting archive log backupsetchannel ORA_DISK_1: specifying archive log(s) in backup setinput archive log thread=1 sequence=20 recid=28 stamp=874664078channel ORA_DISK_1: starting piece 1 at 18-MAR-15channel ORA_DISK_1: finished piece 1 at 18-MAR-15piece handle=/u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T101439_bjkqwjl4_.bkp tag=TAG20150318T101439 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:02Finished backup at 18-MAR-15Starting Control File and SPFILE Autobackup at 18-MAR-15piece handle=/u01/app/oracle/flash_recovery_area/JY/autobackup/2015_03_18/o1_mf_s_874664082_bjkqwmhg_.bkp comment=NONEFinished Control File and SPFILE Autobackup at 18-MAR-15RMAN retention policy will be applied to the commandRMAN retention policy is set to redundancy 1using channel ORA_DISK_1Deleting the following obsolete backups and copies:Type Key Completion Time Filename/Handle-------------------- ------ ------------------ --------------------Archive Log 3944 18-MAR-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_18/o1_mf_1_18_bjkqh3ov_.arcBackup Set 3945 18-MAR-15 Backup Piece 3948 18-MAR-15 /u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_nnndf_TAG20150318T100615_bjkqds89_.bkpBackup Set 3967 18-MAR-15 Backup Piece 3973 18-MAR-15 /u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T100732_bjkqh6cv_.bkpArchive Log 4036 18-MAR-15 /u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_18/o1_mf_1_19_bjkqt8p5_.arcBackup Set 3988 18-MAR-15 Backup Piece 3990 18-MAR-15 /u01/app/oracle/flash_recovery_area/JY/autobackup/2015_03_18/o1_mf_s_874663655_bjkqh9db_.bkpBackup Set 4053 18-MAR-15 Backup Piece 4056 18-MAR-15 /u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T101329_bjkqtbtn_.bkpDo you really want to delete the above objects (enter YES or NO)? YESdeleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_18/o1_mf_1_18_bjkqh3ov_.arc recid=26 stamp=874663651deleted backup piecebackup piece handle=/u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_nnndf_TAG20150318T100615_bjkqds89_.bkp recid=12 stamp=874663576deleted backup piecebackup piece handle=/u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T100732_bjkqh6cv_.bkp recid=13 stamp=874663654deleted archive logarchive log filename=/u01/app/oracle/flash_recovery_area/JY/archivelog/2015_03_18/o1_mf_1_19_bjkqt8p5_.arc recid=27 stamp=874664008deleted backup piecebackup piece handle=/u01/app/oracle/flash_recovery_area/JY/autobackup/2015_03_18/o1_mf_s_874663655_bjkqh9db_.bkp recid=14 stamp=874663657deleted backup piecebackup piece handle=/u01/app/oracle/flash_recovery_area/JY/backupset/2015_03_18/o1_mf_annnn_TAG20150318T101329_bjkqtbtn_.bkp recid=15 stamp=874664010Deleted 6 objects
在执行全局脚本只影响RMAN所连接到的目标数据库;为了跨多个数据库执行全局脚本,必须单独连接到每一个数据库并执行全局存储脚本。
在执行脚本时将会使用配置的自动通道来执行脚本。如果需要覆盖配置的自动通道可以在脚本中使用allocate channel命令来手动分配通道。注意因为使用的是RUN块,如果脚本中的一个RMAN命令失败,脚本中的后续命令将不会执行。
查看存储脚本内容
print script命令用来查看存储脚本或将脚本内容写入到新文件。使用RMAN连接到目标数据库和恢复目录。执行print script:RMAN> print script full_backup;printing stored script: full_backup {backup as backupset database plus archivelog;delete obsolete;}显示全局脚本内容:RMAN> print global script global_full_backup;printing stored global script: global_full_backup {backup as backupset database plus archivelog;delete obsolete;}
为将脚本内容写入到新文件中,执行以下命令:
RMAN> print script full_backup to file '/u01/app/oracle/full_backup.txt';script full_backup written to file /u01/app/oracle/full_backup.txt
将全局脚本内容写入文件:
RMAN> print global script global_full_backup to file '/u01/app/oracle/global_full_backup.txt';global script global_full_backup written to file /u01/app/oracle/global_full_backup.txt
查看恢复目录中的存储脚本:list script names
使用list script names命令来显示恢复目录中的存储脚本名。这个命令会显示所有存储脚本名。RMAN> list script names;List of Stored Scripts in Recovery Catalog Scripts of Target Database JY Script Name Description ----------------------------------------------------------------------- full_backup Global Scripts Script Name Description ----------------------------------------------------------------------- global_full_backup use only with archivelog mode database
只显示全局存储脚本名:
RMAN> list global script names;List of Stored Scripts in Recovery Catalog Global Scripts Script Name Description ----------------------------------------------------------------------- global_full_backup use only with archivelog mode database
为了查看当前恢复目录中所有存储脚本的名称,包括在恢复目录中所有已经注册的目标数据库的全局和局部脚本,执行以下命令:
RMAN> list all script names;List of Stored Scripts in Recovery Catalog Global Scripts Script Name Description ----------------------------------------------------------------------- global_full_backup use only with archivelog mode database Scripts of Target Database JY Script Name Description ----------------------------------------------------------------------- full_backup Scripts of Target Database TEST Script Name Description ----------------------------------------------------------------------- test_full_backup
可以看到上面显示了两个目标数据库(jy,test)中的所有存储脚本
更新存储脚本
为了更新存储脚本,连接到目标数据库和恢复目录并使用replace script命令来执行更新。如果脚本不存在,那么RMAN将会创建一个新存储脚本。下面的命令用来更新脚本full_backup的内容:
先来查看恢复目录中所有存储脚本名来检查是否存在full_backup脚本RMAN> list all script names;List of Stored Scripts in Recovery Catalog Global Scripts Script Name Description ----------------------------------------------------------------------- global_full_backup use only with archivelog mode database Scripts of Target Database JY Script Name Description ----------------------------------------------------------------------- full_backup Scripts of Target Database TEST Script Name Description ----------------------------------------------------------------------- test_full_backup
查看脚本full_backup的内容
RMAN> print script full_backup;printing stored script: full_backup {backup as backupset database plus archivelog;delete obsolete;}更新脚本full_backupRMAN> replace script full_backup2> {3> backup as backupset database plus archivelog;4> }replaced script full_backup
检查脚本full_backup是否已经被更新
RMAN> print script full_backup;printing stored script: full_backup {backup as backupset database plus archivelog;}
从脚本内容可知full_backup内容确实已经被更新.
下面来更新一个不存在的脚本full_backup_bak
RMAN> replace script full_backup_update2> {3> backup as backupset database plus archivelog;4> }replaced script full_backup_update
从下面的信息中可以看到当更新一个不存在的脚本,RMAN确实会创建这个脚本
RMAN> list all script names;List of Stored Scripts in Recovery Catalog Global Scripts Script Name Description ----------------------------------------------------------------------- global_full_backup use only with archivelog mode database Scripts of Target Database JY Script Name Description ----------------------------------------------------------------------- full_backup full_backup_update Scripts of Target Database TEST Script Name Description ----------------------------------------------------------------------- test_full_backupRMAN> print script full_backup_update;printing stored script: full_backup_update {backup as backupset database plus archivelog;}
全局存储脚本可以使用replace global script命令来进行更新:
查看更新前global_full_backup脚本的内容RMAN> print script global_full_backup;printing stored global script: global_full_backup {backup as backupset database plus archivelog;delete obsolete;}
更新全局脚本global_full_backup
RMAN> replace global script global_full_backup2> {3> backup as backupset database plus archivelog;4> }replaced global script global_full_backup
显示更新后全局脚本global_full_backup的内容
RMAN> print global script global_full_backup;printing stored global script: global_full_backup {backup as backupset database plus archivelog;}
与create script命令一样,可以使用文件来更新局部或全局存储脚本。
更新前查看全局脚本global_full_backup的内容
RMAN> print global script global_full_backup;printing stored global script: global_full_backup {backup as backupset database plus archivelog;}
使用global_full_backup.txt文件来更新全局脚本global_full_backup
RMAN> replace global script global_full_backup from file '/u01/app/oracle/global_full_backup.txt';script commands will be loaded from file /u01/app/oracle/global_full_backup.txtreplaced global script global_full_backup
查看更新后的脚本内容:
RMAN> print global script global_full_backup;printing stored global script: global_full_backup {backup as backupset database plus archivelog;delete obsolete;}
更新前查看局部脚本full_backup的内容
RMAN> print script full_backup;printing stored script: full_backup {backup as backupset database plus archivelog;}
使用full_backup.txt文件来更新局部脚本full_backup
RMAN> replace script full_backup from file '/u01/app/oracle/full_backup.txt';script commands will be loaded from file /u01/app/oracle/full_backup.txtreplaced script full_backup
查看更新后的脚本内容:
RMAN> print script full_backup;printing stored script: full_backup {backup as backupset database plus archivelog;delete obsolete;}
删除存储脚本
为了从恢复目录中删除存储脚本,连接恢复目录和目标数据库后执行delete script命令:RMAN> list script names;List of Stored Scripts in Recovery Catalog Scripts of Target Database JY Script Name Description ----------------------------------------------------------------------- full_backup full_backup_update Global Scripts Script Name Description ----------------------------------------------------------------------- global_full_backup
为了从恢复目录中删除局部存储脚本full_backup
RMAN> delete script 'full_backup';deleted script: full_backup
为了删除全局存储脚本global_full_backup,执行delete global script:
RMAN> delete global script 'global_full_backup';deleted global script: global_full_backup
如果没有给delete script命令指定global参数,并且目标数据库中没有指定名称的存储脚本存在,RMAN将使用指定名称来查找全局存储脚本如果找到就将其删除。因此为了删除全局存储脚本也可以执行以下的命令:
RMAN> delete script 'global_full_backup';deleted script: global_full_backup
对于delete script 'global_full_backup'命令,RMAN会在连接到的目标数据库中查找脚本'global_full_backup',如果没有找到,将会搜索名为'global_full_backup'的全局脚本,如果找到就将其删除。
启动RMAN客户端并执行存储脚本
为了运行RMAN客户端并执行存储在恢复目录中的存储脚本,可以使用script参数来启动RMAN客户端:[oracle@oracle11g ~]$ rman target sys/zzh_2046@test catalog rman/rman@jy script 'global_full_backup'Recovery Manager: Release 10.2.0.5.0 - Production on Wed Mar 18 11:22:04 2015Copyright (c) 1982, 2007, Oracle. All rights reserved.connected to target database: TEST (DBID=2168949517)connected to recovery catalog databaseexecuting global script: global_full_backupStarting backup at 18-MAR-15current log archivedallocated channel: ORA_DISK_1channel ORA_DISK_1: sid=141 devtype=DISKskipping archive log file /u02/1_49_870806981.dbf; already backed up 1 time(s)skipping archive log file /u02/1_50_870806981.dbf; already backed up 1 time(s)skipping archive log file /u02/1_51_870806981.dbf; already backed up 1 time(s)skipping archive log file /u02/1_52_870806981.dbf; already backed up 1 time(s)skipping archive log file /u02/1_53_870806981.dbf; already backed up 1 time(s)skipping archive log file /u02/1_54_870806981.dbf; already backed up 1 time(s)skipping archive log file /u02/1_55_870806981.dbf; already backed up 1 time(s)skipping archive log file /u02/1_56_870806981.dbf; already backed up 1 time(s)channel ORA_DISK_1: starting archive log backupsetchannel ORA_DISK_1: specifying archive log(s) in backup setinput archive log thread=1 sequence=57 recid=64 stamp=874668125channel ORA_DISK_1: starting piece 1 at 18-MAR-15channel ORA_DISK_1: finished piece 1 at 18-MAR-15piece handle=/u02/ora_test874668127_671 tag=TAG20150318T112206 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:02Finished backup at 18-MAR-15Starting backup at 18-MAR-15using channel ORA_DISK_1channel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupsetinput datafile fno=00001 name=/u01/app/oracle/oradata/test/system01.dbfinput datafile fno=00003 name=/u01/app/oracle/oradata/test/sysaux01.dbfinput datafile fno=00005 name=/u01/app/oracle/oradata/test/example01.dbfinput datafile fno=00006 name=/u01/app/oracle/oradata/test/tspitr01.dbfinput datafile fno=00002 name=/u01/app/oracle/oradata/test/undotbs01.dbfinput datafile fno=00004 name=/u01/app/oracle/oradata/test/users01.dbfchannel ORA_DISK_1: starting piece 1 at 18-MAR-15channel ORA_DISK_1: finished piece 1 at 18-MAR-15piece handle=/u02/ora_test874668130_681 tag=TAG20150318T112209 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:01:15Finished backup at 18-MAR-15Starting backup at 18-MAR-15current log archivedusing channel ORA_DISK_1channel ORA_DISK_1: starting archive log backupsetchannel ORA_DISK_1: specifying archive log(s) in backup setinput archive log thread=1 sequence=58 recid=65 stamp=874668205channel ORA_DISK_1: starting piece 1 at 18-MAR-15channel ORA_DISK_1: finished piece 1 at 18-MAR-15piece handle=/u02/ora_test874668206_691 tag=TAG20150318T112326 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:02Finished backup at 18-MAR-15Starting Control File and SPFILE Autobackup at 18-MAR-15piece handle=/u01/app/oracle/flash_recovery_area/TEST/autobackup/2015_03_18/o1_mf_s_874668209_bjkvxl3b_.bkp comment=NONEFinished Control File and SPFILE Autobackup at 18-MAR-15Recovery Manager complete.
在启动RMAN客户端时必须要连接到恢复目录(存储脚本存储在恢复目录中)和目标数据库。
存储脚本命名限制
RMAN是如何解决脚本名称,尤其是在局部和全局脚本共享相同名称时存在的一些问题: .RMAN允许但一般不要求将存储脚本名使用引号括起来。然而,存储脚本名以数字或RMAN的保留关键开头就需要将存储脚本名称使用引号括起来。对于存储脚本名称要考虑避免使用A-Z之外的字符或RMAN的保留关键字作为名称的开始字符。 .当在命令行中使用script参数来启动RMAN客户端,如果存在相同名称的局部和全局存储脚本,那么RMAN将总是执行局部脚本。 .对于execute script,delete script和print script命令,如果脚本名称作为一个参数被传递并且在连接到的目标数据库中没有该相同名称的脚本存在,RMAN将执行,删除或显示相同名称的全局脚本。例如,如果在恢复目录中存在一个名叫global_full_backup的全局存储脚本,但在目标数据库中没有名叫global_full_backup的局部存储脚本,下面的命令将会删除全局脚本: DELETE SCRIPT global_full_backup;转载地址:http://xeava.baihongyu.com/