研究Oracle profile文件对sysdba用户的影响

来源:这里教程网 时间:2026-03-03 21:42:24 作者:
profile参数文件对于sysdba用户
在学习profile过程中,对于profile文件对sysdba用户能不能控制,一直不确定,实验证明:
profile文件对sysdba的用户是不会起作用的
首先profile文件如下:
SQL> select * from dba_profiles where profile='FRANK_PROFILE';PROFILE        RESOURCE_NAME                    RESOURCE LIMIT
-------------- -------------------------------- -------- ---------------
FRANK_PROFILE  COMPOSITE_LIMIT                  KERNEL   DEFAULT
FRANK_PROFILE  SESSIONS_PER_USER                KERNEL   5
FRANK_PROFILE  CPU_PER_SESSION                  KERNEL   DEFAULT
FRANK_PROFILE  CPU_PER_CALL                     KERNEL   DEFAULT
FRANK_PROFILE  LOGICAL_READS_PER_SESSION        KERNEL   DEFAULT
FRANK_PROFILE  LOGICAL_READS_PER_CALL           KERNEL   DEFAULT
FRANK_PROFILE  IDLE_TIME                        KERNEL   2
FRANK_PROFILE  CONNECT_TIME                     KERNEL   DEFAULT
FRANK_PROFILE  PRIVATE_SGA                      KERNEL   DEFAULT
FRANK_PROFILE  FAILED_LOGIN_ATTEMPTS            PASSWORD 5
FRANK_PROFILE  PASSWORD_LIFE_TIME               PASSWORD DEFAULTPROFILE        RESOURCE_NAME                    RESOURCE LIMIT
-------------- -------------------------------- -------- ---------------
FRANK_PROFILE  PASSWORD_REUSE_TIME              PASSWORD DEFAULT
FRANK_PROFILE  PASSWORD_REUSE_MAX               PASSWORD DEFAULT
FRANK_PROFILE  PASSWORD_VERIFY_FUNCTION         PASSWORD DEFAULT
FRANK_PROFILE  PASSWORD_LOCK_TIME               PASSWORD DEFAULT
FRANK_PROFILE  PASSWORD_GRACE_TIME              PASSWORD DEFAULTresource_limit参数设置为true
SQL> show parameter resource
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
resource_limit                       boolean     TRUE
将该profile分配给sys用户
SQL> alter user sys profile frank_profile;
User altered.
SQL> select username,profile from dba_users;
USERNAME                       PROFILE
------------------------------ --------------
MGMT_VIEW                      DEFAULT
SYS                            FRANK_PROFILEprofile 中设置空闲是2分钟断开
但是发现该sys用户的状态一直是inactive
SQL> /
USERNAME                       STATUS
------------------------------ --------
                               ACTIVE
SYS                            INACTIVE现在考虑如果一个用户被授予sysdba权限会不会被断掉:
SQL> grant sysdba to frank;
Grant succeeded.SQL> select username,profile from dba_users where username='FRANK';
USERNAME                       PROFILE
------------------------------ --------------
FRANK                          FRANK_PROFILE打开两个会话,一个用sysdba连入,一个用普通frank用户连入:
SQL> conn frank/frank
Connected.SQL> conn frank/frank as sysdba
Connected.
发现原来只要由sysdba用户连入的普通用户,默认就变成sys用户,所以肯定也不会受到profile的影响。但是用普通的frank用户连入的会话,2分钟后状态发生改变会话被断开。SQL> select username,status from v$session;
USERNAME                       STATUS
------------------------------ --------
                               ACTIVE
SYS                            INACTIVE
FRANK                          INACTIVE
SQL> /USERNAME                       STATUS
------------------------------ --------
                               ACTIVE
SYS                            INACTIVE
                               ACTIVE
SYS                            ACTIVE
                               ACTIVE
                               ACTIVE
FRANK                          SNIPED
所以现在可以确定,sysdba权限会导致profile概要文件的失效,所以生产环境上我们应当谨慎赋予sysdba权限。

相关推荐