以只读或者可读写方式打开备库来访问
当备库是以只读方式打开时,用户只能在备库上查询而不能更新它。那么你可以为主库减轻负载而在备库上出报表,你可以定期的以只读方式打开备库,查询验证重做应用是否正确的更新到备库。针对分布式查询,你必须在只读数据库查询之前发出ALTER DATABASE SET TRANSACTION READ ONLY语句。
物理备库可以暂时打开以读/写模式用来开发,报告或测试的目的,然后闪回到过去一个点来恢复到一个物理备用数据库。当数据库闪回以后,Data Guard自动同步主库与备库之间的数据,而不需要从主数据库的备份副本重新创建物理备用数据库。
描述活动的物理备用数据库为读/写报告数据库,然后与主数据库重新同步数据库。
评估是否要打开备库
决定是否要以只读方式或者读写方式打开物理备库,可以考虑如下:
以只读方式打开物理备库可以延长失败或中断恢复的时间,因为数据库必须在故障切换后重新启动。
只要物理备库自从上次启动没有以只读方式打开,在故障切换后,重启是必须的,那么就会增加系统的可用性。
当备库是以只读方式打开或者读写方式打开,就不会应用来自主库的重做数据,那么就不能与主库保持一致性的事务。
当物理备库是打开时,来自主库的重做数据被备库接收,但是不会被应用。在有点伤,你需要在备库上重新应用重做数据,应用归档日志来同步备库和主库之间的数据。因为应用任何所需的额外时间累积的归档重做日志文件,因为需要申请任何累计归档重做日志文件,有一个备用数据库只读访问打开会增加完成故障切换或换药所需的额外时间。
如果你的备用系统上配置多个备用数据库,你可以使用一个物理备用数据库进行报表用途或克隆一个数据库,同时还保持了完整的故障切换或正常切换。
例如,基于你的业务需求,你可以:
配置两个物理备库,其中一个备库尽可能经常用来执行重做应用主库的日志,另外一个则以只读方式打开在业务期间达到出报表的目的。
配置物理备库来维护主库的副本来达到灾难恢复的目的,配置逻辑备库来卸载报表任务,这需要访问到主库最新的数据。
你可以使用以下过程在物理备库只读方式打开访问和执行重做应用来轮流切换。
当备库是关闭状态,直接使用STARTUP命令来以只读方式打开备库:
SQL> STARTUP;
当目前正在执行重做应用,以只读方式打开备库来访问:(首先取消重做应用,然后再打开数据库)
1. Cancel Redo Apply:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
2. Open the database for read-only access:
SQL> ALTER DATABASE OPEN;
######################################################################################
SYS@PRODSTD>alter database open;
Database altered.
SYS@PRODSTD>select OPEN_MODE from v$database;
OPEN_MODE
----------
READ ONLY
SYS@PRODSTD>
------------------------------------------------------------------------------------------------------------------
Sat Mar 29 13:22:29 2014
alter database open
Sat Mar 29 13:22:29 2014
SMON: enabling cache recovery
Sat Mar 29 13:22:30 2014
Database Characterset is AL32UTF8
replication_dependency_tracking turned off (no async multimaster replication found)
Physical standby database opened for read only access.
Completed: alter database open
########################################################################################
默认的, ALTER DATABASE OPEN 这条语句是以只读凡是打开物理备库。oracle数据库是以控制文件里的信息是否是物理备库来决定的。
To change the standby database from being open for read-only access to performing Redo Apply:
切换备库从只读访问到重做应用:
1. Terminate all active user sessions on the standby database.
1.终止备库上所有活跃的用户会话。
2. Restart Redo Apply. To start Redo Apply, issue the following statement:
2.重启重做应用,发出以下语句可以启用重做应用:
SQL>
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE
2> DISCONNECT FROM SESSION;
To enable real-time apply, include the USING CURRENT LOGFILE clause:
实时应用,需要包含USING CURRENT LOGFILE子句:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE
2> USING CURRENT LOGFILE;
You do not need to shut down the instance to start either of these apply modes.
你不需要关闭数据库然后再启用这些应用模式。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31448824/viewspace-2138148/,如需转载,请注明出处,否则将追究法律责任。