2009-06-13 14 views
10

Quiero conectar usuario sys en sqlplus de Oracle, pero después me conecto, escribo de esta manera:Connect SQLPLUS en el oráculo

sqlplus sys as sysdba 
password:123456 
Error: 
    ORA-01030:insufficient privilege 

    warning:You are no longer to connect oracle. 

¿Alguien me ayude a resolver mi problema?

+0

Si está seguro de que sus privilegios están configurados correctamente, una cosa más podría intentar: "crear un archivo llamado sqlnet.ora en su directorio ORA_HOME \ network \ network \ admin y agregarle la siguiente línea: SQLNET.AUTHENTICATION_SERVICES = (NTS) Luego guarde ". Ver más aquí: http://it.toolbox.com/blogs/david/ora01031-insufficient-privileges-upon-instance-startup-13759 – bernie

Respuesta

6

¿La cuenta de usuario de su sistema operativo está iniciada como miembro del grupo ORA_DBA (Windows) o del grupo DBA (* nix)?

Si la respuesta es sí, lo siguiente que se debe comprobar es la existencia del archivo ORACLE_HOME \ database \ orapwORCL.ora, que contiene las contraseñas de todos los usuarios definidos como usuarios de sysdba. Si no existe, es necesario apagar la base de datos y ejecutar la utilidad orapwd:

  • cd ORACLE_HOME \ base de datos
  • archivo orapwd = orapwORCL.ora password = 123456 entradas = 10

Este define la contraseña de sys como 123456. Debería poder iniciar la base de datos y conectar sys/123456 como sysdba

El archivo de contraseña debe existir para la autenticación password = based en los inicios de sesión sysdba. La razón de esto es el hecho de que las conexiones sysdba deben permitirse cuando la base de datos no está activa y la base de datos no puede autenticarte.

18

Su ejemplo se ve un poco distorsionado; para conectarse a sqlplus a través de la línea de comandos, con un usuario y contraseña sys123456:

sqlplus sys/123456 as sysdba 

o

sqlplus "sys/123456 as sysdba" 

antes de Oracle 10. Si ya se encuentra en el interior del sqlplus (como supongo del hecho que su ejemplo comienza con un SQL>), se utiliza el comando connect:

SQL> connect sys/123456 as sysdba 

En todos los casos, si no se ha establecido la variable de entorno ORACLE_SID, es necesario que especifique que después de la contraseña, así:

sqlplus sys/[email protected]<mydbname> as sysdba 

donde <mydbname> es o bien de la forma <hostname>/<sid>, si está utilizando Oracle 10 o posterior, o una entrada válida de su archivo tnsnames.ora (que se encuentra en $ORACLE_HOME/network/admin) para todas las versiones.