Oracle Data Guard
用来保护
Oracle
数据,可提供最高级别的数据保护和可用性的同时,使
Oracle
数据库保持最卓越的性能。它的运行遵循一个原则:传输重做数据,然后应用重做数据。
它分成两种实现方式,分别为逻辑备库(
logical standby
)和物理备库
(physical standby)
,用于不同的应用场景。如逻辑备库用于数据库的读写分离,物理备库用于数据库异地灾备。
在
Oracle 10g
逻辑备库中
,如主库出现故障,备库也是可以迅速切换成主库使用。
在
Oracle 10g logical standby
模式下,主库损毁,逻辑备库如何
完成切换成主库的任务?
在
Data Guard
之逻辑备库的故障切换
(logical
standby failover)
(
http://mikixiyou.iteye.com/blog/1530120
)
一文中,我介绍一种切换操作过程,但那是在主库的日志文件还没有丢失的情况下进行的操作。
在本文中,我们介绍在主库日志文件没有传输到逻辑备库时,逻辑备库上的应用的日志
SCN
和最新的日志
SCN
不一致的情况下,如何完成逻辑备库到主库的切换操作。
在切换过程中报
ORA-00308
错误,显示缺少归档日志文件。
我以
logical standby failover ora-00308
在
google
搜很多文档,也没有发现合适的解决方法和解决建议。
于是,只好自己去查阅文档和测试解决方法。
(
miki
西游
@mikixiyou
文档,原文链接
:
http://mikixiyou.iteye.com/blog/1558314
)
第一步,检查逻辑备库上应用进程的
applied scn
和
latest scn
SQL> r
1* select
to_char(applied_scn),to_char(latest_scn) from v$logstdby_progress
TO_CHAR(APPLIED_SCN)
TO_CHAR(LATEST_SCN)
----------------------------------------
----------------------------------------
11565985537
11565985750
如果有两者相等,请参照文档
Data Guard
之逻辑备库的故障切换
(logical standby
failover)
去完成逻辑备库的灾难切换工作。
关键点就是,我们这里的
SCN
是不相等的,否则也就没了下文了。
再次调用一下逻辑备库的日志应用操作。
SQL> alter database
start logical standby apply immediate;
Database altered.
在后台警告日志文件中,发现此错误,说缺少一个日志文件。
Mon Jun 11 14:00:27 2012
LOGMINER: Error 308
encountered, failed to read missing logfile
+VG2/archivelog/standby/1_31907_739157941.dbf
停止逻辑备库日志应用工作。
SQL> alter database stop
logical standby apply;
Database altered.
SQL> ALTER DATABASE
START LOGICAL STANDBY APPLY FINISH;
Database altered.
停止
logical standby
的日志应用工作,再使用新的命令去启用日志应用。
在警告日志文件中,还是报错,依然是缺少日志文件。
Mon Jun 11 13:55:16 2012
LOGMINER: Error 308
encountered during failover, failed to read missing logfile
+VG2/archivelog/standby/1_31907_739157941.dbf
LOGSTDBY status: ORA-00308:
cannot open archived log '+VG2/archivelog/standby/1_31907_739157941.dbf'
ORA-17503: ksfdopn:2 Failed
to open file +VG2/archivelog/standby/1_31907_739157941.dbf
ORA-15173: entry
'1_31907_739157941.dbf' does not exist in directory 'standby'
即使我们使用激活逻辑备库为主库模式的操作命令去强行切换,也是会出错的。道理很简单,在切换过程中缺少相应的归档日志文件。
ALTER DATABASE ACTIVATE
LOGICAL STANDBY DATABASE FINISH APPLY
这个语句的作用是停止
RFS
进程,应用所有保存在
standby
日志文件中重做日志,停止
SQL
应用,将控制文件切换成主库模式的控制文件,去掉
GUARD
保护状态使得所有人可以像正常库一样使用此库,最后激活主库模式,完成切换。
这里
finish apply
是一个可选子句。如果不带上这个子句,那么将有部分重做日志会不被应用。
那么,我们如何解决呢
两种方法:一种是找到归档日志文件,手工拷贝过来,然后注册进去。这样就可以切换成功。另一种,是采用忽略的方式切换。
SQL> alter
database activate logical standby database ;
Database altered.
将数据库的角色,确认是主库了。
SQL> select
2
database_role from v$database;
DATABASE_ROLE
----------------
PRIMARY
在归档日志环节上,我陷入了误区,想去找到如何
until scn
的方法,类似于
rman
中的
recover
方式。
其实,在这种环境下,解决起来很简单。直接
alter database activate logical standby database;
而不需要去加子句
finish
apply
。
分享到:
相关推荐
在MySQL作为应用系统的后台...还有使用Logical standby技术,实时复制数据到一个库,且该库是对应用而言是只读的。 我们这里介绍最后一个方法,利用dataguard技术中的logical standby实现Oracle数据库的读写分离。
DataGuard对于oracle初学者一直感觉是比较难的问题,看到这篇文章觉得不错,共享,大家一块学习
matlab开发-logical2cellstrcellstr2logical。从逻辑数组转换为字符串为“true”/“false”的单元格数组,然后再次进行转换。
大多数人都知道Streaming Replication已经成为PostgreSQL的一部分,并且通常用于高可用性和读写分离,流复制是基于WAL日志的物理复制,适用于整个数据库实例的复制,并且备库是只读的。 Logical Replication属于...
对于学习批评性思维的软件测试人员来说,掌握基本的三种推理逻辑很有意义。这个文档介绍了它们。
在AIM/LSI磁盘阵列控制器上创建Logical Drive(逻辑磁盘) 注意:请预先备份您服务器上的数据,配置磁盘阵列的过程将会删除您的硬盘上的所有数据!整个磁盘阵列配置过程与上面介绍的在Adaptec磁盘阵列控制器上创建容器...
基于模糊逻辑的知识图逻辑查询应答_Fuzzy Logic based Logical Query Answering on Knowledge Graph.pdf
matlab开发-logical2cellstrcellstr2logical.zip.zip
fuzzy logical很好的学习资料
database logical script
shl logical
Logical Channel Descriptor and Allocation of Logical Channel Numbers
而logical目录中对应的是创建逻辑Standby时,Primary和Standby库中相关的配置文件; 目录13内文件为书中第13章出现的使用DataPump API实现导出的脚本; 目录14内文件为书中第14章,用来验证平台字节序的脚本; 目录...
Data Modeling Made Simple with Embarcadero ER/Studio Data Architect: Adapting to Agile Data Modeling in a Big Data World Build a working knowledge of data modeling concepts and best practices, along ...
very good doc about logical effort
LogicalDOC是一个采用Java开发的基于网页的文档管理系统,提供了快速的索引功能和基于浏览器的查询功能。易于使用和学习。它利用最佳的Java技术,实现了强大而灵活的解决方案。为用户提供了强大的搜索引擎(基于...
LogicalDOC是文档管理和协作系统。该软件具有许多功能,可以为任何组织和个人安全,安全地组织,索引,检索,控制和分发重要的业务文档。 公司使用纸质流程(例如打印,邮寄和手动归档纸质文档)的日子已经一去不...
LogicalDOC文档管理-DMS 智能和开源文档管理系统 LogicalDOC是文档管理和协作系统。该软件具有许多功能,可以为任何组织和个人安全,安全地组织,索引,检索,控制和分发重要的业务文档。 公司使用纸质流程...
python库。 资源全名:logical-unification-0.3.2.tar.gz
UBS Logical Test answer Hope everyone finds it useful.