有关静默状态的基础知识请参考Oracle官方文档“Quiescing a Database”()
本文介绍静默状态对RAC环境的影响。
1.启用静默状态和取消静默状态是全局生效操作
“ALTER SYSTEM QUIESCE RESTRICTED;”语句和“ALTER SYSTEM UNQUIESCE;”语句会对RAC环境中的所有实例产生影响,不局限在执行命令的节点。
验证之.
1)创建具有dba权限的普通用户secooler
sys@RACDB1> create user secooler identified by secooler ;
User created.
sys@RACDB1> grant dba to secooler;
Grant succeeded.
2)在第一个节点上置实例为静默状态
(1)操作前确认RAC环境下各节点实例状态
sys@RACDB1> select instance_name, status, active_state from gv$instance;
INSTANCE_NAME STATUS ACTIVE_ST
---------------- ------------ ---------
RACDB1 OPEN NORMAL
RACDB2 OPEN NORMAL
(2)在节点1上调整数据库为静默状态
sys@RACDB1> alter system quiesce restricted;
System altered.
注意,此时如果有为完成的事务,此操作将会等待,直到所有事务完成之后才能完成。
(3)查看调整后RAC环境中各节点的状态
sys@RACDB1> select instance_name, status, active_state from gv$instance;
INSTANCE_NAME STATUS ACTIVE_ST
---------------- ------------ ---------
RACDB1 OPEN QUIESCED
RACDB2 OPEN QUIESCED
可见,此时RAC环境下的所有实例均处于静默状态。因此印证了静默操作时全局有效的。
3)在第二节点上尝试发起新的连接
RACDB2@rac2 /home/oracle$ sqlplus secooler/secooler
SQL*Plus: Release 10.2.0.4.0 - Production on Wed Nov 24 19:05:25 2010
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
此时,连接会一直处于等待Hang住的状态,无法连接到secooler用户,在静默状态下即便是具有dba权限的用户依然没有特权。
此等待会在取消静默后自动完成。
4)取消静默
sys@RACDB1> alter system unquiesce;
System altered.
sys@RACDB1> select instance_name, status, active_state from gv$instance;
INSTANCE_NAME STATUS ACTIVE_ST
---------------- ------------ ---------
RACDB2 OPEN NORMAL
RACDB1 OPEN NORMAL
5)回到第二个节点的操作窗口,可见secooler用户已经连接成功
RACDB2@rac2 /home/oracle$ sqlplus secooler/secooler
SQL*Plus: Release 10.2.0.4.0 - Production on Wed Nov 24 19:05:25 2010
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
secooler@RACDB2>
依次验证了静默和取消静默操作是全局生效的。
2.在静默状态下其他实例无法打开数据库
系统在静默操作进行中和静默状态下,RAC环境下的其他节点是无法打开数据库的。
验证之:
1)手工停掉第二节点上的实例
RACDB2@rac2 /home/oracle$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Wed Nov 24 19:08:28 2010
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
sys@RACDB2> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
2)在第一节点上调整数据库为静默状态
sys@RACDB1> alter system quiesce restricted;
System altered.
sys@RACDB1> select instance_name, status, active_state from gv$instance;
INSTANCE_NAME STATUS ACTIVE_ST
---------------- ------------ ---------
RACDB1 OPEN QUIESCED
3)在第二节点上手工启动数据库
RACDB2@rac2 /home/oracle$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Wed Nov 24 19:09:19 2010
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to an idle instance.
NotConnected@RACDB2> startup;
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1266368 bytes
Variable Size 121638208 bytes
Database Buffers 37748736 bytes
Redo Buffers 7118848 bytes
Database mounted.
ORA-25503: cannot open database because the database is being quiesced
在启动的过程中抛出ORA-25503错误,原因是“the database is being quiesced”。显然,数据库处于静默状态下其他实例是无法启动的。
4)在第一节点上取消静默
sys@RACDB1> alter system unquiesce;
System altered.
sys@RACDB1> select instance_name, status, active_state from gv$instance;
INSTANCE_NAME STATUS ACTIVE_ST
---------------- ------------ ---------
RACDB2 MOUNTED NORMAL
RACDB1 OPEN NORMAL
5)此时第二节点便可以正常OPEN
NotConnected@RACDB2> alter database open;
Database altered.
sys@RACDB2> select instance_name, status, active_state from gv$instance;
INSTANCE_NAME STATUS ACTIVE_ST
---------------- ------------ ---------
RACDB2 OPEN NORMAL
RACDB1 OPEN NORMAL
3.在静默状态下无法获取冷备份
由于数据库处于停顿状态,Oracle后台进程仍然可能出于内部目的而执行更新,因此在静默状态下无法获取有效的冷备份,注意,静默状态与关闭状态有本质上的区别。
4.小结
总结以上结论,在RAC环境下静默状态主要影响如下:
①启用静默状态和取消静默状态是全局生效操作;
②在静默状态下其他实例无法打开数据库;
③在静默状态下无法获取冷备份。
在真正理解静默状态对RAC环境的影响的基础上使用,这样可以大大的降低使用风险。
Good luck.
secooler
10.11.24
-- The End --
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70034820/viewspace-2994121/
,如需转载,请注明出处,否则将追究法律责任。