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

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

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

Oracle Database 12cは、RDBMS製品です。世界初の商用RDBMSであるOracle Databaseのバージョンで、2013年にリリース。クラウド対応を考慮して設計されました。主な機能には、マルチテナント対応やインメモリデータベースの実装などがあります。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

解決済

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

ky_46
ky_46

総合スコア92

Oracle Database 12c

Oracle Database 12cは、RDBMS製品です。世界初の商用RDBMSであるOracle Databaseのバージョンで、2013年にリリース。クラウド対応を考慮して設計されました。主な機能には、マルチテナント対応やインメモリデータベースの実装などがあります。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

1回答

0評価

0クリップ

4711閲覧

投稿2020/04/12 05:58

編集2020/04/13 13:12

前提・実現したいこと

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

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

Oracle Database 12c

Oracle Database 12cは、RDBMS製品です。世界初の商用RDBMSであるOracle Databaseのバージョンで、2013年にリリース。クラウド対応を考慮して設計されました。主な機能には、マルチテナント対応やインメモリデータベースの実装などがあります。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。