Cra*_*zyC 4 oracle database-administration
我想知道在Oracle中具有root(管理)权限的所有用户的列表.我想在脚本或C++应用程序中.脚本是首选.
Oracle的"root"或"adminstrative"特权究竟是什么意思?您想要用户授予SYSDBA吗?或者,在较旧的Oracle版本中,存在DBA角色,该角色具有一组广泛的权限,使用户能够执行大部分操作.它在11g中具有减少的功能集.@ client09给出的答案对于准确识别每个用户可以做什么很有价值.
对我来说,Oracle中的root用户是SYSDBA帐户,默认情况下是SYS用户.获得此权限的任何人都可以登录"AS SYSDBA",这使该用户可以完全控制数据库.您可以通过以下选择列出授予此权限的用户:
SELECT * FROM v$pwfile_users;
Run Code Online (Sandbox Code Playgroud)
有趣的是,如果我被授予SYSDBA角色,并且我以sysdba身份登录,则Oracle会话中的实际用户是SYS:
SQL> create user test identified by test;
User created.
SQL> grant create session to test;
Grant succeeded.
SQL> grant sysdba to test;
Grant succeeded.
SQL> connect test/test as sysdba
Connected.
SQL> select user from dual;
USER
------------------------------
SYS
SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP SYSAS
------------------------------ ----- ----- -----
SYS TRUE TRUE FALSE
TEST TRUE FALSE FALSE
Run Code Online (Sandbox Code Playgroud)