ORACLE的PROFILE限制ORACLE使用者

來源:互聯網
上載者:User

ORACLE的PROFILE限制ORACLE使用者
ORACLE的PROFILE檔案是限制資料庫教程使用者使用的資源的一種手段。如:控制session或sql能使用的CPU、控制使用者的密碼管理原則等。
資料庫建立後,系統則存在名為DEFAULT的預設PROFILE,若不做特殊指定,建立使用者時使用者預設使用的PROFILE就是DEFAULT。


查看視圖dba_profiles可找出資料庫中有哪些PROFILE。
SQL> select distinct profile from dba_profiles;
PROFILE
--------------------
MONITORING_PROFILE
DEFAULT
查看所有的PROFILE
SQL> select * from dba_profiles order by PROFILE;
PROFILE              RESOURCE_NAME                  RESOURCE LIMIT
-------------------- ------------------------------ -------- ----------
DEFAULT              COMPOSITE_LIMIT                KERNEL   UNLIMITED
DEFAULT              PASSWORD_LOCK_TIME             PASSWORD 1
DEFAULT              PASSWORD_VERIFY_FUNCTION       PASSWORD NULL
DEFAULT              PASSWORD_REUSE_MAX             PASSWORD UNLIMITED
DEFAULT              PASSWORD_REUSE_TIME            PASSWORD UNLIMITED
DEFAULT              PASSWORD_LIFE_TIME             PASSWORD 180
DEFAULT              FAILED_LOGIN_ATTEMPTS          PASSWORD UNLIMITED
DEFAULT              PRIVATE_SGA                    KERNEL   UNLIMITED
DEFAULT              CONNECT_TIME                   KERNEL   UNLIMITED
DEFAULT              IDLE_TIME                      KERNEL   UNLIMITED
DEFAULT              LOGICAL_READS_PER_CALL         KERNEL   UNLIMITED
DEFAULT              LOGICAL_READS_PER_SESSION      KERNEL   UNLIMITED
DEFAULT              CPU_PER_CALL                   KERNEL   UNLIMITED
DEFAULT              CPU_PER_SESSION                KERNEL   UNLIMITED
DEFAULT              SESSIONS_PER_USER              KERNEL   UNLIMITED
DEFAULT              PASSWORD_GRACE_TIME            PASSWORD 7

 

參數解釋
1、對資料庫資源做限制
{ { SESSIONS_PER_USER 每個使用者名稱所允許的並行會話數
  | CPU_PER_SESSION   一個會話一共可以使用的CPU時間,單位是百分之一秒
  | CPU_PER_CALL      一次SQL調用(解析、執行和擷取)允許使用的CPU時間
  | CONNECT_TIME      限制會話連線時間,單位是分鐘
  | IDLE_TIME         允許空閑會話的時間,單位是分鐘
  | LOGICAL_READS_PER_SESSION 限制會話對資料區塊的讀取,單位是塊
  | LOGICAL_READS_PER_CALL    限制SQL調用對資料區塊的讀取,單位是塊
  | COMPOSITE_LIMIT   “組合打法”
  }   { integer | UNLIMITED | DEFAULT }
  | PRIVATE_SGA   限制會話在SGA中Shared Pool中私人空間的分配  { size_clause | UNLIMITED | DEFAULT}
}
2、對密碼做限制
{ { FAILED_LOGIN_ATTEMPTS 帳戶被鎖定之前可以錯誤嘗試的次數
  | PASSWORD_LIFE_TIME    密碼可以被使用的天數,單位是天,預設值180天
  | PASSWORD_REUSE_TIME   密碼可重用的間隔時間(結合PASSWORD_REUSE_MAX)
  | PASSWORD_REUSE_MAX    密碼的最大改變次數(結合PASSWORD_REUSE_TIME)
  | PASSWORD_LOCK_TIME    超過錯誤嘗試次數後,使用者被鎖定的天數,預設1天
  | PASSWORD_GRACE_TIME   當密碼到期之後還有多少天可以使用原密碼
  }  { expr | UNLIMITED | DEFAULT }
  | PASSWORD_VERIFY_FUNCTION  { function | NULL | DEFAULT }
}

 

修改profile:alter profile [資源檔名] limit [資源名] unlimited;
如:alter profile default limit failed_login_attempts 100;

 

刪除PROFILE:drop profile [資源檔名] [CASCADE] ;
若建立的PROFILE已經授權給了某個使用者,使用CASCADE級聯收回相應的限制,收回限制資訊後將以系統預設的PROFILE對該使用者進行限制。

 

設定PROFILE參數的生效時間
1、使用者所有擁有的PROFILE中有關密碼的限制立即生效,不受限制。從這個可看出Oracle對使用者密碼的重視程度。

2、使用者所有擁有的PROFILE中有關資源的限制與resource_limit參數的設定有關,當為TRUE時生效,當為FALSE時(預設值)設定任何值都無效。
SQL> show parameter resource_limit
NAME                 TYPE        VALUE
-------------------- ----------- -------
resource_limit       boolean     FALSE


其他:
1、設定SQL列顯示寬度:col 列名 for 大小;
如col username for a20;
2、許可權控制的策略在使用前一定要做好充分的測試,確保透徹理解每一條限制規則,另外將每一步的限制規則記錄到一個特定的資料庫維護手冊中。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.