暂无图片
Oracle 账户锁定,什么情况下alter user identified by 原有密码;就可以解锁
我来答
分享
Thomas
2022-10-13
Oracle 账户锁定,什么情况下alter user identified by 原有密码;就可以解锁

如题,我记得好像有这个功能的。但今天试了两次都没有试出来,一次主动alter user account lock锁用户,另一次让用户多登录几次,超过DEFAULT PROFILE的限制锁用户。但之后运行alter user identified by 原有密码;还是无法解锁,请问何种情况下运行次语句可行?

另外这篇文章没看大明白,

https://blog.csdn.net/weixin_35298139/article/details/116296050,不知道这样做的目的是什么?是因为DBA不知道用户密码,要将其恢复吗?

我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
哇哈哈

1、账号状态locked的话,就只能alter user username account unlock了

2、文章目的是为了密码过期之后 ,修改数据字典,达到不修改密码但是重置密码有效期的目的,比如等保让你90天改密码,新旧密码不能重复,但是你关联系统太多,应用里面配置的密码太多,或者都不知道有哪些应用要连数据库,通过这么操作可以让旧密码再用90天

3、SQL> select * from USER_ASTATUS_MAP;各种状态


STATUS# STATUS
---------- --------------------------------
0 OPEN
1 EXPIRED
2 EXPIRED(GRACE)
4 LOCKED(TIMED)
8 LOCKED
5 EXPIRED & LOCKED(TIMED)
6 EXPIRED(GRACE) & LOCKED(TIMED)
9 EXPIRED & LOCKED
10 EXPIRED(GRACE) & LOCKED

暂无图片 评论
暂无图片 有用 2
打赏 0
暂无图片
Thomas

疑惑的是,如果改了密码,user$里SPARE4和PASSWORD不都同步更新成与当前密码匹配吗?也就是说,旧的SPARE4和PASSWORD值已经被覆盖了,这种情况下,如何能恢复旧密码?

暂无图片 评论
暂无图片 有用 1
打赏 0
哇哈哈
2022-10-13
帖子里面只是验证了spare4和password的对应关系,证明操作可行性 实际的应用场景,由于密码策略,不能使用重复密码,那么,比如密码是abc快要到期了,在没改密码之前,记录abc对应的spare4和password,然后SQL> alter user xifenfei identified by values 'xxxx',数据库认为你改了密码,重新计算密码有效期,但是实际上还是旧密码
Thomas

哇哈哈,照你的说法,密码快到期前,比如当前密码是abc,如果 alter user xxx identified by abc; 系统就认为没有改密码,而alter user xxx identified by values '引用password或spare4的值';就认为是改了密码?

另外,我提到的现象产生了:

SQL> select account_status from dba_users where username='RMAN';

ACCOUNT_STATUS
------------------------------------------------------------------------------------------------
EXPIRED

Elapsed: 00:00:00.02
SQL> alter user rman identified by abdrman;

User altered.

Elapsed: 00:00:00.03
SQL> select account_status from dba_users where username='RMAN';

ACCOUNT_STATUS
------------------------------------------------------------------------------------------------
OPEN

为什么仅仅写identified by而不写 account unlock,也可以改变account_status状态?

暂无图片 评论
暂无图片 有用 1
打赏 0
哇哈哈

EXPIRED这个是过期,不是锁定locked,此时用户还可以登录,登录成功就提示你输入新密码,强制你改密码,其他啥也不能干

EXPIRED(GRACE)能登录,能干活,不强制改密码,但是提示你还有xxx天过期

暂无图片 评论
暂无图片 有用 1
打赏 0
哇哈哈


暂无图片 评论
暂无图片 有用 2
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
xtts升级问题
回答 3
参考11GReduceTransportableTablespaceDowntimeusingCrossPlatformIncrementalBackup(DocID1389592.1)
什么是行链接和行迁移?它们会给数据库性能带来什么样的影响?
回答 5
已采纳
行链接是指表中的行太大,超出了一个块的容量,导致一个行片段要在多个数据块中存储。行迁移是指在更新后,原有块不能提供长度增加后新的行片段的空间要求,此时数据库会将整个行的数据迁移到新数据块中,原有行片段
索引问题
回答 1
在检索必选的列上建立索引,即使他ABC列数据都一样,但是输入的条件应该是固定ABC中的一个。把那列建立成索引。
Oracle 用rman备份 恢复创建dg redo log和standby log都恢复不到备库 , 这是为什么?
回答 3
已采纳
只要你查询v$logfile,redolog以及standbyredolog路径正确:1.你可以在为开启dg同步之前手工执行ALTERDATABASECLEARLOGFILEGROUPx;生成物理上对
Oracle如何确认存储过程正在被调用
回答 2
已采纳
如果存储过程正在被调用,去编译它,会卡住,会话等待事件为librarycachepin。另外,如果不去编译它,可以尝试使用如下sql来检查持有该对象的会话SELECTa.SID,a.username,
awrsqrpt可以分析 超过2000字符的sql吗?
回答 1
BEGINDBMSOUTPUT.ENABLE(BUFFERSIZE>NULL);END;/
Oracle监听程序不见,如何处理?
回答 1
已采纳
重新启动一下。如果lsnrctl的程序都没有了,从其他数据库上复制一个,或者重建一下。
Oracle,同一张表,两个字段a和b,a插入或更新值时,想要实时同步给b,怎么实现?
回答 2
已采纳
方法一:对两列同时赋值或更新insertintotab1(a,b)values(1,1);updatetab1seta1,b1where…方法二:重新定义列b,将其创建为虚拟列altertableta
oracle到postgresql同步数据有工具推荐吗?
回答 1
已采纳
记得有OGG,也有 Ora2Pg,可以试试。
Oracle sys 账号下的 xxx$ 表都没有索引吗?
回答 4
XXX$表也需要做表分析,所以肯定是有索引的
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~