筆記-建立profile

to_be_Dba發表於2013-07-11
Profiles impose a named set of resource limits on database usage and instance resources.
A quota is a space allowance in a given tablespace. This is one of the ways by which you can control resource usage by users.
每個使用者都有其認證方式,最常見的就是密碼驗證。11g提供了一些其他驗證方法,包括生物識別、證照、token authentication.
分為密碼認證、外部認證(external)和全域性認證。
對使用者授權時,如果加上了with grant option,則物件許可權(對特定物件的操作許可權)只能由其授權者收回,其他使用者,即使是DBA許可權也不行。

Profiles impose a named set of resource limits on database usage and instance resources.
使用者登入時修改profile,會在下次啟動時生效。
 
建立profile
user profile 是使用者的一系列資源和密碼限制
使用create profile命令可以建立的某個使用者的資源限制:
比如我用以下語句設定允許的登入失敗次數為3:
SQL> CREATE PROFILE app_user LIMIT
  2  SESSIONS_PER_USER UNLIMITED
  3  CPU_PER_SESSION UNLIMITED
  4  CPU_PER_CALL 3000
  5  CONNECT_TIME 45
  6  LOGICAL_READS_PER_SESSION DEFAULT
  7  LOGICAL_READS_PER_CALL 1000
  8  PRIVATE_SGA 15K
  9  COMPOSITE_LIMIT 5000000
 10  failed_login_attempts 3;
Profile created
SQL> alter user terry profile app_user;
User altered
SQL> conn terry/terry@test
Connected to Oracle Database 10g Release 10.2.0.1.0
Connected as terry
以下重複四次錯誤的密碼登入,前三次提示 使用者名稱或密碼不正確,第四次則提示賬號已經鎖定。
SQL> conn terry/terr@test
Not logged on
SQL> conn terry/terr@test
Not logged on
SQL> conn terry/terr@test
Not logged on
使用/rdbms/admin/utlpwdmg.sql 指令碼可以建立兩個函式:
verify_function和verify_function_11g
系統中可以看到profile的資訊:
SQL> select * from dba_profiles;
PROFILE                        RESOURCE_NAME                    RESOURCE_TYPE LIMIT
------------------------------ -------------------------------- ------------- ----------------------------------------
DEFAULT                        COMPOSITE_LIMIT                  KERNEL        UNLIMITED
DEFAULT                        SESSIONS_PER_USER                KERNEL        UNLIMITED
DEFAULT                        CPU_PER_SESSION                  KERNEL        UNLIMITED
DEFAULT                        CPU_PER_CALL                     KERNEL        UNLIMITED
DEFAULT                        LOGICAL_READS_PER_SESSION        KERNEL        UNLIMITED
DEFAULT                        LOGICAL_READS_PER_CALL           KERNEL        UNLIMITED
DEFAULT                        IDLE_TIME                        KERNEL        UNLIMITED
DEFAULT                        CONNECT_TIME                     KERNEL        UNLIMITED
DEFAULT                        PRIVATE_SGA                      KERNEL        UNLIMITED
DEFAULT                        FAILED_LOGIN_ATTEMPTS            PASSWORD      10
DEFAULT                        PASSWORD_LIFE_TIME               PASSWORD      UNLIMITED
DEFAULT                        PASSWORD_REUSE_TIME              PASSWORD      UNLIMITED
DEFAULT                        PASSWORD_REUSE_MAX               PASSWORD      UNLIMITED
DEFAULT                        PASSWORD_VERIFY_FUNCTION         PASSWORD      NULL
DEFAULT                        PASSWORD_LOCK_TIME               PASSWORD      UNLIMITED
DEFAULT                        PASSWORD_GRACE_TIME              PASSWORD      UNLIMITED
MONITORING_PROFILE             COMPOSITE_LIMIT                  KERNEL        DEFAULT
……
MONITORING_PROFILE             PASSWORD_GRACE_TIME              PASSWORD      DEFAULT
APP_USER                       COMPOSITE_LIMIT                  KERNEL        5000000
……
APP_USER                       PASSWORD_GRACE_TIME              PASSWORD      DEFAULT
如果未設定,預設的每個使用者都使用DEFAULT profile。
可以使用alter profile default limit……語句修改預設profile的設定。
 

Assigning Quotas to Users
在建立使用者後,除了給其分配connect許可權外,還需要分配一定的空間,此動作稱為Quota。
有三種分配方式:
1)unlimited tablespace  該使用者在任何表空間內都可以無限使用空間
2)某個值,單位是MB或KB
3)unlimited 在某個表空間內無限使用空間

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

相關文章