合理控制oracle数据库具有DBA权限的用户

oracle数据库中除了sys,system具有DBA权限外,其他业务用户一般具有CONNECT,RESOURCE权限就够了,剩下的后期可根据业务需求授予相应权限。

收回数据库中DBA权限的业务用户:

SQL> select * from dba_role_privs where granted_role='DBA';
GRANTEE                        GRANTED_ROLE                   ADM DEF
------------------------------ ------------------------------ --- ---
SYD                            DBA                            NO  YES
SYS                            DBA                            YES YES
GOLDENGATE                     DBA                            NO  YES
SYSTEM                         DBA                            YES YES
SQL> conn syd
Enter password: 
Connected.
SQL> select * from user_sys_privs;
USERNAME                       PRIVILEGE                                ADM
------------------------------ ---------------------------------------- ---
SYD                            UNLIMITED TABLESPACE                     NO
SQL> select * from user_role_privs;
USERNAME                       GRANTED_ROLE                   ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
SYD                            DBA                            NO  YES NO
SQL> grant connect,resource to syd;
Grant succeeded.
SQL> select * from user_role_privs;
USERNAME                       GRANTED_ROLE                   ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
SYD                            CONNECT                        NO  YES NO
SYD                            DBA                            NO  YES NO
SYD                            RESOURCE                       NO  YES NO
SQL> conn GOLDENGATE
Enter password: 
Connected.
SQL> select * from user_sys_privs;
USERNAME                       PRIVILEGE                                ADM
------------------------------ ---------------------------------------- ---
GOLDENGATE                     CREATE ANY DIRECTORY                     NO
GOLDENGATE                     DROP ANY DIRECTORY                       NO
GOLDENGATE                     UNLIMITED TABLESPACE                     NO
GOLDENGATE                     ALTER SESSION                            NO
SQL> select * from user_role_privs;
USERNAME                       GRANTED_ROLE                   ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
GOLDENGATE                     CONNECT                        NO  YES NO
GOLDENGATE                     DBA                            NO  YES NO
GOLDENGATE                     GGS_GGSUSER_ROLE               NO  YES NO
GOLDENGATE                     RESOURCE                       NO  YES NO


保证用户具有CONNECT ,RESOURCE 权限后,用sys用户登录,收回用户的DBA权限

SQL> conn sys as sysdba

Enter password: 
Connected.
SQL> revoke dba from syd;
Revoke succeeded.
SQL> revoke dba from GOLDENGATE;
Revoke succeeded.
SQL> select * from dba_role_privs where granted_role='DBA';
GRANTEE                        GRANTED_ROLE                   ADM DEF
------------------------------ ------------------------------ --- ---
SYS                            DBA                            YES YES
SYSTEM                         DBA                            YES YES
SQL> 
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/songyundong1993/article/details/80690892
个人分类: 笔记
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