【RAC】資料庫的靜默狀態(QUIESCE RESTRICTED)對RAC環境的影響
有關靜默狀態的基礎知識請參考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 --
本文介紹靜默狀態對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部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-680570/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RAC環境下的SEQUENCE對應用的影響
- rac靜默安裝
- 靜默安裝19C RAC的指令碼指令碼
- RAC環境修改spfile的位置
- oracle rac資料庫的安裝Oracle資料庫
- KingbaseES RAC部署案例之---SAN環境構建RAC
- Oracle RAC 環境下的連線管理Oracle
- linux7 靜默安裝 11GR2 RACLinux
- Oracle Linux 7.1 靜默安裝Oracle 18c RACOracleLinux
- 3.4.4 檢視例項的靜默狀態
- 終端環境對go程式的影響?Go
- oracle rac的scan監聽狀態Not All Endpoints RegisteredOracle
- RAC和ASM環境下打patchASM
- 手工清理19c RAC環境
- RAC環境下建立物理DATAGUARD(1)
- RAC環境下建立物理DATAGUARD(2)
- ORACLE 12C RAC資料庫的啟停Oracle資料庫
- jdbc連線oracle rac資料庫的寫法JDBCOracle資料庫
- 【Dataguard】Oracle多租戶環境對Dataguard的影響Oracle
- RAC開啟資料庫歸檔資料庫
- vgant 安裝oracle資料庫racOracle資料庫
- RAC資料庫心跳更換方案資料庫
- oracle RAC 診斷叢集狀態命令Oracle
- 【BUILD_ORACLE】Oracle 19c RAC搭建(六)建立RAC資料庫UIOracle資料庫
- oracle 11G RAC的建立(VM虛擬環境)Oracle
- 變更OS時間對資料庫的影響資料庫
- 容器化對資料庫的效能有影響嗎?資料庫
- 磁碟排序對Oracle資料庫效能的影響PT排序Oracle資料庫
- 如何在rac環境中增加監聽
- Oracle資料庫(RAC)巡檢報告Oracle資料庫
- RAC之資料庫軟體安裝資料庫
- 11G RAC檢查各元件狀態元件
- Oracle RAC 環境 引數檔案的啟動順序Oracle
- Oracle RAC環境新增新的network和listener(未完成)Oracle
- 聊聊虛擬化和容器對資料庫的影響資料庫
- Oracle RAC環境下ASM磁碟組擴容OracleASM
- 3節點RAC資料庫夯故障分析資料庫
- 19c rac資料庫如何新增mgmt資料庫
- 在RAC中用NID修改資料庫名稱資料庫