[oracle] OracleDBにJDBCでつなごうとしたらThe Network Adapter could not establish the connectionでつながらなかった

今回はEclipseのプラグインのDB Viewerを利用して、別サーバ上のOracleDBにJDBCアクセスしようとしたらできなかった件です。アクセスしようとすると「The Network Adapter could not establish the connection」というエラーが表示されます。

これが無事解決したので、以下にその対処法を記載しておく。

インスタンスが起動してない

そもそも、DBのインスタンスが起動していなければ、ローカルからもアクセスできない。この場合、sqlplusにはログインできるけど、select文を打ったらエラーになった。

# su - oracle
$ sqlplus /NOLOG
SQL*Plus: Release 11.2.0.1.0 Production on Thu Jan 9 19:54:23 2014

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> CONNECT AS SYSDBA
Enter user-name: (ユーザ名)
Enter password: (パスワード)
Connected to an idle instance.
SQL> 
SQL> select * from user_tables;
select * from user_tables
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0

このパターンの場合は、sqlplusでログイン後、インスタンスを立ち上げてあげればOK!

# su - oracle
$ sqlplus /NOLOG
SQL*Plus: Release 11.2.0.1.0 Production on Thu Jan 9 19:54:23 2014

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> CONNECT AS SYSDBA
Enter user-name: (ユーザ名)
Enter password: (パスワード)
Connected to an idle instance.
SQL> 
SQL> startup
ORACLE instance started.

リスナーが起動してない

ローカルからは接続できるのに、外部から接続できない場合は、リスナーが起動していない可能性がある。

# su - oracle
$ lsnrctl

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 10-JAN-2014 01:07:48

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Welcome to LSNRCTL, type "help" for information.

LSNRCTL> start
Starting /opt/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...
(以下略)

おしまい

今回の問題はあまりに初歩的でちょっとショックでした。でも、解決できて良かったです。DBはいろんなのをいじっているとどれがどんな操作が必要だったか忘れますよね。(という言い訳)

タイトルとURLをコピーしました