Oracle DG环境如何正确地删除Archivelog

清理归档日志最稳妥的原则:

主备库清理归档,都要配置。

RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY; 

主库采用备份归档并清理。 备库应该是直接清理!

Archivelog并不能直接得从OS层直接物理删除,因为archivelog的相关信息是记录在controlfile中的,当物理删除后不会改变controlfile的设置。并且在查询相关的动态视图(例如v$archived_log)时,该部分日志仍然标注为存在。也就是说Oracle并不认为这些日志被删除了,所以在删除archivelog的时候,需要我们在其他地方做一些设置。

一、使用RMAN清除物理删除后的记录

可以使用RMAN来删除archivelog,具体可以按以下步骤操作:

1、物理删除archivelog 2、进入RMAN 3、crosscheck archivelog all; 4、delete expried archivelog all;

这样就在一些Oracle的记录中查不到相应的archivelog记录了。

二、直接使用RMAN删除archivelog

其实在RMAN中是可以使用命令直接将ARCHIVELOG删除的,命令如下:

RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

表示删除7天以前的所有archivelog,但是这个命令的缺点是无法对archivelog进行细致的划分。

三、使用RMAN备份achivelog后删除

这是一种最为稳妥的方法了,使用RMAN备份archivelog,备份后全部删除

backup format '/u01/arch_%T_%s_%U' archivelog all delete input; 或者 
backup database plus archivelog;

注:我在库上设置了Streams后,使用RMAN删除archivelog会导致报错RMAN-08137: WARNING:

archive log not deleted as it is still needed. 不知道该如何解决,据说是10.2的一个bug,如果真

是bug的话,那只能在OS层设置删除,或用RMAN进行强制删除了。

 

10g之后的版本,Oracle在RMAN中内置增加了一项归档文件的删除策略,终于,DBA可以仅通过一项配置就

解决该问题了。该策略对应两个值:

APPLIED ON STANDBY:设置为该值时,当通过附加的DELETE INPUT子句删除Standby数据库仍需要的日志

时,会提示RMAN-08137错误。不过用户仍然可以手动地通过DELETE ARCHIVELOG方式删除。

NONE:设置为该值时,则不启用归档文件的删除策略。默认情况下就是NONE。

例如,启用APPLIED ON STANDBY: RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY; new RMAN configuration parameters: CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY; new RMAN configuration parameters are successfully stored

RMAN> run { backup archivelog all delete input format 'ZHSVR044_%d_set=%s_piece=%p_date=%T.ARC.rmn'; }
坚持住你的坚持,成功就在拐弯处
Oracle Data Guard是Oracle数据库的一种高可用性和灾难恢复解决方案,它可以将一个主数据库的数据实时复制到一个或多个备用数据库中,以实现数据的保护和灾难恢复。以下是Oracle Data Guard配置的基本步骤: 1. 确定主数据库和备用数据库之间的网络连接和带宽,确保网络稳定可靠。 2. 在主数据库上启用归档模式,以便可以将归档日志传输到备用数据库。可以通过在主数据库上运行以下命令来启用归档模式: ALTER DATABASE ARCHIVELOG; 3. 在主数据库上创建一个备用控制文件,该文件会记录主数据库的结构信息和日志序列号。可以通过在主数据库上运行以下命令来创建备用控制文件: ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/path/to/standby/controlfile'; 4. 在备用数据库上安装Oracle软件,并创建一个与主数据库相同的实例。 5. 配置备用数据库的参数文件,以便可以将其配置为备用数据库。在备用数据库的参数文件中,应设置以下参数: DB_NAME:与主数据库相同的数据库名称 DB_UNIQUE_NAME:备用数据库的唯一名称 LOG_ARCHIVE_CONFIG:指定主数据库的归档日志位置和传输方式 REMOTE_LOGIN_PASSWORDFILE:指定主数据库的密码文件位置和名称 6. 在备用数据库上创建一个叫做Standby Redo Log的重做日志组,用于接收来自主数据库的归档日志,并在备用数据库上还原这些日志。 7. 在主数据库上启用归档日志传输,以便可以将归档日志发送到备用数据库。可以通过在主数据库上运行以下命令来启用归档日志传输: ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=<standby_database_service_name> OPTIONAL REOPEN=60'; 8. 在备用数据库上启用归档日志应用,以便可以将归档日志还原到备用数据库。可以通过在备用数据库上运行以下命令来启用归档日志应用: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT; 9. 最后,可以测试Oracle Data Guard配置是否正常工作。可以通过在主数据库上手动切换日志文件,并查看备用数据库是否能够正确地接收和应用归档日志来验证Oracle Data Guard是否正常工作。 以上是Oracle Data Guard的基本配置步骤,具体的配置过程可能会有所不同,具体操作时请参考Oracle官方文档或咨询专业的Oracle DBA。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值