基礎知識6——建立和管理配置檔案
建立和管理配置檔案
配置檔案雙重功能 :實施口令策略並限制會話可以佔用的資源. 始終要實施口令控制,而對於資源限制,則引數resource_limit為true時(預設false)才會實施.系統將自動使用配置檔案,但預設的配置檔案(預設應用所有使用者,包括SYS和SYSTEM)作用很小.
管理口令
可用於口令的限制如下:
failed_login_attempts --指定在鎖定賬戶前,口令連續錯誤次數,如果及時更正,重置為0
password_lock_time --在到達failed_login_attempts後,鎖定賬戶的天數
password_life_time --口令過期前的天數,過期後仍可使用,取決於password_grace_time
password_grace_time --口令過期(有提示)後第一次成功登入後的天數,此期間舊口令可用
password_reuse_time --可以重新使用口令前的天數
password_reuse_max --允許重新使用口令的次數
password_verify_function --更改口令時執行的函式名
資源限制
可用於資源使用的限制(也叫核心限制)如下:
sessions_per_user --同一賬號的併發登入數
cpu_per_session --強制終止會話前,允許會話伺服器程式使用的CPU時間(釐秒)
cpu_per_call --強制終止某SQL語句,允許會話的伺服器程式用於執行此語句的CPU時間(釐秒)
logical_reads_per_session --強制終止會話前,會話可讀取的次數
logical_reads_per_call --強制終止單個語句前,此語句可讀取的塊數
private_sga --對於共享伺服器體系結構連線的會話,允許會話的資料在SGA佔用的位元組數(KB)
connect_time --在強制終止會話前,繪畫的最長持續時間(分鐘)
idle_time --強制終止會話前,允許會話處於閒置狀態的最長時間(分鐘)
composite_limit --cpu_per_session,connect_time,logical_reads_per_session和private_sga的加權和,高階功能
設定了例項引數,才會應用資源限制:
alter system set resource_limit=true; --預設是false
配置檔案的建立和分配
select username,profile from dba_users;
預設方式下為所有使用者(除了DBSNMP和WKSYS)分配名為default的配置檔案,顯示配置檔案本身的檢視是dba_profiles:
select * from dba_profiles
where profile='DEFAULT'
default配置檔案完全沒有資源限制,只有一些口令限制,如圖所示:
這些限制不嚴格:連續10次輸錯,賬戶鎖1天,口令在6個月後過期,有1個星期的更改口令的緩期
啟用更高階口令管理的最簡單方式是執行oracle提供的指令碼,unix/linux上:
$ORACLE_HOME/rebms/admin/utlpwdmg.sql
windows上:
%ORACLE_HOME%\redms\admin\utlpwdmg.sql
在任一平臺上,此指令碼將建立兩個名為verify_function和verify_function_11g函式,並執行:
alter profile default limit
password_life_time 180
password_grace_time 7
password_reuse_time unlimited
password_reuse_max unlimited
filed_login_attempts 10
password_lock_time 1
password_verify_function verify_function_11g
此命令將調整名為default的配置檔案,使用default配置檔案的所有使用者(預設所有)將立即使用新值.建立標準資料庫後,唯一的更改是password_verify_function的規範.名為verify_function_11g的函式執行一組簡單任務,如果不符合下任一條件,將放棄更改口令:
-新口令字元長度至少8位
-新口令不能是使用者名稱,不能是大小寫的資料庫名
-拒絕一些常用的簡單口令如oracle
-新口令至少有一個字元和數字
-新口令與舊口令至少必須有三個字元不同
應將此指令碼視為示例指令碼.
使用SQL*Plus建立配置檔案,使用create profile命令,根據需要設定任何限制,未指定的任何限制將從default配置檔案的當前版本中提取.
來個例子,規定管理員根據需要多次登入多個併發會話,並必須每週更改一次口令(緩期1天),而程式設計人員可以登入兩次會話,其它任何使用者都不能多次登入.
為此,首先調整default配置檔案:
alter profile default limit session_per_user 1;
為DBA新建配置檔案,並予以分配:
create profile dba_profile limit sessions_per_user unlimited
password_life_time 7 password_grace_time 1;
alter user system profile dba_profile;
為程式設計人員建立配置檔案,並予以分配:
create profile programmers_profile limit sessions_per_user 2;
alter user jon profile programmers_profile;
alter user sue profile programmers_profile;
要使資源限制生效,請調整例項引數:
alter system set resource_limit=true;
假設此例項使用spfile,此例項將傳送給引數檔案,並將永久儲存.
如果將配置檔案分配給使用者,就不能再刪除配置檔案,必須首先將它們更改為不同的配置檔案,此後用下面命令刪除:
drop profile profile_name;
或下面的命令:
drop profile profile_name cascade;
練習,建立分配和測試一個配置檔案,此檔案將實施一些口令控制
建立一個配置檔案,如果輸錯兩次密碼,就鎖定賬戶:
create profile two_wrong limit failed_login_attempts 2;
將新配置檔案分配給scott
alter user scott profile two_wrong;
連續輸入錯誤口令,出現ora-28000錯誤
管理員使用者解除scott鎖定
alter user scott account unlock;
確認scott可以連線
最後刪除配置檔案
drop profile two_wrong cascade
配置檔案雙重功能 :實施口令策略並限制會話可以佔用的資源. 始終要實施口令控制,而對於資源限制,則引數resource_limit為true時(預設false)才會實施.系統將自動使用配置檔案,但預設的配置檔案(預設應用所有使用者,包括SYS和SYSTEM)作用很小.
管理口令
可用於口令的限制如下:
failed_login_attempts --指定在鎖定賬戶前,口令連續錯誤次數,如果及時更正,重置為0
password_lock_time --在到達failed_login_attempts後,鎖定賬戶的天數
password_life_time --口令過期前的天數,過期後仍可使用,取決於password_grace_time
password_grace_time --口令過期(有提示)後第一次成功登入後的天數,此期間舊口令可用
password_reuse_time --可以重新使用口令前的天數
password_reuse_max --允許重新使用口令的次數
password_verify_function --更改口令時執行的函式名
資源限制
可用於資源使用的限制(也叫核心限制)如下:
sessions_per_user --同一賬號的併發登入數
cpu_per_session --強制終止會話前,允許會話伺服器程式使用的CPU時間(釐秒)
cpu_per_call --強制終止某SQL語句,允許會話的伺服器程式用於執行此語句的CPU時間(釐秒)
logical_reads_per_session --強制終止會話前,會話可讀取的次數
logical_reads_per_call --強制終止單個語句前,此語句可讀取的塊數
private_sga --對於共享伺服器體系結構連線的會話,允許會話的資料在SGA佔用的位元組數(KB)
connect_time --在強制終止會話前,繪畫的最長持續時間(分鐘)
idle_time --強制終止會話前,允許會話處於閒置狀態的最長時間(分鐘)
composite_limit --cpu_per_session,connect_time,logical_reads_per_session和private_sga的加權和,高階功能
設定了例項引數,才會應用資源限制:
alter system set resource_limit=true; --預設是false
配置檔案的建立和分配
select username,profile from dba_users;
預設方式下為所有使用者(除了DBSNMP和WKSYS)分配名為default的配置檔案,顯示配置檔案本身的檢視是dba_profiles:
select * from dba_profiles
where profile='DEFAULT'
default配置檔案完全沒有資源限制,只有一些口令限制,如圖所示:
這些限制不嚴格:連續10次輸錯,賬戶鎖1天,口令在6個月後過期,有1個星期的更改口令的緩期
啟用更高階口令管理的最簡單方式是執行oracle提供的指令碼,unix/linux上:
$ORACLE_HOME/rebms/admin/utlpwdmg.sql
windows上:
%ORACLE_HOME%\redms\admin\utlpwdmg.sql
在任一平臺上,此指令碼將建立兩個名為verify_function和verify_function_11g函式,並執行:
alter profile default limit
password_life_time 180
password_grace_time 7
password_reuse_time unlimited
password_reuse_max unlimited
filed_login_attempts 10
password_lock_time 1
password_verify_function verify_function_11g
此命令將調整名為default的配置檔案,使用default配置檔案的所有使用者(預設所有)將立即使用新值.建立標準資料庫後,唯一的更改是password_verify_function的規範.名為verify_function_11g的函式執行一組簡單任務,如果不符合下任一條件,將放棄更改口令:
-新口令字元長度至少8位
-新口令不能是使用者名稱,不能是大小寫的資料庫名
-拒絕一些常用的簡單口令如oracle
-新口令至少有一個字元和數字
-新口令與舊口令至少必須有三個字元不同
應將此指令碼視為示例指令碼.
使用SQL*Plus建立配置檔案,使用create profile命令,根據需要設定任何限制,未指定的任何限制將從default配置檔案的當前版本中提取.
來個例子,規定管理員根據需要多次登入多個併發會話,並必須每週更改一次口令(緩期1天),而程式設計人員可以登入兩次會話,其它任何使用者都不能多次登入.
為此,首先調整default配置檔案:
alter profile default limit session_per_user 1;
為DBA新建配置檔案,並予以分配:
create profile dba_profile limit sessions_per_user unlimited
password_life_time 7 password_grace_time 1;
alter user system profile dba_profile;
為程式設計人員建立配置檔案,並予以分配:
create profile programmers_profile limit sessions_per_user 2;
alter user jon profile programmers_profile;
alter user sue profile programmers_profile;
要使資源限制生效,請調整例項引數:
alter system set resource_limit=true;
假設此例項使用spfile,此例項將傳送給引數檔案,並將永久儲存.
如果將配置檔案分配給使用者,就不能再刪除配置檔案,必須首先將它們更改為不同的配置檔案,此後用下面命令刪除:
drop profile profile_name;
或下面的命令:
drop profile profile_name cascade;
練習,建立分配和測試一個配置檔案,此檔案將實施一些口令控制
建立一個配置檔案,如果輸錯兩次密碼,就鎖定賬戶:
create profile two_wrong limit failed_login_attempts 2;
將新配置檔案分配給scott
alter user scott profile two_wrong;
連續輸入錯誤口令,出現ora-28000錯誤
管理員使用者解除scott鎖定
alter user scott account unlock;
確認scott可以連線
最後刪除配置檔案
drop profile two_wrong cascade
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25025926/viewspace-1068189/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 基礎知識6——建立和管理角色
- 基礎知識6——建立和管理使用者賬戶
- [基礎知識] Redis 配置檔案Redis
- 基礎知識5——建立和管理表空間
- Python - 基礎知識專題 - 配置檔案與日誌管理(正在寫作)Python
- MySQL基礎知識(6)MySql
- 滲透測試基礎知識---mysql配置檔案詳解MySql
- 基礎知識5——表空間和資料檔案
- SpringBoot 基礎知識學習(二)——配置檔案多環境配置Spring Boot
- es6基礎知識
- 1.7 基礎知識——GP2.6 配置管理(CM)
- corejava基礎知識(6)-檢視Java
- 基礎知識6——授予和撤銷許可權
- Docker網路配置基礎知識Docker
- JSP基礎知識及工程建立JS
- ext3檔案系統基礎知識點
- c++基礎知識(十一)檔案的複製C++
- IPv6基礎知識詳解
- 基礎知識6——安全和最小許可權原則
- SSL和CA基礎知識
- GMAC和PHY基礎知識Mac
- 軟體專案管理Follow Me--軟體專案管理基礎知識專案管理
- SQL 基礎-->建立和管理表SQL
- Python基礎知識之檔案的讀取操作Python
- Go語言:包管理基礎知識Go
- HTML基礎知識6-表格標籤HTML
- 6. Oracle開發和應用——6.1. 基礎知識Oracle
- 基礎知識
- 前端-html和css基礎知識前端HTMLCSS
- 加密和 PKI 基礎知識 (轉)加密
- XWiki_安裝和基礎配置企業級知識庫
- Flutter環境配置 + 基礎知識瞭解Flutter
- 滲透測試基礎知識----MySQL 配置MySql
- C# 基礎知識系列- 14 IO篇 檔案的操作C#
- 檔案管理基礎命令一
- nginx應用總結(1)-- 基礎知識和應用配置梳理Nginx
- 二、javase基礎知識總結(從檔案 I/O開始)Java
- Python基礎知識_第10節_檔案操作(IO技術)Python