天天看點

Oracle 使用者管理

一、使用者的概念

  使用者,即user,通俗的講就是通路oracle資料庫的“人”。在oracle中,可以對使用者的各種安全參數進行控制,以維護資料庫的安全性,這些概念包括模式(schema)、權限、角色、存儲設定、空間限額、存取資源限制、資料庫審計等。每個使用者都有一個密碼,使用正确的使用者/密碼才能登入到資料庫進行資料存取。

二、使用者預設表空間

  表空間是資訊存儲的最大邏輯機關、當使用者連接配接到資料庫進行資料存儲時,若未指出資料的目标存儲表空間時,則資料存儲在使用者的預設表空間中。比如:create table mytable(id varchar2(20),name varchar2(100));這條語句建立了一個表mytable,并将其存儲在目前使用者的預設表空間中,若要指定表空間,則:create table mytable(id varchar2(20),name varchar2(100)) tablespace tbs1;。使用者的預設表空間可以在建立使用者時指定,也可以使用aler user指令進行指定,具體文法見後面的介紹。

三、使用者臨時表空間

  臨時表空間主要用于order by語句的排序以及其它一些中間操作。在oracle9i之前,可以指定使用者使用不同的臨時表空間,從9i開始,臨時表空間是通用的,所的使用者都使用TEMP作為臨時表空間。

四、使用者資源檔案

  使用者資源檔案用來對使用者的資源存取進行限制,包括:cpu使用時間限制、記憶體邏輯讀個數限制、每個使用者同時可以連接配接的會話資料限制、一個會話的空間和時間限制、一個會話的持續時間限制、每次會話的專用SGA空間限制。

五、使用者表空間限額

  表空間存儲限制是使用者在某一個表空間中可以使用的存儲空間總數。在建立或修改使用者時,可以由參數quota指出。若使用者在向表空間存儲資料時,超出了此限額,則會産生錯誤。錯誤資訊如:'ORA-01536:space quota exceeded for tablespace tablespacename..'。可以通過查詢字典dba_ts_quotas檢視表空間限額資訊。

六、建立使用者資源檔案

  建立使用者資源檔案的文法如下:

CREATE PROFILE filename LIMIT

SESSION_PER_USER integer

CPU_PER_SESSION integer

USER_PER_CALL integer

CONNECT_TIME integer

......

基中:

SESSION_PER_USER: 使用者可以同時連接配接的會話數量限額;

CPU_PER_SESSION:使用者在一次資料庫會期間可占用的CPU時間總量限額,機關為百分之一秒;

USER_PER_CALL:使用者一次SQL調用可用的CPU時間總量限額,機關為百分之一秒;

LOGICAL_READS_PER_SESSION:在一次資料庫會話期間能夠讀取的資料庫塊的個數限額;

LOGICAL_READS_PER_CALL:一次SQL調用可以讀取的資料庫塊數限額;

IDLE_TIME:使用者連接配接到資料庫後的可空閑時間限額,機關為分鐘,若空閑時間超過此值,則連接配接被斷開;

CONNECT_TIME:一次連接配接的時間總量限額,機關為分鐘,連接配接時間超過此值時,連接配接被斷開;

PRIVATE_SGA:使用者麼有的SGA區的大小,機關為資料庫塊,預設值為UNLIMITED;

COMPOSITE_LIMIT:這是一項由上述限制參數構成的組合資源項。舉例來說,假設資源設定如下:

  IDLE_TIME 20

    CONNECT_TIME 120

    CPU_PER_CALL 750

    COMPOSITE_LIMT 800

那麼,當會話空間超過20分鐘,或者連接配接時間超過120分鐘,又或者執行一個SQL耗費超過7.5秒,再或者這幾個資源限制加起來的總數超過800,則系統自動終止會話。

FAILED_LOGIN_ATTEMPTS:使用者登入時,允許使用者名/密碼校驗失敗緻使用登入失敗的次數限額,超過該次數,帳戶被鎖定;

PASSWORD_LIFE_TIME:密碼有效時間,機關為天數,超過這一時間,拒絕登入,須重新設定密碼,預設值為UNLIMITED;

PASSWORD_REUSE_TIME:一個失效密碼經過多少天後才可重新利用,預設為UNLIMITED;

PASSWORD_REUSE_MAX:一個密碼可重複使用的次數;

PASSWORD_LOCK_TIME:當登入失敗達到FAILED_LOGIN_ATTEMPS時,帳戶被鎖定,該參數用于設定被鎖定的天數;

下面舉例如下:

1)建立一個使用者資源檔案

create profile tax_users limit

session_per_user 3

cpu_per_session UNLIMITED

connect_time 30

logical_reads_per_session DEFAULT

logical_reads_per_call 1000

private_sga 15K

composite_limit 500000

password_life_time 90

2)查詢使用者資源檔案資訊

sql>select *from dba_profile where profile = 'tax_users'

3)指定使用者資源檔案給使用者

sql>alter user us1 profile tax_users

上一篇: oracle-網絡