Oracle 11g 密码过期问题 (password has expired)

早上刚进办公室,同事找我说HR的Oracle中间库密码过期登陆不上了,想着Sql Server有个密码策略,如果使用密码策略的话就需要定期修改密码,想来Oracle也应该是这个原因吧,可是怎么改呢?于是从网上找了好多方法处理好了,现备忘在这里。


1、由于是已经提示密码过期而登陆不上了,所以需要先用系统用户登陆:

开始-->运行-->cmd-->sqlplus / as sysdba


2、查看账号状态,看账号状态是不是expired(如果是locked则需要先解锁)

SQL>select username,account_status from dba_users;


3、查看用户的proifle是哪个,一般是default:

SQL>SELECT username,PROFILE FROM dba_users;


4、查看指定概要文件(如default)的密码有效期设置:

SQL>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';


5、将密码有效期由默认的180天修改成“无限制”,修改之后不需要重启动数据库,会立即生效。

SQL>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;


6、修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示,已经被提示的帐户必须再改一次密码,举例如下:

$sqlplus / as sysdba

SQL> alter user system identified by <原来的密码> ----不用换新密码



7、查看账号状态变为open了

SQL>select username,account_status from dba_users;


做完以上步骤之后,让同事登陆一下数据库,可以了,OK,大功告成:)


当出现 "the password has expired" 的错误提示时,表示Oracle数据库中的密码已经过期了。密码过期是为了增强数据库的安全性,强制用户定期更改密码。为了解决该问题,你可以按照以下步骤进行操作: 1. 打开命令提示符或者终端窗口。 2. 输入 `sqlplus` 命令并按回车键,以进入Oracle数据库的命令行界面。 3. 输入你的用户名和密码,并按回车键登录到数据库。如果你的密码过期,系统会提示你更改密码。 4. 输入以下命令来查看密码的有效期限: ``` SELECT * FROM dba_profiles WHERE profile = 'DEFAULT' AND resource_name = 'PASSWORD_LIFE_TIME'; ``` 这将显示你当前密码的有效期限。默认情况下,密码的有效期限为180天。 如果你希望取消密码过期的限制,你可以执行以下操作: 1. 使用管理员权限登录到Oracle数据库。 2. 执行以下命令来修改默认配置文件中的密码有效期限: ``` ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; ``` 这将取消密码的有效期限限制,使密码永不过期。 另外,如果你通过Navicat连接Oracle数据库时出现 "not logged on" 的错误提示,可能是因为你的数据库账户被锁定了。你可以使用以下命令来解锁账户: ``` ALTER USER 用户名 IDENTIFIED BY 密码 ACCOUNT UNLOCK; ``` 请注意,上述命令中的 "用户名" 和 "密码" 需要替换为你实际使用的用户名和密码。 总结回答如下: 当出现 "the password has expired" 的错误提示时,表示Oracle数据库中的密码过期。你可以通过进入Oracle数据库命令行界面,输入用户名和密码登录,然后查看密码的有效期限。如果你想取消密码过期的限制,可以使用管理员权限登录到数据库并执行相应的命令来修改密码的有效期限。此外,如果你的数据库账户被锁定,可以使用相应的命令来解锁账户。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值