【DUAL】資料庫nomount狀態下DUAL的內容
從資料庫在nomount狀態下dual可查詢談起。
1.關閉資料庫
sys@ora10g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
2.啟動資料庫到nomount狀態
sys@ora10g> startup nomount;
ORACLE instance started.
Total System Global Area 2147483648 bytes
Fixed Size 2074152 bytes
Variable Size 637536728 bytes
Database Buffers 1493172224 bytes
Redo Buffers 14700544 bytes
3.檢視一下dual的內容
結論:首先是可以查詢這個dual,然後就是顯示的結果和正常載入資料庫後的效果是不一樣的。多出來的ADDR、INDX和INST_ID三列做什麼用的呢?
sys@ora10g> select * from dual;
ADDR INDX INST_ID DUM
---------------- ---------- ---------- ---
00000000056B1C5C 0 1 X
進一步,可以利用這個dual進行輔助查詢,如查詢當前的時間
sys@ora10g> select sysdate from dual;
SYSDATE
-------------------
2009-10-24 16:41:57
4.open資料庫後的檢視dual的親切效果如下
sys@ora10g> alter database mount;
Database altered.
sys@ora10g> alter database open;
Database altered.
sys@ora10g> select * from dual;
D
-
X
5.到底為什麼在nomount沒有載入資料庫的情況下可以進行查詢呢(比如上面有關dual的查詢)?
原因很簡單,因為在nomount狀態下也是有大量的資料庫維護工作可以做的,比如備份恢復工具RMAN在nomount下的一些維護工作,RMAN要獲得例項的一些資訊,所以一定要透過某種途徑獲得。這就是為什麼只在啟動資料庫例項,沒有載入資料庫的情況下也可以完成某些查詢的原因。
6.在nomount下還可以查詢一些檢視,這些都是在nomount下輔助功能的一部分
sys@ora10g> select count(*) from v$instance;
COUNT(*)
----------
1
sys@ora10g> select * from v$version;
BANNER
----------------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for Linux: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
sys@ora10g> select count(*) from v$spparameter;
COUNT(*)
----------
260
sys@ora10g> select * from v$sga;
NAME VALUE
------------------------------ ----------
Fixed Size 2074152
Variable Size 637536728
Database Buffers 1493172224
Redo Buffers 14700544
sys@ora10g> select count(*) from v$bh;
COUNT(*)
----------
0
7.小結
透過這個小實驗,只是想給大家展示一下在沒有開啟資料庫,甚至沒有載入資料庫,僅僅在啟動例項的階段,也是可以進行某些查詢的。思路要開闊一些。
-- The End --
1.關閉資料庫
sys@ora10g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
2.啟動資料庫到nomount狀態
sys@ora10g> startup nomount;
ORACLE instance started.
Total System Global Area 2147483648 bytes
Fixed Size 2074152 bytes
Variable Size 637536728 bytes
Database Buffers 1493172224 bytes
Redo Buffers 14700544 bytes
3.檢視一下dual的內容
結論:首先是可以查詢這個dual,然後就是顯示的結果和正常載入資料庫後的效果是不一樣的。多出來的ADDR、INDX和INST_ID三列做什麼用的呢?
sys@ora10g> select * from dual;
ADDR INDX INST_ID DUM
---------------- ---------- ---------- ---
00000000056B1C5C 0 1 X
進一步,可以利用這個dual進行輔助查詢,如查詢當前的時間
sys@ora10g> select sysdate from dual;
SYSDATE
-------------------
2009-10-24 16:41:57
4.open資料庫後的檢視dual的親切效果如下
sys@ora10g> alter database mount;
Database altered.
sys@ora10g> alter database open;
Database altered.
sys@ora10g> select * from dual;
D
-
X
5.到底為什麼在nomount沒有載入資料庫的情況下可以進行查詢呢(比如上面有關dual的查詢)?
原因很簡單,因為在nomount狀態下也是有大量的資料庫維護工作可以做的,比如備份恢復工具RMAN在nomount下的一些維護工作,RMAN要獲得例項的一些資訊,所以一定要透過某種途徑獲得。這就是為什麼只在啟動資料庫例項,沒有載入資料庫的情況下也可以完成某些查詢的原因。
6.在nomount下還可以查詢一些檢視,這些都是在nomount下輔助功能的一部分
sys@ora10g> select count(*) from v$instance;
COUNT(*)
----------
1
sys@ora10g> select * from v$version;
BANNER
----------------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for Linux: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
sys@ora10g> select count(*) from v$spparameter;
COUNT(*)
----------
260
sys@ora10g> select * from v$sga;
NAME VALUE
------------------------------ ----------
Fixed Size 2074152
Variable Size 637536728
Database Buffers 1493172224
Redo Buffers 14700544
sys@ora10g> select count(*) from v$bh;
COUNT(*)
----------
0
7.小結
透過這個小實驗,只是想給大家展示一下在沒有開啟資料庫,甚至沒有載入資料庫,僅僅在啟動例項的階段,也是可以進行某些查詢的。思路要開闊一些。
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-617354/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle的dual表Oracle
- 使用dual 虛表,構造連續資料
- 探索oracle dual表Oracle
- Oracle dual表 詳解Oracle
- ORACLE DUAL表詳解Oracle
- 資料庫易混淆引數名以及引數檔案啟動資料庫到nomount狀態資料庫
- FAST DUAL執行計劃?AST
- Oracle中dual表的用途介紹Oracle
- 10G FAST DUAL 的優化AST優化
- Perceptron, Support Vector Machine and Dual Optimization Problem (2)Mac
- Perceptron, Support Vector Machine and Dual Optimization Problem (3)Mac
- Perceptron, Support Vector Machine and Dual Optimization Problem (1)Mac
- mybatis中insert into ...select ...from dual union all select ... from dual 提示sql命令未結束的問題MyBatisSQL
- oracle資料庫狀態Oracle資料庫
- 【原創】Oracle10g dual表的研究Oracle
- 誤刪除dual表的解決辦法
- dual表與create table語句的關係
- 【YashanDB資料庫】yasboot查詢資料庫狀態時顯示資料庫狀態為off資料庫boot
- 前端外掛之Bootstrap Dual Listbox使用前端boot
- Solaris 5.6 dual head monitor config
- dual系統表被刪除的解決方法
- Oracle10g的FAST DUAL執行計劃OracleAST
- Oracle資料庫的靜默狀態和掛起狀態Oracle資料庫
- Oracle資料庫的監控內容Oracle資料庫
- 資料庫訂單狀態資料庫
- 資料庫啟動的不同狀態資料庫
- 檢視映象資料庫的狀態資料庫
- #Paper Reading# Dual Learning for Machine TranslationMac
- DualGNN: Dual Graph Neural Network for Multimedia RecommendationGNN
- 資料庫冷備份內容資料庫
- 資料庫鍵方面的內容資料庫
- oracle資料庫巡檢內容Oracle資料庫
- 資料庫運維工作內容資料庫運維
- 資料庫各個檢視的內容資料庫
- openguass 資料庫狀態查詢資料庫
- oracle資料庫例項狀態Oracle資料庫
- 達夢8資料庫的狀態模式資料庫模式
- oracle資料庫的靜默(Quiesce)狀態Oracle資料庫UI