ITPub博客

首页 > 数据库 > Oracle > dataguard 最大保护模式下的 failover

dataguard 最大保护模式下的 failover

原创 Oracle 作者:weiranjie 时间:2008-01-11 14:21:10 0 删除 编辑

测试如下

测试版本 : 9。2。0。8

[@more@]

建立最大保护模式

最大性能模式修改成最大保护模式 :

SQL> alter database add standby logfile GROUP 4 ('/u02/oracle/uassdb/stdy_redo04.log') SIZE 300m;
alter database add standby logfile GROUP 4 ('/u02/oracle/uassdb/stdy_redo04.log') SIZE 300m
*
ERROR at line 1:
ORA-01156: recovery in progress may need access to files


SQL> shutdown immediate;
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SQL>
SQL>
SQL> startup nomount pfile='/export/home/oracle/init_switch/initstandby.ora'
ORACLE instance started.

Total System Global Area 6291456000 bytes
Fixed Size 1987968 bytes
Variable Size 1090521728 bytes
Database Buffers 5184159744 bytes
Redo Buffers 14786560 bytes
SQL> alter database mount standby database;

Database altered.

SQL> alter database add standby logfile GROUP 4 ('/trunkbow/oracle/oradata/mmcdb/stdy_redo04.log') SIZE 512m;

Database altered.

SQL> alter database add standby logfile GROUP 5 ('/trunkbow/oracle/oradata/mmcdb/stdy_redo05.log') SIZE 512m;

Database altered.

SQL> alter database add standby logfile GROUP 7 ('/trunkbow/oracle/oradata/mmcdb/stdy_redo07.log') SIZE 512m;

Database altered.

SQL> alter database add standby logfile GROUP 7 ('/trunkbow/oracle/oradata/mmcdb/stdy_redo07.log') SIZE 512m;

Database altered.

SQL> recover managed standby database disconnect from session;
Media recovery complete.
SQL>

启动到managed recovery模式
SQL> recover managed standby database disconnect from session;
保证备用库的监听正常,保证主数据库到备用数据库的连接正常。

8.3 转换模式由最大性能到最大保护
在主库上,检查当前模式
SQL> select protection_mode from v$database;

PROTECTION_MODE
--------------------
MAXIMUM PERFORMANCE

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.

Total System Global Area 6291456000 bytes
Fixed Size 1987968 bytes
Variable Size 1090521728 bytes
Database Buffers 5184159744 bytes
Redo Buffers 14786560 bytes
Database mounted.
SQL> alter system set log_archive_dest_2='SERVICE=mmcdbbak LGWR SYNC AFFIRM' scope=both;

System altered.

SQL> alter database set standby database to maximize protection;

Database altered.

SQL> alter database open;

Database altered.

SQL> select protection_mode from v$database;

PROTECTION_MODE
--------------------
MAXIMUM PROTECTION

建立测试数据:


SQL> connect wrj/wrj
Connected.
SQL> select table_name from user_tables;

TABLE_NAME
------------------------------
WRJ

SQL> create table wrj2 as select * from wrj;

Table created.

SQL> create table wrj3 as select * from wrj;

Table created.

SQL> create table wrj4 as select * from wrj;

Table created.

SQL> delete from wrj4;

28444 rows deleted.

SQL> commit;

Commit complete.

SQL> select count(*) from wrj;

COUNT(*)
----------
28444

SQL> select count(*) from wrj1;
select count(*) from wrj1
*
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> select count(*) from wrj2;

COUNT(*)
----------
28444

SQL> select count(*) from wrj4;

COUNT(*)
----------
0




备用库 :


$ sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.8.0 - Production on Fri Jan 11 13:58:10 2008

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.


Connected to:
Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.8.0 - Production

SQL>
SQL> select OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,SWITCHOVER_STATUS from v$database;

OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL SWITCHOVER_STATUS
---------- -------------------- -------------------- ------------------
MOUNTED MAXIMUM PROTECTION MAXIMUM PROTECTION NOT ALLOWED

SQL>
SQL>
SQL> select * from v$archive_gap;

no rows selected

SQL> select unique thread#,max(sequence#) over(partition by thread#) as last from v$archived_log;

THREAD# LAST
---------- ----------
1 26

SQL> recover managed standby database cancel;
Media recovery complete.
SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE;

Database altered.

SQL> alter database recover managed standby database finish;
alter database recover managed standby database finish
*
ERROR at line 1:
ORA-16043: managed recovery session canceled
ORA-16137: No terminal recovery is required


SQL> shutdown immediate;
ORA-01109: database not open

Database dismounted.
ORACLE instance shut down.
SQL> SQL> startup nomount;
ORACLE instance started.

Total System Global Area 3242987696 bytes
Fixed Size 733360 bytes
Variable Size 1174405120 bytes
Database Buffers 2063597568 bytes
Redo Buffers 4251648 bytes
SQL> alter database mount standby database;

Database altered.

SQL>
SQL> alter database activate standby database;


Database altered.


SQL> alter database mount;

Database altered.

SQL> alter database open;

Database altered.

SQL>
SQL> connect wrj/wrj
Connected.
SQL> select table_name from user_tables;

TABLE_NAME
------------------------------
WRJ
WRJ2
WRJ3
WRJ4

SQL> select count(*) from wrj;

COUNT(*)
----------
28444

SQL> select count(*) from wrj3;

COUNT(*)
----------
28444

SQL> select count(*) from wrj4;

COUNT(*)
----------
0

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

请登录后发表评论 登录
全部评论

注册时间:2011-02-24

  • 博文量
    70
  • 访问量
    246752