oracle客户端连接时,idie超过一段时间后,客户端就会断开连接?

oracle中的profile可以用来对用户所能使用的数据库资源进行限制(类似于linux中的ulimit)。我们可以创建新的profile规则,如定义idle,connect_time等等,然后将这个profile指定给某个用户使用

查看现有的所有的profile使用规则,默认的规则是DEFAULT.

SQL> select distinct profile from dba_profiles;

PROFILE
------------------------------
MONITORING_PROFILE
DEFAULT
无论是创建新的profile规则还是让某些profile规则生效,都需要让resource_limit这个值是true。默认是flase

SQL> show parameter resource_limit;

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
resource_limit			     boolean	 FALSE
SQL> alter system set resource_limit=true; 

System altered.

SQL> show parameter resource_limit;

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
resource_limit			     boolean	 TRUE

查看某个(SYSTEM用户)用户使用的profile

SQL> select profile from dba_users where username='SYSTEM';

PROFILE
------------------------------
DEFAULT
创建一个profile

SQL> create profile low_limits limit idle_time 10 connect_time unlimited;

Profile created.

SQL> select distinct profile from dba_profiles;

PROFILE
------------------------------
MONITORING_PROFILE
LOW_LIMITS
DEFAULT

将刚才创建的profile分配给用户system

SQL> alter user system profile low_limits;

User altered.

SQL> select profile from dba_users where username='SYSTEM';

PROFILE
------------------------------
LOW_LIMITS


更多推荐