データガード構成の一部として、Oracleソフトウェアのみを使用してスタンバイデータベースをインストールし、必要に応じて.oraファイル/フォルダを構成しました。しかし、リスナーを起動しようとしたり、スタンバイ状態を確認しようとすると、次のエラーがスローされます。
Connecting to (ADDRESS=(PROTOCOL=tcp)(Host=)(PORT=1521))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
64-bit Windows Error: 61: Unknown error
次に、pfileを使用してdbを起動しようとしましたが、これも次のようなエラーを示しています。
SQL> startup pfile=C:\app_home\product\11.2.0\dbhome_1\database\initLOCAL2.ora
ORA-12560: TNS:protocol adapter error
初めてやっているので、この段階ではとても混乱しています。どうすればこれを解決できますか?
Windowsサーバーでデータガード環境のスタンバイを作成するときに実行する手順は次のとおりです。コメントで、現在問題の特定に役立つ手順を確認してください。 (prd1は現在生きているインスタンスであり、stby1は作成しようとしているスタンバイインスタンスです)
1- Oracleバイナリをインストールし、stby1のホストサーバーにデータベースを作成せずに、ライブインスタンスと同じレベルにパッチを適用します
2- prd1インスタンスで、スタンバイ用の制御ファイルを作成しますALTER DATABASE CREATE STANDBY CONTROLFILE AS 'D:\CONTROL01.CTL';
3-%Oracle_HOME%\ database(windows)の内容をprd1からstby1への同じパスにコピーします
4- CMDウィンドウを使用して、スタンバイデータベースインスタンスのWindowsサービスを手動で作成します
set Oracle_HOME=[path to Oracle_home]
oradim -new -sid STBY1
set Oracle_SID=STBY1
sqlplus / as sysdba
startup mount;
5-リスナー.oraファイルとtnsnames.oraファイルがprd1とstby1の両方で正しく構成されていることを確認します
両方のサーバーの%Oracle_HOME%\ network\admin\tnsnames.oraには、次のようなものが含まれています
prd1_server1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = server1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = prd1)
)
)
stby1_server2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = server2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = stby1)
)
)
6- server1(prd1)の%Oracle_HOME%\ network\admin\listener.oraには、
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(Host = server1)(PORT = 1521))
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME =prd1_DGMGRL)
(Oracle_HOME = [path to Oracle_home])
(SID_NAME = prd1)
)
)
7- stby1server2のlistener.oraには次のようなものが含まれています
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(Host = server2)(PORT = 1521))
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME =stby1_DGMGRL)
(Oracle_HOME = [path to Oracle_home])
(SID_NAME = stby1)
)
)
8-上記のすべての設定を理解したら、stby1インスタンスに移動し、SQLPLUSを使用してデータベースを回復します
RECOVER STANDBY DATABASE;