Oracle

用 sqlplus 清空 v$asm_diskgroup

  • October 29, 2020

我在 OL7 下安裝了一個 Oracle 數據庫實例。這是一個12c2。還安裝了 Oracle GI,我的數據庫中有一些文件儲存在 ASM 中。

我正在使用 sqlplus 連接到數據庫實例和查詢v$asm_diskgroup。我ORACLE_HOME指向我的數據庫實例的首頁。

當我在沒有指定“@CONNECTION”的情況下進行連接(例如使用:)時sqlplus user/name,視圖v$asm_diskgroup不會返回任何行。當我連接指定@TNSNAME(例如:)時sqlplus user/name@TNSNAME,視圖會v$asm_diskgroup正確返回數據。

此外,當我使用 sql developer 從另一台機器連接時,v$asm_diskgroup返回行。

為什麼v$asm_diskgroup我使用沒有@CONNECTION的sqlplus,即預設登錄時沒有返回行?

@BalazPapp 在他的評論中回答了這個問題。

當我用“sqlplus / …”連接時,它似乎繞過了監聽器……然後,它在其他一些使用者下創建了伺服器程序(我用root呼叫sqlplus)。

另外,我做了另一個測試:使用 oracle 數據庫實例所有者進行測試,一切正常。oracle 所有者與網格所有者在同一組中。

您需要使用具有SYSASM系統權限的使用者 ID 連接到 ASM 實例:

connect scott as sysasm;

Balaz Papp 上面的評論在解釋為什麼沒有連接字元串的連接有效的解釋中是正確的。他在下面的評論是正確的;當連接到正常 Oracle 數據庫實例時,任何使用者都可以被授予對視圖的查詢訪問權限。

引用自:https://dba.stackexchange.com/questions/193760