oracle使用者詳解

2021-05-25 23:48:02 字數 3629 閱讀 7299

oracle使用者 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

七、建立、修改、刪除使用者

1.建立使用者

建立使用者的詳細語法請查詢oracle的官方引數文件,這裡介紹典型的語法。語法如下:

create user username

identified by password

default tablespace tablespace

temporary tablespace tablespace

profile profile

quota integer|unlimited on tablespace

各選項含義如下:

identified by password:使用者口令;

default tablespace tablespace:預設表空間;

temporary tablespace tablespace:臨時表空間;

profile profile|default:使用者資源檔案;

quota integer[k|m]|unlimited on tablespace:使用者在表空間上的空間使用限額,可以指定多個表空間的限額。

舉例:create user us1 identitied by abc123

default tablespace user01

temporary tablespace temp

profile default

quota 1000m on user01;

2.修改使用者

修改使用者的語法是與建立使用者的語法類似的,主要是create user 變成 alter user,具體請參考oracle文件。

3.刪除使用者

刪除使用者,是將使用者及使用者所建立的schema物件從資料庫刪除。如下:

sql>drop user us1;

若使用者us1含有schema物件,則無上述語句將執行失敗,須加入關鍵字cascade才能刪除,意思是連並其物件一起刪除,如下:

sql>drop user us1 cascade;

1Oracle中的使用者詳解

oracle中的使用者很多,也很令初學者費解.oracle中的帳戶分為兩類 一類是必需的帳戶,一類是儲存各種應用的帳戶 使用者名稱密碼 描述anonymous anonymous 訪問http的帳戶 ctxsys ctxsys intermedia text使用者 dbsnmp dbsnmp 目錄整...

oracle使用者建立及許可權設定詳解

許可權 create session create table unlimited tablespace connect resource dba例 sqlplus nolog sql conn as sysdba sql create user username identified by pas...

詳解Oracle建立使用者許可權全過程

本文將介紹的是通過建立一張表,進而實現oracle建立使用者許可權的過程。以下這些 主要也就是為實現oracle建立使用者許可權而編寫,希望能對大家有所幫助。注意 每條語語分開執行,結尾必須用分號 建立空間 createtablespace test datafile c oracle oradat...