web-dev-qa-db-ja.com

Oracle-xe.serviceのOracle Database Express 11.2ジョブが失敗しました

環境:

  • Ubuntu 14.04
  • Oracle Database Express 11gリリース2

サービスOracle-xeを起動するとエラーが表示されます

systemctl status Oracle-xe.service

● Oracle-xe.service - LSB: Oracle 11g Express Edition
   Loaded: loaded (/etc/init.d/Oracle-xe)
   Active: failed (Result: exit-code) since lun 2015-08-24 22:24:32 CEST; 18min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 12274 ExecStart=/etc/init.d/Oracle-xe start (code=exited, status=1/FAILURE)

... systemd[1]: Starting LSB: Oracle 11g Express Edition...
... Oracle-xe[12274]: Starting Oracle Net Listener.
... su[12282]: No passwd entry for user 'Oracle'
... Oracle-xe[12274]: Starting Oracle Database 11g Express Edition instance.
... su[12288]: No passwd entry for user 'Oracle'
... Oracle-xe[12274]: Failed to start Oracle Net Listener using /u01/app/Oracle/product/11.2.0/xe/bin/tnslsnr and Oracle Express Database using /u01/app/Oracle/product/11.2.0/xe/bin/sqlplus.
... systemd[1]: Oracle-xe.service: control process exited, code=exited status=1
... systemd[1]: Failed to start LSB: Oracle 11g Express Edition.
... systemd[1]: Unit Oracle-xe.service entered failed state.
... systemd[1]: Oracle-xe.service failed.

... su [12282]:ユーザー 'Oracle'のpasswdエントリがありません

journalctl -xe

...
.. polkitd(authority=local)[641]: Registered Authentication Agent for unix-process:12249:680724 (system bus name :1.73 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale es_ES.UTF-8)
... systemd[1]: Starting LSB: Oracle 11g Express Edition...
-- Subject: Unit Oracle-xe.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit Oracle-xe.service has begun starting up.
... Oracle-xe[12274]: Starting Oracle Net Listener.
... su[12282]: No passwd entry for user 'Oracle'
... su[12282]: FAILED su for Oracle by root
... su[12282]: - ??? root:Oracle
... Oracle-xe[12274]: Starting Oracle Database 11g Express Edition instance.
... su[12288]: No passwd entry for user 'Oracle'
... su[12288]: FAILED su for Oracle by root
... su[12288]: - ??? root:Oracle
... Oracle-xe[12274]: Failed to start Oracle Net Listener using /u01/app/Oracle/product/11.2.0/xe/bin/tnslsnr and Oracle Express Database using /u01/app/Oracle/product/11.2.0/xe/bin/sqlplus.
... systemd[1]: Oracle-xe.service: control process exited, code=exited status=1
... systemd[1]: Failed to start LSB: Oracle 11g Express Edition.
-- Subject: Unit Oracle-xe.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit Oracle-xe.service has failed.
-- 
-- The result is failed.
... systemd[1]: Unit Oracle-xe.service entered failed state.
... systemd[1]: Oracle-xe.service failed.
... polkitd(authority=local)[641]: Unregistered Authentication Agent for unix-process:12249:680724 (system bus name :1.73, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale es_ES.UTF-8) (disconnected from bus)
... Sudo[12248]: pam_unix(Sudo:session): session closed for user root
... pkexec[12404]: pam_unix(polkit-1:session): session opened for user root by (uid=1000)
... pkexec[12404]: jose: Executing command [USER=root] [TTY=unknown] [CWD=/home/jose] [COMMAND=/usr/lib/update-notifier/package-system-locked]
... kernel: Toshiba_acpi: Unknown key 120
1
Joe

Joeは、2つのコマンドを実行するための並外れた方法を提供しました。このバージョンのOracle Databaseでは、他のバージョンとほとんど同じです。 an OracleRUEI Installation Guide および theOracle 12c Database Quick Installation Guide 参照するもの:

#useradd -g oinstall -G dba Oracle 
#passwd Oracle 
2
JdeBP

この問題を解決するには、完全にアンインストールして( アンインストール手順 )、次の手順に従って再インストールする必要があります。

Oracle Database Expressのインストール手順install instruccions

1)以下からOracle 11gR2 Express Editionインストーラーをダウンロードします link

2)解凍:

unzip Oracle-xe-11.2.0-1.0.x86_64.rpm.Zip

3)次のパッケージをインストールします。

Sudo apt-get install alien libaio1 unixodbc vim

4)red-hat(rpm)パッケージをUbuntuパッケージに変換します:Sudo alien --scripts -d Oracle-xe-11.2.0-1.0 .x86_64.rpm

(注:これには時間がかかる場合がありますが、それまではステップ5に進むことができます)

5)次の前提条件を実行します。

a)特別なchkconfigスクリプトを作成します:

