web-dev-qa-db-ja.com

UbuntuでOracle10gを起動すると、リスナーを起動できませんでした

Oracle10gをubuntu10.xにインストールしました。これは初めてのインストールです。インストール後、以下のコマンドで起動してみました。

tsegay@server-name:/u01/app/Oracle/product/10.2.0/db_1/bin$ lsnrctl

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 29-DEC-2010 22:46:51

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

Welcome to LSNRCTL, type "help" for information.

LSNRCTL> start
Starting /u01/app/Oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /u01/app/Oracle/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /u01/app/Oracle/product/10.2.0/db_1/network/log/listener.log
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
TNS-12555: TNS:permission denied
 TNS-12560: TNS:protocol adapter error
  TNS-00525: Insufficient privilege for operation
   Linux Error: 1: Operation not permitted

Listener failed to start. See the error message(s) above...

私のlistener.oraファイルは次のようになります。

# listener.ora Network Configuration File: /u01/app/Oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (Oracle_HOME = /u01/app/Oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(Host = acct-vmserver)(PORT = 1521))
    )
  )

問題は許可の問題にあると推測できますが、許可の変更をどこで行う必要があるのか​​わかりません。

どんな助けも大歓迎です...

編集##

コマンドSudoで実行すると、これが表示されます

tsegay@server-name:/u01/app/Oracle/product/10.2.0/db_1$ Sudo ./bin/lsnrctl start

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 30-DEC-2010 01:01:03

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

Starting ./bin/tnslsnr: please wait...

./bin/tnslsnr: error while loading shared libraries: libclntsh.so.10.1: cannot open shared object file: No such file or directory
TNS-12547: TNS:lost contact
 TNS-12560: TNS:protocol adapter error
  TNS-00517: Lost contact
   Linux Error: 32: Broken pipe
4
tkt986

リスナーは、Oracleのインストールに使用したのと同じアカウントを使用して開始する必要があります。通常、このアカウントの名前は「Oracle」です。

Sudoを使用する場合、コマンドラインは次のようになります。

Sudo -H -u Oracle /u01/app/Oracle/product/10.2.0/db_1/bin/lsnrctl start

(ところで、Ubuntuを使用してOracleデータベースを実行することはOracleによってサポートされているとは思いません)

2
Benoit

Oracle DB 11.2.0.1、Linux x86-64をLubuntu 11.10 x86_64にインストールするという骨の折れるプロセスの後、makefileの多くの修正が含まれ、リスナーの仕事:

  • 常にOracleDBインストール所有者を使用してください。例:su - Oracle
  • export Oracle_HOME="/u01/app/Oracle/product/10.2.0/db_1"
  • export LD_LIBRARY_PATH="${Oracle_HOME}/lib"
  • export PATH="${Oracle_HOME}/bin:${PATH}"
  • dbstart DBを起動するには、リスナーが自動的に起動する必要があります
  • lsnrctl status実際にリッスンしていることを確認する

これらの3つのエクスポートをOracle.bashrcファイルに永続的に保持することをお勧めします。

それでもリスナーのステータスがOKでない場合は、Oracleユーザーがネットワークで許可されたグループのメンバーであることを確認してください。Lubuntuの場合はグループですnetdev。これは、システムツール>ユーザーとグループ> Oracle>詳細設定>ユーザー権限>ワイヤレスおよびイーサネットネットワークへの接続で設定できます。または、管理者アカウントを使用してSudo usermod -aG netdev Oracleを発行します。この場合はtsegayです。 Oracleユーザーの新しいシェル(またはログアウト+ログイン)を開始して、変更を確認することを忘れないでください。

追伸:私のlistener.oraは次のようなものです:

LISTENER =
    (ADDRESS_LIST =
        (ADDRESS =
            (PROTOCOL = tcp)
            (Host = localhost)
            (PORT = 1521)
        )
    )

SID_LIST_LISTENER =
    (SID_LIST =
        (SID_DESC =
            (GLOBAL_DBNAME = PLSExtProc)
            (SID_NAME = PLSExtProc)
            (Oracle_HOME = /u01/app/Oracle/product/10.2.0/db_1)
        )
    )
1
charlie

LD_LIBRARY_PATHは、Oracleライブラリディレクトリを含むように設定されていますか?

インストールが完了した後、root.shスクリプトを実行しましたか?

1
DCookie

十分な権限がある場合は、Sudo lsnrctlを試すことができます。

0
Raghuram