DG日常维护
正确打开主库和备库
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE OPEN;
备库 :
SQL> STARTUP MOUNT;
SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE
DISCONNECT FROM SESSION;
正确关闭顺序
备库 :
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL>SHUTDOWN IMMEDIATE;
主库
SQL>SHUTDOWN IMMEDIATE;
备库 Read-Only Read-Only模式打开
当前主库正常 OPEN 状态 、 备库处于日志传送状态 .
在备库停止日志传送
SQL> recover managed standby database cancel;
备库 Read-only 模式打开
SQL> alter database open read only;
备库回到日志传送模式
SQL> recover managed standby database disconnect from session;
手工令备库应用归档日志
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
日志传送状态监控
备库察看 RFS(Remote File Service) 接收日志情况和 MRP 应用日志同步主库
况
SQL> select process,client_process,sequence#,status from v$managed_standby;
PROCESS CLIENT_P SEQUENCE# STATUS
--------- -------- ---------- ------------
ARCH ARCH 763 CLOSING
ARCH ARCH 762 CLOSING
MRP0 N/A 764 WAIT_FOR_LOG
RFS LGWR 764 IDLE
RFS N/A 0 IDLE
PROCESS列显示进程信息
CLIENT_PROCESS列显示对应的主数据库中的进程
SEQUENCE#列显示归档redo的序列号
STATUS列显示的进程状态
由上例查询可得知primary开了两个归档进程,使用lgwr同步传输方式与standby通信,已经接收完763的日志,正等待764。
察看备库是否和主库同步
SQL> SELECT ARCHIVED_THREAD#, ARCHIVED_SEQ#, APPLIED_THREAD#,
APPLIED_SEQ# FROM V$ARCHIVE_DEST_STATUS;
select * from v$archive_gap;
注意:11g以后恢复归档日之后会自动注册到备库
察看备库已经归档的redo
SQL> SELECT REGISTRAR, CREATOR, THREAD#, SEQUENCE#, FIRST_CHANGE#, NEXT_CHANGE# FROM V$ARCHIVED_LOG;
察看备库已经应用的 redo
SQL> SELECT THREAD#, SEQUENCE#, FIRST_CHANGE#, NEXT_CHANGE#
FROM V$LOG_HISTORY;
察看备库接收 , 应用redo数据过程 .
SQL> SELECT MESSAGE FROM V$DATAGUARD_STATUS;
查看从库上的日志接收情况
SQL> select status,target,archiver,error,process from v$archive_dest;
primary数据库 open resetlogs时的 standby恢复
当 primary数据库被以resetlogs打开之后,dg提供了一些方案,能够让你快速的恢复物理standby ,当然这是有条件的,不可能所有的情况都可以快速恢复。 我们都知道alter database open resetlogs之后,数据库的scn被重置,也就是此时其redo数据也会从头开始。当物理standby接收到新的redo数据时,redo应用会 自动获取这部分redo数据。对于物理standby而言,只要数据库没有应用resetlogs之后 的redo数据,那么这个过程是不需要dba手工参与的。
下表进行了简单的总结
Standby数据库状态 | Standby服务器操作 | 解决方案 |
没有应用resetlog之前的redo数据 | 自动应用新的redo数据 | 无须手工介入 |
应用了resetlog之后的redo数据,不过standby打开了flashback。 | 可以应用,不过需要dba手工介入 | 1. 手工flashback到应用之前 2. 重启redo应用,以重新接收新的redo数据。 |
应用了resetlog之 后 的redo数据,而且没有flashback。 | 完全无法应用 | 重建物理standby是唯一的选择 |
调整物理Standby端REDO数据应用频率
调整应用频率,说白了就是调整I/O读取能力,所以通常我们从以下几个方面着手:
1)设置RECOVER并行度
在介质恢复或REDO应用期间,都需要读取重做日志文件,默认都是串行恢复,我们可以在执行RECOVER的时候加上PARALLEL子句来指定并行度,提高读取和应用的性能,例如:
SQL> RECOVER STANDBY DATABASE PARALLEL 2 ;
提示: 建议PARALLEL的值为#CPUs×2。
注意: 该设置仅对当前环境有效,Oracle数据库重启之后,默认情况下并行度会恢复至初始值,如果DBA觉着每次执行很麻烦,要通过初始化参数PARALLEL_MAX_SERVERS来设置默认的并行度。
2) 加快REDO应用频繁
设置初始化参数DB_BLOCK_CHECKING=FALSE能够提高2倍左右的应用效率,该参数设置是否验证数据块的有效性,对于物理Standby 数据库,禁止验证基本上还是可以接受的(Primary数据库强烈建议将该参数值设置为TRUE,当然默认就是TRUE),该参数是一个动态参数,修改后 直接生效,不需要重启数据库。
3) 设置PARALLEL_EXECUTION_MESSAGE_SIZE参数值
如果打开了并行恢复,适当提高初始化参数PARALLEL_EXECUTION_MESSAGE_ SIZE的参数值,比如4096也能提高大概20%左右的性能,不过需要注意,增大这个参数的参数值可能会占用更多内存。
4) 优化磁盘I/O
在恢复期间最大的瓶颈就是I/O读写,要缓解这个瓶颈,使用本地异步I/O并设置初始化参数DISK_ASYNCH_IO=TRUE会有所帮助。 DISK_ASYNCH_IO参数控制到数据文件的磁盘I/O是否异步。某些情况下异步I/O能降低数据库文件并行读取,提高整个恢复时间。
参考至: http://junsansi.itpub.net/post/29894/457847
http://blog.csdn.net/tianlesoftware/article/details/5557410
本文原创,转载请注明出处、作者
如有错误,欢迎指正
邮箱:czmcj@163.com
相关推荐
从提供的文件内容中,我们可以提取出关于Oracle Data Guard和备用数据库(Standby DBs)支持数据库滚动升级(DB Rolling Upgrades)的知识点。下面将详细介绍这些知识点: 首先,Oracle Data Guard是一个数据库容灾...
2. **工作模式**:Data Guard支持多种工作模式,包括Physical Standby(物理备用)、Logical Standby(逻辑备用)和Snapshot Standby(快照备用)。物理备用数据库与主数据库结构完全相同,而逻辑备用则允许在备用...
CDB03作为物理备用数据库(Physical Standby Database),是Data Guard配置中需要配置的第二个节点。配置步骤包括: - 复制主数据库CDB01的密码文件和tnsnames.ora文件到CDB03,这确保了网络安全认证和网络服务命名...
6. **监控和维护**:使用Oracle Enterprise Manager或Data Guard broker工具定期检查和调整Data Guard配置,确保数据保护和性能的最佳平衡。 在实施过程中,可能会遇到各种挑战,如网络延迟、磁盘空间不足、权限...
Oracle Data Guard的主要目的是提供数据库的冗余和保护,通过创建和维护一个或多个备用数据库(Standby Databases),来保障在主数据库出现故障时能够迅速切换到备用数据库,从而确保业务连续性。Data Guard不仅提供...
Oracle Data Guard是Oracle数据库系统提供的一种高可用性和灾难恢复解决方案,它通过创建、维护和管理一个或多个备用数据库来保护关键数据免受意外损失或系统故障的影响。在Oracle Data Guard配置中,主数据库...
本手册详细介绍了Oracle Data Guard的各项功能、配置和管理策略,旨在帮助数据库管理员(DBA)充分利用这一工具来构建和维护安全的数据环境。 1. **Data Guard基础概念** - **主数据库与备用数据库**:Data Guard...
Oracle 11gR2 版本中的物理 Data Guard 是一种高可用性和灾难恢复解决方案,它通过在主数据库和备用数据库之间同步数据来确保数据的安全性。Data Guard 提供了多种保护模式,包括最大保护、最大性能和最大可用性,以...
Data Guard是Oracle提供的用于提供数据保护的高可用性解决方案,它通过维护一个或多个备用数据库来保护生产数据免受各种故障影响,包括物理和逻辑错误,甚至是整个站点的灾难。 文档中首先介绍了如何进行数据库状态...
Data Guard提供了一套完善的解决方案,包括创建、维护、管理以及监控standby数据库,确保数据安全。 Data Guard的技术基础是standby database,其商业性名称为Data Guard。在没有Streams技术的时代,Data Guard是...
在"10G Data Guard Manager"这个文件中,你可能能找到关于如何设置和管理Data Guard环境的具体步骤,包括配置Data Guard Broker、创建和维护备用数据库、设置保护模式,以及进行故障切换演练。此外,还可能包含性能...
Data Guard是Oracle提供的一种高可用性和灾难恢复解决方案,它通过创建、维护和管理一个或多个备用数据库来保护关键数据免受意外损失和系统故障的影响。以下是对这一技术的详细解读: 一、Data Guard基础概念 Data ...
1. 物理 Standby 架构:备用数据库完全镜像主数据库,包括数据文件和控制文件。 2. 逻辑 Standby 架构:备用数据库只包含数据文件,不包含控制文件。 Data Guard 技术提供了三种保护模式: 1. 最大保护模式...
接下来,Oracle Data Guard 是一种数据库保护技术,通过创建和维护一个或多个备用数据库(Standby),在主数据库出现故障时,能够快速切换到备用数据库,确保数据安全。配置 Data Guard 包括: 1. **创建备用数据库...
1. 创建备库:使用DBMS_RAC_ADMIN.SYNC_INSTANCE或RMAN命令创建物理备库,或者通过Logical Standby和Datapump创建逻辑备库。 2. 数据同步:通过Redo Transport Services传输redo日志,备库应用这些日志进行数据更新...
4. **建立物理standby数据库**: - 使用`ADD DATABASE`命令将备用数据库添加到Data Guard配置中。 - 启动redo应用进程(`DB_FILE_NAME_CONVERT`),使备用数据库接收并应用主数据库的redo日志。 5. **启动Data ...
物理Standby数据库是Data Guard配置中的一种类型,它与主数据库的数据保持完全一致,可以用于故障切换(failover)操作,从而提供近乎实时的数据保护和恢复能力。以下是从给定的文件信息中提取并扩展的关键知识点,...
3. **Data Guard基础**:理解Data Guard的基本概念,如redo transport服务、redo log文件的传输以及Standby Redo Logs。 4. **Data Guard配置模式**:了解不同保护模式的特点和应用场景,以及如何在主备数据库间...
Data Guard 的工作机理是将 redo 数据从 primary 数据库传输到 standby 数据库,然后应用到 standby 数据库中,保持与 primary 数据库的事务同步。Data Guard 使用三种服务来管理 redo 数据的传送、应用和角色转换。...
2. **逻辑 standby数据库**:不同于物理standby,逻辑standby通过SQL Apply过程接收并解析redo数据流,然后执行相应的DML和DDL语句,以保持与主数据库的一致性。这使得逻辑standby能用于复杂的数据转换和报告任务,...