Oracle9i数据库DataGuard实施及维护手册3
以下命令均在Standby端执行
1.如果是使用ARCH传递redo数据,那么执行以下命令:
检查是否有gap archive
SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
如果有则register
ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1';
实行Failover:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
ALTER DATABASE ACTIVATE STANDBY DATABASE;
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;
2.如果是使用LGWR传递redo数据,那么执行以下命令:
检查是否有gap archive
SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
如果有则register
ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1';
如果是由于网络问题而导致需要切换,那么通常standby端的RFS进程并不会意识到primary已经不可访问,所以RFS进程也不会释放当前的standby redo log文件。
如果是primary端的数据库实例由于故障中断,那么一般情况下standby端的RFS进程会立刻意识到primary已经不可访问,也就会立刻释放当前的standby redo log文件。
只要RFS进程没有释放standby redo log文件,那么执行ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH命令就会在alertlog文件中发现如下的报错信息
Warning: log 4 of thread 1 is being archived or modified
Recovery interrupted.
Media Recovery failed with error 261
如果在报上述错误的时候,执行SWITCH,那么将会出现下面的错误:
ORA-16139: media recovery required
所以必须检查alertlog文件,直到发现如下信息才表示RFS进程已经释放了standby redo log文件,这时候才可以作FINISH:
RFS: Possible network disconnect with primary database
促使RFS进程释放standby redo log 文件有两种方法:
1. 等待RFS进程的network timeout,通常需要等待8分钟左右
2. 关闭standby数据库,再重新开启,这样会强制RFS进程释放standby redo log
我们可以通过v$managed_standby视图来监控RFS进程何时释放
实行Failover:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;
alertlog中将显示如下信息,表示finish成功:
Terminal Incomplete Recovery: UNTIL CHANGE 3738452
Terminal Incomplete Recovery: End-Of-Redo log allocation
Terminal Incomplete Recovery: log 4 reserved for thread 1 seq# 8772
TERMINAL RECOVERY changing datafile format version from 8.0.0.0.0 to
9.0.0.0.0
Switching logfile format version from 8.0.0.0.0 to 9.0.0.0.0
Terminal Incomplete Recovery: clearing standby redo logs.
Terminal Incomplete Recovery: thread 1 seq# 8772 redo required
Terminal Incomplete Recovery: End-Of-Redo log /global/oradata/ctsdb/stdby_redo04.log
Identified end-of-REDO for thread 1 sequence 8772
Terminal Incomplete Recovery: end checkpoint SCN 3738453
Media Recovery Complete
Switching logfile format version from 9.0.0.0.0 to 8.0.0.0.0
Terminal Incomplete Recovery: successful completion
Begin: Wait for standby logfiles to be archived
Wed Sep 1 13:42:28 2004
ARC1: Evaluating archive log 4 thread 1 sequence 8772
Wed Sep 1 13:42:28 2004
ARC0: Evaluating archive log 4 thread 1 sequence 8772
Wed Sep 1 13:42:28 2004
ARC1: Beginning to archive log 4 thread 1 sequence 8772
Wed Sep 1 13:42:28 2004
ARC0: Unable to archive log 4 thread 1 sequence 8772
Wed Sep 1 13:42:28 2004
Creating archive destination LOG_ARCHIVE_DEST_1: '/global/oradata/ctsdb/archive/arch1_8772.log'
Wed Sep 1 13:42:28 2004
Log actively being archived by another process
Wed Sep 1 13:42:28 2004
ARC1: Completed archiving log 4 thread 1 sequence 8772
Wed Sep 1 13:42:43 2004
End: All standby logfiles have been archived
Resetting standby activation ID 4038461969 (0xf0b60a11)
Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH
FINSH成功之后再执行SWITCH:
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
SWITCH成功之后,重新启动数据库:
SHUTDOWN IMMEDIATE;
STARTUP;
使用Data Guard Broker
创建Management Server repository:
emca
启动Management Server:
oemctl start oms
检查Management Server状态:
oemctl status oms sysman/oem_temp@bftest
启动Intelligent Agent:
agentctl start agent
如果启动agent报错,则检查相应的log文件,如果log文件中有如下错误:
Failed while initializing user subsystem
Error initializing subsystems
nmiumini_initializeUM: Unable to initialize UQAgent
则进行如下操作之后,重新启动agent:
rm $ORACLE_HOME/network/agent/*.q
alter system set resource_manager_plan='SYSTEM_PLAN' scope=both;
在所有站点上将BROKER启动。
SQL> ALTER SYSTEM SET DG_BROKER_START=TRUE SCOPE=BOTH;
System altered.
SQL> SHOW PARAMETER DG_BROKER_START
NAME TYPE VALUE
------------------------------------
dg_broker_start boolean TRUE
连接Data Guard Manager,必须使用具有sysdba权限的用户连接到Primary库上
>dgmgrl
DGMGRL> connect sys/dba
创建配置方案
DGMGRL> CREATE CONFIGURATION 'cts' AS
PRIMARY SITE IS 'bftest'
RESOURCE IS 'ctsdb'
HOSTNAME IS 'bftest'
INSTANCE NAME IS 'ctsdb'
SERVICE NAME IS 'ctsdb.primary'
SITE IS MAINTAINED AS PHYSICAL;
创建备用站点方案
DGMGRL> CREATE SITE 'report'
RESOURCE IS 'ctsdb'
HOSTNAME IS 'report'
INSTANCE NAME IS 'ctsdb'
SERVICE NAME IS 'ctsdb.standby'
SITE IS MAINTAINED AS PHYSICAL;
激活配置方案
DGMGRL> ENABLE CONFIGURATION;
激活资源
DGMGRL> ENABLE RESOURCE 'ctsdb';
资源的日志传送模式必须和Primary库的数据保护模式相匹配,比如数据保护模式是maximize availability,那么需要配置资源的LogXptMode属性为SYNC方式。
DGMGRL>ALTER RESOURCE 'ctsdb' ON SITE 'Boston' SET PROPERTY LogXptMode=SYNC;
DGMGRL>ALTER RESOURCE 'report_db' ON SITE 'Beijing' SET PROPERTY LogXptMode=SYNC;
DGMGRL> ALTER CONFIGURATION SET PROTECTION MODE AS MAXAVAILABILITY;
查看资源情况
DGMGRL> show resource verbose 'ctsdb';
查看某个节点上资源中的某一属性
DGMGRL> show resource verbose 'ctsdb' 'LogXptMode' on site 'Boston';
DGMGRL> SHOW RESOURCE 'ctsdb' LogXptStatus;
查看Broker的日志
DGMGRL> show log latest on site 'Boston';
查看数据库告警日志
DGMGRL> show log alert latest on site 'Boston';
查看资源的各种属性
DGMGRL> SHOW RESOURCE 'ctsdb' SendQEntries;
DGMGRL> SHOW RESOURCE 'report_db' SbyLogQueue;
DGMGRL> show resource verbose 'ctsdb' InconsistentLogXptProps;
修改资源属性,将自动修改数据库的相应初始化参数
DGMGRL> ALTER RESOURCE product_db on site v280 SET PROPERTY StandbyArchiveDest = '/global/oradata/ctsdb/archive';
Property "standbyarchivedest" updated.
DGMGRL> ALTER RESOURCE product_db on site v280 SET PROPERTY StandbyFileManagement = 'AUTO';
Property "standbyfilemanagement" updated.
DGMGRL> ALTER RESOURCE product_db on site v280 SET PROPERTY ArchiveLagTarget = '3600';
Property "archivelagtarget" updated.
停止Data Guard环境中的某个节点
DGMGRL> ALTER RESOURCE 'report_db' ON SITE 'Beijing' SET STATE='offline';
启动Data Guard环境中的某个节点
DGMGRL> ALTER RESOURCE 'report_db' ON SITE 'Beijing' SET STATE='LOGICAL-APPLY-ON';
修改 Data Guard环境中的某个节点的状态
DGMGRL> ALTER RESOURCE 'report_db' ON SITE 'v480' SET STATE='READ-ONLY';
先停止连接到备用库上的所有连接
DGMGRL> ALTER RESOURCE 'report_db' ON SITE 'v480' SET STATE='PHYSICAL-APPLY-ON';
停止Broker
SQL> ALTER SYSTEM SET DG_BROKER_START=FALSE;
作Switchover
DGMGRL> SWITCHOVER TO 'v480';
然后关闭Pirmary和Standby,重新启动
七.在Cluster环境中的主备切换步骤
在应用中cluster环境是很常见的,下面简单介绍一下在Sun Cluster 3.0的环境中,如果作Data Guard主备数据库的Switchover工作。
1.由于Cluster环境的监控,我们要手动关闭数据库的话,必须先关闭cluster,单独起一个节点的oracle。其中listener.ora.sigle的配置文件是预先写好的监听配置,主要不同是用主机的真实IP替换原先Cluster环境中的虚拟IP。
/usr/cluster/bin/scswitch -F -g oracle-rg
mount /global/oradata
cd /export/home/oracle/app/oracle/product/9.2.0/network/admin
cp listener.ora.sigle listener.ora
lsnrctl start
lsnrctl start listener_dg
sqlplus “/ as sysdba”
startup
2.在SQL*Plus中依次进行以下操作,完成切换Primary和Standby的工作
主数据库端:
ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;
SHUTDOWN IMMEDIATE;
STARTUP NOMOUNT;
ALTER DATABASE MOUNT STANDBY DATABASE;
备用数据库端:
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
SHUTDOWN IMMEDIATE;
STARTUP;
主数据库端:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
八.参考文档
Oracle Data Guard Concepts and Administration Release 2 (9.2)
Oracle9i Data Guard Broker Release 2 (9.2)
技术专题总结:standby Database - snowhite、chao_ping
Oracle 9i备用数据库配置使用参考手册 - piner
[作者简介]
张乐奕,通常使用的网名为kamus,也曾用过seraphim,现在任职于北京某大型软件公司,Oracle数据库DBA,主要负责证券行业的核心交易系统数据库管理及维护工作。
热切关注Oracle技术和相关操作系统技术,出没于各大数据库技术论坛,目前是中国最大的Oracle技术论坛www.itpub.net的数据库管理版版主,
转载于:https://www.cnblogs.com/sopost/archive/2012/05/20/2509354.html
Oracle9i数据库DataGuard实施及维护手册3相关推荐
- Oracle9i数据库Data Guard实施及维护手册 1
Oracle9i数据库Data Guard实施及维护手册 By Kamus 一.Data Guard介绍 备用数据库(standby database)是ORACLE 推出的一种高可用性(HIGH A ...
- oracle部署在mysql_Oracle数据库部署实施流程
作为一个Oracle数据库的DBA,部署一套Oracle数据库属于基本技能,那么完整的部署一套Oracle数据库应该包含哪些内容呢?下面我们来 作为一个Oracle数据库的DBA,部署一套Oracle ...
- erwin连接oracle数据库,erwin连接oracle9i数据库
评论 # re: erwin连接oracle9i数据库 2008-05-14 17:25 为鹏飞 帮帮我好吗,我用的是oracle10g,也出现了这样的情况,现在还没解决.把您的联系方式发到我邮箱里我 ...
- oracle9i数据库自动备份,Windows环境下Oracle9i数据库文件的自动备份
我们要经常对oracle9i数据库进行导出备份,那么需要一种让它自动执行的方法 参考了网友们的做法,我的方法如下: 第一步: 打开记事本输入: exp test/test@test file=d:/b ...
- oracle数据库部署策略,Oracle数据库部署实施流程
作为一个Oracle数据库的DBA,部署一套Oracle数据库属于基本技能,那么完整的部署一套Oracle数据库应该包含哪些内容呢?下面我们来 作为一个Oracle数据库的DBA,部署一套Oracle ...
- oracle9i怎样管理数据,Oracle9i数据库管理员使用大全
第1章 Oracle数据库概述 1.1 Oracle数据库特点 1.2 Oracle数据库发展过程 1.3 Oracle数据库应用系统结构 1.3.1 Oracle数据库应用系统层次结构 1.3.2 ...
- adg不同系统_数据库ADG实施手册
数据库 ADG 实施手册 以下均以主库为 RAC 模式.备库为单实例模式为例,操作系统均为 AIX : 一.源端需配合提供的相关信息 1 . rman 脚本 需注意:应当先备份数据文件, 然后备份控制 ...
- 数据库原理(十 四)- 数据库的实施和维护
数据库原理(十 四)- 数据库的实施和维护 前言 数据的载入和应用程序的调试 数据库的试运行 数据库的运行和维护 借鉴 前言 完成数据库的物理设计之后,设计人员就要对数据库系统进行实施和试运行,在试运 ...
- oracle9i档案文件创建,Oracle9i数据库系统管理 哪里有档案管理软件啊?
我给你一个软件,下载地址请见参考资料里面,进去之后就可以找到啦 关于软件的详细介绍如下: 由东方信腾自主研发的方信文档管理系统采用JAVA语言开发,遵循J2EE规范,多层结构体系,支持MySQL.MS ...
最新文章
- docker:Error running DeviceCreate (createSnapDevice) dm_task_run failed
- 手机端网站测试用什么软件,3款优秀的移动webAPP网站在线测试工具推荐
- 在HTML5中如何利用Canvas处理并存储图片
- c语言字符串传给swift,如何把字符串数组从 Swift 传递给 C
- linux等候脚本,linux – 在bash脚本中继续之前等待通过ssh运行的脚本完成
- [MLDN魔乐科技]Oracle视频教程
- java线程同步机制,实现同步锁
- 【原型】Axure基本入门
- MongoDB 后台创建索引、查看创建进度等
- 计算机在微表情的应用,基于深度卷积神经网络的微表情识别
- 2011年,痛并快乐着
- 【Druid】(四)Apache Druid 部署和配置(单机版 / Docker 容器版 / Kubernetes 集群版)
- 解决专利侵权的另一个想法:消除陪审团审判
- Zigbee之旅(二):第一个CC2430程序——LED灯闪烁实验
- 【C++primer中级】31-39
- Sweet Home 3D for Mac(3D室内设计软件)
- 接口 使用 Excel
- 超强安利芒果TV for Mac客户端V6.3.7官方版
- python全栈之巅_Windows运维之关于WIN7故障模块StackHash_0a9e解决方法
- Wincc服务器右下RT状态,西门子WinCC运行版7.4 (RT128)
热门文章
- MATLAB是一种面向数值计算,MATLAB是一种面向数值计算的高级程序设计语言。
- linux上安装osg_Linux下编译OSG全过程
- mysql limit 1 10000_Mysql面试题,优化:SELECT * FROM user LIMIT 10000,1.
- AT1 one-dimensional objects
- pandas基础实例
- python代码编写规范
- ros melodic控制真实机械臂之等周期输出插补点
- python神奇功能_16个你毫不知道的Python神奇技能
- selectprovider 分页_修改EFOracleProvider——解决分页排序问题
- 提高python 程序运行速度_3个Python函数帮程序员们避免编写循环,提高运行速度...