problemas con la contraseña sys

pepeito
30 de Septiembre del 2004
Tengo un problema con un grupo de bases de datos que estoy haciendo. Resulta que tenía creada una con la instalación Y CREÉ OTRA MANUALMENTE.

Con ORADIM CREE EL SERVICIO ASI:

oradim -new -sid db3 -intpwd oracle -startmode auto -pfile [...]

Luego hice tol rollo de creación de la DB y tal, to muy bn... PEROOO, resulta que cuando vouy a conectarme desde el propio servidor o desde una máquina cliente como usuario SYS, DA IGUAL EL PASSWORD QUE PONGA por que se lo pasa por yo que sé donde:

conn sys/[email protected] as sysdba =>entra perfecto

conn sys/[email protected] as sysdba =>Entra perfecto también(???)

Se supone que con el oradim he fijado que el pass es oracle no???
De todas formas probé a crear un fich. de pass con ORAPWD(orapwd file=pwddb3.ora password=oracle) y lo puse en ORACLE_HOME/database/pwddb3.ora, pero sique pudiendo entrar con cualquier contraseña.

Si sólo pasase en el server todavia PERO Q CUALQUIER USUARIO EN CUALQUIER EQUIPO PUEDA ENTRAR COMO SYS PONIENDO EL PASS QUE QUIERA!!!???

Supongo que será una chorrada pero es que a mi nunca me habia pasado!!! alguien sabe pq pasa esto y como solucionarlo???

GRACIAS ANTICIPADAS....

(W2000 con Oracle 9i)

pepeito
30 de Septiembre del 2004
ya me han soplao la solucion :) hay que comentar la linea del sqlnet.ora (sito en %ORACLE_HOME%network/admin) que inhabilita a los usuarios de OS pa que hagan login sin el pass:

SQLNET.AUTHENTICATION_SERVICES= (NTS)

Ojala sirva a alguien...

Jorge-DBA
30 de Septiembre del 2004
Que tal:

Recuerda que existen 2 formas de la validacion de Passwords dependiendo de la conexión, una es por el archivo encriptado ORAPWD.ora y éste, esta configurado para usuarios con los privilegios de systema SYSDBA y SYSOPER, la segunda es atravéz del catálogo de la base de datos.

La diferencia es la siguiente:

La primera validación es por medio de dicho archivo, los usuarios con privilegios de SYSDBA y SYSOPER pueden iniciar y cerrar una base de datos, entre otras cosas, los usuarios que no tengan dicho privilegio, no pueden realizar esta tarea.


La segunda validación es por medio del catálogo de Oracle y la base de datos tiene que estar disponible y abierta, de lo contrario no se harán dichas validaciones.

Es por eso que puede ser algo confuso, pareciera que tienes 2 passwords diferentes para el mismo usuario sys, pero lo que sucede es que existe un password diferente en el archivo externo de la base de datos y otro en el catálogo, como puede ocurrir esto es por que se ha recreado la instancia con la utilería ORADIM o bien se ha recreado o alterado el archivo exteno de passwords con la utilería ORAPWD, de esta forma el catálogo no se altera, para mantenerlo igual tienes que tener la base de datos disponible y abierta y conectarte con algun usuario con privilegios de "ALTER USER" (o el mismo usuario sys) y alterar el password, de esa manera Oracle alterará tambien el archivo de passwords externo.

ejemplo:

c:sqlplus /nolog

connect sys/[email protected] as sysdba
connected.

connect sys/[email protected] as sysdba
connected. ??????????

SQL>alter user sys identified by newpass;

en este caso se altera el archivo de passwords externo y el catálogo de la base de datos y tanto para conectarte desde el Sistema operativo y cerrar o iniciar una base de datos como para una sesion de sqlplus con la base de datos abierta y disponible tendrá que ser el password "newpass".

c:sqlplus /nolog

connect sys/[email protected] as sysdba
connected.

connect sys/[email protected] as sysdba
connected.


Saludos.