打算写一系列的文章介绍11g的新特性和变化。
这篇介绍11g对DATA GURAD的增强,数据库打开的情况下应用归档。
Oracle11g一个重大的功能改进就是DATA GUARD可以在打开的情况下应用归档。这个功能使得STANDBY数据库可以轻松的替PRIMARY来分担查询的压力。
下面看看这个新的功能。DATA GUARD的建立过程可以参考:http://yangtingkun.itpub.net/post/468/388465
首先停止DATA GUARD的恢复,然后以只读方式打开:
SQL> conn yangtk/yangtk@ora11g_s as sysdba已连接。
SQL> alter database recover managed standby database cancel;
数据库已更改。
SQL> alter database open read only;
数据库已更改。
SQL> alter database recover managed standby database disconnect from session;
数据库已更改。
数据库打开之后,仍然可以应用归档。下面切换为普通用户进行查询:
SQL> conn yangtk/yangtk@ora11g_s已连接。
SQL> select count(*) from t_standby;
COUNT(*)
----------
9
SQL> delete t_standby;
delete t_standby
*第 1 行出现错误:
ORA-16000: 打开数据库以进行只读访问
数据库只读打开后,可以进行查询并恢复PRIMARY数据库的日志,但是不能进行修改。
SQL> conn yangtk/yangtk@ora11g已连接。
SQL> delete t_standby where id = 1;
已删除 1 行。
SQL> commit;
提交完成。
SQL> alter system switch logfile;
系统已更改。
SQL> conn yangtk/yangtk@ora11g_s已连接。
SQL> select count(*) from t_standby;
COUNT(*)
----------
8
SQL> select * from t_standby;
ID
----------
2
3
4
5
6
7
8
9
已选择8行。
连接PRIMARY数据库进行修改,切换日志,登陆STANDBY数据库,再次查询,PRIMARY数据库的修改已经应用到了STANDBY数据库。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-69403/,如需转载,请注明出处,否则将追究法律责任。