質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Q&A

解決済

1回答

6759閲覧

oracle12c リモートからのDB接続方法

monagano

総合スコア246

Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

0グッド

0クリップ

投稿2018/11/12 09:16

編集2018/11/13 03:11

前提・実現したいこと

192.168.1.AのPCに構成したoracle12cのDB(サービス名:orcl)に対して、
192.168.1.BのPCから接続したいです。

192.168.1.AのPCでtnspingを実行する際は問題なく接続できるのですが、
192.168.1.BのPCから接続(tnsping)しようとすると、以下のエラーが発生します。

cmd

1>tnsping 192.168.1.A/orcl 2 3TNS Ping Utility for 64-bit Windows: Version 18.0.0.0.0 - Production on 12-11月-2018 18:09:13 4 5Copyright (c) 1997, 2018, Oracle. All rights reserved. 6 7 8パラメータ・ファイルを使用しました: 9~~~\sqlnet.ora 10 11エイリアスを解決するためにEZCONNECTアダプタを使用しました。 12(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=orcl))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.A)(PORT=1521)))に接続の試行中 13TNS-12541: TNS: リスナーがありません。

192.168.1.Aのlistener.oraは以下の通りです。

listenerora

1SID_LIST_LISTENER = 2 (SID_LIST = 3 (SID_DESC = 4 (SID_NAME = CLRExtProc) 5 (ORACLE_HOME = C:~~~~~) 6 (PROGRAM = extproc) 7 (ENVS = "EXTPROC_DLLS=ONLY:C:~~~~~") 8 ) 9 ) 10 11LISTENER = 12 (DESCRIPTION = 13 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.A)(PORT = 1521)) 14 )

試したこと

ファイアウォールの設定で、TCPの受信規則に1521番許可を追加しました。
192.168.1.Bから192.168.1.AへのPINGは通っています。

何か必要な情報がありましたら、ご指摘いただけると幸いです。

oracle初学者のため、見当違いなことを書いていたら申し訳ないです。

追記

cmd

1lsnrctl statusの結果を追記します。 2C:\WINDOWS\system32>lsnrctl status 3 4LSNRCTL for 64-bit Windows: Version 12.2.0.1.0 - Production on 13-11月-2018 08:59:05 5 6Copyright (c) 1991, 2016, Oracle. All rights reserved. 7 8(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.A)(PORT=1521)))に接続中 9リスナーのステータス 10------------------------ 11別名 LISTENER 12バージョン TNSLSNR for 64-bit Windows: Version 12.2.0.1.0 - Production 13開始日 13-11月-2018 06:30:30 14稼働時間 0 日 2 時間 28 分 37 秒 15トレース・レベル off 16セキュリティ ON: Local OS Authentication 17SNMP OFF 18パラメータ・ファイル C:\~~\network\admin\listener.ora 19ログ・ファイル C:\~~\log\diag\tnslsnr\N180822\listener\alert\log.xml 20リスニング・エンドポイントのサマリー... 21 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.243)(PORT=1521))) 22 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=【PCのホスト名】)(PORT=5501))(Security=(my_wallet_directory=C:\~~\admin\xe\xdb_wallet))(Presentation=HTTP)(Session=RAW)) 23サービスのサマリー... 24サービス"CLRExtProc"には、1件のインスタンスがあります。 25 インスタンス"CLRExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります... 26サービス"xe"には、2件のインスタンスがあります。 27 インスタンス"xe"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります... 28 インスタンス"xe"、状態READYには、このサービスに対する1件のハンドラがあります... 29サービス"xeXDB"には、1件のインスタンスがあります。 30 インスタンス"xe"、状態READYには、このサービスに対する1件のハンドラがあります... 31コマンドは正常に終了しました。

###追記2
サーバ側とクライアント側それぞれのtnsnames.oraを追記いたします。

サーバ側(192.168.1.A)

tnsnames

