私がリモートサーバーを接続しようとしたとき-
sqlplus SYSTEM/[email protected]:1521/kannel
それは私にこのエラーを示しています
SQL*Plus: Release 11.2.0.2.0 Production on Fri Nov 15 15:36:52 2013
copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12541: TNS:no listener
リスナーを確認しました。実行中です
[root@roracle bin]# ./lsnrctl status
LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 15-NOV-2013 15:42:24
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=localhost)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
tnsnames.oraファイルに含まれる-
KANNEL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = kannel)
)
)
listener.oraファイルには
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = kannel)
(Oracle_HOME = /opt/u01/app/product/11.2.0/dbhome_1)
(SID_NAME = kannel)
)
)
LISTENER=
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))
)
)
)
sqlnet.oraファイルには
SQLNET.AUTHENTICATION_SERVICES= (ALL)
NAMES.DIRECTORY_PATH= (TNSNAMES,ONAMES,HOSTNAME)
Oracleホームパス-
$Oracle_HOME=/opt/u01/app/product/11.2.0/dbname_1
Oracleベースパス-
$Oracle_BASE=/opt/u01/app
環境変数を設定しました
[root@roracle bin]# env | sort
}
_=/bin/env
CVS_RSH=ssh
G_BROKEN_FILENAMES=1
HISTCONTROL=ignoredups
HISTSIZE=1000
HOME=/root
HOSTNAME=roracle
LANG=en_IN
LESSOPEN=|/usr/bin/lesspipe.sh %s
LOADEDMODULES=
LOGNAME=root
LS_COLORS=rs=<......something........>:
MAIL=/var/spool/mail/root
module=() { eval `/usr/bin/modulecmd bash $*`
MODULEPATH=/usr/share/Modules/modulefiles:/etc/modulefiles
MODULESHOME=/usr/share/Modules
OLDPWD=/root
Oracle_BASE=/opt/u01/app/
Oracle_HOME=/opt/u01/app/product/11.2.0/dbhome_1
Oracle_SID=kannel
PATH=/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/opt/u01/app/product/11.2.0/dbhome_1/bin
QTDIR=/usr/lib64/qt-3.3
QTINC=/usr/lib64/qt-3.3/include
QTLIB=/usr/lib64/qt-3.3/lib
Shell=/bin/bash
SHLVL=1
SSH_CLIENT=192.168.0.83 35604 22
SSH_CONNECTION=192.168.0.83 35604 192.168.0.171 22
SSH_TTY=/dev/pts/0
TERM=xterm
USER=root
ローカルホストとしてデータベースにアクセスすると-
./sqlplus / as sysdba[Oracle@roracle bin]$ ./sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Fri Nov 15 16:04:02 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL> select v$database;
select v$database
*
ERROR at line 1:
ORA-01034: Oracle not available
Process ID: 0
Session ID: 0 Serial number: 0
私はどこを間違えているのか理解できません.....誰か助けてもらえますか?
Rootとしてリスナープロセスを開始した可能性がありますか? lsnrctlステータスをユーザーrootとして試行していることがわかります。リスナープロセスをOracleユーザーとして開始し、データベースを(Oracleユーザーとしても)開始してください。
また、「アイドルインスタンスに接続しました」というメッセージが表示された場合は、実行していないインスタンスに接続している、または接続したいインスタンスに接続するための環境設定が間違っていることを意味します。
/u01/app/Oracle/product/11.0/dbhome_1/binなどのパスにOracleソフトウェアディレクトリがあることを確認します。
oracle_SIDはデータベースインスタンス名に設定されます。
Oracleユーザーとしてログインし、以下の手順を試してください。
Oracle環境を設定する
$ . oraenv # note the dot!
$ <input your SID>
ログインして起動します。
$ sqlplus / as sysdba
SQL>startup
SQL>exit;
リスナーを起動し、データベースが登録されていることを確認します。
$ lsnrctl start
$ lsnrctl status
のために
ORA-12541:TNS:リスナーがありません:
リスナーはlocalhostにのみバインドするように設定されていますが、192.168.0.171を使用してアクセスしようとしているため、listener.oraにこのインターフェイスを追加する必要があります。
(アドレス=(プロトコル= TCP)(ホスト= 192.168.0.171)(ポート= 1521))
のために
アイドル状態のインスタンスに接続されています。 ... ORA-01034:Oracleは利用できません
データベースインスタンスが開始されていません。最初にstartup;コマンドを発行し、出力を確認してください。