oracle如何通过sysdba登录其他账号?

zha*_*zhu 3 oracle sysdba

我忘记了 hr 的密码,但我有 sysdba 角色。

我可以像在 linux 中一样使用 su hr 吗?

我不希望更改 hr 的密码。

Bal*_*app 6

以其他用户身份登录真的很容易,只需使用自 8i 以来可用的代理用户功能即可。不幸的是,它不适用于 SYS,但适用于任何其他用户。基本上,您可以授予用户以其他用户身份连接的权限。

SQL> alter user system identified by Oracle123;

User altered.

SQL> alter user hr identified by password account unlock;

User altered.
Run Code Online (Sandbox Code Playgroud)

所以密码SYSTEMOracle123,密码HRpassword。现在允许SYSTEM连接为HR

SQL> alter user hr grant connect through system;

User altered.
Run Code Online (Sandbox Code Playgroud)

最后,连接SYSTEM和它的密码,HR在括号中提供:

SQL> connect system[hr]/Oracle123
Connected.
SQL> show user
USER is "HR"
Run Code Online (Sandbox Code Playgroud)

您可以为此使用任何用户,除了SYS

SQL> alter user hr grant connect through sys;
alter user hr grant connect through sys
                                    *
ERROR at line 1:
ORA-28154: Proxy user may not act as client 'SYS'
Run Code Online (Sandbox Code Playgroud)