oracle@myserver:~$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Aug 9 13:21:46 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
También puedes conectarte a la base de datos usando un listener, pero hay problemas cuando intentas conectarte con un usuario no privilegiado:
myuser@myserver:~$ sqlplus myusr/myusr@XE
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Aug 9 13:26:27 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
SQL> exit
Disconnected from Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
myuser@myserver:~$ sqlplus myusr/myusr
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Aug 9 13:19:12 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-01034: ORACLE not available
ORA-27121: unable to determine size of shared memory segment
Linux Error: 13: Permission denied
Enter user-name:
myuser@myserver:~$ set | grep ORA
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
ORACLE_SID=XE
Que está pasando aquí? La base de datos está arriba y abierta, puedes conectarte como sysdba o usando un listener, pero no puedes conectarte a la base de datos con un usuario ordinario en el servidor.
El problema es muy simple: tienes que cambiar los permisos del ejecutable $ORACLE_HOME/bin/oracle:
oracle@myserver:~$ ls -la $ORACLE_HOME/bin/oracle
-rwxr-x--x 1 oracle dba 74016776 May 24 2006 /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle
oracle@myserver:~$ chmod ug+s $ORACLE_HOME/bin/oracle
oracle@myserver:~$ ls -la $ORACLE_HOME/bin/oracle
-rwsr-s--x 1 oracle dba 74016776 May 24 2006 /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle
Haciéndolo podrás conectarte a la base de datos Oracle en el servidor con cualquier cuenta:
myuser@myserver:~$ sqlplus myusr/myusr
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Aug 9 15:01:10 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
Otro problema que podría darse debido a la misma causa raíz y con la misma solución es un error ORA-12547:
myuser@myserver:~$ sqlplus myusr/myusr
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Aug 9 15:01:10 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12547: TNS:lost contact
Puede ser resuelto de la misma forma:
oracle@myserver:~$ chmod 6751 $ORACLE_HOME/bin/oracle
oracle@myserver:~$ ls -la $ORACLE_HOME/bin/oracle
-rwsr-s--x 1 oracle dba 74016776 May 24 2006 /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle
Más información:
ora- shared memory segment
ORA-12547: TNS:Lost Contact From SqlPlus [ID 422173.1]
No hay comentarios.:
Publicar un comentario