Oracle profiles簡單總結

foreverlee發表於2006-05-16

首先可以參見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可以同過查詢


獲得.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/76065/viewspace-835693/,如需轉載,請註明出處,否則將追究法律責任。

相關文章