oracle 11g dba用户秘密修改其他用户密码
有時候我們可能不知道一個用戶的密碼,但是又需要以這個用戶做一些操作,又不能去修改掉這個用戶的密碼,這個時候,就可以利用一些小竅門,來完成操作。
这个操作,在11g和11g以前的版本是不一样的:
具體操作過程如下:
C:Userschandler>sqlplus /nolog
SQL*Plus: Release 11.2.0.3.0 Production on 星期一 7月 2 18:04:57 2012
Copyright (c) 1982, 2011, Oracle. All rights reserved.
SQL> connect sys/oracle as sysdba
已連接。
sql > create user cis identified by cis;
sql >grant connect,resource to cis;
--以 cis用户登陆,创建一张表
sql >conn cis/cis
sql >create table test (code varchar2(20));
--以sys登陆,查看 cis用户的密码
sql>conn / as sysdba
sql>
SQL> select username,password from dba_users where username='CIS';
USERNAME PASSWORD
------------------------------ ------------------------------
CIS
我们看到,以前可以在dba_users可以看到的密码,现在在dba_users的password为空了。
我们可以在user$的password中看到:
SQL> select name,password from USER$ where name='CIS';
NAME PASSWORD
------------------------------ ------------------------------
CIS 7653EBAF048F0A10
修改cis密码为其他密码,比如cis123
SQL> connect / as sysdba
SQL> alter user cis identified by cis123;
用户已更改。
SQL> select name,password from USER$ where name='CIS';
NAME PASSWORD
------------------------------ ------------------------------
CIS 7C6E878D447406A4
SQL> connect cis/cis123
已连接。
然後此時可以做想要做的任何操作了
比如插入一条记录
insert into test values('001');
commit;
--之后,我们修改cis用户密码为以前的密码
SQL> connect / as sysdba
已連接。
修改用戶system密碼爲以前的值
SQL> alter user cis identified by values '7653EBAF048F0A10';
用戶已更改。
SQL> connect cis/cis
已連接。
表明已经修改回以前的密码
如果再以新密码登陆,就会包错了
SQL> connect cis/cis123
ERROR:
ORA-01017: invalid username/password; logon denied
oracle培训