Profile文件管理
Proflie是口令限制,資源限制的命名集合.建立oracle數據庫時,oracle會自動建立名為DEFAULT的PROFILE,初始化的DEFAULT沒有進行任何口令和資源限制.使用PROFILE有以下一些主要事項.
1,建立PROFILE時,如果只設置了部分口令或資源限制選項,其他選項會自動使用默認值(DEFAULT的相應選項)
2,建立用戶時,如果不指定PROFILE選項,oracle會自動將DEFAULT分配給相應的數據庫用戶.
3,一個用戶只能分配一個PROFILE.如果要同時管理用戶的口令和資源,那么在建立PROFILE時應該同時指定口令和資源選項.
4,使用PROFILE管理口令時,口令管理選項總是處于被激活狀態,但如果使用PROFILE管理資源,必須要激活資源限制.
帳戶鎖定
帳戶鎖定用于控制用戶聯系登陸失敗的最大次數.
FAILED_LOGIN_ATTEMPTS:用于指定聯系登陸的最大失敗次數.
PASSWORD_LOCK_TIME:用于指定帳戶被鎖定的天數.
為了控制帳戶鎖定,必須首先執行CREATE PROFILE命令建立PROFILE,然后使用ALTER USER命令將profile分配給用戶.
CREATE PROFILE lock_accout LIMIT
FAILED_LOGIN_ATTEMPTS 3
PASSWORD_LOCK_TIME 10;
ALTER USER devep PROFILE lock_account;
如果建立PROFILE時沒有提供PASSWORD_LOCK_TIME選項,將自動使用默認值(UNLIMITED),在這種情況下,需要DBA手工解鎖.
ALTER USER devep UNLOCK;
口令有效期和終止期
PASSWORD_LIFE_TIME:用于指定口令有效期
PASSWORD_GRACE_TIME:用于指定口令寬限期.
為了強制用戶定期改變口令,二者必須同時設置.
CREATE PROFILE password_life_time LIMIT
PASSWORD_LIFE_TIME 10
PASSWORD_GRACE_TIME 2;
ALTER USER devep PROFILE password_life_time;
口令歷史
PASSWORD_REUSE_TIME:用于指定口令可重用時間.
PASSWORD_REUSE_MAX;用于指定在重用口令之前口令需要改變的次數.
需要主要,使用口令歷史選項時,只能使用其中的一個選項.并將另一個選項設置為UNLIMITED.
CREATE PROFILE password_history LIMIT
PASSWORD_LIFE_TIME 10 PASSWORD_GRACE_TIME 2
PASSWORD_REUSE_TIME 10 PASSWORD_REUSE_MAX UNLIMITED;
口令復雜性校驗.
口令復雜性校驗是指使用PL/SQL函數確保用戶口令的有效性,從而加強用戶使用復雜口令.
1,使用系統口令校驗函數VERIFY_FUNCTION
安裝oracle數據庫時,oracle提供了sql腳本UTLPWDMG.SQL,改腳本用于建立系統口令校驗函數VERIFY_FUNCTION,改口令校驗函數實現了以下口令規則.
口令不能少于4個字符
口令不能與用戶名相同.
口令至少包含一個字符,一個數字和一個特殊字符($,_,#,!等)
需要主要,當建立系統口令校驗函數VERIFY_FUNCTION時,必須以SYS用戶運行SQL腳本utlpwdmg.sql.
SQL>@%oracle_home%rdbmsadminutlpwdmg.sql
建立系統口令校驗函數VERIFY_FUNCTION,還會修改DEFAULT的其他口令管理選項.
建立了VERIFY_FUNCTION函數后,如果在修改用戶口令時口令不能滿足改函數的規則,將顯示錯誤信息.
2,使用自定義口令校驗函數.(略)
3,禁用口令校驗
如果要禁用口令校驗函數,可以將PASSWORD_VERIFY_FUNCTION選項設置為NULL.
ALTER PROFILE password_history LIMIT
PASSWORD_VERIFY_FUNCTION NULL;
ALTER USER devep IDENTIFIED BY devep;
使用PROFILE管理資源
使用PROFILE管理資源時,必須激活資源限制.
ALTER SYSTEM SET resource_limit=TRUE;
1,限制會話資源是指限制會話在連接期間所占用的總計資源.當超過會話資源限制時,oracle不好對SQL語句進行任何處理并返回錯誤信息.
CPU_PER_SESSION:用于指定每個會話可以占用的最大CPU時間.
LOGICAL_READS_PER_SESSON:用于指定會話的最大邏輯讀取次數.
PRIVATE_SGA:用于指定會話在共享池中可以分配的最大總計私有空間.需要注意,該選項只使用與共享服務器模式.
COMPOSITE_LIMIT:用于指定會話的總計資源消耗(單位:服務單元).
oracle會根據CPU_PER_SESSION,CONNECT_TIME,LOGICAL_READS_PER_SESSION以及PRIVATE_SGA的求權結果取得總計服務單元.
下面以限制帳戶DEVEP會話占用CPU時間不超過50秒,邏輯讀取次數不超過100次為例,說明使用PROFILE限制會話資源的方法.為了控制會話資源,首先應執行CREATE PROFILE命令建立PROFILE,然后使用ALTER USER 命令將PROFILE分配給用戶DEVEP.
CREATE PROFILE session_limit LIMIT
CPU_PER_SESSION 5000 LOGICAL_READS_PER_SESSION 100;
ALTER USER devep PROFILE session_limit;
限制調用資源
CPU_PER_CALL:限制每次調用(解析,執行或提取數據)可占用的最大CPU時間(單位:百分之一秒)
LOGICAL_READS_PER_CALL:用于限制每次調用的最大邏輯I/O次數.
限制其他資源
SESSIONS_PER_USER:用于指定每個用戶的最大并發會話個數.
CONNECT_TIME:用于指定會話的最大連接時間.
IDLE_TIME:用于指定會話的最大空閑時間.
修改和刪除PROFILE
修改PROFILE是使用ALTER PROFILE命令完成的.
刪除PROFILE是使用DROP PROFILE命令完成的.
DROP PROFILE call_limit;
如果PROFILE已經分配給某個用戶,那么當刪除該PROFILE時必須帶有CASCADE選項.
顯示PROFILE信息.
1,顯示用戶的PROFILE
通過查詢數據字典視圖dba_users,可以顯示用戶所使用的PROFILE
SELECT profile FROM dba_users WHERE username=’DEVEP’;
Username 用于標識數據庫用戶名,profile用于標識用戶使用的PROFILE
2,顯示PROFILE的口令和資源限制選項.
Dba_profiles,可以顯示PROFILE的口令限制,資源限制信息.
SELECT resource_name,limit FROM dba_profiles
WHERE profile=’SESSION_LIMIT’ AND resource_type=’KERNEL’;
Resource_name用于標識PROFILE選項名,LIMIT用于標識PROFIEL選項值,profile 用于標識PROFILE名,resource_type用于標識PROFILE選項的類型(PASSWORD:口令選項,KERNEL:資源選項)。
?
轉載于:https://www.cnblogs.com/whgw/archive/2011/10/31/2229807.html
總結
以上是生活随笔為你收集整理的Profile文件管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GNOME Shell Extensio
- 下一篇: WPF对决Silverlight:为项目