Existe un sin número de razones por las cuales se puede requerir cambiar las contraseñas de las cuentas utilizadas para administrar la base de datos. Uno de los motivos más importantes es la seguridad.
Con respecto a las cuentas de ‘sys’ y ‘system’ no hay mucho problema para cambiar las contraseñas. Lo único que se requiere hacer es :
ALTER USER SYS IDENTIFIED BY <new_password>;
ALTER USER SYSTEM IDENTIFIED BY <new_password>;
Pero para las cuentas de
sysman y
dbsnmp es una historia completamente distinta. Si por error cambiaste las contraseñas de estas cuentas con el procedimiento descrito anteriormente, te puedo asegurar que muy probablemente ahora te estás arrepintiendo de haber hecho eso y estás maldiciendo a los dioses de las bases de datos por no haber impedido que lo hicieras (lo puedo decir por experiencia propia).
Pero bueno, todo tiene una solución. A continuación mostraré los pasos que se requieren seguir para cambiar las contraseñas de estas dos cuentas:
Cuenta SYSMAN:1.- Asegúrate de que la variable de ambiente ORACLE_HOME esté definida correctamente.
2.- Detén la consola de administración de la BD: dbconsole
En Unix:
>$ORACLE_HOME/bin/emctl stop dbconsole
En Windows:
C:\>%ORACLE_HOME%\bin\emctl stop dbconsole
O en su defecto puedes detener el servicio llamado: Oracle<oracle_home_name>DBConsole
3.- Asegúrate de que la consola “dbconsole” este detenida.
En Unix:
>$ORACLE_HOME/bin/emctl status dbconsole
En Windows:
C:\>%ORACLE_HOME%\bin\emctl status dbconsole
O en su defecto puedes verificar el status del servicio llamado: Oracle<oracle_home_name>DBConsole
4.- Conéctate a la base de datos por medio del SQL*Plus con un usuario que tenga privilegios de DBA y ejecuta lo siguiente:
SQL> ALTER USER SYSMAN IDENTIFIED BY <new_password> ;
5.- Verifica que la nueva contraseña sea correcta
SQL> CONNECT SYSMAN/<new_password>[@database_alias]
6.- Dirígete al siguiente directorio: $ORACLE_HOME/[HOST]_[SID]/sysman/config
- Dentro del directorio guarda un respaldo del archivo emoms.properties, nombrándole emoms.properties.old
- Edita el archivo emoms.properties
- Busca la línea que empieza con: oracle.sysman.eml.mntr.emdRepPwd=
Remplaza el valor encriptado, asignándole como valor la nueva contraseña.
- Busca la línea: oracle.sysman.eml.mntr.emdRepPwdEncrypted=TRUE
Remplaza el valor de TRUE por FALSE
7.- Reinicia la consola de administración: dbconsole
En Unix:
>$ORACLE_HOME/bin/emctl start dbconsole
En Windows:
C:\>%ORACLE_HOME%\bin\emctl start dbconsole
O en su defecto puedes iniciar el servicio llamado: Oracle<ORACLE_HOME_NAME>DBConsole
8.- Asegúrate de que la contraseña se haya encriptado.
- Edita el archivo emoms.properties
- Busca la línea que empieza con: oracle.sysman.eml.mntr.emdRepPwd=
Verifica que el valor de la contraseña esté encriptado. - Busca la línea: oracle.sysman.eml.mntr.emdRepPwdEncrypted=TRUE
Asegúrate de que el valor esté en TRUE
Cuenta DBSNMP:
1.- Asegúrate de que la variable de ambiente ORACLE_HOME esté definida correctamente.
2.- Detén la consola de administración de la BD: dbconsole
En Unix:
>$ORACLE_HOME/bin/emctl stop dbconsole
En Windows:
C:\>%ORACLE_HOME%\bin\emctl stop dbconsole
O en su defecto puedes detener el servicio llamado: Oracle<oracle_home_name>DBConsole
3.- Asegúrate de que la consola “dbconsole” este detenida.
En Unix:
>$ORACLE_HOME/bin/emctl status dbconsole
En Windows:
C:\>%ORACLE_HOME%\bin\emctl status dbconsole
O en su defecto puedes verificar el status del servicio llamado: Oracle<oracle_home_name>DBConsole
4.- Conéctate a la base de datos por medio del SQL*Plus con un usuario que tenga privilegios de DBA y ejecuta lo siguiente:
SQL> ALTER USER DBSNMP IDENTIFIED BY <new_password> ;
5.- Verifica que la nueva contraseña sea correcta
SQL> CONNECT DBSNMP /<new_password>[@database_alias]
6.- Dirígete al siguiente directorio: $ORACLE_HOME /[HOST]_[SID]/sysman/emd
- Dentro del directorio guarda un respaldo del archivo targets.xml, nombrándole targets.xml.old
- Edita el archivo targets.xml
- Busca la línea: <Property NAME=”password” VALUE=”<[valro de la contraseña encriptado]>” ENCRYPTED=”TRUE”/>
Remplaza el valor encriptado, asignándole como valor la nueva contraseña. También remplaza el valor de TRUE por FALSE
7.- Reinicia la consola de administración: dbconsole
En Unix:
>$ORACLE_HOME/bin/emctl start dbconsole
En Windows:
C:\>%ORACLE_HOME%\bin\emctl start dbconsole
O en su defecto puedes iniciar el servicio llamado: Oracle<ORACLE_HOME_NAME>DBConsole
8.- Asegúrate de que la contraseña se haya encriptado.
- Edita el archivo targets.xml
- Busca la línea: <Property NAME=”password” VALUE=”<[valor de la contraseña encriptado]>” ENCRYPTED=”TRUE”/>
Verifica que el valor de la contraseña esté encriptado y que el valor esté en TRUE