ORACLE dataguard学习笔记 (91天)
发布日期:2021-06-30 13:28:40 浏览次数:2 分类:技术文章

本文共 3180 字,大约阅读时间需要 10 分钟。

今天在一台机器上模拟了dataguard,主备两个实例从物理上不共享任何归档文件路径。

主要有以下内容:

dataguard Physical standby的创建

protection mode的切换

switch over

模拟了两台机器oel1,oel2 主库的归档放在oel1里面,备库的放在oel2里面

创建的路径如下

./oel2:

--强制logging

SQL> select force_logging from v$database;

FOR

--查看归档状态

--创建密码文件

[oracle@oel1 dbs]$ orapwd file=orapwstandby password=oracle entries=10

SID_LIST_LISTENER1 =

参数文件

备库参数文件(standby)

Database altered.

SQL>

--错误的操作来生成控制文件

--正确的方法

SQL*Plus: Release 10.2.0.1.0 - Production on Sun Oct 21 16:26:01 2012

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup nomount;

Total System Global Area 524288000 bytes

[oracle@oel1 standby]$ rman target /

Recovery Manager: Release 10.2.0.1.0 - Production on Sun Oct 21 16:27:44 2012

Copyright (c) 1982, 2005, Oracle. All rights reserved.

connected to target database: orcl (not mounted)

RMAN> restore controlfile from '/u01/app/oracle/dg/standby.ctl';

Starting restore at 21-OCT-12

channel ORA_DISK_1: copied control file copy

RMAN>

将备库启动到Mount状态

--到此为止要保证网络是互通的,可以检查密码文件,listener等的配置是否合适

[oracle@oel1 admin]$ sqlplus sys/oracle@standby as sysdba

Database altered.

--当然也可以取消apply

Database altered.

--在取消apply的时候,添加standby logfile,强烈建议在apply之前能够创建几组standby logfile

Database altered.

--在主库切换日志

System altered.

SQL>

如果没有看到归档到指定的目录,查看primary database的log_archive_dest参数,很可能是修改了Pfile 之后没有同步到spfile.

Error 16047 attaching to destination LOG_ARCHIVE_DEST_2 standby host 'standby'

查找了半天,原来是在参数文件中

Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_arc0_16479.trc:

SQL> select dest_id,error from v$archive_dest;

DEST_ID ERROR

--在主库的归档目录下只有三个文件

--但是在正确配置了参数之后,重启两个实例后,手动切换日志,

--在备库,中会发现gap.然后索取之前的日志

--在备库的归档路径下

再次手动切换日志,一切正常

--change protection mode

orcl>select database_role,protection_mode,protection_level from v$database;

DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL

SQL> alter database set standby to maximize protection;

Total System Global Area 524288000 bytes

Database altered.

orcl>alter database open;

--主库就突然down了

DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL

LGWR: Primary database is in MAXIMUM PROTECTION mode

Database altered.

SQL> alter database open;

Database altered.

SQL> alter system set log_archive_dest_2='service=standby LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=standby';

System altered.

SQL> shutdown immediate

Total System Global Area 524288000 bytes

NAME TYPE VALUE

SQL> alter database set standby database to maximize protection;

Database altered.

SQL> alter database open;

Database altered.

SQL>

--在open时,有的人遇到了一些问题。

--再次查看备库的状态

DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL

SQL> /

DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL --修改后的

SQL>

--在主库继续切换模式

Database altered.

DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL

Database altered.

DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL

--在主库查看归档情况

SQL> select dest_id,status,error from v$archive_dest ;

DEST_ID STATUS

在主库尝试加入timeout

SQL> alter system set log_archive_dest_2='service=standby LGWR SYNC AFFIRM NET_TIMEOUT=200 valid_for=(online_logfile,primary_role) db_unique_name=standby'

System altered.

--switch over and failover

-primary database orcl

DATABASE_ROLE SWITCHOVER_STATUS

DATABASE_ROLE SWITCHOVER_STATUS

转载地址:https://jeanron100.blog.csdn.net/article/details/102506826 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:生产系统调优之_毫秒级的改进 (92天)
下一篇:sqlldr批量导入导出数据测试(86天)

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月15日 02时53分55秒