我的Oracle 9i学习日志(20)-- profile
生活随笔
收集整理的這篇文章主要介紹了
我的Oracle 9i学习日志(20)-- profile
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
配置文件是下列口令和資源限制的指定集合:
? 口令過期和失效 ? 口令歷史記錄 ? 口令復雜性校驗 ? 帳戶鎖定 ? CPU 時間 ? 輸入/輸出(I/O) 操作 ? 空閑時間 ? 連接時間 ? 內存空間(僅用于共享服務器的SQL 專用區) ? 并發會話 創建配置文件后,數據庫管理員可以將它分配給各個用戶。如果啟用了資源限制,則Oracle 服務器將數據庫的使用和資源限制在定義的用戶配置文件所允許的范圍內。 創建數據庫時,Oracle 服務器自動創建DEFAULT 配置文件。沒有被顯式分配特定配置文件的用戶遵從DEFAULT 配置文件的所有限制。DEFAULT 配置文件的所有限制最初為無限制。不過,數據庫管理員可以更改這些值,讓這些限制在缺省情況下適用于所有用戶。 配置文件的用途: ? 限制用戶執行某些需要大量資源的操作。 ? 確保在用戶會話空閑一段時間后,將用戶從數據庫注銷。 ? 對相似的用戶啟用組資源限制。 ? 便于為用戶分配資源限制。 ? 管理大型、復雜的多用戶數據庫系統中的資源使用。 ? 控制口令的使用 配置文件的特點: ? 配置文件的分配不影響當前會話。 ? 配置文件只能分配給用戶,而不能分配給角色或其它配置文件。 ? 如果創建用戶時未分配配置文件,則系統將DEFAULT 配置文件自動分配給用戶。 啟用口令管理 創建配置文件以限制口令設置,然后使用CREATE USER 或ALTER USER 命令將配置文件分配給用戶。始終執行配置文件中的口令限制設置。如果啟用了口令管理,則可以使用CREATE USER 或ALTER USER 命令鎖定或解除鎖定用戶帳戶. 要啟用口令管理,請以用戶SYS 的身份運行utlpwdmg.sql 腳本。 圖1 ?PASSWORD_REUSE_TIME、PASSWORD_REUSE_MAX:如果一個參數設置成DEFAULT 或UNLIMITED 以外的值,則另一個參數必須設置為UNLIMITED。 用戶提供的口令函數 添加新的口令校驗函數時,數據庫管理員必須考慮下列限制: ? 此過程必須使用以下顯示的說明: function_name( userid_parameter IN VARCHAR2(30), password_parameter IN VARCHAR2(30), old_password_parameter IN VARCHAR2(30)) RETURN BOOLEAN ? 成功時此過程返回TRUE 值,失敗時返回FALSE 值。 ? 如果口令函數產生異常錯誤,將返回錯誤消息并終止ALTER USER 或CREATE USER 命令。 ? 口令函數由SYS 所有。 ?如果口令函數無效,則返回錯誤消息并終止ALTER USER 或CREATE USER 命令。 ?默認密碼驗證函數(verify_function)規則:最短為四個字符;口令不應與用戶名相同;口令至少應該包含一個字母、一個數字和一個特殊字符;新口令與舊口令相比,應至少有三個字母不同。 $ORACLE_HOME/rdbms/admin/utlpwdmg腳本: ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 60 PASSWORD_GRACE_TIME 10 PASSWORD_REUSE_TIME 1800 PASSWORD_REUSE_MAX UNLIMITED FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 1/1440 PASSWORD_VERIFY_FUNCTION verify_function; 創建配置文件 使用下面的CREATE PROFILE 命令可以管理口令: CREATE PROFILE profile LIMIT [FAILED_LOGIN_ATTEMPTS max_value] [PASSWORD_LIFE_TIME max_value] [ {PASSWORD_REUSE_TIME |PASSWORD_REUSE_MAX} max_value] [PASSWORD_LOCK_TIME max_value] [PASSWORD_GRACE_TIME max_value] [PASSWORD_VERIFY_FUNCTION {function|NULL|DEFAULT} ] 若要將口令參數設置為不超過一天: 1 小時: PASSWORD_LOCK_TIME = 1/24 10 分鐘: PASSWORD_LOCK_TIME = 10/1400 5 分鐘: PASSWORD_LOCK_TIME = 5/1440 例: CREATE PROFILE grace_5 LIMIT FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME UNLIMITED PASSWORD_LIFE_TIME 30 PASSWORD_REUSE_TIME 30 PASSWORD_VERIFY_FUNCTION verify_function PASSWORD_GRACE_TIME 5; 改變配置文件 使用ALTER PROFILE 命令可更改對配置文件指定的口令限制: ALTER PROFILE profile LIMIT [FAILED_LOGIN_ATTEMPTS max_value] [PASSWORD_LIFE_TIME max_value] [ {PASSWORD_REUSE_TIME |PASSWORD_REUSE_MAX} max_value] [PASSWORD_LOCK_TIME max_value] [PASSWORD_GRACE_TIME max_value] [PASSWORD_VERIFY_FUNCTION {function|NULL|DEFAULT} ] 刪除配置文件:口令設置 使用DROP PROFILE 命令刪除配置文件: DROP PROFILE profile [CASCADE] 其中: profile:是要刪除的配置文件的名稱 CASCADE:從分配有配置文件的用戶處撤消配置文件(Oracle 服務器自動將DEFAULT配置文件分配給這些用戶。指定此選項可以刪除當前分配給用戶的配置文件。) 原則: ? 不能刪除DEFAULT 配置文件。 ? 刪除配置文件后,此更改僅適用于此后創建的會話,而不適用于當前會話。 啟用資源限制 ? 將初始化參數RESOURCE_LIMIT 設置為TRUE。 ?或執行ALTER SYSTEM SET RESOURCE_LIMIT=TRUE; 在會話級設置資源限制 原則: 可以在會話級、調用級或同時在這兩個級別上執行配置文件限制。每一個連接都要執行會話級限制。 如果超出了會話級限制,則: ? 返回錯誤消息;例如:ORA-02391: exceeded simultaneous SESSION_PER_USER limit ? Oracle 服務器斷開與用戶的連接。?
圖2
注: ? 僅計算服務器進程的IDLE_TIME。不考慮應用程序活動。長時間運行的查詢和其它操作不影響IDLE_TIME 限制。 ? LOGICAL_READS_PER_SESSION 是對從內存和磁盤的讀取總數的限制。它可以確保I/O 密集型語句不會占據內存及凍結磁盤。 ? 只有運行共享服務器體系結構時,PRIVATE_SGA 才適用,可以用MB 或KB 為單位指定該參數。 在調用級設置資源限制 圖3 對于執行SQL 語句時執行的每次調用,均適用調用級限制。 如果超出了調用級限制,則: ? 暫停處理語句 ? 語句被退回 ? 前面所有的語句保持原樣 ? 用戶會話仍保持連接 創建配置文件:資源限制 使用下列CREATE PROFILE 命令創建配置文件: CREATE PROFILE profile LIMIT [SESSIONS_PER_USER max_value] [CPU_PER_SESSION max_value] [CPU_PER_CALL max_value] [CONNECT_TIME max_value] [IDLE_TIME max_value] [LOGICAL_READS_PER_SESSION max_value] [LOGICAL_READS_PER_CALL max_value] [COMPOSITE_LIMIT max_value] [PRIVATE_SGA max_bytes] 其中: profile:是配置文件的名稱 max_value:是一個整數、UNLIMITED 或DEFAULT max_bytes:是一個整數,后面可以跟KB 或MB、UNLIMITED 或者DEFAULT UNLIMITED:表示分配了此配置文件的用戶可以不受限制地使用此資源 DEFAULT:表示此配置文件要遵從DEFAULT 配置文件中對此資源的限制 COMPOSITE_LIMIT:對一個以服務單元表示的會話限制其資源總成本; Oracle 計算的資源成本是以下各項的總和: – CPU_PER_SESSION – CONNECT_TIME – LOGICAL_READS_PER_SESSION – PRIVATE_SGA 數據字典視圖RESOURCE_COST 可以提供為不同資源指定的資源限制。 例: CREATE PROFILE developer_prof LIMIT SESSIONS_PER_USER 2 CPU_PER_SESSION 10000 IDLE_TIME 60 CONNECT_TIME 480; 使用DBMS_RESOURCE_MANAGER 程序包可更細化管理資源。 獲取信息: ? DBA_USERS ? DBA_PROFILES?
轉載于:https://blog.51cto.com/luotaoyang/294421
總結
以上是生活随笔為你收集整理的我的Oracle 9i学习日志(20)-- profile的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 10个免费的javascript富文本编
- 下一篇: 单行文字压缩处理(要指定字体)