DG - 物理Standby管理

一、Read only/write模式打开物理standby

以read only 或read write模式打开物理standby,可以转移一些查询,备份之类的操作到standby数据库,以分担一些primary的压力。

1). standby数据库处于shutdown状态

  直接startup即可

2). standby数据库处于redo应用状态

  首先取消redo应用:

SQL> alter database recover managed standby database cancel;

SQL> alter database open

3). 从open状态再切换回redo应用,并不需要shutdown,只需启用redo应用即可

SQL> alter database recover managed standby database disconnect from session;

由于只读打开时就不能应用,虽然我们能够查询,但是查询的结果确是与primary 不同步的,这点大大降低了物理standby 做报表服务分担主库压力的可能性,对于这点呢,我们有两个解决方案:

a.改用逻辑standby b. 使用oracle 11G

二、管理影响standby的primary数据库事件

某些情况下,primary数据库的某些改动会自动通过redo数据传播到standby数据库,因此不需要在standby数据库做额外的操作,而某些情况,则需要手工调整。

下列事件会由redo传输服务及redo应用自动处理,不需要dba的干预:

  • ALTER DATABASE ENABLE|DISABLE THREAD语句
  • 修改表空间状态(例如read-write到read-only, online到offline)
  • 创建修改删除表空间或数据文件(前提条件:参数STANDBY_FILE_MANAGEMENT设置为AUTO)

以下事情则需要dba手工干预:

1. 添加修改删除数据文件或表空间

  Standby_file_management设置为manual

  不过需要注意一点,如果数据文件是从其它数据库复制而来,则不管Standby_file_management参数值如何设置,都必须同时复制到standby数据库,并注意要修改standby数据库的控件文件。

2. 重命名数据文件

  如果primary数据库重命名了一个或多个数据文件,该项不修改并不会自动传播到standby数据库,不管standby_file_management它是auto还是manual。

 A. SQL> alter tablespace webtbs offline; -- primary数据库操作

 B. 手工数据文件改名(操作系统) -- primary数据库操作

 C. SQL> alter tablespace webtbs rename datafile

      'webtbs01.dbf' to 'tbsweb01.dbf';

  SQL> alter tablespace webtbs online;

 D. 暂停redo应用,并shutdown --standby数据库操作

  SQL> alter database recover managed standby database cancel;

  SQL> shutdown immediate

 E. 手工将数据文件改名 -- standby数据库操作

 F. 重启standby,修改数据文件路径(数据字典) --standby数据库操作

  SQL> startup mount

  SQL> alter database rename file

      'webtbs01.dbf' to 'tbsweb01.dbf';

 G. 重新启动redo应用

  SQL> alter database recover managed standby database disconnect from session;

 H. 切换日志 -- primary数据库操作

  SQL> alter system switch logfile;

3. 添加或删除online redo logs

三、对open resetlogs的primary数据库standby的恢复

四、 监控primary/standby数据库

1. 与恢复进度相关的v$视图应用

A). 查看进程的活动状况 -- v$managed_standby

B). 确认redo应用进度 -- v$archive_dest_status

C). 检查归档文件路径及创建信息 -- v$archived_log

D). 查询归档历史 -- v$log_history

2. 与log应用相关的v$视图应用

A). 查询当前数据的基本信息 -- v$database

B). 检查应用模式 --v$archive_dest_status

C). Data guard事件 -- v$dataguard_status

五、调整物理standby log应用频率

  调整应用频率说白了就是调整IO读取能力

  1. 设置recover并行度

  SQL> alter database recover managed standby database parallel 2 disconnect form session;

  2. 加快redo应用频率

  设置初始化参数DB_BLOCK_CHECKING=FALSE

  3. 设置PARALLEL_EXECUTION_MESSAGE_SIZE

  4. 优化磁盘I/O

posted @ 2012-08-05 17:20  南宫元耘  阅读(1094)  评论(0编辑  收藏  举报