首先可以参见yang兄的blog
http://yangtingkun.itpub.net/post/468/64662
俺写了一个profile的实例
当test用户连接总时间超过120分钟 或者 test用户单次空闲时间超过2分钟,自动断开连接
[@more@]sql> show parameter resource_limit
name type value
------------------------------------ ----------- ------------------
resource_limit boolean false
启用profile
sql> alter system set resource_limit = true;
系统已更改。
sql> create profile test_pro limit idle_time 2;
配置文件已创建
sql> alter user test profile test_pro;
用户已更改。
sql> alter profile test_pro limit connect_time 120;
察看test_pro设置
SQL> select * from dba_profiles where profile ='TEST_PRO';
PROFILE RESOURCE_NAME RESOURCE
------------------------------ -------------------------------- --------
LIMIT
----------------------------------------
TEST_PRO COMPOSITE_LIMIT KERNEL
DEFAULT
TEST_PRO SESSIONS_PER_USER KERNEL
DEFAULT
TEST_PRO CPU_PER_SESSION KERNEL
DEFAULT
PROFILE RESOURCE_NAME RESOURCE
------------------------------ -------------------------------- --------
LIMIT
----------------------------------------
TEST_PRO CPU_PER_CALL KERNEL
DEFAULT
TEST_PRO LOGICAL_READS_PER_SESSION KERNEL
DEFAULT
TEST_PRO LOGICAL_READS_PER_CALL KERNEL
DEFAULT
PROFILE RESOURCE_NAME RESOURCE
------------------------------ -------------------------------- --------
LIMIT
----------------------------------------
TEST_PRO IDLE_TIME KERNEL
2
TEST_PRO CONNECT_TIME KERNEL
120
TEST_PRO PRIVATE_SGA KERNEL
DEFAULT
PROFILE RESOURCE_NAME RESOURCE
------------------------------ -------------------------------- --------
LIMIT
----------------------------------------
TEST_PRO FAILED_LOGIN_ATTEMPTS PASSWORD
DEFAULT
TEST_PRO PASSWORD_LIFE_TIME PASSWORD
DEFAULT
TEST_PRO PASSWORD_REUSE_TIME PASSWORD
DEFAULT
PROFILE RESOURCE_NAME RESOURCE
------------------------------ -------------------------------- --------
LIMIT
----------------------------------------
TEST_PRO PASSWORD_REUSE_MAX PASSWORD
DEFAULT
TEST_PRO PASSWORD_VERIFY_FUNCTION PASSWORD
DEFAULT
TEST_PRO PASSWORD_LOCK_TIME PASSWORD
DEFAULT
PROFILE RESOURCE_NAME RESOURCE
------------------------------ -------------------------------- --------
LIMIT
----------------------------------------
TEST_PRO PASSWORD_GRACE_TIME PASSWORD
DEFAULT
16 rows selected.
验证:
sql> conn test
connected.
sql> set time on
17:38:35 sql>
17:38:36 sql>
17:38:37 sql>
17:38:37 sql>
17:42:51 sql> select count(*) from test;
select count(*) from test
*
error at line 1:
ora-02396: exceeded maximum idle time, please connect again
elapsed: 00:00:00.00
17:42:58 sql>
删除用户profile
sql> drop profile test_pro cascade; --删除test_pro及联用户使用此profile
profile dropped.
通过profile可以起到约束session的行为.简单易用,比通过应用程序设置session连接属性简单易行.
Oracle 提供了一些具体约束session行为的Resource_name可以同过查询
http://www.psoug.org/reference/profiles.html
获得.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/76065/viewspace-835693/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/76065/viewspace-835693/