Oracle XE 11gR2のRed Hatベースのインストーラーは、Ubuntuでは使用されない/ sbin/chkconfigに依存しています。 Ubuntuの現在のバージョンで使用可能なchkconfigパッケージはエラーを生成し、使用しても安全ではありません。以下は、問題を回避してOracle XEを正常にインストールするための簡単なトリックです。

Sudo vim /sbin/chkconfig

(以下をコピーしてファイルに貼り付けます)

#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Ubuntu
file=/etc/init.d/Oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
echo >> $file
echo '### BEGIN INIT INFO' >> $file
echo '# Provides: OracleXE' >> $file
echo '# Required-Start: $remote_fs $syslog' >> $file
echo '# Required-Stop: $remote_fs $syslog' >> $file
echo '# Default-Start: 2 3 4 5' >> $file
echo '# Default-Stop: 0 1 6' >> $file
echo '# Short-Description: Oracle 11g Express Edition' >> $file
echo '### END INIT INFO' >> $file
fi
update-rc.d Oracle-xe defaults 80 01

上記のファイルを保存し、適切な実行権限を提供します。

chmod 755 /sbin/chkconfig

b)カーネルパラメーターの設定:Oracle 11gR2 XEでは、次の追加のカーネルパラメーターを設定する必要があります。

Sudo vim /etc/sysctl.d/60-Oracle.conf 

(次のように入力します)

# Oracle 11g XE kernel parameters  
fs.file-max=6815744  
net.ipv4.ip_local_port_range=9000 65000  
kernel.sem=250 32000 100 128 
kernel.shmmax=536870912 

(ファイルを保存する)

注:kernel.shmmax =可能な最大値、例:物理サイズRAM(バイト単位、たとえば512MB RAM == 512 * 1024 * 1024 == 536870912バイト)変更を確認します。

Sudo cat /etc/sysctl.d/60-Oracle.conf 

新しいカーネルパラメータをロードします。

Sudo service procps start  

確認:Sudo sysctl -q fs.file-max

-> fs.file-max = 6815744

c)システムスワップスペースを増やす:次のコマンドで現在のスワップスペースを分析します。

free -m 

Oracle 11gR2 XEの最小スワップスペース要件は2 GBです。の場合、以前の投稿の私のいずれかの手順に従って、あなたがより少ない場合、それを増やすことができます。

d)さらに必要な変更を行います。

i)ln -s /usr/bin/awk /bin/awk

ii)mkdir /var/lock/subsys

iii)touch /var/lock/subsys/listener

6)これで、Oracle 11gR2 XEをインストールする準備ができました。手順4でubuntuパッケージファイルを作成したディレクトリに移動し、ターミナルで次のコマンドを入力します。

a)Sudo dpkg --install Oracle-xe_11.2.0-2_AMD64.deb

更新:次のステップに進む前に、MEMORY TARGETまたはその他の「共有メモリ」エラーを回避するために、このトラブルシューティングポストをご覧ください。

b)Sudo /etc/init.d/Oracle-xe configure次の構成情報を入力します。

A valid HTTP port for the Oracle Application Express (the default is 8080)  
A valid port for the Oracle database listener (the default is 1521) 
A password for the SYS and SYSTEM administrative user accounts
Confirm password for SYS and SYSTEM administrative user accounts
Whether you want the database to start automatically when the computer starts (next reboot).

7)Oracle 11gR2 XEの使用を開始する前に、次のものを設定する必要があります:a)環境変数を設定します。bashrcに次の行を追加します。

export Oracle_HOME=/u01/app/Oracle/product/11.2.0/xe
export Oracle_SID=XE
export NLS_LANG=`$Oracle_HOME/bin/nls_lang.sh`
export Oracle_BASE=/u01/app/Oracle
export LD_LIBRARY_PATH=$Oracle_HOME/lib:$LD_LIBRARY_PATH
export PATH=$Oracle_HOME/bin:$PATH

b).profileを実行して、変更をロードします。

. ./.profile

8)Oracle 11gR2 XEを起動します。

Sudo service Oracle-xe start

The output should be similar to following :
user@machine:~$ Sudo service Oracle-xe start
Starting Oracle Net Listener.
Starting Oracle Database 11g Express Edition instance.
user@machine:~$

9)ユーザーを作成します:

a)sqlplusを起動し、sysとしてログインします。

sqlplus sys as sysdba

(ステップ6(ii)でOracleを構成するときに指定したパスワードを入力します)。これは次のようになるはずです:

SQL*Plus: Release 11.2.0.2.0 Production on Wed May 9 12:12:16 2012

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

Enter password:

Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL>

b)sqlプロンプトで次のように入力します。ユーザー名とパスワードを希望のものに置き換えます。

SQL> create user username identified by password;

User created.

SQL> grant connect,resource to username;

Grant succeeded. 

10)ユーザーを作成したら、ログインできます:

user@machine:~$ sqlplus

SQL*Plus: Release 11.2.0.2.0 Production on Wed May 9 12:28:48 2012

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

Enter user-name: temp
Enter password:

Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL> select 2+2 from dual;
2+2
----------
4
SQL>
2
Joe