Sqlplus

Oracle 19c - 從掛載的備用數據庫中查找主數據庫資訊

  • August 19, 2021

我有一個(可能很簡單)關於如何通過使用 sqlplus 查詢已安裝的備用數據庫來查找 Oracle 19c 主數據庫主機的查詢。我可以獲得如下主要名稱:

select PRIMARY_DB_UNIQUE_NAME from v$database;

但是我怎樣才能以類似的方式找到主節點的主機呢?

非常感謝。

正如下面與 sarat 的討論中提到的,基於他的建議的以下 cmd 有效:

select distinct(machine) from v$session where username='PUBLIC' and osuser='oracle' and machine <> (select PRIMARY_DB_UNIQUE_NAME from v$database);

但我需要在輸出中添加一個前導標題,以便之後從假離線文件中獲取結果。

select 'title'||distinct(machine) from v$session where username='PUBLIC' and osuser='oracle' and machine <> (select PRIMARY_DB_UNIQUE_NAME from v$database)

這失敗了嗎?有什麼辦法嗎?謝謝。

從 v$session 中選擇不同的機器,其中 username=‘PUBLIC’ 和 osuser=‘oracle’;

您可以找到主數據庫伺服器的主機名。

如果您的 tns 名稱解析設置正確,您可以使用 dbms_tns.resolve_tnsname 來獲取 PRIMARY_DB_UNIQUE_NAME 的 tns 別名的描述。

有關使用詳情,請參閱https://docs.oracle.com/en/database/oracle/oracle-database/18/arpls/DBMS_TNS.html#GUID-C9A939E2-8710-43BF-952C-B49D155C8163

您可能想使用正則表達式從地址列表中獲取主機部分。

考慮此事 …。這在已安裝的數據庫中使用 sql 不起作用,但使用 tnsping 它應該可以工作。

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