1. 程式人生 > 其它 >oracle profile的維護--轉載 ORACLE PROFILE含義,修改,新增

oracle profile的維護--轉載 ORACLE PROFILE含義,修改,新增

ORACLE PROFILE含義,修改,新增

profiles檔案是口令和資源限制的配置集合,包括CPU的時間、I/O的使用、空閒時間、連線時間、併發會話數量、密碼策略等對於資源的使用profile可以做到控制會話級別或語句呼叫級別。oracle自帶的預設好多是不限制的,使用者建立時都會被指定這個PROFILE。

oracle的profile可以在dba_profiles中查詢。

select * from dba_profiles;

結果如下:

其中資源類(RESOURCE_TYPE=KERNEL)含義說明:

--1.Session_per_user:
--指定限制使用者的併發會話的數目。

--2.Cpu_per_session:
--指定會話的CPU時間限制,單位為百分之一秒。

--3.Cpu_per_call:
--指定一次呼叫(解析、執行和提取)的CPU時間限制,單位為百分之一秒。

--4.Connect_time:
--指定會話的總的連線時間,以分鐘為單位。

--5.Idle_time:
--指定會話允許連續不活動的總的時間,以分鐘為單位,超過該時間,會話將斷開。

--6.Logical_reads_per_session:
--指定一個會話允許讀的資料塊的數目,包括從記憶體和磁碟讀的所有資料塊。

--7.Logical_read_per_call:
--指定一次執行SQL(解析、執行和提取)呼叫所允許讀的資料塊的最大數目。

--8.Private_sga:
--指定一個會話可以在共享池(SGA)中所允許分配的最大空間,以位元組為單位。

--9.Composite_limit:
--指定一個會話的總的資源消耗,以service units單位表示。

其中密碼類(RESOURCE_TYPE=PASSWORD)含義說明:

--1.Failed_login_attempts:
--指定在帳戶被鎖定之前所允許錯誤密碼嘗試登陸的的最大次數。
--
--2.Password_life_time:
--指定同一密碼所允許使用的天數。
--
--3.Password_reuse_time
--指可以重複使用多長時間之前的密碼
--
--4.password_reuse_max:
--指的是當前密碼可以被重用之前,必須進行密碼修改的次數。
--
--5.Password_lock_time:
--指定登陸嘗試失敗次數到達後帳戶的鎖定時間,以天為單位。
--
--6.Password_grace_time:
--指定寬限天數,資料庫發出警告到登陸失效前的天數。如果資料庫密碼在這中間沒有被修改,則過期會失效。
--
--7.Password_verify_function:
--該欄位允許將複雜的PL/SQL密碼驗證指令碼做為引數傳遞到create 
--profile語句。Oracle資料庫提供了一個預設的指令碼,但是自己可以建立自己的驗證規則或使用第三方軟體驗證。 
--對Function名稱,指定的是密碼驗證規則的名稱,指定為Null則意味著不使用密碼驗證功能。

建立自定義profile

CREATE PROFILE my_profile LIMIT
SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL 6000
CONNECT_TIME 60
LOGICAL_READS_PER_SESSION DEFAULT
LOGICAL_READS_PER_CALL 6000
COMPOSITE_LIMIT 6000000
PRIVATE_SGA 66K   
FAILED_LOGIN_ATTEMPTS 6 
PASSWORD_LIFE_TIME 60
PASSWORD_REUSE_TIME 60 
PASSWORD_REUSE_MAX 5   
PASSWORD_LOCK_TIME 1/24 
PASSWORD_GRACE_TIME 10;

可以在dba_profiles中查詢:

select * from dba_profiles where profile = 'MY_PROFILE';

結果如下:

可以讓使用者使用自定義的profile

alter user apps profile my_profile;

可以通過如下查詢使用者的profile

SELECT du.username, dp.*
  FROM dba_users du, dba_profiles dp
 WHERE du.username = 'APPS'
   AND dp.profile = du.profile;

結果如下

修改profile

alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;

結果:

刪除並收回已經授予的profile

drop profile my_profile CASCADE;

當profile刪除後,原來使用該profile的使用者會使用預設的profile,如下圖

設定PROFILE引數的生效時間
1、使用者所有擁有的PROFILE中有關密碼的限制立即生效,不受限制。從這個可看出Oracle對使用者密碼的重視程度。
2、使用者所有擁有的PROFILE中有關資源的限制與resource_limit引數的設定有關,當為TRUE時生效,當為FALSE時(預設值)設定任何值都無效。

