なんとかインストールできましたOracle 11g
オン Ubuntu 14.04
たくさんの痛みを経て。最終的にはなんとかインストールできましたが、listener
が機能しておらず、コマンドに応答していません。
ぼくの /home/Oracle/.bash_profile
は
R=$TMP; export TMPDIR
Oracle_HOSTNAME=belgenet-test.localdomain; export Oracle_HOSTNAME
Oracle_UNQNAME=orcl; export Oracle_UNQNAME
Oracle_BASE=/u01/app/Oracle; export Oracle_BASE
DB_HOME=$Oracle_BASE/product/11.2.0/db_1; export DB_HOME
Oracle_HOME=$DB_HOME; export Oracle_HOME
Oracle_SID=orcl; export Oracle_SID
Oracle_HOME_LISTNER=$Oracle_HOME export Oracle_HOME_LISTNER
Oracle_TERM=xterm; export Oracle_TERM
BASE_PATH=/usr/sbin:$PATH; export BASE_PATH
PATH=$Oracle_HOME/bin:$PATH:$Oracle_HOME/OPatch:$BASE_PATH; export PATH
LD_LIBRARY_PATH=$Oracle_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$Oracle_HOME/JRE:$Oracle_HOME/jlib:$Oracle_HOME/rdbms/jlib; export CLASSPATH
私のhosts
ファイル:
127.0.0.1 localhost
10.0.1.23 belgenet-test
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ぼくの Oracle_HOME
およびPATH
変数が機能しています:
Oracle@belgenet-test:/u01/app/Oracle/product/11.2.0/db_1/bin$ echo $Oracle_HOME
/u01/app/Oracle/product/11.2.0/db_1
Oracle@belgenet-test:/u01/app/Oracle/product/11.2.0/db_1/bin$ echo $PATH
/u01/app/Oracle/product/11.2.0/db_1/bin:/u01/app/Oracle/product/11.2.0/db_1/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/u01/app/Oracle/product/11.2.0/db_1/OPatch:/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/u01/app/Oracle/product/11.2.0/db_1/OPatch:/usr/sbin:/u01/app/Oracle/product/11.2.0/db_1/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/u01/app/Oracle/product/11.2.0/db_1/OPatch:/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
ただし、lsnrctl
コマンドはまったく応答しません。
Oracle@belgenet-test:/u01/app/Oracle/product/11.2.0/db_1/bin$ lsnrctl status
Oracle@belgenet-test:/u01/app/Oracle/product/11.2.0/db_1/bin$ lsnrctl start
Oracle@belgenet-test:/u01/app/Oracle/product/11.2.0/db_1/bin$
何が問題でしょうか?
PS:sqlplus
に接続できます
編集1:
ぼくの listener.ora
ファイルの内容:
# listener.ora Network Configuration File: /u02/app/Oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(Host = belgenet-test)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /u01/app/Oracle
編集2:
ぼくの tnsnames.ora
ファイル:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(Host = 10.0.1.23)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
tnsping orcl
結果:
TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 03-DEC-2015 17:12:15
Copyright (c) 1997, 2013, Oracle. All rights reserved.
Used parameter files:
/u01/app/Oracle/product/11.2.0/db_1/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(Host = 10.0.1.23)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))
TNS-12541: TNS:no listener
lsnrctl status
は何も出力しませんまったく
編集3:
lsnrctl
権限:
Oracle@belgenet-test:/u01/app/Oracle/product/11.2.0/db_1/bin$ ls -lah lsnrctl
-rwxr-xr-x 1 Oracle oinstall 0 Aug 24 2013 lsnrctl
chmod 755 lsnrctl
、次にlsnrctl
がまったく機能せず、エラーメッセージ-sh: lsnrctl: command not found
だが chmod +x
はlistener
を実行可能にします(まだ出力はありません)。
lsnrctl
の所有者はOracle:oinstall
編集4:
lsnrctl
の所有権
Oracle@belgenet-test:/u01/app/Oracle/product/11.2.0/db_1/bin$ chmod 755 lsnrctl
Oracle@belgenet-test:/u01/app/Oracle/product/11.2.0/db_1/bin$ lsnrctl start
Oracle@belgenet-test:/u01/app/Oracle/product/11.2.0/db_1/bin$
Oracle@belgenet-test:/u01/app/Oracle/product/11.2.0/db_1/bin$ chmod +x lsnrctl
Oracle@belgenet-test:/u01/app/Oracle/product/11.2.0/db_1/bin$ lsnrctl start
Oracle@belgenet-test:/u01/app/Oracle/product/11.2.0/db_1/bin$
Oracle@belgenet-test:/u01/app/Oracle/product/11.2.0/db_1/bin$ ls -lh lsnrctl
-rwxr-xr-x 1 Oracle oinstall 0 Aug 24 2013 lsnrctl
Oracle@belgenet-test:/u01/app/Oracle/product/11.2.0/db_1/bin$
編集5:
はい、問題が発生しました。 ls
コマンドは、lsnrctl
ファイルのサイズが0バイトであることを表示しました。私は別のコンピューターからlsnrctl
をコピーしましたが、出力が表示されます(まだエラーです):
Oracle@belgenet-test:~$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 04-DEC-2015 09:27:31
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Starting /u01/app/Oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
Linux Error: 32: Broken pipe
Lsnrctlのバイト数が0であるため、Oracleソフトウェアを正しくインストールしなかったか、インストールが破損しています。したがって、Oracleソフトウェアを再インストールします。
ADDRESS_LIST
ファイルに行(listener.ora
)がないようです:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = BELGENETTEST)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
)
コマンドlsnrctl status
は、パラメーターとこのサーバーで実行されるデータベースのリストを出力します。
クライアントマシンのnetwork\admin
ディレクトリを確認して、データベースに接続するための情報を含むtnsnames.ora
ファイルがあるかどうかを確認します。コマンドtnsping orcl
で確認してください。