1XE = 2 (DESCRIPTION = 3 (ADDRESS_LIST = 4 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.A)(PORT = 1521)) 5 ) 6 (CONNECT_DATA = 7 (SERVICE_NAME = xe) 8 ) 9 ) 10 11LISTENER_XE = 12 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.A)(PORT = 1521)) 13 14ORACLR_CONNECTION_DATA = 15 (DESCRIPTION = 16 (ADDRESS_LIST = 17 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.A)(PORT = 1521)) 18 ) 19 (CONNECT_DATA = 20 (SID = CLRExtProc) 21 (PRESENTATION = RO) 22 ) 23 )

クライアント側(192.168.1.B)

tnsnames

1XE = 2 (DESCRIPTION = 3 (ADDRESS_LIST = 4 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.A)(PORT = 1521)) 5 ) 6 (CONNECT_DATA = 7 (SERVICE_NAME = xe) 8 ) 9 ) 10 11LISTENER_XE = 12 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.A)(PORT = 1521)) 13 14ORACLR_CONNECTION_DATA = 15 (DESCRIPTION = 16 (ADDRESS_LIST = 17 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.A)(PORT = 1521)) 18 ) 19 (CONNECT_DATA = 20 (SID = CLRExtProc) 21 (PRESENTATION = RO) 22 ) 23 )

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

TNS-12541: TNS: リスナーがありません。 とこの中のリンクを参考に。

投稿2018/11/12 09:28

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

monagano

2018/11/13 00:10 編集

回答ありがとうございます。ご提示いただいたURLを参照し、リスナーが動作しているか確認したのですが、素人目には動作しているように見えます。(「サービス"xe"には、2件のインスタンスがあります。」との表示より) 現状、問題を解決できておりません。 ■その他、現時点で確認してみたこと ・動的登録が正しく行えていないのかと思い、local_listenerの状態を確認しました ・以下内容をlistener.oraに追加して静的登録を試みました (SID_DESC = (GLOBAL_DBNAME = XE) (SID_NAME = XE) (ORACLE_HOME = C:\~~\dbhome_1) ) 上記を試しても、メッセージはtns-12541のまま変わりませんでした。
Orlofsky

2018/11/13 02:44

>(GLOBAL_DBNAME = XE) >(SID_NAME = XE) Oracle はExpress Edtion(XE) でしょうか? DB Server で リスナーを再起動してから、Oracle Client から再接続してみては? 念のため、質問に tnsnames.ora も提示ください。 Windows PCにOracle Client をインストールして動作させているかと思いますが、OSはOracle Database Clientのインストールのオペレーティング・システムのチェックリスト に載っていますか? https://docs.oracle.com/cd/E82638_01/ntcli/operating-system-checklist-for-oracle-database-client-installation-on-microsoft-windows.html#GUID-DB33F444-969C-48EC-A6CC-83E938499DCB よく動作保障外のWindows10 Home Premium でOracle Server に接続できない、って騒いでいる人がいます。
monagano

2018/11/13 03:07

oracleはExpress Edtion(XE) ではないのですが、 諸般の事情でサービス名をxeにしております。 OSはWindows 10 x64 - Enterpriseとなります。 tnsnames.oraを質問に追記いたします。 他のマシン(Windows7 Enterprise 64bit)からtnspingしてみたところ、正しく接続できたため、サーバ側ではなく、クライアント側の問題であるであろうというところまで切り分けできました。
Orlofsky

2018/11/14 01:38

他のマシンはOracle Server? Oracle Client? その他のマシンからtnspingだけではなく、sqlplusで192.168.1.Aに接続できますか?他のマシンと192.168.1.Bのtnsnames.ora, listener.ora, sqlnet.ora を比較しては? >リスナーログ パス Oracle12C でググってリスナーログのエラーメッセージを確認してください。
monagano

2018/11/15 05:26

お世話になります。回答ありがとうございます。ひとまず、1台のクライアントを除いて動作しており、 リスナーログの確認を含め、原因解明に現状あまり時間を割くことができないため、 一旦解決としてクローズさせていただきます。 申し訳ありませんが、よろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問