Search code examples
databaseoracle-databaseoracle11glistenerrhel

Moved Oracle 11.2 XE Database Directory, Connected to Idle Instance


So I will start off by stating I have moved the regular install location of Oracle 11.2 XE to a logical volume (/oracle) I had created on my RHEL 6.6 server. After shutting down both the database and the Oracle listener, I performed...

$ cp -R /u01/app/* /oracle
$ rm -rf /u01/app/oracl
$ ln -s /oracle/oracle /u01/app/oracle

Then restarted the listener and the database. Now when I attempt to run the following as the user 'oracle' I get a message...

$ sqlplus
Enter user-name: sys / as sysdba
Enter password: ****
Connected to idle instance.

Further, when I attempt a startup I get an error.

> startup
ORA-45301: XE Edition single instance violation error

I have attempted the solutions found here to no avail.

Here is the output for my listener controller:

bash-4.1$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 10-MAR-2015 10:26:25

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date                10-MAR-2015 10:25:57
Uptime                    0 days 0 hr. 0 min. 28 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Default Service           XE
Listener Parameter File   /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/dev/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dev)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

I'm really quite lost as to what to attempt next. I know I could just reinstall and keep the directory in its proper location but I need it to be in it's own logical volume.

EDIT

Some further information to help clarify my system...

bash-4.1$ env | grep ORA
ORACLE_SID=XE
ORACLE_BASE=/oracle/oracle
ORACLE_HOME=/oracle/oracle/product/11.2.0/xe

bash-4.1$ env | grep TNS
TNS_ADMIN=/oracle/oracle/product/11.2.0/xe/network/admin

bash-4.1$ ps -aux | grep pmon
oracle    2431  0.0  0.2 1265956 16652 ?       Ss   11:43   0:00 xe_pmon_XE

FURTHER EDIT

Attempting to sign in to sqlplus using the SYSTEM user returned an error:

ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory

FURTHER EDIT

Output of the ipcs command

bash-4.1$ ipcs

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status
0xc0a59444 32768      oracle     660        4096       0

------ Semaphore Arrays --------
key        semid      owner      perms      nsems
0xd4a9963c 229378     oracle     660        104
0x884d8f34 491523     oracle     660        104

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages

Solution

  • Issue was a wrong entry in tsnnames.ora (I had added a line that shouldn't of been there) and as well the permissions for my /oracle directory were incorrect. Thank you to everyone who tried to help, it was greatly appreciated.