1. 程式人生 > >oracle 11g dba使用者祕密修改其他使用者密碼

oracle 11g dba使用者祕密修改其他使用者密碼

浪費了“黃金五年”的Java程式設計師,還有救嗎? >>>   

 

有時候我們可能不知道一個使用者的密碼,但是又需要以這個使用者做一些操作,又不能去修改掉這個使用者的密碼,這個時候,就可以利用一些小竅門,來完成操作。

這個操作,在11g和11g以前的版本是不一樣的:

 

具體操作過程如下:

 

C:\Users\chandler>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/passwordlogon