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