在linux环境下不重启oracle解决数据库密码过期的问题

(1) 以oracle身份登录数据库,命令:su – oracle

 注意:加了"-",是以login shell登陆的,所以会设置环境变量,如果不加,则使用的还是切换前用户的环境变量,所以会出错。

 

(2) 进入Sqlplus控制台,命令:sqlplus /nolog

(3) 以系统管理员登录,命令:connect /as sysdba

(4)  关闭数据库,命令:shutdown immediate

(5)启动数据库,命令:startup

(6) 退出sqlplus控制台,命令:exit

(7) 进入监听器控制台,命令:lsnrctl

(8) 启动监听器,命令:start

(9) 退出监听器控制台,命令:exit

(10)重启数据库结束 

密码过期 按照如下步骤进行操作:
1、查看用户的proifle是哪个,一般是default:
sql>Select username,PROFILE FROM dba_users;
2、查看指定概要文件(如default)的密码有效期设置:
sql>Select * FROM dba_profiles s Where s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
3、将密码有效期由默认的180天修改成“无限制”:
sql>Alter PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改之后不需要重启动数据库,会立即生效。
4、修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示;
已经被提示的帐户必须再改一次密码,举例如下:
$sqlplus / as sysdba
sql>alter user <用户名> identified by <原来的密码> ----不用换新密码,也不用重启oracle或者服务。

posted @ 2019-11-21 20:13  达摩院的BLOG  阅读(384)  评论(0编辑  收藏  举报