ORACLE数据库用户账号处于expired状态如何处理

账户过期,必须要用户更改密码, 账户才能重新使用。

但有些时候, 因为各种原因, 我们并不知道原密码的明文是什么,但很多时候又不能修改已有密码,好在可以用原密码来更改密码。

在11G中,dba_users.password已经不再显示用户的密码:

SQL> select username,ACCOUNT_STATUS from dba_users where username in (‘SYSTEM‘,‘SCOTT‘);

USERNAME                       ACCOUNT_STATUS
------------------------------ --------------------------------
SCOTT                          OPEN
SYSTEM                         EXPIRED

SQL> select password from dba_users where username in (‘SYSTEM‘,‘SCOTT‘);

PASSWORD
------------------------------

在系统表user$中,可以查看用户的密码(PASSWORD)和状态(ASTATUS)

SQL> select user#,name,password,astatus from user$ where name in (‘SYSTEM‘,‘SCOTT‘);

     USER# NAME                           PASSWORD                          ASTATUS
---------- ------------------------------ ------------------------------ ----------
        83 SCOTT                          F894844C34402B67                        0
         5 SYSTEM                         2D594E86F93B17A1                        1

SQL>

可以通过上面的查询结果,用原来的密码来修改过期用户的密码:

SQL> alter user system identified by values ‘2D594E86F93B17A1‘;  

User altered.

SQL> select user#,name,password,astatus from user$ where name in (‘SYSTEM‘,‘SCOTT‘);

     USER# NAME                           PASSWORD                          ASTATUS
---------- ------------------------------ ------------------------------ ----------
        83 SCOTT                          F894844C34402B67                        0
         5 SYSTEM                         2D594E86F93B17A1                        0

SQL>

其实也可以直接修改表user$的字段ASTATUS为0,这样用户账号就变成open状态了。
ASTATUS对应的值的含义可以同过user_astatus_map查看

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

9 rows selected.

SQL>
时间: 2024-12-14 05:50:11

ORACLE数据库用户账号处于expired状态如何处理的相关文章

Oracle 违反协议 OALL8 处于不一致状态

http://blog.sina.com.cn/s/blog_a45aac720100yu3h.html ERROR-util.JDBCExceptionReporter>: 违反协议ERROR-util.JDBCExceptionReporter>: OALL8 处于不一致状态! 最近被这个问题纠结了很久,昨天终于找到了正确的解决方案,总结下, 出现这种问题的原因大致有 种: 1.连接oracle驱动不匹配.比如说在11g+jdk6.0的环境下,使用ojdbc5.jar. 2.中途修改了表结

oracle中函数处于无效状态

编译后错误提示为pls-00103:出现符号""在需要下列之一时:begin case declare 原因是:有非法字符,如:存在全角空格.

查看oracle数据库是否安装好

1.运行->cmd 2.输入sqlplus “as sysdba” 以 特殊身份登录到数据库 3. 验证数据库是否成功安装 输入select status from v$instance; 若显示数据库实例处于OPEN状态,则说明oracle数据库成功安装

Oracle 数据库启动与关闭 各种方式详解整理

概述 只有具备sysdba和sysoper系统特权的用户才能启动和关闭数据库. 在启动数据库之前应该启动监听程序,否则就不能利用命令方式来管理数据库,包括启动和关闭数据库. 虽然数据库正常运行,但如果没有启动监听程序,客户端就不能连接到数据库. 在oracle用户下: 启动监听程序 lsnrctl start 关闭监听程序lsnrctl stop 查询监听程序状态lsnrctl status startup 支持参数 STARTUP options | upgrade_options optio

安装部署oracle数据库

部署Oracle数据库 防伪码:宝剑锋从磨砺出,梅花香自苦寒来. 前言:前面我们学习过微软的sqlserver,还有甲骨文公司的mysql,也理解了数据库系统的作用,这两种数据库管理系统适用于软件,网站,游戏等后台数据库,例如我们在学习mysql的时候搭建过动态网站.但oracle属于非常安全.完善的大型数据库管理软件,在电信.银行.证券等大型应用场合拥有着绝对的优势.那么今天就给搭建介绍oracle的安装和基本的使用.Oracle可以安装到windows和linux系统上,但企业更多采用在li

oracle系列(一)”图文+解析”带你部署oracle数据库

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 前言:前面我们学习过微软的sqlserver,还有甲骨文公司的mysql,也理解了数据库系统的作用,这两种数据库管理系统适用于软件,网站,游戏等后台数据库,例如我们在学习mysql的时候搭建过动态网站.但oracle属于非常安全.完善的大型数据库管理软件,在电信.银行.证券等大型应用场合拥有着绝对的优势.那么今天就给搭建介绍oracle的

oracle数据库完全恢复和不完全恢复以及执行用户管理辈分恢复

比较完全恢复和不完全恢复: 一.完全恢复:将数据库恢复到当前最新状态,包括直至请求恢复时进行的所有已提交的数据更改 二.不完全恢复:将数据库恢复到请求恢复操作之前指定的过去时间点 一.完全恢复过程 下面的步骤说明了执行完全恢复期间要采取的操作: 1. 通过备份还原损坏或丢失的文件. 2. 根据需要应用增量备份.归档重做日志文件和联机重做日志文件中的更改.将重做日志更改应用于数据文件,直到到达当前联机日志,并且重新输入了最新的事务处理.在整个过程中会生成还原块.这称为前滚或高速缓存恢复. 3. 此

数据库启动的不同状态

启动数据库时先要找到初始化文件(spfile或pfile),此时数据库处在nomount状态(初始阶段):其次根据初始文件找到控制文件(Control File),此时数据库处在mount状态:然后根据控制文件找到数据库文件(Data File).重做日志文件(Redo File):此时数据库处在open状态,可以让用户访问数据库了. 一.关闭数据库的四个不同命令1.用SQLplus登录到数据库 sys/123456 as sysdba查看当前数据库的状态:select instance_nam

[翻译自mos文章]不完全恢复之后,open resetlogs之前,怎么快速的检查数据库是否处于一致性的状态?

不完全恢复之后,open resetlogs之前,怎么快速的检查数据库是否处于一致性的状态? 翻译自: How to quickly check that Database is consistent after incomplete recovery (Point in Time Recovery) before OPEN RESETLOGS (Doc ID 1354256.1) 适用于: Oracle Database - Enterprise Edition - Version 9.0.1