最近遇到一个Oracle的问题,密码要过期了,但是除了用户密码,其他密码都不知道了,修改不了密码怎么办呢?
试了各种方法,最终下面的方式生效了:
首先,使用orapwd生成新的密码文件:
bash
orapwd file="PWDorcl.ora" password="ps123456" entries=40 force=y
其中file是指密码文件,PWD是固定开头,orcl是实例名称。
password设置的就是sys的密码。
可以在安装目录下的database目录下查看自己对应的密码文件是啥,保持名字一样就可以。
上面的命令,很可能因为目录权限问题,直接修改不成功,可以在其他目录先生成ora文件,然后用它替换database的ora文件,重启系统
有的sys密码,其他的都好办了。
sql
sqlplus /nolog
-- 使用密码ps123456连接sys用户,作为系统dba
conn sys/ps123456 as sysdba
-- 然后就可以修改所有用户的密码了
alter user sys identified by ps123456;
修改完还可以查看解锁啥的:
sql
alter user SYSTEM account unlock;
-- 查看所有用户
select username from dba_users;