前提・実現したいこと
少し必要がでたので、Oracleを勉強する事にしました。
Windows Server 2016のテスト環境に、Oracle 12cのリリース1をインストールし、名称は、orcl12c としました。
2016上のsqlplus SCOTT/tigerでは接続できる事を確認しています。
sqlplusでSQLを投入できたので、ODBC経由で、EXCELやACCESSからの接続を試してみたいのですが、問題が起きました。
発生している問題・エラーメッセージ
同じLAN上にあるWindows10のパソコンに、ネットをいろいろ調べて
instantclientをインストールしました。12_2を選択しています。
これで、windows10からsqlplus SCOTT/tiger@orcl12c で繋ごうとしたところ
ORA-12154: TNS:could not resolve the connect identifier specified
が出て接続できませんでした。
windows Server2016は、1521ポートを受信可にしてあります。
さらにネットを調べると、そういうときはリスナーが怪しいとの事なのでlsnrctl statusで調べてみたところ
C:\Windows\system32>lsnrctl status
LSNRCTL for 64-bit Windows: Version 12.1.0.2.0 - Production on 12-4月 -2020 13:43:53
Copyright (c) 1991, 2014, Oracle. All rights reserved.
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.30)(PORT=1521)))に接続中
リスナーのステータス
------------------------
別名 LISTENER
バージョン TNSLSNR for 64-bit Windows: Version 12.1.0.2.0 - Production
開始日 12-4月 -2020 13:19:14
稼働時間 0 日 0 時間 24 分 46 秒
トレース・レベル off
セキュリティ ON: Local OS Authentication
SNMP OFF
パラメータ・ファイル C:\app\oraclehome\product\12.1.0\dbhome_1\network\admin\listener.ora
ログ・ファイル C:\app\oraclehome\diag\tnslsnr\WIN-I7ECUTL0FAE\listener\alert\log.xml
リスニング・エンドポイントのサマリー...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.30)(PORT=1521)))
サービスのサマリー...
サービス"CLRExtProc"には、1件のインスタンスがあります。
インスタンス"CLRExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...
コマンドは正常に終了しました。
となっていて、インストール時に設定したはずのorcl12cという名前がありません。
サーバー上では sqlplus SCOTT/tigerでは接続できるのですが、sqlplus SCOTT/tiger@orcl12c では
C:\Windows\system32>sqlplus SCOTT/tiger@orcl12c
SQL*Plus: Release 12.1.0.2.0 Production on 日 4月 12 14:50:46 2020
Copyright (c) 1982, 2014, Oracle. All rights reserved.
ERROR:
ORA-12514: TNS:
リスナーは接続記述子でリクエストされたサービスを現在認識していません
となってしまいます。
サーバーのtnsnames.oraには、ORCL12Cの記述があります。
※ちなみにインストールしてから一度もtnsnames.oraは修正していません。
# tnsnames.ora Network Configuration File: C:\app\oraclehome\product\12.1.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL12C =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.30)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl12c)
)
)
googleで調べても限界なので、ご相談する事にしました。
Windows10のsqlplusから、サーバーに繋いでSQL実行したり、ODBC経由で接続するのに、なにかインストールだけではない設定変更が必要でしょうか?
よろしくお願いいたします。
追記します。
KOZ6.0さんのご指摘で、listener.oraを調べたところ
# listener.ora Network Configuration File: C:\app\oraclehome\product\12.1.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\oraclehome\product\12.1.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\oraclehome\product\12.1.0\dbhome_1\bin\oraclr12.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.30)(PORT = 1521))
)
)
という状態になっていたため、listener.ora.sample を参考に
# listener.ora Network Configuration File: C:\app\oraclehome\product\12.1.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
# (SID_NAME = CLRExtProc)
(SID_NAME = orcl12c)
(ORACLE_HOME = C:\app\oraclehome\product\12.1.0\dbhome_1)
(PROGRAM = orcl12c)
# (PROGRAM = extproc)
# (ENVS = "EXTPROC_DLLS=ONLY:C:\app\oraclehome\product\12.1.0\dbhome_1\bin\oraclr12.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.30)(PORT = 1521))
)
)
に直したところ、Windows10のクライアント機からの>sqlplus SCOTT/tiger@orcl12cが
ERROR:
ORA-12518: TNS:listener could not hand off client connection
に変化しました。
googleで調べると、サービスが起動していないのでは?
という記事がみつかりましたが、WindowsServer2016上でぇあ、OracleServiceORCL12Cは自動で起動されています。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
0
Windows Server 2016のテスト環境に、Oracle 12cのリリース1をインストールし
たしか、動作保証されていない組み合わせだったかと。Oracle Database, Oracle Client for Winodws ソフトウェア要件
Windows10のsqlplusから...
Oracle12.1でOracle10で動作保証されている組み合わせもなかったかと。
動作保証外でもたまたまインストールできた(ように見えた)だけだったり、ユーテリティが動かなかったり、DB LINKが使えなかったり、いろいろな現象に悩まされて力尽きていく人が多いようです。
64bitか32bitかも重要。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.21%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
KOZ6.0
2020/04/12 23:45
サーバー側の設定は listener.ora ですので確認してください。
ちゃんと勉強するなら
「Net Services Reference」
https://docs.oracle.com/cd/E82638_01/netrf/index.html
拾い読み程度なら 「listener.ora」で検索してみましょう。
KOZ6.0
2020/04/14 07:50
行き当たりばったりの修正では動きません。
これのような気がします。
https://qiita.com/AkihikoOgata/items/f17f118b2605f0b90892