Oracle
Oracle 11G 中實例啟動但數據庫未掛載時可以查詢哪些視圖?
如果我理解正確,當實例啟動時,一些視圖被載入到記憶體中,我們可以像
v$instance
. 而且它不需要安裝 db 。如果是這樣,除了?還有其他可以查詢的視圖
v$instance
嗎?另外,當我查詢時
v$database
,它說數據庫未安裝,但當我嘗試給出隨機名稱時出現不同的錯誤。它只是視圖名稱的不同錯誤處理v$database
(因為它似乎被認為是重要的或已知的數據庫)或任何其他原因?SQL> select * from v$database; select * from v$database * ERROR at line 1: ORA-01507: database not mounted SQL> select * from v$data; select * from v$data * ERROR at line 1: ORA-01219: database not open: queries allowed on fixed tables/views only SQL> select * from testing; select * from testing * ERROR at line 1: ORA-01219: database not open: queries allowed on fixed tables/views only
更新:
似乎以下觀點也有效:
v$session
,v$sql
.問的原因是我只是想實際了解每個視圖或數據庫表的範圍和用途。
一般來說,大多數動態性能視圖,稱為
V$
視圖,它們填充在記憶體中,具體來說是SGA,在實例啟動過程之後可以訪問。如果這些V$
視圖包含儲存在物理文件(如控製文件或數據文件)中的資訊,則必須安裝和/或打開您的數據庫。例如,當您的數據庫實例已啟動但數據庫已解除安裝時,您可以描述
v$database
視圖但在安裝數據庫之前無法訪問其內容。這是因為視圖必須從控製文件中獲取資訊,這些資訊在安裝數據庫之前是不可訪問的。SQL> startup nomount Instance is started. SQL> desc v$database Can view the structure becuase it is pupulated in SGA. SQL> select * from v$database; select * from v$database * ERROR at line 1: ORA-01507: database not mounted SQL> alter database mount; Database altered. SQL> select * from v$database; Now, you may access it's contents.
v$instance
實例啟動後可訪問。顧名思義,它包含與記憶體和程序相關的資訊。