zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    POST、GET请求中文参数乱码问题
    表的复制——sql语句
    mysql之limit m,n
    nullpointerxception——处理思路
    public-private-protected-默认缺省 的区别
    final关键字的作用
    使用注解来构造IOC容器
    成功的背后!(给所有IT人)
    jQuery对象复制
    键盘录入, if语句
  • 原文地址:https://www.cnblogs.com/landexia/p/2622827.html
Copyright © 2011-2022 走看看