ITPub博客

首页 > 数据库 > Oracle > Oracle DG环境中的管理操作

Oracle DG环境中的管理操作

原创 Oracle 作者:kuqlan 时间:2011-08-24 13:52:45 0 删除 编辑
  • 在主库中添加删除Online Redo logs

在主库中可以任意添加,删除,修改Online Redo logs,这些操作不会影响到Standby数据库,但是为了保证Standby数据库在切换为Primary数据库之后仍然能有相同的配置,因此建议在添加,删除,修改主库的Online Redo logs时也同时修改Standby库的。

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
alter system set STANDBY_FILE_MANAGEMENT=manual;
ALTER DATABASE ADD logfile group 5 '/oradata/NEWS/redo05a.ora' size 50m;
alter system set STANDBY_FILE_MANAGEMENT=auto;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

[@more@]
  • 在主库中更改控制文件

在Oracle10g中,Primary数据库open resetlogs之后,standby数据库无需重新配置,根据Standyb数据库当前的情况,可以选择flashback database然后再重新apply新的redolog,或者无须任何操作直接apply新的redolog。

  • 在主库中修改数据文件名称

修改数据文件名称不会被自动应用到Standby中,即使设置了STANDBY_FILE_MANAGEMENT=auto。因此需要手动在Standby中做同样操作。

在主库修改完数据文件名称之后,在Standby端执行:
SQL>SELECT NAME, SEQUENCE#, ARCHIVED, APPLIED FROM V$ARCHIVED_LOG;
确认所有收到的redolog都已经被APPLY了。
SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL>SHUTDOWN;
将数据文件移动到需要修改的位置,或者改名字。
SQL>STARTUP NOMOUNT;
SQL>ALTER DATABASE MOUNT STANDBY DATABASE;
SQL>ALTER DATABASE RENAME FILE .....;
SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

  • 在主库中创建表空间,添加数据文件,删除数据文件

对于初始化参数STANDBY_FILE_MANAGEMENT=auto的DG环境,无需特殊处理,在主库中做的修改会在Standby日志切换的时候自动apply。

  • 如何解决ARCHIVE LOG GAP

在正常情况下Archive Log Gap会通过FAL_SERVER和FAL_CLIENT初始化参数的配置由Oracle数据库自动完成。
如果要手工解决,则在Standby端:
SQL> select * from v$archive_gap;

THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
---------- ------------- --------------
1 67 67

表示现在有一个GAP归档,log sequence是67.
将该文件从Primary端手动传递到Standby机器上。
SQL> select NAME from v$archived_log where SEQUENCE#=67;

NAME
--------------------------------------------------------------------------------
/xf_arch1/log67_1.arc

scp /xf_arch1/log67_1.arc stb:/oradata/NEWS/archive/

在Standby数据库中注册该归档日志
SQL> ALTER DATABASE REGISTER LOGFILE '/oradata/NEWS/archive/log67_1.arc';

SQL> select * from v$archive_gap;

no rows selected

然后检查Standby中的归档Apply情况。
SQL>select THREAD#,SEQUENCE#,APPLIED from v$archived_log;
注意:
V$ARCHIVE_GAP 视图仅仅显示当前缺失的归档日志,当recover重新开始以后,需要再次检查该视图,确实是否还有更多的GAP,然后再按照上面的方法依次解决。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/18841027/viewspace-1054293/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: RAC的启动和关闭
请登录后发表评论 登录
全部评论
Oracle技术爱好者,Oracle10g OCM,网名 KUQLAN ,具有7的年Oracle数据库管理实践,曾经参加过BOSS、ERP、云计算(OpenStack+kvm)等项目的一线工作。以前写博客是为了自己,而现在是为了自己和别人。因为领会了帮助别人和分享、沉淀和积累会创造快乐和价值...

注册时间:2009-01-26

  • 博文量
    183
  • 访问量
    1681000