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

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

ただいまの
回答率

88.21%

oracle 12c r1 データベース名がリスナーに反映されない?現象

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,378

ky_46

score 94

前提・実現したいこと

少し必要がでたので、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 日 412 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ページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • 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

    キャンセル

回答 1

checkベストアンサー

0

Windows Server 2016のテスト環境に、Oracle 12cのリリース1をインストールし

たしか、動作保証されていない組み合わせだったかと。Oracle Database, Oracle Client for Winodws ソフトウェア要件

Windows10のsqlplusから...

Oracle12.1でOracle10で動作保証されている組み合わせもなかったかと。
動作保証外でもたまたまインストールできた(ように見えた)だけだったり、ユーテリティが動かなかったり、DB LINKが使えなかったり、いろいろな現象に悩まされて力尽きていく人が多いようです。

64bitか32bitかも重要。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/06/06 19:14

    ありがとうございます。盲点でした。また確認に時間がかかりました。
    Windows Server2012を用意して12.1をインストールしたところ、あっさりと繋がりました。
    現状、テストに12.1が必要なため、しばらく2012で稼働することにします。
    正直、これほどピーキーだとは……

    キャンセル

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

  • ただいまの回答率 88.21%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る