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

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

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

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

Oracle

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

Q&A

解決済

1回答

7011閲覧

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

ky_46

総合スコア92

Oracle Database 12c

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

Oracle

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

0グッド

0クリップ

投稿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は自動で起動されています。

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

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

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

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

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

guest

回答1

0

ベストアンサー

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

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

Windows10のsqlplusから...

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

64bitか32bitかも重要。

投稿2020/05/10 12:21

Orlofsky

総合スコア16415

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

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

ky_46

2020/06/06 10:14

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問