我有一个Oracle 10g服务器,它每晚运行一个bash脚本,它提取每个数据文件并创建一个rman脚本,这个脚本是从bash脚本本身启动并进行备份的。
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/opt/oracle/archivelogs/autobackup_control_file%F';
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 2 DAYS;
CROSSCHECK ARCHIVELOG ALL;
CROSSCHECK BACKUP;
ALLOCATE CHANNEL RMAN_BACK_CH01 TYPE DISK;
COPY LEVEL 0
DATAFILE 1 TO '/opt/oracle/backup/datafile1.dbf'
, DATAFILE 2 TO '/opt/oracle/backup/datafile2.dbf'
...
, DATAFILE N TO '/opt/oracle/backup/datafileN.dbf'
;
SQL 'alter system archive log current';
BACKUP FORMAT '/opt/oracle/archivelogs/archive_logs_%d_%s-%t.bck' ARCHIVELOG ALL DELETE INPUT;
BACKUP CURRENT CONTROLFILE FORMAT '/opt/oracle/archivelogs/controlfile_%d_%s-%t.bck';
RELEASE CHANNEL RMAN_BACK_CH01;
}
DELETE NOPROMPT EXPIRED BACKUP;
DELETE NOPROMPT BACKUP OF ARCHIVELOG UNTIL TIME='sysdate-6';从脚本中可以看到,备份是通过数据文件复制和存档备份进行的。我有两个问题:
BACKUP ARCHIVELOG ALL命令期间?为什么这么大?如果它们都是控制文件备份,我希望它们具有相同的大小。COPY LEVEL 0命令应该在没有任何警告的情况下覆盖,对吗?发布于 2015-01-10 18:55:50
如果“配置CONTROLFILE自动备份”打开,那么RMAN将在两种情况之一自动备份控制文件和当前服务器参数文件(如果用于启动数据库):当成功的备份必须记录在RMAN存储库中时,以及当对数据库的结构更改影响到因此必须备份的控制文件的内容时。这意味着在以下情况下将备份控制文件:
在您的示例中,备份是在发布通道之前创建的。自动备份会在复制、备份之后发生..。还有后援。CONTROLFILE,但既然它们位于同一个运行块中,那么当在上一次备份命令之后执行自动备份时,为什么不需要执行3次创建自动备份的工作呢?
大小不同,因为自动备份还包含SPFILE。
自动备份在控制文件备份之后完成,因此autobackup包含指向上一个控制文件备份的条目,但以前的控制文件备份不知道自动备份,这是它们之间的另一个不同之处。
当控制文件增长时,它会得到比它立即需要的更多的分配空间,在其中留下一些空空间,可以在以后使用。因此,控制文件和控制文件自动备份可以是相同的大小(当没有使用SPFILE时),但它们的内容仍然不同。还可以在控制文件中重用过时的条目,以防止控件文件变得太大。
DELETE NOPROMPT BACKUP OF ARCHIVELOG UNTIL TIME='sysdate-6'删除6天以上的存档备份。https://dba.stackexchange.com/questions/88995
复制相似问题