詳解oracle使用者建立(中)

pingley發表於2012-02-10
詳解oracle使用者建立(create user)(中)
更改使用者的密碼:
除了使用alter user命令修改使用者的密碼以後,可以在sql*plus中使用password關鍵字修改
密碼。
SQL> conn hr/hr
已連線。
SQL> password
更改 HR 的口令
舊口令:
新口令:
重新鍵入新口令:
口令已更改
SQL> conn system as sysdba
輸入口令:
已連線。
SQL> password scott   //DBA可以使用password+username修改其他使用者的密碼。
更改 scott 的口令
新口令:
重新鍵入新口令:
口令已更改
在pl/sql等其他工具中該命令是無法使用的。

給使用者授予create session特權,以建立會話:
SQL> conn system as sysdba
輸入口令:
已連線。
SQL> grant create session to oracleusr;
授權成功。
SQL> conn oracleusr
輸入口令:
已連線。
這樣使用者就可以建立會話登入到oracle資料庫中了.

鎖定使用者賬號,當使用者登入的時候會報ORA-28000的錯誤:
SQL> alter user oracleusr account lock;
使用者已更改。
SQL> conn oracleusr
輸入口令:
ERROR:
ORA-28000: 帳戶已被鎖定

設定使用者密碼的狀態:
密碼過期以後使用者登入的時候會提示修改密碼,並報ORA-28001錯誤。
SQL> alter user oracleusr password expire;
使用者已更改。
SQL> conn oracleusr
輸入口令:
ERROR:
ORA-28001: 口令已經失效
更改 oracleusr 的口令
新口令:
重新鍵入新口令:
口令已更改
已連線。

刪除使用者賬戶:
SQL> create user testuser identified by oracle11g;
使用者已建立。
SQL> drop user testuser;
使用者已刪除。
請謹慎刪除使用者,刪除使用者的同時使用者對應的schema中的物件也將被刪除.

使用者資訊的查詢:
很多時候只靠查詢dba_users資料字典,使用者的相關資訊還可以查詢:
dba_ts_quotas查詢使用者所在永久表空的配額等資訊。
其實資料庫中的很多使用者都不需要磁碟配額,因為他們只需要其他schema中物件的訪問與操作
特權。
SQL> select tablespace_name,bytes,max_bytes
  2  from dba_ts_quotas
  3  where username='ORACLEUSR';
 
TABLESPACE_NAME                     BYTES  MAX_BYTES
------------------------------ ---------- ----------
USERS                                   0   10485760

database_properties查詢有關預設臨時表空間,永久表空間的設定情況。
max_bytes如果值是-1表示在對應的表空間中的磁碟配額是unlimited。

關於profile:
profile用於設定一系列的資料庫資源使用限制。把profile分配給使用者,使用者的資源使用
被設定在profile的限制之內。使用create profile 建立profile.使用create user或
alter user給使用者分配profile.

profile中的限制又分為兩種:
resource_parameters:
sessions_per_user:指定使用者併發的會話數。
cpu_per_session:以百分之一秒為單位,指定使用者的CPU佔用時間。
cpu_per_call:以百分之一秒,指定一次呼叫的的CPU佔用時間。
connect_time:以分為單位,指定會話的持續時間。
idle_time:以分為單位,指定會話的空閒時間。
logical_reads_per_session:指定允許的logical reads 塊數量。
logical_reads_per_call:指定一次呼叫允許的logical reads塊數量。
private_sga:一個會話在SGA共享池中分配的私有會話空間的大小。
該引數只有在共享伺服器模式下才有效。
composite_limit:以服務單元指定一個會話總的資源開銷。oracle會根據cpu_per_session,
connect_time,logical_reads_per_session,private_sga的加權值來計算service units。

SQL> create profile new_profile1 limit  //profile名稱new_profile1
  2  sessions_per_user  5               //使用者的同時併發會話數5
  3  cpu_per_session   unlimited        //會話的CPU佔用時間無限制
  4  cpu_per_call 6000                  //一次呼叫不能佔用CPU的時間不能超過60秒
  5  connect_time 60                    //單個會話持續的時間不能超過60分鐘
  6  logical_reads_per_session 1500     //單個會話所能允許的邏輯讀塊數:1500
  7  logical_reads_per_call default     //一次呼叫的所能允許的邏輯讀塊數使用預設值
  8  private_sga 10k                    //單個會話可以佔用的sga的記憶體空間:10kb
  9  composite_limit 5000000;           //複合資源限制的數量500萬服務單元。
配置檔案已建立
此處沒有指定idle_time,password_parameters的引數,所有點那個把new_profile1分配給使用者
的時候,這些限制將使用default profile中的預設值。

給使用者分配profile:
SQL> alter user oracleusr profile new_profile1;
使用者已更改。
如果使用者在建立的時候不指定profile,oracle會自動把default profile分配給使用者.

password_parameters:
failed_login_attempts:使用者賬戶被鎖定前,使用者登入的嘗試次數,預設值是10次。
password_life_time:指定密碼過期的時間,預設值是180天。
password_reuse_time:當前密碼可以重用以前必須經過的時間間隔。
password_reuse_max:當前密碼可以被重用前需要修改的次數。
以上兩個引數需要一同使用。
password_lock_time:當超過failed_login_attempts指定的值時,賬戶被鎖定的天數。預設是一天。
password_grace_time:在password_life_time到期以後寬限使用者使用原密碼登入的天數
如果,在password_grace_time指定的天數內,舊密碼仍有效,但是會提高使用者更改密碼。預設是7天。
password_verify_function:指定密碼複雜度驗證的PL/SQL函式,或第三方運用程式。不使用
密碼驗證函式,password_verify_function設定為null。

SQL>  create profile new_profile2 limit
  2   failed_login_attempts 3
  3   password_life_time 90
  4   password_reuse_time 180
  5   password_reuse_max 3
  6   password_verify_function null
  7   password_lock_time 1
  8   password_grace_time 5;
配置檔案已建立
SQL> alter user oracleusr profile new_profile2;
使用者已更改。
注意此時前面分配給使用者的new_profile1就被new_profile2取代了。
在new_profile中未指定的resource_parameters會自動使用default profile中的預設值。
所有應該把所有的資源限制寫在同一個profile中。

補充上節內容:
上節中提到了oracle的預置賬戶:sys,system
sys與system都具有很高的許可權,都被授予了dba角色。但是sys的許可權要高於system,sys使用者
可以執行system使用者無法執行的:資料庫升級、資料庫備份與恢復。system使用者主要用於執行
資料庫的日常管理工作。
注:資料庫中資料庫字典包含的所有的基表與檢視都儲存在sys schema中。這些基表與檢視
對資料庫的執行十分的關鍵,為了保證資料字典的完整性,在sys schema中的基表只能被資料庫
操作。system schema額外的用於資料庫管理的表與檢視。


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

相關文章