Oracleデータベースに接続しようとしています。リスナーを開始できません。これが私が試したものです。
$ lsnrctl start
LSNRCTL for Linux:バージョン10.2.0.4.0-Production on 20-JAN-2012 08:19:58 Copyright(c)1991、2007、Oracle。 All rights reserved。 /u01/app/Oracle/product/10.2.0/db_1/bin/tnslsnrを開始しています:お待ちください... TNSLSNR Linuxの場合:バージョン10.2.0.4.0-Production /u01/app/Oracle/product/10.2.0/db_1/network/log/listener.log に書き込まれたログメッセージ:(ADDRESS =(PROTOCOL = tcp)(Host =)(PORT = 1521)) TNS-12545:ターゲットホストまたはオブジェクトが存在しないため、接続に失敗しました TNS-12560:TNS:protocolアダプタエラー TNS-00515:ターゲットのホストまたはオブジェクトが存在しないため、接続に失敗しました
$ cat ./admin/tnsnames.ora
#TNSNAMES.ORAネットワーク構成ファイル: #/u01/app/Oracle/product/10.2.0/db_1/network/admin/tnsnames.ora # EXTPROC_CONNECTION_DATA.test = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC))) ) (CONNECT_DATA = (SID = DEVDB) (PRESENTATION = RO) ) ) DEVDB = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS =(PROTOCOL = TCP)(Host = localhost)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = DEVDB.test) ) ) DEBDB.test = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS =(PROTOCOL = TCP)(Host = DEVDB.test)(PORT = 1521)) ) ( CONNECT_DATA = (SERVICE_NAME = DEVDB.test) ) )
$ホスト名
テスト
以下は、同様の設定で他のマシンで正常に起動する例です。 listner.oraファイルはtnsnames.oraだけではありません。
$ lsnrctl start LSNRCTL for Linux:バージョン10.2.0.4.0-Production on 20-JAN-2012 11:38:51 Copyright(c)1991、2007、Oracle。 All rights reserved。 /u01/app/Oracle/product/10.2.0/db_1/bin/tnslsnrを開始しています:お待ちください... TNSLSNR Linuxの場合:バージョン10.2.0.4.0-Production /u01/app/Oracle/product/10.2.0/db_1/network/log/listener.log に書き込まれたログメッセージ: (DESCRIPTION =(ADDRESS =(PROTOCOL = tcp)(Host = oracletest)(PORT = 1521)))) (ADDRESS =(PROTOCOL = tcp)(Host =)(PORT = 1521)) リスナーのステータス ------------------------ エイリアスリスナー バージョンTNSLSNR for Linux:バージョン10.2.0.4.0-製品版 開始日20-JAN-2012 11:38:51 稼働時間0日0時間。 0分0秒 トレースレベルオフ セキュリティオン:ローカルOS認証 SNMPオフ リスナーログファイル/u01/app/Oracle/product/10.2.0/db_1 /network/log/listener.log リスニングエンドポイントの概要... (DESCRIPTION =(ADDRESS =(PROTOCOL = tcp)(Host = oracletest)(PORT = 1521))) リスナーはサービスをサポートしていません コマンドは正常に完了しました
Listener.oraに空の_Host=
_があります。 _Host=my.ip.address
_になるように編集します。アプリケーションが同じホスト上にある場合は、_Host=127.0.0.1
_でも実行できます。以前にnetca
を適切に実行しましたか(初心者にお勧めします)?
$ vim/etc/hosts
から行を変更
127.0.0.1 localhost.localdomain localhost
に
127.0.0.1 test localhost.localdomain localhost
cat /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=yes HOSTNAME=test
$ホスト名
テスト
$ lsnrctl start LSNRCTL for Linux:バージョン10.2.0.4.0-Production on 20-JAN-2012 10:08:54 Copyright(c)1991、2007、Oracle。 All rights reserved。 /u01/app/Oracle/product/10.2.0/db_1/bin/tnslsnrを開始しています:お待ちください... TNSLSNR Linuxの場合:バージョン10.2.0.4.0-Production /u01/app/Oracle/product/10.2.0/db_1/network/log/listener.log に書き込まれたログメッセージ: (DESCRIPTION =(ADDRESS =(PROTOCOL = tcp)(Host = test)(PORT = 1521))) (ADDRESS =(PROTOCOL = tcp)(Host =)(PORT = 1521)) リスナーのステータス ------------------------ エイリアスリスナー バージョンTNSLSNR for Linux:バージョン10.2.0.4.0-製品版 開始日20-JAN-2012 10:08:55 稼働時間0日0時間。 0分0秒 トレースレベルオフ セキュリティオン:ローカルOS認証 SNMPオフ リスナーログファイル/u01/app/Oracle/product/10.2.0/db_1 /network/log/listener.log リスニングエンドポイントの要約... (DESCRIPTION =(ADDRESS =(PROTOCOL = tcp)(Host = test)(PORT = 1521))) リスナーはサービスをサポートしていません コマンドは正常に完了しました