Oracle12cで複数インスタンスでリスナーの動的登録と静的登録が混在している時に接続できるか試してみた

Oracle12cで複数インスタンスでリスナーの動的登録と静的登録が混在している時に接続できるか試してみた

Oracle12cで複数インスタンスでリスナーの動的登録と静的登録が混在している時に接続できるか試してみた

Oracle12cで3インスタンスを準備

OS:Windows2012R2

SID:db01
初期化パラメータlocal_listener:LISTENER_DB01
SID:db03
初期化パラメータlocal_listener:LISTENER_DB03
SID:db04
初期化パラメータlocal_listener:LISTENER_DB04

リスナーの状態
C:\Windows\system32>lsnrctl status

LSNRCTL for 64-bit Windows: Version 12.2.0.1.0 – Production on 22-4月 -2017 16:5
1:36

Copyright (c) 1991, 2016, Oracle. All rights reserved.

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=DR01.server.local)(PORT=1521)))に接続

リスナーのステータス
————————
別名 LISTENER
バージョン TNSLSNR for 64-bit Windows: Version 12.2.0.1.0 – Produ
ction
開始日 22-4月 -2017 16:38:43
稼働時間 0 日 0 時間 12 分 56 秒
トレース・レベル off
セキュリティ ON: Local OS Authentication
SNMP OFF
パラメータ・ファイル C:\app\orahome\product\12.2.0\dbhome_1\network\admin\l
istener.ora
ログ・ファイル C:\app\orahome\diag\tnslsnr\DR01\listener\alert\log.xm
l
リスニング・エンドポイントのサマリー…
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=DR01.server.local)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=DR01.server.local)(PORT=5500))(Secu
rity=(my_wallet_directory=C:\APP\ORAHOME\admin\db01\xdb_wallet))(Presentation=HT
TP)(Session=RAW))
サービスのサマリー…
サービス”CLRExtProc”には、1件のインスタンスがあります。
インスタンス”CLRExtProc”、状態UNKNOWNには、このサービスに対する1件のハンドラが
あります…
サービス”db01.server.local”には、1件のインスタンスがあります。
インスタンス”db01″、状態READYには、このサービスに対する1件のハンドラがあります

サービス”db01XDB.server.local”には、1件のインスタンスがあります。
インスタンス”db01″、状態READYには、このサービスに対する1件のハンドラがあります

サービス”db03.server.local”には、1件のインスタンスがあります。
インスタンス”db03″、状態READYには、このサービスに対する1件のハンドラがあります

サービス”db03XDB.server.local”には、1件のインスタンスがあります。
インスタンス”db03″、状態READYには、このサービスに対する1件のハンドラがあります

サービス”db04.server.local”には、1件のインスタンスがあります。
インスタンス”db04″、状態READYには、このサービスに対する1件のハンドラがあります

サービス”db04XDB.server.local”には、1件のインスタンスがあります。
インスタンス”db04″、状態READYには、このサービスに対する1件のハンドラがあります

コマンドは正常に終了しました。

3インスタンスともリスナーへは動的登録のみ
当然 connect system@db01,db03,db04 で3つとも接続できる。

db01を動的登録と静的登録の両方
db03を静的登録のみ
db04を静的登録のみ
と混在させる構成にしてみる。

db03,db04 で
alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = DR01.server.local)(PORT = 1522))’;
としてポート番号をデフォルトの1521から変更する事でリスナーに動的登録しにいかないようにする。
listener.oraに静的登録用の設定を書く。

リスナーの状態はこちら。

C:\Users\oracle>lsnrctl status

LSNRCTL for 64-bit Windows: Version 12.2.0.1.0 – Production on 22-4月 -2017 17:4
6:35

Copyright (c) 1991, 2016, Oracle. All rights reserved.

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=DR01.server.local)(PORT=1521)))に接続

リスナーのステータス
————————
別名 LISTENER
バージョン TNSLSNR for 64-bit Windows: Version 12.2.0.1.0 – Produ
ction
開始日 22-4月 -2017 17:41:22
稼働時間 0 日 0 時間 5 分 17 秒
トレース・レベル off
セキュリティ ON: Local OS Authentication
SNMP OFF
パラメータ・ファイル C:\app\orahome\product\12.2.0\dbhome_1\network\admin\l
istener.ora
ログ・ファイル C:\app\orahome\diag\tnslsnr\DR01\listener\alert\log.xm
l
リスニング・エンドポイントのサマリー…
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=DR01.server.local)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=DR01.server.local)(PORT=5500))(Secu
rity=(my_wallet_directory=C:\APP\ORAHOME\admin\db01\xdb_wallet))(Presentation=HT
TP)(Session=RAW))
サービスのサマリー…
サービス”db01.server.local”には、2件のインスタンスがあります。
インスタンス”db01″、状態UNKNOWNには、このサービスに対する1件のハンドラがありま
す…
インスタンス”db01″、状態READYには、このサービスに対する1件のハンドラがあります

サービス”db01XDB.server.local”には、1件のインスタンスがあります。
インスタンス”db01″、状態READYには、このサービスに対する1件のハンドラがあります

サービス”db03.server.local”には、1件のインスタンスがあります。
インスタンス”db03″、状態UNKNOWNには、このサービスに対する1件のハンドラがありま
す…
サービス”db04.server.local”には、1件のインスタンスがあります。
インスタンス”db04″、状態UNKNOWNには、このサービスに対する1件のハンドラがありま
す…
コマンドは正常に終了しました。

C:\Users\oracle>
db01は動的登録と静的登録の両方
db03は静的登録のみ
db04も静的登録のみ

リスナー経由で接続できるか確認してみた。

C:\Users\oracle>sqlplus /nolog

SQL*Plus: Release 12.2.0.1.0 Production on 土 4月 22 17:44:29 2017

Copyright (c) 1982, 2016, Oracle. All rights reserved.

SQL> connect system@db03
パスワードを入力してください:
接続されました。
SQL> quit
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 – 64bit Productionとの
接続が切断されました。

C:\Users\oracle>sqlplus /nolog

SQL*Plus: Release 12.2.0.1.0 Production on 土 4月 22 17:45:56 2017

Copyright (c) 1982, 2016, Oracle. All rights reserved.

SQL> connect system@db04
パスワードを入力してください:
接続されました。
SQL> quit
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 – 64bit Productionとの
接続が切断されました。

C:\Users\oracle>sqlplus /nolog

SQL*Plus: Release 12.2.0.1.0 Production on 土 4月 22 17:46:15 2017

Copyright (c) 1982, 2016, Oracle. All rights reserved.

SQL> connect system@db01
パスワードを入力してください:
接続されました。
SQL> quit
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 – 64bit Productionとの
接続が切断されました。

C:\Users\oracle>

リスナーへの動的登録と静的登録が混在していてもすべてのインスタンスで接続が確認できた。

Comments are closed.