现在的位置: 首页 > 数据库 > 正文

oracle切换用户

2020年04月01日 数据库 ⁄ 共 843字 ⁄ 字号 暂无评论

正常在SQL/PLUS的情况下:输入:connect username/password就可以了。
但是有时候可能不知道要切换的用户口令,这时候该怎么办呢?
看了EYGLE的文章,知道有两种方法:
第一种:
1. 用DBA身份连接至数据库,查看dba_users视图。
Select username,password from dba_users where username=’JLY’;
如果是oracle 11g的话,需要访问基表才能看到加密的口令
SQL> select name,password from user$ where name='JLY';
NAME PASSWORD
------------------------------ ------------------------------
JLY 10967C6E22106A7E
2. 修改口令并连接至数据库
Alter user jly identified by jly;
Conn jly/jly
3. 成功执行完第2步的命令后马上把用户的密码修改回原来的口令
SQL> alter user jly identified by values ‘10967C6E22106A7E’;
这样jly用户的口令就被还原了,而我们现在可以以jly用户的身份执行一系列操作了。
第二种:
1. 以DBA身份连接至数据库,创建一个代理用户,授予权限。
SQL> create user dbproxy identified by dbproxy;
User created.
SQL> grant connect to dbproxy;
Grant succeeded.
2. 使目标用户可以通过代理用户切换
SQL> alter user jly grant connect through dbproxy;
User altered.
3. 登录测试
SQL> conn dbproxy[jly]/dbproxy
Connected.
SQL> show user
USER is "JLY"
SQL>
以上两种方法应首选后者,因为第一种方法在修改用户口令的时候有可能造成原来的用户登陆失败.

抱歉!评论已关闭.