【使用者概要檔案】建立使用者概要檔案
Oracle系統為了合理分配和使用系統的資源提出了概要檔案的概念。所謂概要檔案,就是一份描述如何使用系統的資源(主要是CPU資源)的配置檔案。將概要檔案賦予某個資料庫使用者,在使用者連線並訪問資料庫伺服器時,系統就按照概要檔案給他分配資源。在有的書中將其翻譯為配置檔案,其作用包括:
1、管理資料庫系統資源。
利用Profile來分配資源限額,必須把初始化引數resource_limit設定為true
ALTER SYSTEM SET resource_limit=TRUE SCOPE=BOTH;
2、管理資料庫口令及驗證方式。
預設給使用者分配的是DEFAULT概要檔案,將該檔案賦予了每個建立的使用者。但該檔案對資源沒有任何限制,因此管理員常常需要根據自己資料庫系統的環境自行建立概要檔案
透過資料字典檢視預設資源配置內容:
select * from dba_profiles order by profile;
DEFAULT PROFILE:
2、DEFAULT PROFILE的內容為空,無限制
PROFILE的管理(資原始檔)當需要設定資源限制時,必須設定資料庫系統啟動引數RESOURCE_LIMIT,此引數預設值為FALSE
可以使用如下命令來啟動當前資源限制:
當需要以後啟動時也啟動限制,必須在init.ora中設定
RESOURCE_LIMIT=true
PROFILE的口令機制限制:限制生效的前提:
A、RESOURCE_LIMIT:=TRUE
任務1:建立profile
建立概要檔案my_profile
1)密碼複雜性要求:啟用;
2)密碼長度最小值:8位;
3)密碼錯誤輸入三次,鎖定賬戶,2分鐘後自動解鎖
任務2:
1)修改siebel使用者的概要檔案為my_profile
2)修改siebel密碼(自行設定)
--建立密碼複雜度校驗函式
SQL> @?/rdbms/admin/utlpwdmg.sql
Function created.
Grant succeeded.
Profile altered.
Function created.
Grant succeeded.
--建立概要檔案
SQL> create profile my_profile limit
2 failed_login_attempts 3 password_lock_time 2/1440
3 password_verify_function verify_function;
Profile created.
--修改siebel使用者使用my_profile概要檔案
SQL> alter user siebel profile my_profile;
User altered.
SQL> desc dba_users;
Name Null? Type
----------------------------------------- -------- ----------------------------
USERNAME NOT NULL VARCHAR2(30)
USER_ID NOT NULL NUMBER
PASSWORD VARCHAR2(30)
ACCOUNT_STATUS NOT NULL VARCHAR2(32)
LOCK_DATE DATE
EXPIRY_DATE DATE
DEFAULT_TABLESPACE NOT NULL VARCHAR2(30)
TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30)
CREATED NOT NULL DATE
PROFILE NOT NULL VARCHAR2(30)
INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30)
EXTERNAL_NAME VARCHAR2(4000)
PASSWORD_VERSIONS VARCHAR2(8)
EDITIONS_ENABLED VARCHAR2(1)
AUTHENTICATION_TYPE VARCHAR2(8)
SQL> select username,default_tablespace,created,profile from dba_users;
USERNAME DEFAULT_TABLESP CREATED PROFILE
--------------- --------------- --------- ---------------
SYS SYSTEM 24-AUG-13 DEFAULT
SYSTEM SYSTEM 24-AUG-13 DEFAULT
OUTLN SYSTEM 24-AUG-13 DEFAULT
MGMT_VIEW SYSTEM 24-AUG-13 DEFAULT
APPQOSSYS SYSAUX 24-AUG-13 DEFAULT
WMSYS SYSAUX 24-AUG-13 DEFAULT
EXFSYS SYSAUX 24-AUG-13 DEFAULT
CTXSYS SYSAUX 24-AUG-13 DEFAULT
XDB SYSAUX 24-AUG-13 DEFAULT
ANONYMOUS SYSAUX 24-AUG-13 DEFAULT
ORDSYS SYSAUX 24-AUG-13 DEFAULT
USERNAME DEFAULT_TABLESP CREATED PROFILE
--------------- --------------- --------- ---------------
ORDDATA SYSAUX 24-AUG-13 DEFAULT
ORDPLUGINS SYSAUX 24-AUG-13 DEFAULT
SI_INFORMTN_SCH SYSAUX 24-AUG-13 DEFAULT
EMA
MDSYS SYSAUX 24-AUG-13 DEFAULT
OLAPSYS SYSAUX 24-AUG-13 DEFAULT
SYSMAN SYSAUX 24-AUG-13 DEFAULT
FLOWS_FILES SYSAUX 24-AUG-13 DEFAULT
APEX_030200 SYSAUX 24-AUG-13 DEFAULT
OWBSYS SYSAUX 24-AUG-13 DEFAULT
USERNAME DEFAULT_TABLESP CREATED PROFILE
--------------- --------------- --------- ---------------
OWBSYS_AUDIT SYSAUX 24-AUG-13 DEFAULT
DIP USERS 24-AUG-13 DEFAULT
ORACLE_OCM USERS 24-AUG-13 DEFAULT
XS$NULL USERS 24-AUG-13 DEFAULT
MDDATA USERS 24-AUG-13 DEFAULT
SPATIAL_WFS_ADM USERS 24-AUG-13 DEFAULT
IN_USR
SPATIAL_CSW_ADM USERS 24-AUG-13 DEFAULT
IN_USR
USERNAME DEFAULT_TABLESP CREATED PROFILE
--------------- --------------- --------- ---------------
APEX_PUBLIC_USE USERS 24-AUG-13 DEFAULT
R
SCOTT USERS 24-AUG-13 DEFAULT
HR USERS 30-AUG-16 DEFAULT
OE USERS 30-AUG-16 DEFAULT
IX USERS 30-AUG-16 DEFAULT
SH USERS 30-AUG-16 DEFAULT
PM USERS 30-AUG-16 DEFAULT
BI USERS 30-AUG-16 DEFAULT
DBSNMP SYSAUX 24-AUG-13 MONITORING_PROF
USERNAME DEFAULT_TABLESP CREATED PROFILE
--------------- --------------- --------- ---------------
ILE
SIEBEL TS_USERS 20-SEP-16 MY_PROFILE
37 rows selected.
檢視已將使用者SIEBEL的概要檔案改為MY_ROFILE.
——修改SIEBEL使用者密碼:
SYS >alter user siebel identified by q1w2E#R$;
User
altered.
============補充概要檔案===============================
一.概要檔案作用
概要檔案是口令限制和資源限制的命名集合。具有以下作用
a. 限制使用者執行消耗資源過度的sql操作。
b. 自動斷開空閒回話。
c. 在資料庫系統中合理分配資源。
d. 控制使用者口令的使用。
在建立資料庫時,Oracle會自動建立default的概要檔案,在口令與資源的限制均為unlimited,即未進行口令與資源的限制。
二.概要檔案內容
1.口令策略引數
可以實現賬戶鎖定,口令的過期,口令的複雜度等。有以下幾個
a. failed_login_attempts:指定允許輸入錯誤口令的次數,超過該次數賬戶將被鎖定。
b. password_lock_time:指定賬戶被鎖定的天數。(單位:天)
c. password_life_time:指定口令的有效期(單位:天)。如果達到有效期前使用者還沒有更換口令,口令將失效。必須由DBA重新設定新的口令。
d. password_grace_time:指定口令的寬限期(單位:天)。
e. password_reuse_time:指定能夠重複使用一個口令前必須經過的時間(單位:天)。
f. password_reuse_max:指定在重複使用口令前必須對口令進行修改的次數。Password_reuse_time和password_reuse_max只能 設定一個,另一個必須為unlimited
g. password_verify_function:指定驗證口令複雜度的函式。oracle提供了一個預設的口領校驗函式,可以執行指令碼$ORACLE_HOME/rdbms/admin/utlpwdmg.sql建立。
2.資源限制引數
利用概要檔案,可以對以下系統資源進行限制
cpu時間,邏輯讀,使用者的併發會話數,空閒時間,連線時間,私有SGA區
a. cpu_per_session:限制每個引數所能使用的cpu時間。引數值為整數,單位百分之一秒。
b. session_per_user:限制每個使用者所能使建立的最大併發會話數。
c. connect_time:限制每個會話所能連線到資料庫的最大時間,超過這個時間,會話將自動斷開,引數值為整數,單位為分鐘。
d. idle_time:限制每個使用者所允許的最長連續空閒時間,超過這個時間會話將自動斷開,引數值整數,單位為分鐘。
e. Logical_reads_per_session:限制每個會話所能讀取的資料塊數目。
f. Private_sga:每個會話分配的私有SGA區大小(以位元組為單位),只對共享伺服器模式有效。
g. Cpu_per_call:用於指定每條sql可佔用的最大cpu時間,單位百分之一秒。
三.使用概要檔案管理口令
概要檔案管理口令由鎖定賬戶、終止口令、口令歷史以及口令校驗等四種安全保護方式。概要檔案中包含7個口令管理選項,如果僅指定某個或某幾個選項,那麼其他選項將自動使用default概要檔案的相應選項值。
使用概要檔案管理口令的步驟是:建立概要檔案(create profile)--->設定相關口令引數(limit)--->把概要檔案分配給使用者。一般建立概要檔案由DBA來完成,如果以其他使用者身份建立,需要具有create profile許可權。
case1(鎖定賬戶):限制使用者登入失敗次數為3
create profile devp_lock limit
failed_login_attempts 3;
Profile created.
sys@ORCL> alter user scott profile devp_lock;
User altered.
連續三次登入失敗後使用正確的密碼登入:
sys@ORCL> conn scott/oracle;
ERROR:
ORA-28000: the account is locked
case2(終止口令):使使用者口令具有生存期,口令在生存期之後會失效。
create profile devp_time limit
password_life_time 3;
Profile created.
sys@ORCL> alter user scott profile devp_time;
User altered.
case3(口令歷史):透過核對新口令確保在指定時間或口令更改次數內不重複使用:
create profile devp_his limit
password_life_time 10
password_grace_time 2
password_reuse_time 10
password_reuse_max unlimited;
Profile created.
注意:password_reuse_time和password_reuse_max兩個引數只能設定一個,另一個必須為unlimited.
概要檔案分配給使用者後,如果前11天沒有修改使用者口令,在第12天登入時,oracle會強制終止口令,並要求使用者改變口令。但如果仍然使用過去的口令修改不能成功
case4(口令校驗):使用口令校驗函式來強制使用者使用複雜的口令。
函式規範:
function_name(
userid_parameter IN VARCHAR2(30),
password_parameter IN VARCHAR2(30),
old_password_parameter IN VARCHAR2(30))
RETURNBOOLEA
userid_patameter對應於使用者名稱,password_parameter對應於新口令,old_password_parameter對應於就口令。
可以透過執行$ORACLE_HOME/rdbms/admin/utlpwdmg.sql來建立預設的口令校驗函式。
@utlpwdmg.sql
Function created.
Profile altered.
Function created.
create profile devp_verify limit
password_life_time 10
password_grace_time 2
password_verify_function verify_function;
Profile created.
四.使用概要檔案管理資源
概要檔案既可以限制整個會話的資源佔用,也可以限制呼叫級(sql語句)的資源佔用,要使用概要檔案管理資源,必須要啟用資源限制功能,透過設定初始化引數
RESOURCE_LIMIT為true實現:
alter system set resource_limit=true;
System altered.
使用概要檔案管理資源與管理口令的步驟一樣,都是先建立概要檔案,設定相關的資源引數,再分配給使用者。
1.限制會話資源:如果使用者超過某一會話級資源限制,oracle將終止(回滾)當前執行的語句,並通知使用者此會話超出資源限制。
此時,當前會話內已執行的語句不受資源限制的影響,使用者中基恩能夠執行commit,rollback,或斷開連線,使用者的其他所有操作
都將報錯。當事務被提交或回滾後,使用者在當前會話內也不能執行其他操作。
case1:資料庫最多允許兩個開發人員以scott使用者登入進行操作,每個會話連線時間不能超過30Min,會話空閒時間不能超過10min.
[sql] view plain copy
在CODE上檢視程式碼片派生到我的程式碼片
create profile devp_session limit
sessions_per_user 2
connect_time 30
idle_time 10;
Profile created.
管理員可以限制一個會話的空閒時間(idle time),如果會話內兩次oracle呼叫的時間間隔達到限制值,當前事務將被回滾,會話被終止,所佔用的資源也將被回收。此時是由pmon(程式監視器)對被終止的會話進行清理。同時,oracle不會不斷的監控會話的空閒及連線時間,而是每隔數分鐘檢查一次,所以有可能在終止會話前,已經略微超出了限制時間。
2.限制呼叫資源
為了防止某個呼叫過度地使用系統資源,oracle允許管理員在呼叫級設定多種資源限制。如果使用者超過了呼叫級資源限制,oracle將停止執行語句,並進行回滾,之後向使用者報錯,但會話內已執行的語句不受資源限制的影響,使用者會話也將保持連線狀態。
case1:
[sql] view plain copy
在CODE上檢視程式碼片派生到我的程式碼片
create profile devp_call limit
cpu_per_call 200
logical_reads_per_call 3;
Profile created.
五.修改概要檔案
1.修改
alter profile devp_call limit
sessions_per_user 2
failed_login_attempts 2
cpu_per_call 200;
Profile altered.
2.刪除(如果概要檔案已經分配給樂某個使用者,必須使用cascade選項,使用者也將恢復使用預設的default概要檔案)
drop profile devp_call cascade;
Profile dropped.
六.檢視概要檔案資訊
1.查詢使用者的概要檔案
select profile from dba_users where username='SCOTT';
PROFILE
------------------------------
DEVP_SESSION
2.檢視概要檔案的內容
select * from dba_profiles where profile='DEVP_SESSION';
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2126944/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE 概要檔案管理Oracle
- .Oracle固定執行計劃之SQL PROFILE概要檔案OracleSQL
- linux使用者相關檔案Linux
- Visual Studio Code 被發現新“漏洞”!瘋狂建立垃圾檔案+自動修改使用者檔案
- css概要CSS
- 建立.symlnk檔案
- VBA建立文字檔案、讀寫文字檔案
- ExecutorService介面概要
- Redux 概要教程Redux
- Promise物件概要Promise物件
- cp: 無法建立普通檔案 : 檔案已存在
- Docker非root使用者修改/etc/hosts檔案Docker
- 如何給Wondershare UniConverter的使用者新增檔案?
- C語言判斷檔案存在和建立檔案C語言
- 如何輕鬆歸檔檔案?2種方法輕鬆建立歸檔檔案!
- ar——建立或修改備存檔案,或是從備存檔案中抽取檔案
- MyBatis sqlSession概要梳理MyBatisSQLSession
- 手寫SpringMvc概要SpringMVC
- IPSec組播概要
- 快取模式概要快取模式
- [20190410]dg建立臨時表檔案資料檔案.txt
- 愛碼單車隊——專案原型設計+概要設計原型
- 銀河護胃隊——專案原型設計+概要設計原型
- 用cli建立.vue檔案Vue
- artisan命令建立view檔案View
- 核心模組建立檔案
- Linux檔案伺服器實戰(匿名使用者)Linux伺服器
- electron暴露配置檔案(使用者可隨時修改)
- linux使用者及組相關檔案介紹Linux
- root使用者操作檔案提示 changing permissions of '***': Operation not permittedMIT
- WPS被曝會刪除使用者本地檔案
- 關於檔案系統在建立目錄檔案和普通檔案時的區別
- 軟體測試概要
- 編譯系統概要編譯
- SQLT 概要和安裝SQL
- C++知識概要C++
- Linux下的檔案許可權和使用者身份Linux
- 1.7.5. 將使用者新增到密碼檔案中密碼
- CentOS 7 操作使用者和組 && 常用的檔案操作CentOS