元のアドレス:Oracle Databaseの動的登録とlocal_listenerのパラメーター
作成者:
zhutianjie
Oracle8iバージョン以降、Oracleデータベースでは、アプリケーションに特別な要件がない場合、データベース監視を構成する必要はありません。Oracleは、このメソッドを動的登録と呼びます。いわゆる動的登録であるoracleは、PMONプロセスを介してパラメーターinstance_nameおよびservice_namesの内容に従って、ポート1521のデフォルトリスナーにoracleデータベースの情報を登録します。サーバー側のリスナーの数に関係なく、oracleはデフォルトでポート1521に登録されているリスナーです。つまり、他のポートのリスナーの場合、リモートクライアントから提供された情報を適切に識別したい場合は、次のようにする必要があります。構成、つまり静的登録。lsnrctlコマンドで、servicesコマンドを使用して登録が静的か動的かを確認できます。静的登録の場合、oracleによって表示されるサービスのステータスは不明です。動的登録の場合、サービスのステータスは準備完了です。ただし、ユーザーが動的に登録されたポートを変更したい場合は、これも可能です。これは、データベースのlocal_listenerパラメーターを設定することで実現できます。
以下の例を見てみましょう。まず、データベースのデフォルトでは、local_listenerパラメーターは空であり、設定されていません。
[オラクル@ ztj10管理] $ sqlplusを/ SYSDBAのよう
SQL * Plusを:リリース10.2.0.1.0プロダクション日4月に22午前3時03分44秒2012
著作権(C)1982、2005、Oracleの。
すべての著作権。
接続先:
Oracle Database 10g Enterprise Editionリリース10.2.0.1.0-
パーティショニング、OLAP、およびデータマイニングオプションを
使用した 本番 SQL> show parameter local_l
NAME
TYPE
VALUE
-------------------- ---------------- ----------- ----------------------- -------
local_listener
string
SQL> exit
Oracle Database 10g Enterprise Editionリリース10.2.0.1.0から切断されました-
パーティショニング、OLAP、およびデータマイニングオプションを使用した
本番環境注册的服务、READY表示PL态注册。
[oracle @ ztj10 admin] $ lsnrctl
Linux用LSNRCTL:バージョン10.2.0.1.0- 2012年4月22日の製品版03:04:03
Copyright(c)1991、2005 、Oracle。
全著作権所有。
LSNRCTLへようこそ。詳細については、「help」と入力してください。
LSNRCTL> サービス
接続先(DESCRIPTION =(ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1)))
サービスの概要...
サービス「PLSExtProc」には1つのインスタンスがあります。
インスタンス「PLSExtProc」、ステータスUNKNOWNには、このサービスのハンドラーが1つあります...
ハンドラー:
「DEDICATED」が確立されました:0拒否されました:0
ローカルサーバー
サービス「db01」には1つのインスタンスがあります。
インスタンス「db01」、ステータスREADY、
ハンドラー:
「DEDICATED」が確立されました:0拒否されました:0状態:準備完了
ローカルサーバー
サービス「db01XDB」には1つのインスタンスがあります。
インスタンス "db01"、ステータスREADYには、このサービスのハンドラーが1つあります...
ハンドラー:
"D000"が確立されました:0拒否:0現在:0 max:1022状態:準備完了
DISPATCHER <マシン:ztj10、pid :21629>
(ADDRESS =(PROTOCOL = tcp)(HOST = ztj10)(PORT = 46550))
サービス "db01_XPT"には1つのインスタンスがあります。
インスタンス「db01」、ステータスREADYには、このサービスのハンドラーが1つあります...
ハンドラー:
「DEDICATED」が確立されました:0拒否されました:0状態:
LSNRCTL> services listener1
接続先(DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1530)))
サービスの概要...
サービス "dbtest"には1つのインスタンスがあります。
インスタンス "db01 "、ステータスUNKNOWN、このサービスのハンドラーが1つあります...
ハンドラー:
" DEDICATED "が確立されました:0拒否されました:0
ローカルサーバー
コマンドが正常に完了しました
LSNRCTL> exit
上記の情報によると、次のことがわかります。 Oracleはリスナーリスナーをポート1521に動的に登録し、listener1は静的に登録され、リスナーはポート1530を使用します。次に、PMONプロセスがポート1530でリスナーに動的に登録できるように構成します。
moreコマンドを使用して、listener.oraファイルの赤い部分を取得します
[oracle @ ztj10 admin] $ more listener.ora
#listener.oraネットワーク構成ファイル:/u01/app/oracle/product/10.2.0/network/admin/listener.ora#Oracle
構成ツールによって生成されます。
LISTENER1 =
(DESCRIPTION =
(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1530))) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = / u01 / app / oracle / product / 10.2.0) (PROGRAM = extproc) ) ) SID_LIST_LISTENER1 = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = dbtest) (ORACLE_HOME = /u01/app/oracle/product/10.2.0)
(SID_NAME = db01)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1))
)
(DESCRIPTION =
(ADDRESS =(PROTOCOL = TCP)(HOST = ztj10)(PORT = 1521 ))
)
)
赤い部分に示すように、tnsnames.oraファイルを編集し、取得したコンテンツを処理します
[oracle @ ztj10 admin] $ vi tnsnames.ora
#tnsnames.oraネットワーク構成ファイル:/ u01 / app / oracle / product /10.2.0/network/admin/tnsnames.ora#Oracle
構成ツールによって生成されます 。DB01
=
(DESCRIPTION =
(ADDRESS =(PROTOCOL = TCP)(HOST = ztj10)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
以下の例を見てみましょう。まず、データベースのデフォルトでは、local_listenerパラメーターは空であり、設定されていません。
[オラクル@ ztj10管理] $ sqlplusを/ SYSDBAのよう
SQL * Plusを:リリース10.2.0.1.0プロダクション日4月に22午前3時03分44秒2012
著作権(C)1982、2005、Oracleの。
接続先:
Oracle Database 10g Enterprise Editionリリース10.2.0.1.0-
パーティショニング、OLAP、およびデータマイニングオプションを
使用した 本番 SQL> show parameter local_l
NAME
-------------------- ---------------- ----------- ----------------------- -------
local_listener
SQL> exit
Oracle Database 10g Enterprise Editionリリース10.2.0.1.0から切断されました-
パーティショニング、OLAP、およびデータマイニングオプションを使用した
本番環境注册的服务、READY表示PL态注册。
[oracle @ ztj10 admin] $ lsnrctl
Linux用LSNRCTL:バージョン10.2.0.1.0- 2012年4月22日の製品版03:04:03
Copyright(c)1991、2005 、Oracle。
LSNRCTLへようこそ。詳細については、「help」と入力してください。
LSNRCTL> サービス
接続先(DESCRIPTION =(ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1)))
サービスの概要...
サービス「PLSExtProc」には1つのインスタンスがあります。
サービス「db01」には1つのインスタンスがあります。
サービス「db01XDB」には1つのインスタンスがあります。
サービス "db01_XPT"には1つのインスタンスがあります。
LSNRCTL> services listener1
接続先(DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1530)))
サービスの概要...
サービス "dbtest"には1つのインスタンスがあります。
コマンドが正常に完了しました
LSNRCTL> exit
上記の情報によると、次のことがわかります。 Oracleはリスナーリスナーをポート1521に動的に登録し、listener1は静的に登録され、リスナーはポート1530を使用します。次に、PMONプロセスがポート1530でリスナーに動的に登録できるように構成します。
moreコマンドを使用して、listener.oraファイルの赤い部分を取得します
[oracle @ ztj10 admin] $ more listener.ora
#listener.oraネットワーク構成ファイル:/u01/app/oracle/product/10.2.0/network/admin/listener.ora#Oracle
構成ツールによって生成されます。
LISTENER1 =
LISTENER =
赤い部分に示すように、tnsnames.oraファイルを編集し、取得したコンテンツを処理します
[oracle @ ztj10 admin] $ vi tnsnames.ora
#tnsnames.oraネットワーク構成ファイル:/ u01 / app / oracle / product /10.2.0/network/admin/tnsnames.ora#Oracle
構成ツールによって生成されます 。DB01
=