Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1182589
  • 博文数量: 398
  • 博客积分: 10110
  • 博客等级: 上将
  • 技术积分: 4055
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-23 20:01
个人简介

新博客http://www.cnblogs.com/zhjh256 欢迎访问

文章分类

全部博文(398)

文章存档

2012年(1)

2011年(41)

2010年(16)

2009年(98)

2008年(142)

2007年(100)

我的朋友

分类: Oracle

2008-01-06 21:41:35

如果需要以其他用户的身份登陆,而又不更改它们的密码,可以使用这种简单的方式,但是需要类DBA的密码:

SQL> select username, password from dba_users where username = 'SCOTT';

USERNAME                       PASSWORD
------------------------------ ------------------------------
SCOTT                          F894844C34402B67

知道了16进制哈希值后,可以使用以下语句更改密码:

SQL> alter user scott identified by newpassword;
User altered.

SQL> connect scott/newpassword
Connected.
SQL> select count(*) from dept;

  COUNT(*)
----------
         4

登陆成功后,改回密码:

SQL> connect / as sysdba
Connected.
SQL> alter user scott identified by values 'F894844C34402B67';
User altered.

SQL> connect scott/tiger
Connected.

此时用户就可以重新使用tiger密码登陆。

关键是alter user X identified by values,这可以极大的方便了DBA在某些情况下的工作。需要注意的是,仅仅在DBA_USERS中包含了PASSWORD列,USER_USERSALL_USERS都没有这个列。

       但是如果使用配置文件设置了PASSWORD_REUSE_MAXUNLIMITED以外的值,那么将无法将密码设置回原来的值。

阅读(584) | 评论(0) | 转发(0) |
0

上一篇:闪回回顾

下一篇:使用绑定变量

给主人留下些什么吧!~~