今天一早接到电话,应用启动不了,火速赶往。。
问题一:ORA-28001: the password has expired
密码过期后,业务进程连接数据库异常。
1)、使用sqlplus / as sysdba;命令进入系统,然后查询下用户状态
select username,account_status from dba_users;
看到我使用的用户密码过期了,状态显示EXPIRED 也有的用户状态是EXPIRED&LOCKED,正常的应该是OPEN的。
2)、使用alter user ink identified by <原来的密码> ,把密码重置下就可以。如果用户状态是EXPIRED&LOCKED,需要使用下面SQL解除下LOCKED状态
alter user db_user account unlock;无需重启数据库
3)、再使用下面的SQL查看用户密码过去时间,11G版本的过期密码都是180天。
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'
4)、破解密码为无限制过期
Alter PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
问题二:ORA-12505,SID注册出现问题,修改如下
1.在oracle目录下查找listener.ora文件,修改成如下格式的:
# listener.ora Network Configuration File: D:\app\oracle11g\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\app\oracle11g)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORA11G)
(ORACLE_HOME = D:\app\oracle11g)
(SID_NAME = ora11g)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)