share facebook facebook twitter menu hatena pocket slack

2011.08.29 MON

何故かOracleに繋がらなくなったら(ORA-12514)

鈴木 宏康

WRITTEN BY 鈴木 宏康

急に下記のようにOracleに繋がらなくなりました。
(多分、何か変更したのだとは思いますが、誰も心当たりがありませんでした。)

$ sqlplus sys/password@localhost:1521/oracle.suz-lab.com as sysdba
SQL*Plus: Release 11.1.0.6.0 - Production on Fri Aug 26 01:50:25 2011
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
ERROR:
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor

上記より、リスナーがOracleのサービス名(oracle.suz-lab.com)を解決できないようです。
確かに、リスナーを再起動してみると、サービスが登録されていないということでした。

$ lsnrctl restart
...
The listener supports no services
...

このような場合、一番簡単な解決方法としては、下記のようにlistener.oraにサービス名に関する情報を静的に記述をしてしまうことです。
(本来ならば、動的に登録されるはずなのですが。)

LISTENER =
    (DESCRIPTION_LIST =
        (DESCRIPTION =
            (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
    )
SID_LIST_LISTENER =
    (SID_LIST =
        (SID_DESC =
            (GLOBAL_DBNAME = oracle.suz-lab.com)
            (ORACLE_HOME   = /u01/app/oracle/product/11.1.0/db_1)
            (SID_NAME      = oracle)
        )
    )

この状態で、再度リスナーを再起動すると、
下記のようにサービスが登録されていることを確認することができます。

$ lsnrctl start
...
Service "oracle.suz-lab.com" has 1 instance(s).
Instance "oracle", status UNKNOWN, has 1 handler(s) for this service...
...

そして、最初と同じようにOracleに接続すると、今度は無事接続できることが確認できます。

$ sqlplus sys/password@localhost:1521/oracle.suz-lab.com as sysdba
SQL*Plus: Release 11.1.0.6.0 - Production on Fri Aug 26 02:01:19 2011
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。