1

Environment:

  • Ubuntu 14.04
  • Oracle Database Express 11g Release 2

I'm receiving an error by starting service 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.

I think that the problem could be with: ... su[12282]: No passwd entry for user 'oracle'

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
2

Joe has provided an extraordinarily roundabout way of running two commands. They're much the same in this version of Oracle Database as other versions. Here they are, straight from an Oracle RUEI Installation Guide and the Oracle 12c Database Quick Installation Guide that it references:

# useradd -g oinstall -G dba oracle
# passwd oracle
1
  • Maybe it's obvious but I had to create 'oinstall' and 'dba' groups # addgroup – rubdottocom Mar 1 '17 at 11:17
2

To resolve the issue, you should uninstall completely (uninstall instructions) and then reinstall following the next steps.

Instructions to install Oracle Database Express (install instruccions)

1) Download the Oracle 11gR2 express edition installer from the following link

2) Unzip it :

unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip

3) Install the following packages :

sudo apt-get install alien libaio1 unixodbc vim

4) Convert the red-hat ( rpm ) package to Ubuntu-package : sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm

(Note: this may take a while , till that time you can go for step 5 )

5) Do the following pre-requisite things:

a) Create a special chkconfig script :

The Red Hat based installer of Oracle XE 11gR2 relies on /sbin/chkconfig, which is not used in Ubuntu. The chkconfig package available for the current version of Ubuntu produces errors and my not be safe to use. Below is a simple trick to get around the problem and install Oracle XE successfully:

sudo vim /sbin/chkconfig

(copy and paste the following into the file)

#!/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

Save the above file and provide appropriate execute privilege :

chmod 755 /sbin/chkconfig

b) Set the Kernel parameters : Oracle 11gR2 XE requires to set the following additional kernel parameters:

sudo vim /etc/sysctl.d/60-oracle.conf 

(Enter the following)

# 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 

(Save the file)

Note: kernel.shmmax = max possible value, e.g. size of physical RAM ( in bytes e.g. 512MB RAM == 512*1024*1024 == 536870912 bytes ) Verify the change :

sudo cat /etc/sysctl.d/60-oracle.conf 

Load new kernel parameters:

sudo service procps start  

Verify: sudo sysctl -q fs.file-max

-> fs.file-max = 6815744

c) Increase the system swap space : Analyze your current swap space by following command :

free -m 

Minimum swap space requirement of Oracle 11gR2 XE is 2 GB . In case, your is lesser , you can increase it by following steps in my one of previous post .

d) make some more required changes :

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

ii) mkdir /var/lock/subsys

iii) touch /var/lock/subsys/listener

6) Now you are ready to install Oracle 11gR2 XE. Go to the directory where you created the ubuntu package file in Step 4 and enter following commands in terminal :

a) sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb

Update : Before you proceed to next step , do have a look at this trouble-shooting post in order to avoid MEMORY TARGET or any other "shared memory" error.

b) sudo /etc/init.d/oracle-xe configure Enter the following configuration information:

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) Before you start using Oracle 11gR2 XE you have to set-up more things : a) Set-up the environmental variables : Add following lines to your .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) execute your .profile to load the changes:

. ./.profile

8) Start the 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) Create your user :

a) Start sqlplus and login as sys :

sqlplus sys as sysdba

( provide the password you gave while configuring the oracle in Step 6 (ii) ). This should come to following :

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) Enter following on the sql prompt : Replace username and password by your desired ones.

SQL> create user username identified by password;

User created.

SQL> grant connect,resource to username;

Grant succeeded. 

10) Now as you have created the user , you can login to it :

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>
0

Not the answer you're looking for? Browse other questions tagged or ask your own question.