DataGuard 实施方案--XX期货.doc_第1页
DataGuard 实施方案--XX期货.doc_第2页
DataGuard 实施方案--XX期货.doc_第3页
DataGuard 实施方案--XX期货.doc_第4页
DataGuard 实施方案--XX期货.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

i 20i 目录目录 目录目录 I 服务概述服务概述 1 环境描述环境描述 1 系统部署图系统部署图 2 灾备环境配置灾备环境配置 3 保护模式选择 3 主库HSVIPDB1 环境准备 3 安装Oracle软件 10 2 0 5补丁 dbca建库 3 参数文件修改 4 主库最终参数文件如下 4 在主库创建密码文件 参数文件 以及standby控制文件 4 主库tns文件配置 5 备库HSVIPDB2 环境准备 5 数据库软件安装 5 创建对应目录 5 参数文件修改内容 5 备库最终参数文件如下 6 口令文件配置 6 DATAGUARD正式配置 6 确认主库为归档模式 6 传输备份集 7 启动备库 hsvipdb2 7 简单测试 7 备库tns文件配置 7 创建standby redo log 8 SWITCHOVER 切换步骤切换步骤 9 正常 SWITCHOVER切换 9 主库切换为备库 9 备库切换为主库 10 FAILOVER 切换步骤切换步骤 10 备库的 FAILOVER切换 10 主 备数据库状态检查及注意事项 10 备份standby库当前的状态 11 ii 20ii 日志差异检查 11 进行failover切换 12 日常维护日常维护 12 检查灾备 12 检查保护模式 12 检查DataGuard状态 13 检查进程 13 检查归档状态 13 检查备库归档应用状态 14 检查主库未传输的日志 15 相关视图 15 正常开关机顺序 15 测试用例测试用例 16 网络中断 16 测试过程 16 测试结果 16 不正常的开关机顺序 16 测试过程 16 测试结果 16 后续建议后续建议 17 归档日志清理 17 测试时问题解决方法测试时问题解决方法 17 FAILOVER切换测试后问题恢复 17 参考文件参考文件 18 1 201 服务概述服务概述 本次服务在 HP DL580G7 机器搭建期货交易数据库系统的 DataGuard 环境 并针对各测试场景进 行切换测试 本文档涉及本次服务的各个环节 可作为 DataGuard 日常维护的参考手册 按本手册操作 时注意文档中的命令最好在文本文件中将引号 单引号 分号替换为英语半角的符号 平时对灾备检查参 考 日常维护 章节 确认备库日志应用情况 保证日志应用相差很小 以下配置主要介绍的是采用 arch async 使用归档日志切换时才发送归档日志文件到 备库端重演事务对于采用 LGWR SYNC 或者 LGWR ASYNC 方式同步的没有在此介绍有兴趣的可以自己再去做详细的测试 环境描述环境描述 hsvipdb1 primary hsvipdb2 standby 主机HP DL580G7 HP DL580G7 主机名hsvipdb1hsvipdb2 OSRedhat AS5 6Redhat AS5 6 DBOracle10 2 0 5Oracle10 2 0 5 Db unique namehsvipdb1hsvipdb2 数据文件路径 oradata oradata 在线重做日志 redolog 800G redolog 800G 归档日志 arch150G arch150G 3 203 系统部署图系统部署图 4 204 灾备环境配置灾备环境配置 保护模式选择保护模式选择 Oracle Physical DataGuard 提供了三种保护模式 最大保护模式 maximum protection 最大可用模式 maximum availability 最大性能模式 maximum performance 最大保护模式最大保护模式 maximum protection 这种保护模式确保当主数据库故障不会发生数 据丢失 要提供这种级别的保护 恢复每个事务所需的重做数据必须在事务提交之前同时写 到本地联机重做日志和备数据库上的重做日志 要确保不发生数据丢失 如果故障导致主数 据库无法将恢复事务所需的流写入备库重做日志时主数据库会自动关闭 避免数据丢失以保 护两个数据库的一致性 这种模式它要求备数据库必须配置 Standby Redo Log 而主数据库必须使用 LGWR SYNC AFFIRM 方式归档 最大可用模式最大可用模式 maximum availability 这种保护模式尽最大可能保持主 备库数据的 一致性 它是最大性能与最大可用两个模式的一个折中 与最大保护模式相同 恢复事务所 需的重做日志流在写到本地联机重做日志和备数据库上的重做日志之前 事务将不会提交 与最大保护模式不同的是 如果故障导致主数据库无法将重做流写到异地备重做日志时 主 数据库不会关闭 这时主库自动转换为最大性能模式运行 直到故障消除并且备库再次能够 与主库同步之后 主库才能再次自动转换为最大可用模式运行 这种模式尽可能的确保主 备库的一致性 但是绝对保证不了数据库的完全一致 比如转 换为最大性能模式之后主 备库之间同步还没有恢复但事务继续进行恰巧这时主库挂掉了 那 么就会导致主 备库之间的数据存在了差异性 这种模式它要求备数据库必须配置 Standby Redo Log 而主数据库必须使用 LGWR SYNC AFFIRM 方式归档 最大性能模式最大性能模式 maximum performance 这种保护模式 默认 提供了可能的最高 低别的数据保护 它更加侧重于对于主库的可用性不造成而不影响也就是说更加观注主库的 整体性能 主库上面事务的 redo 日志只要写到本地联机重做日志文件就可能立即提交事务 而不必等待恢复事务所需重做日志流至备库传递完成 这种模式主要使用 LGWR ASYNC 或者 ARCH 实现 且备库也不需要使用 Standby Redo Log 主库主库hsvipdb1环境准备环境准备 安装安装Oracle软件 软件 10 2 0 5补丁 补丁 dbca建库建库 确保主数据库都必须启用日志归档模式 5 205 修改主库属性 alter database force logging 查看状态 select FORCE LOGGING from v database 这样数据库后期事务操作会忽略nologging关键字属性 所有事务操作都会强制记录日志 注意 其实在后面对于注意 其实在后面对于standby角色的备库也要确保启用归档及角色的备库也要确保启用归档及force logging 因为要 因为要 考虑到考虑到primary与与standby角色之间的转换 角色之间的转换 参数文件参数文件修改修改 alter system set db unique name hsvipdb1 scope spfile alter system set log archive config DG CONFIG hsvipdb1 hsvipdb2 scope spfile alter system set log archive dest 1 LOCATION arch VALID FOR ALL LOGFILES ALL ROLES DB UNIQUE NAME hsvipdb1 scope spfile alter system set log archive dest 2 SERVICE hsvipdb2 arch async VALID FOR ONLINE LOGFILES PRIMARY ROLE DB UNIQUE NAME hsvipdb2 scope spfile alter system set log archive dest state 1 ENABLE scope spfile alter system set log archive dest state 2 ENABLE scope spfile alter system set fal server hsvipdb1 scope spfile alter system set fal client hsvipdb2 scope spfile alter system set STANDBY FILE MANAGEMENT AUTO scope spfile 主库最终参数文件如下主库最终参数文件如下 在主库创建密码文件 参数文件 以及在主库创建密码文件 参数文件 以及standby控制文件 控制文件 create pfile u01 hsvipdb2 txt from spfile orapwd file u01 orapwhsvipdb2 ora password change on install entries 10 alter database create standby controlfile as u01 controlstb ctl 6 206 以上三个命令创建的文件主要是给备库使用 其实对于密码文件可以直接将主库的密码文件拷贝过去就 OK 了 具体操作下面会讲解 主库主库tns文件配置文件配置 在已有 tnsnames ora 中加入如下内容 hsvipdb1 DESCRIPTION ADDRESS PROTOCOL TCP HOST 10 24 80 101 PORT 1521 CONNECT DATA SERVER DEDICATED SERVICE NAME hsvipdb1 hsvipdb2 DESCRIPTION ADDRESS PROTOCOL TCP HOST 10 24 80 102 PORT 1521 CONNECT DATA SERVER DEDICATED SERVICE NAME hsvipdb2 备库备库hsvipdb2环境准备环境准备 数据库软件安装数据库软件安装 在 hsvipdb2 机器上安装 Oracle10g R2 软件 并安装 10 2 0 5 补丁 创建对应目录创建对应目录 在备库 mount arch su oracle mkdir p ORACLE BASE admin hsvipdb2 adump mkdir p ORACLE BASE admin hsvipdb2 bdump mkdir p ORACLE BASE admin hsvipdb2 cdump mkdir p ORACLE BASE admin hsvipdb2 udump 如果目录属主不是 oracle oinstall 或者 oracle dba 需要修改目录权限 参数文件参数文件修改内容修改内容 alter system set db unique name hsvipdb2 scope spfile alter system set log archive config DG CONFIG hsvipdb2 hsvipdb1 scope spfile alter system set log archive dest 1 LOCATION archive VALID FOR ALL LOGFILES ALL ROLES DB UNIQUE NAME hsvipdb2 scope spfile alter system set log archive dest 2 SERVICE hsvipdb1 arch async VALID FOR ONLINE LOGFILES PRIMARY ROLE DB UNIQUE NAME hsvipdb1 scope spfile alter system set log archive dest state 1 ENABLE scope spfile alter system set log archive dest state 2 ENABLE scope spfile alter system set fal server hsvipdb2 scope spfile alter system set fal client hsvipdb1 scope spfile 7 207 备库最终参数文件如下备库最终参数文件如下 口令文件配置口令文件配置 orapwd file u01 app oracle product 10 2 0 db dbs orapwzhqhdb password oracle entries 10 force y 或者使用 scp 将主库上的口令文件拷贝到相对应的目录 dataguard正式配置正式配置 系统中的正式库准备完成后开始对系统中的备库进行配置 确认主库为归档模式确认主库为归档模式 在主库在主库 hsvipdb1 su oracle sqlplus as sysdba SQL alter database force logging 检查模式 SQL select log mode force logging from v database LOG MODE FORCE LOGGING ARCHIVELOG YES 注 确认上述模式正确 若不正常重新执行上述的 alter 操作 8 208 传输备份传输备份集集 sqlplus as sysdba SQL ALTER DATABASE CREATE STANDBY CONTROLFILE AS u01 controlstb ctl 创建 standby 控制文件 shutdown immediate 关闭主库 通过 scp 把主库的密码文件 刚创建的密码文件 刚创建的 standby controlfile 数据文件 参数文件 数据文件 参数文件 传到备库主机上 然后将密码文件拷贝到备库对应的 ORACLE HOME dbs 目录下 将名称由 orapwhsvipdb1 改为 orapwhsvipdb2 启动启动备库备库 hsvipdb2 在主库在主库 SQL startup 在备库在备库 SQL shutdown immediate 拷贝 standby controlfile 使用 standby 控制文件来启动 oracle vipdb2 cp u01 controlstb ctl redolog control01 ctl oracle vipdb2 cp u01 controlstb ctl redolog control02 ctl oracle vipdb2 cp u01 controlstb ctl redolog control03 ctl SQL startup nomount SQL create spfile from pfile SQL shutdown immediate SQL startup mount SQL alter database recover managed standby database disconnect from session 简单测试简单测试 在主库通过执行 alter system switch logfile 切换日志可以观察到备库会自动应用通过主库传过来 的日志 分别进入主 备数据库的归档目录然后对比归档日志文件的文件个数 大小 时间 名称 如果主库从不过来归档 可以通过在主库侧手工修改参数如下 ALTER SYSTEM SET log archive dest state 2 DEFER SCOPE MEMORY ALTER SYSTEM SET log archive dest state 2 ENABLE SCOPE MEMORY 启动灾备后请参考启动灾备后请参考 日常维护日常维护 章节进行检查章节进行检查 备库备库tns文件配置文件配置 配置 tnsnames ora 内容如下 hsvipdb1 DESCRIPTION ADDRESS PROTOCOL TCP HOST 10 24 80 101 PORT 1521 CONNECT DATA SERVER DEDICATED SERVICE NAME hsvipdb1 hsvipdb2 DESCRIPTION ADDRESS PROTOCOL TCP HOST 10 24 80 102 PORT 1521 CONNECT DATA SERVER DEDICATED 9 209 SERVICE NAME hsvipdb2 配置完成后 sqlplus sys 密码 hsvipdb2 as sysdba 确认可以登录 创建创建standby redo log 在使用最大保护模式或是最大可用模式的时候需要在 standby 数据库创建 standby redo log 对于最大性能模式可以不用创建 standby redo log alter database add standby logfile group 5 redolog standbyredolog std redo05a log redolog standbyredolog std redo05b log size 1000m group 6 redolog standbyredolog std redo06a log redolog standbyredolog std redo06b log size 1000m group 7 redolog standbyredolog std redo07a log redolog standbyredolog std redo07b log size 1000m group 8 redolog standbyredolog std redo08a log redolog standbyredolog std redo08b log size 1000m group 9 redolog standbyredolog std redo09a log redolog standbyredolog std redo09b log size 1000m 在主数据库添加 standby 联机日志文件 这里要保证standby日志文件与主库联机日志文件相同大 小 其实这个也可不加的 如果没有手工创建那么主数据库会自动创建standby日志文件如下图 只是如 果自己手工创建的话便于自己管理 添加 standby 日志文件的规则 standby 日志最少应该比 redo log 多一组 推荐的备重做日志数依赖于主数据库上的线程数 每线程日志文件最大数目 1 线程数 否则 standby 日志在应用时报如下信息 RFS 1 No standby redo logfiles created RFS 1 Archived Log arch 1 30 633287861 dbf 在主库添加完 standby logfile 后 当主库切换为 standby 角色后会自动使用 standby redo logfile 具体应用信息如下 RFS 1 Successfully opened standby log 5 redolog standbyredelog std redo05a log 切换后在 alert 日志中可以看到具体的详细信息仅供参考 10 2010 Switchover 切换步骤切换步骤 无损转换 通常是用户手动触发或者有计划的让其自动触发 比如硬件升级啦 软件升级啦之类的 通常它给你带来的工作量非常小并且都是可预计的 其执行分两个阶段 第一步 primary 数据库转换为 standby 角色 第二步 standby 数据库 之一 转换为 primary 角色 primary 和 standby 只是简单 的角色互换 这也就是说 primary standby 的角色转换是动态的没有固定说谁就是主的其它就是从的 正常正常Switchover切换切换 主库切换为备库主库切换为备库 在主库在主库 hsvipdb1 su oracle sqlplus as sysdba SQL select SWITCHOVER STATUS DATABASE ROLE PROTECTION MODE FROM v database SWITCHOVER STATUS TO STANDBY 如果 SWITCHOVER STATUS 返回的结果是 SESSIONS ACTIVE 或 TO STANDBY 表示支持将主 的转换成备的 否则的话你就需要重新检查一下 Data Guard 配置 比如看看 LOG ARCHIVE DEST n 之类参数值是否正确有效等等 将数据库从将数据库从 primary 转换成转换成 standby 模式 下面两个模式 下面两个 sql 语句建议用每二个语句建议用每二个 sql conn as sysdba alter database commit to switchover to physical standby 或者 alter database commit to switchover to physical standby with session shutdown 停止数据库停止数据库 shutdown immediate 启动数据库到启动数据库到 mount 模式 下面提供两种方法建议用第一种方法模式 下面提供两种方法建议用第一种方法 startup nomount alter database mount standby database 或者直接启动到 mount 模式 startup mount 将主库改为数据库以不连接方式进行恢复管理将主库改为数据库以不连接方式进行恢复管理 alter database recover managed standby database disconnect 注 A 如果仅做切换测试 最好在切换前备份原来的 spfile 切换完成后再确认参数是否正常 B 切换测试之前请按照 检查备库归档应用状态检查备库归档应用状态 检查主备库 incarnation 的一致性和日 志应用状况 11 2011 备库切换为主库备库切换为主库 在备库在备库 hsvipdb2 su oracle sqlplus as sysdba 将从数据库转换为主数据库 SQL select SWITCHOVER STATUS DATABASE ROLE PROTECTION MODE FROM v database 如果 SWITCHOVER STATUS 的值为 TO Primary 或 SESSIONS ACTIVE 执行脚本 待原来的主库从 primary 的库转换为 standby 模式后 如果 SWITCHOVER STATUS 返回的结果是 SESSIONS ACTIVE 或 TO PRIMARY 表示支持将从的转换成主的 否则的话你就需要重新检查一下 Data Guard 配置 比如看看 LOG ARCHIVE DEST n 之类参数值是否正确有效等等 将数据库从将数据库从 standby 转换成转换成 primary 模式 下面两个模式 下面两个 sql 语句建议用每二个语句建议用每二个 sql conn as sysdba alter database commit to switchover to primary 或者 alter database commit to switchover to primary with session shutdown 然后打开数据库然后打开数据库 alter database open 注意 如果数据库处于 open read only 模式下 那么必须要将数据库 shutdown immediate 然后再直 接 startup 数据库 如果是 DataGuard 搭建后第一次切换 有可能需要调整 TEMP 表空间 用下面的 SQL 检查临时数据文件 的大小 如果空间够大那么就不用更改了 因为这边是直接将主库 hsvipdb1 的临时数据文件直接 SCP 到 hsvipdb1 的所以临时数据文件大小其实两边一样的大小 SQL select sum bytes 1024 1024 M from dba temp files M 20000 SQL alter database tempfile oradata temp01 dbf resize 20000M Database altered 注 如果仅做切换测试 最好在切换前备份原来的 spfile 切换完成后再确认参数是否正常 Failover 切换步骤切换步骤 备库的备库的Failover切换切换 主主 备数据库状态检查及注意事项备数据库状态检查及注意事项 A 通常情况下当主库所在主机及数据库都运行正常 那么不需要进行 failover 模式的切换 B failover 之后 原 primary 数据库默认不再是 dataguard 配置的一部分 C 除了平时检查灾备的状态 切换测试前请检查主备库的日志应用状况 一定要确保备库数据的完整性 和正确性 12 2012 D 多数情况下 其它逻辑 物理 standby 数据库不直接参与 failover 的过程 因此这些数据库不需要做 任何操作 E 某些情况下 新的 primary 数据库配置之后 需要重新创建其它所有的 standby 数据库 F 一般情况下 failover 都是表示 primary 数据库瘫痪最起码也是起不来了 因此检查 primary 数据库 主机或者库是否异常 如若是那么这种类型的切换基本上不需要在 primary 数据库做什么操作 所以 下面操作步骤中如果有提到 primary 和 standby 执行的 只是建议你如果 primary 还可以用 那就 执行一下 即使它能用你却不执行 也没关系 不影响 standby 数据库的切换 G 备份备份standby库当前的状态库当前的状态 在备库在备库 备份 dg 参数文件 cd ORACLE HOME dbs cp spfilehsvipdb2 ora spfilehsvipdb2 ora bak 注注 1 确认备库日志应用状态后 确认备库日志应用状态后 可以在完全关闭备库的状态下可以在完全关闭备库的状态下 对备库进行冷备对备库进行冷备 2 也可以使用 也可以使用 RMAN 进行热备进行热备 3 同样也可以使用 同样也可以使用 flashback 的方式进行备份的方式进行备份 4 如果仅做切换测试 最好在切换前备份原来的 如果仅做切换测试 最好在切换前备份原来的 spfile 切换完成后再使用原来的参数文件即可 切换完成后再使用原来的参数文件即可 日志差异检查日志差异检查 A 判断是否有归档日志或联机日志需要传递 因为演练failover切换的时候需要考虑真实情况下主数据库实际损坏 而主库损坏的情况可能是其主 机都crash了 还有可能是磁盘阵列损坏了 如果是磁盘阵列损坏了 那么显然无法从主库传递归档日志 和联机日志 此时必须承担数据丢失 如果磁盘阵列仍然可读取 那么我们可以比较主库本地归档目的地 的日志文件和STANDBY上的传输过来的归档目的地的日志文件 确定是否有归档日志文件需要传输 查看方法 在主备库做如下查询 SQL col instance for a20 SQL select instance sequence from v thread INSTANCE SEQUENCE test 59 SQL SELECT THREAD LOW SEQUENCE HIGH SEQUENCE FROM V ARCHIVE GAP 看sequence 是否一致 若不一致 则将所有备库不存在而主库存在的归档日志和联机日志传送到 standby数据库服务器上后 与传送到达的目录没有关系 注册时需要填写文件的直接路径即可 通过注 册恢复可以让数据没有丢失 这一步非常重要 必须确保所有已生成的归档文件均已存在于standby服务 器 不然可能会数据不一致造成转换时报错 B 为每一个传送过来的日志文件在备库进行注册 执行以下语句 SQL ALTER DATABASE REGISTER LOGFILE arch 1 87 dbf SQL ALTER DATABASE REGISTER PHYSICAL LOGFILE filespec1 SQL SELECT UNIQUE THREAD AS THREAD MAX SEQUENCE OVER PARTITION BY thread AS LAST from V ARCHIVED LOG 该语句取得当前数据库各线程已归档文件最大序号 如果primary与standby最大序号不相同 必须将多出 的序号对应的归档文件复制到待转换的standby服务器 不过既然是failover 有可能primary数据库此时 已经无法打开 甚至无法访问那你只好听天由命了 我也就只能祈祷 主啊请保佑咱们数据尽可能损失少 一点吧 C 恢复这些日志 13 2013 SQL recover standby database 此步骤必须在切换之前完成 此步骤必须在切换之前完成 进行进行failover切换切换 在备库服务器上操作在备库服务器上操作 方法方法 1 su oracle sqlplus as sysdba SQL alter database recover managed standby database cancel SQL alter database activate physical standby database SQL shutdown immediate SQL startup select OPEN MODE SWITCHOVER STATUS DATABASE ROLE PROTECTION MODE FROM v database 方法方法 2 su oracle sqlplus as sysdba SQL alter database recover managed standby database finish force force 关键字将会停止当前活动的 RFS 进程 以便立刻执行 failover SQL alter database commit to switchover to primary SQL alter database open 如果数据库已为 mount 直接 open 就可以了 如果为 read only 模式那么必须先 shutdown immediate 然后直接 startup 日常维护日常维护 检查灾备检查灾备 检查保护模式检查保护模式 在主备库在主备库 set linesize 1000 col DATABASE ROLE for a25 col INSTANCE for a25 col OPEN MODE for a25 col PROTECTION MODE for a25 col PROTECTION LEVEL for a25 col SWITCHOVER STATUS for a25 SQL SELECT DATABASE ROLE DB UNIQUE NAME INSTANCE OPEN MODE PROTECTION MODE PROTECTION LEVEL SWITCHOVER STATUS FROM V DATABASE 确认主库状态为 to standby 或者为 sessions active 保护模式应该 maximum performance 角色为 PRIMARY 如果状态异常 请按 检查 DataGauard 状态 章节操作检查 DataGuard 信息 在备库查询时通常为 not allowed 或者 sessions active 角色为 PHYSICAL STANDBY 当 primary 主库改为 standby 角色后 那么其中的任意一个 standby 库都可能被切换为 primary 角色 这时需要确认 standby 库的状态为 to 14 2014 primary 检查检查DataGuard状态状态 在主备库在主备库 SQL SELECT MESSAGE FROM V DATAGUARD STATUS MESSAGE ARC0 Archival started ARC1 Archival started Archivelog destination LOG ARCHIVE DEST 2 validated for no data loss recovery Creating archive destination LOG ARCHIVE DEST 2 dest2 ARCH Transmitting activation ID 0 LGWR Completed archiving log 3 thread 1 sequence 11 Creating archive destination LOG ARCHIVE DEST 2 dest2 LGWR Transmitting activation ID 6877c1fe LGWR Beginning to archive log 4 thread 1 sequence 12 ARC0 Evaluating archive log 3 thread 1 sequence 11 ARC0 Archive destination LOG ARCHIVE DEST 2 Previously completed ARC0 Beginning to archive log 3 thread 1 sequence 11 Creating archive destination LOG ARCHIVE DEST 1 oracle arch arch 1 11 arc ARC0 Completed archiving log 3 thread 1 sequence 11 ARC1 Transmitting activation ID 6877c1fe 15 rows selected 使用 V DATAGUARD STATUS 结合 alert 日志信息 判断 DataGuard 使用过程中的错误信息 查看当前日志应用的 状态 可以用 ls lt more 命令来查看主库最新归档日志文件的序号 对比备库当前归档日志应用状态了解备库目前和主库日志文 件之间的差异情况 检查进程检查进程 在主库在主库 SQL SELECT PROCESS CLIENT PROCESS SEQUENCE STATUS FROM V MANAGED STANDBY PROCESS CLIENT P SEQUENCE STATUS ARCH ARCH 9 CLOSING ARCH ARCH 9 CLOSING 在备库在备库 SQL SELECT PROCESS CLIENT PROCESS SEQUENCE STATUS FROM V MANAGED STANDBY PROCESS CLIENT P SEQUENCE STATUS ARCH ARCH 0 CONNECTED ARCH ARCH 0 CONNECTED MRP0 N A 10 WAIT FOR LOG 备库已经完成了来至于主库的日志文件 9 现在正在等待日志文件 10 RFS UNKNOWN 0 IDLE MRP 是应用日志 ARCH 是归档进程 RFS 是取重做日志的进程 主库进程需要确认有 ARCH 进程 备库需要确认存在 MRP ARCH RFS 进程 如果不存在则表示 dataguard 工作不正 常 查询 V DATAGUARD STATUS 视图和 alert 日志需找具体的错误信息 检查归档状态检查归档状态 在主库在主库 SELECT DEST ID DEST NAME STATUS from V ARCHIVE DEST STATUS 判断 primary 库的 2 个归档路径 status 是否为 valid 15 2015 在主备库在主备库 set linesize 1000 col NAME for a60 col CREATOR for a10 col SEQUENCE for a10 col APPLIED for a10 col COMPLETION TIME for a15 SQL SELECT NAME CREATOR SEQUENCE APPLIED COMPLETION TIME FROM V ARCHIVED LOG NAME CREATOR SEQUENCE APP COMPLETIO H ORACLE ORADATA PAYROLL STANDBY ARC00198 001 ARCH 198 YES 30 MAY 02 H ORACLE ORADATA PAYROLL STANDBY ARC00199 001 ARCH 199 YES 30 MAY 02 H ORACLE ORADATA PAYROLL STANDBY ARC00200 001 ARCH 200 YES 30 MAY 02 H ORACLE ORADATA PAYROLL STANDBY ARC00201 001 LGWR 201 YES 30 MAY 02 H ORACLE ORADATA PAYROLL STANDBY ARC00202 001 ARCH 202 YES 30 MAY 02 H ORACLE ORADATA PAYROLL STANDBY ARC00203 001 LGWR 203 YES 30 MAY 02 判断当前有哪些未 APPLY 可通过操作系统命令 ls 查看对应目录下未 APPLY 的日志是否已经传输到 standby 端 或者依据 检查主库未传输的日志 章节操作进行判断 查询 V DATAGUARD STATUS 是否有 ERROR 信息 依据 检查进程 章节判断进程是否正常 检查备库归档应用状态检查备库归档应用状态 在备库查询在备库查询 SQL ARCHIVED THREAD ARCHIVED SEQ APPLIED THREAD APPLIED SEQ 1 947 1 945 注意 ARCHIVED SEQ 和 APPLIED SEQ 的差异 SQL SELECT THREAD MAX SEQUENCE FROM V LOG HISTORY GROUP BY THREAD THREAD LAST APPLIED LOG 1 7 找出最后应用的日志的 sequence SQL select t THREAD t SEQUENCE t APPLIED from v archived log t THREAD SEQUENCE APP 1 1 YES 1 2 YES 1 3 YES 1 4 YES 1 5 YES 1 6 YES 1 7 YES 7 rows selected 找出具体哪些日志被应用了 哪些未被应用 SELECT FIRST TIME THREAD SEQUENCE FIRST CHANGE NEXT CHANGE FROM V LOG HISTORY 16 2016 THREAD SEQUENCE FIRST CHANGE NEXT CHANGE 1 945 74651 74739 查找备库应用的 SCN 号 检查主库未传输的日志检查主库未传输的日志 在主库 SELECT LOCAL THREAD LOCAL SEQUENCE FROM SELECT THREAD SEQUENCE FROM V ARCHIVED LOG WHERE DEST ID 1 LOCAL WHERE LOCAL SEQUENCE NOT IN SELECT SEQUENCE FROM V ARCHIVED LOG WHERE DEST ID 2 AND THREAD LOCAL THREAD THREAD SEQUENCE 1 12 1 13 1 14 在主备库 SQL select from V ARCHIVE GAP 注 dest 2 目录与 dest 1 目录中的日志差异 如果有较多未应用的日志 可参考 检查归档状态 章节进行处理 相关视图相关视图 V ARCHIVE DEST V ARCHIVE DEST STATUS V ARCHIVE GAP V ARCHIVED LOG V DATABASE V DATAFILE V DATAGUARD STATUS V LOG V LOGFILE V LOG HISTORY V MANAGED STANDBY Physical Standby Databases Only V STANDBY LOG 正常开关机顺序正常开关机顺序 关闭的时候 先关闭主库的关闭的时候 先关闭主库的 listener 再关闭主库 再关闭备库的 再关闭主库 再关闭备库的 listene 再关闭备库 再关闭备库 主库主库 hsvipdb1 oracle vipdb1 lsnrctl stop oracle vipdb1 sqlplus as sysdba SQL shutdown immediate Database closed Database dismounted ORACLE instance shut down 备库备库 hsvipdb2 oracle vipdb2 lsnrctl stop oracle vipdb2 sqlplus as sysdba SQL shutdown immediate ORA 01109 database not open Database

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论