web-dev-qa-db-ja.com

lsnrctlがUbuntu 14.04で機能しない

なんとかインストールできました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 +xlistenerを実行可能にします(まだ出力はありません)。

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
1
iso_9001_

Lsnrctlのバイト数が0であるため、Oracleソフトウェアを正しくインストールしなかったか、インストールが破損しています。したがって、Oracleソフトウェアを再インストールします。

1
miracle173

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で確認してください。

0
Marco