今天将数据库改成archivelog模式,
修改了LOG_ARCHIVE_DEST 参数,将这个参数指向了 E:\recover, LOG_ARCHIVE_DEST_SIZE 大小限制为2g现在E:\recover 达到2g后,数据库就挂了。
不是说LOG_ARCHIVE_DEST 指向了其他的路径,这个归档就不受限制了吗?如果要手动清除因为还要涉及到rman的回收无效空间,有没有什么脚本可以用来运行的?
修改了LOG_ARCHIVE_DEST 参数,将这个参数指向了 E:\recover, LOG_ARCHIVE_DEST_SIZE 大小限制为2g现在E:\recover 达到2g后,数据库就挂了。
不是说LOG_ARCHIVE_DEST 指向了其他的路径,这个归档就不受限制了吗?如果要手动清除因为还要涉及到rman的回收无效空间,有没有什么脚本可以用来运行的?
delete archivelog all;
rman下
show all
设置可用的空间大小:alter system set db_recovery_file_dest_size=8G;
设置路径:alter system set db_recovery_file_dest='...';设置归档目标
alter system set log_archive_dest_10='LOCATION=USE_DB_RECOVERY_FILE_DEST';
(如果没有指定任何归档目标,在启用快速恢复区域后,ORACLE 会默认归档到快速恢复区域)设置备份保留策略和归档删除策略(rman TARGET /)
只保留一份备份及其所需的归档日志:CONFIGURE RETENTION POLICY TO REDUNDANCY TO 1;这样 ORACLE 会自动管理在快速恢复区域中的归档日志文件,当快速恢复区域存储空间不足时,ORACLE 会自动删除那些不再为还原所需要或已经从快速恢复区域备份到其它位置的归档日志文件。如果为还原所需的归档日志文件确实在快速恢复区域中占用了大量的存储空间,可以考虑定期备份/压缩这些归档日志文件。
压缩备份,同时删除归档日志文件:backup as compressed backupset archivelog all delete input;
在执行恢复(recover)时,rman 会自动从这些备份中还原归档日志文件。
n为多少天
然后,可以在脚本中删除过期和无效的备份;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
我昨天 是这么试验的
rman 设置 CONFIGURE RETENTION POLICY TO REDUNDANCY TO 1;
开启归档,
把 db_recovery_dest设置到其他盘 ,设置 db_recovery_dest_size 设置为1g
用用户创建一个单列的表 test(number),
begin
for i in 100000 loop
insert into test values (i);
commit;
end loop;
end;
(这样日志文件一直增加)
等到归档文件接近1g的时候,就无法切换日志和继续执行插入操作了。
是我的理解错了?还是操作错了
例如,CONFIGURE RETENTION POLICY TO REDUNDANCY TO 1;
设置备份保留策略为保留一份备份。也就是说,当前备份数据库后,上次的数据库备份和与之相关的归档日志文件将会过时,如果在快速恢复区域中可以在需要时被自动删除。如果不作数据库备份,保留归档日志文件也没什么意义。
delete noprompt obsolete;
这个是不是可以删除过期的归档和备份的文件?
plus archivelog filesperset 20
delete all input;
上面是一个rman备份脚本里面的文字,谁能帮我解释一下。 看不太懂
plus archivelog filesperset 20
delete all input;
备份数据库,跳过不可访问的数据文件,每个备份集中最多可保存 10 个数据文件;
同时备份归档日志文件,每个备份集中最多可保存 20 个归档日志文件;
备份成功后删除归档日志文件。