通過 rman 遠端登錄為一個實例而不是另一個實例
我在兩台伺服器上安裝了 Oracle 12c。在伺服器上
UAT
,我有一個RMCAT
託管 RMAN 恢復目錄的實例。在伺服器上EXT
,我有兩個實例,extdev02
並且extuat01
. 我可以在伺服器上使用以下命令UAT
連接到我的RMCAT
目錄和目標extdev02
,但是當我嘗試連接到extuat01
它時會給出一個ORA-01017
UAT> rman target= sys/tiger@extdev02 catalog= rmuser/tigerman@rmcat Recovery Manager: Release 12.1.0.2.0 - Production on Wed May 30 22:59:26 2018 Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved. connected to target database: EXTDEV02 (DBID=4287636681) connected to recovery catalog database RMAN> exit Recovery Manager complete. UAT> rman target= sys/tiger@extuat01 catalog= rmuser/tigerman@rmcat Recovery Manager: Release 12.1.0.2.0 - Production on Wed May 30 22:59:42 2018 Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved. RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-00554: initialization of internal recovery manager package failed RMAN-04005: error from target database: ORA-01017: invalid username/password; logon denied
tnsping
我從UAT
伺服器到兩個實例都得到了 OK 的結果EXT
,並且我可以從伺服器連接到非 dba 使用者UAT
到兩個實例。orapw
我在EXT
伺服器實例上使用重新創建了 Oracle 密碼文件EXTUAT01
,但沒有幫助。實例名稱是
extdev02
andextuat01
on serverEXT
。這是我在該伺服器上的密碼文件:/u01/app/oracle/product/12.1.0.2/db_1/dbs> ls -o orapw* -rw-r-----. 1 oracle 18432 Jun 1 00:07 orapwextuat01 /u01/app/oracle/product/12.1.0.2/db_0/dbs> ls -o orapw* -rw-r-----. 1 oracle 7680 Feb 6 20:22 orapwextdev02
請注意,它們位於兩個不同的 ORACLE_HOME 目錄中。的值適用
remote_login_passwordfile
於EXCLUSIVE
兩個實例已解決的問題
託管 RMAN 目錄實例的伺服器 UAT
RMCAT
幾天前重新啟動以添加記憶體,現在我可以連接了!如果我有一台 Wayback 機器,我會回去看看嘗試重新啟動 UAT 主機上的偵聽器是否會有所幫助;無論如何,它有效。感謝您的建議;我只是為了後代而提出答案。已回複評論
- 不是 Grid 也不是 RAC 也不是 Dataguard 實例環境。
- 從 v$pwfile_users 中選擇:
extdev02:
AtlasExt:SYS@extdev02> select * from v$pwfile_users; USERNAME SYSDBA SYSOPER SYSASM SYSBACKUP SYSDG SYSKM CON_ID --------- ------- ------- ------- ---------- ------- ------ ------ SYS TRUE TRUE FALSE FALSE FALSE FALSE 0
extuat01(注意:我執行 orapw 指定 sysbackup 無濟於事)
AtlasExt:SYS@extuat01> select * from v$pwfile_users; USERNAME SYSDBA SYSOPER SYSASM SYSBACKUP SYSDG SYSKM CON_ID --------- ------- ------- ------- ---------- ------ -------- ------ SYS TRUE TRUE FALSE FALSE FALSE FALSE 0 SYSBACKUP FALSE FALSE FALSE TRUE FALSE FALSE 0
- 我無法
extuat01
通過 SQL*Plus從 UAT 連接到 EXT 實例;但重啟後我是:來自 UAT 的 extdev02:
AtlasUAT:SYS@extdev02> select host_name, instance_name from v$instance; HOST_NAME INSTANCE_NAME ------------------------- ---------------- plsekatlasexta01 extdev02
來自 UAT 的 extuat01:
18:25:07 AtlasUAT:SYS@extuat01> select host_name, instance_name from v$instance; HOST_NAME INSTANCE_NAME ------------------------- ---------------- plsekatlasexta01 extuat01
- 已驗證 extuat01 和 extdev01 程序執行在同一個主目錄之外:
找到 pmon PID:
plsekatlasexta01> ps -fu oracle | grep pmon | grep -v grep oracle 1976 1 0 Jun01 ? 00:00:43 ora_pmon_extuat01 oracle 32373 1 0 May16 ? 00:02:45 ora_pmon_extdev02 plsekatlasexta01> cat /proc/1976/environ | tr '\000' '\n' | grep -E 'ORACLE_(HOME|SID)' ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1 ORACLE_SID=extuat01 plsekatlasexta01> cat /proc/32373/environ | tr '\000' '\n' | grep -E 'ORACLE_(HOME|SID)' ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_0 ORACLE_SID=extdev02
託管 RMAN 目錄實例的伺服器 UAT
RMCAT
幾天前重新啟動以添加記憶體,現在我可以連接到 EXT 伺服器上的兩個數據庫實例。我不記得我是否嘗試在 UAT 主機上的 TNS 偵聽器不工作時重新載入/重新啟動它,但現在伺服器重新啟動它現在可以工作了;我假設重新啟動讓監聽器工作。感謝大家的有用評論。