profiles檔案是口令和資源限制的配置集合,包括CPU的時間、I/O的使用、空閒時間、連線時間、併發會話數量、密碼策略等對於資源的使用profile可以做到控制會話級別或語句呼叫級別。oracle自帶的預設好多是不限制的,使用者建立時都會被指定這個PROFILE。

oracle的profile可以在dba_profiles中查詢。

select * from dba_profiles;

結果如下:

其中資源類(RESOURCE_TYPE=KERNEL)含義說明:

--1.Session_per_user:
--指定限制使用者的併發會話的數目。

--2.Cpu_per_session:
--指定會話的CPU時間限制,單位為百分之一秒。

--3.Cpu_per_call:
--指定一次呼叫(解析、執行和提取)的CPU時間限制,單位為百分之一秒。

--4.Connect_time:
--指定會話的總的連線時間,以分鐘為單位。

--5.Idle_time:
--指定會話允許連續不活動的總的時間,以分鐘為單位,超過該時間,會話將斷開。

--6.Logical_reads_per_session:
--指定一個會話允許讀的資料塊的數目,包括從記憶體和磁碟讀的所有資料塊。

--7.Logical_read_per_call:
--指定一次執行SQL(解析、執行和提取)呼叫所允許讀的資料塊的最大數目。

--8.Private_sga:
--指定一個會話可以在共享池(SGA)中所允許分配的最大空間,以位元組為單位。

--9.Composite_limit:
--指定一個會話的總的資源消耗,以service units單位表示。

其中密碼類(RESOURCE_TYPE=PASSWORD)含義說明:

--1.Failed_login_attempts:
--指定在帳戶被鎖定之前所允許錯誤密碼嘗試登陸的的最大次數。
--
--2.Password_life_time:
--指定同一密碼所允許使用的天數。
--
--3.Password_reuse_time
--指可以重複使用多長時間之前的密碼
--
--4.password_reuse_max:
--指的是當前密碼可以被重用之前,必須進行密碼修改的次數。
--
--5.Password_lock_time:
--指定登陸嘗試失敗次數到達後帳戶的鎖定時間,以天為單位。
--
--6.Password_grace_time:
--指定寬限天數,資料庫發出警告到登陸失效前的天數。如果資料庫密碼在這中間沒有被修改,則過期會失效。
--
--7.Password_verify_function:
--該欄位允許將複雜的PL/SQL密碼驗證指令碼做為引數傳遞到create 
--profile語句。Oracle資料庫提供了一個預設的指令碼,但是自己可以建立自己的驗證規則或使用第三方軟體驗證。 
--對Function名稱,指定的是密碼驗證規則的名稱,指定為Null則意味著不使用密碼驗證功能。

建立自定義profile

CREATE PROFILE my_profile LIMIT
SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL 6000
CONNECT_TIME 60
LOGICAL_READS_PER_SESSION DEFAULT
LOGICAL_READS_PER_CALL 6000
COMPOSITE_LIMIT 6000000
PRIVATE_SGA 66K   
FAILED_LOGIN_ATTEMPTS 6 
PASSWORD_LIFE_TIME 60
PASSWORD_REUSE_TIME 60 
PASSWORD_REUSE_MAX 5   
PASSWORD_LOCK_TIME 1/24 
PASSWORD_GRACE_TIME 10;

可以在dba_profiles中查詢:

select * from dba_profiles where profile = 'MY_PROFILE';

結果如下:

可以讓使用者使用自定義的profile

alter user apps profile my_profile;

可以通過如下查詢使用者的profile

SELECT du.username, dp.*
  FROM dba_users du, dba_profiles dp
 WHERE du.username = 'APPS'
   AND dp.profile = du.profile;

結果如下

修改profile

alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;

結果:

刪除並收回已經授予的profile

drop profile my_profile CASCADE;

當profile刪除後,原來使用該profile的使用者會使用預設的profile,如下圖

設定PROFILE引數的生效時間
1、使用者所有擁有的PROFILE中有關密碼的限制立即生效,不受限制。從這個可看出Oracle對使用者密碼的重視程度。
2、使用者所有擁有的PROFILE中有關資源的限制與resource_limit引數的設定有關,當為TRUE時生效,當為FALSE時(預設值)設定任何值都無效。