12.管理使用者(筆記)

tonykorn97發表於2006-04-17

12.管理使用者


在10g中,oracle提供了預設的特權使用者SYS,但如果初始化引數REMOTE_LOGIN_PASSWORDFILE 被設定為EXCLUSIVE,你們可以將SYSDBA和SYSOPER特權授予其他使用者,但當以特權使用者身份登陸時,必須帶有AS SYSDBA和AS SYSOPER選項:
sqlplus “sys/oracle AS SYSDBA”


CRANT SYSDBA TO system;

CONN system/manager AS SYSDBA


方案(Schema)是使用者所擁有資料庫物件的集合.在oracle資料庫中物件是以使用者來組織的,使用者與方案是一一對應的關係,並且二者名稱相同.

當訪問資料庫物件時,有以下一些注意事項.

在同一個方案中不能存在同名物件,但不同方案的物件名可以相同.

使用者可以直接訪問其方案物件,但如果要訪問其他方案物件,則必須具有物件許可權.

當使用者名稱要訪問其他方案物件時,必須加方案名作為字首.


建立使用者.

建立使用者是使用命令CREATE USER命令的,該命令一般有DBA使用者執行,如果要以其他使用者建立使用者,則要求必須具有CREATE USER系統許可權.


建立使用者,資料庫驗證.

資料庫驗證是指使用資料庫來檢查使用者,口令以及使用者身份的方式,該方式是最常用的使用者驗證方式.採用資料庫驗證具有以下優點.

1,使用者帳戶及其身份驗證全部由資料庫控制,不需要藉助資料庫外的任何控制.

2,當使用資料庫驗證時,oracle提供了嚴格的口令管理特徵以加強口令的安全性,例如帳戶鎖定,口令有效期以及口令驗證等.

如果使用資料庫驗證,建立使用者時必須提供口令,並且口令必須用單位元組字元.下面以建立資料庫使用者DEVEP為例,說明使用CREATE USER命令建立使用者的方法.

CREATE USER devep IDENTIFIED BY devep

DEFAULT TABLESPACE user01

TEMPORARY TABLESPACE temp

QUOTA 3M ON user01

PASSWORD EXPIRE;

IDENTIFIED BY用於指定使用者口令(資料庫驗證);DEFAULT TABLESPACE用於指定使用者預設表空間,建立資料物件(表,索引和簇)時,如果不指定TABLESPACE子句,oracle會自動在預設表空間上為這些物件分配空間.TEMPORARY TABLESPACE用於指定使用者的臨時表空間,當使用者執行排序操作時,若臨時資料尺寸超過PGA工作區,則會在該表空間上建立臨時段.QUOTA用於指定表空間配額,既使用者物件在表空間上可佔用的最大空間.PASSWORD EXPIRE用於指定口令到期,最終強制使用者在登陸時改變口令.


執行CREATE USER建立了使用者後,需要注意以下事項.

1,初始建立的資料庫使用者沒有任何許可權.不能執行任何資料庫操作.

2,如果建立使用者時不指定DEFAULT TABLESPACE子句,oracle會將SYSTEM表空間作為使用者預設表空間.

3,如果建立使用者時不指定TEMPORARY TABLESPACE子句,oracle會將資料庫預設臨時表空間作為使用者的臨時表空間.

4,如果建立使用者時沒有為表空間指定QUOTA子句,那麼使用者在特定表空間上的配額為0,使用者將不能在相應表空間上建立資料物件.


因為初始建立的使用者沒有任何許可權,所以為了使使用者可以連線到資料庫,必須授權其CREATE SESSION許可權.當採用資料庫驗證方式時,必須透過使用者名稱和口令連線到資料庫.

Connect

GRANT CREATE SESSION,CREATE TABLE TO devep;

Conn devep/devep@demo

建立使用者:OS驗證

OS驗證時指使用OS(作業系統)檢查使用者,口令和使用者身份的方式,OS驗證適用於區域網環境.直接這種方法的優點是連線簡單,不需要提供使用者名稱和口令.使用OS驗證有以下要求:

1,資料庫格式為”XYZ域名OS使用者名稱”(必須大寫),其中,XYZ為初始化引數OS_AUTHENT_PREFIX的值.假定初始化引數OS_AUTHENT_PREFIX的值為OPS$,網路域名為WANGHAILIANG,並且需要為OS使用者WHL提供OS驗證方式.的資料庫使用者,那麼必須建立名為OPS$WANGHAILIANGWHL的資料庫使用者.

2,如果使用遠端OS驗證(使用ORACLE NET連線),必須將初始化引數REMOTE_OS_AUTHENT設定為TRUE.

3,必須將檔案SQLNET.ORA的選擇SQLNET.AUTHENTICATION_SERVICES設定為NTS.

下面以建立使用OS驗證方式的資料庫使用者OPS$WANGHAILIANGWHL為例,說明建立和使用OS 驗證的方法.

CREATE USER “OPS$WANGHAILIANGWHL”

IDENTIFIED EXTERNALLY

DEFAULT TABLESPACE user01

QUOTA 3M ON user01;

GRANT CONNECT TO “OPS$WANGHAILIANGWHL”;

建立使用OS驗證的使用者,併為其授權必要的許可權後,就可以使用OS驗證方式連線到資料庫了.當使用OS驗證時,首先以OS使用者登陸到區域網環境.然後使用以下兩種方式連線到資料庫.

本地連線:sqlplus /

遠端連線:sqlplus .


修改使用者.

修改使用者資訊是使用ALTER USER命令完成的.

修改口令:ALTER USER devep INENTIFIED BY devep;

修改表空間配額:ALTER USRE devep QUOTA 10M ON user01;

鎖定使用者帳戶:ALTER USER devep ACCOUNT LOCK;

解鎖使用者帳戶:ALTER USER devep ACCOUNT UNLOCK;

設定使用者預設角色:ALTER USER devep DEFAULT ROLE select_role;

刪除使用者.

刪除用於是使用DROP USER命令完成的.刪除使用者後,oracle會從資料字典中刪除使用者,方案及其所有物件方案.

DROP USER username [CASCADE];

刪除使用者時,如果使用者包含資料庫物件,那麼必須要帶有CASCADE選項.


顯示使用者資訊.

1,顯示當前會話使用者.

Show user

2,顯示特權使用者.

Select * from v$pwfile_users;

3,顯示使用者資訊.

建立使用者時,oracle會將使用者資訊存放到資料字典基表中,透過查詢資料字典檢視DBA_USERS,可以顯示資料庫所有使用者的詳細資訊.透過查詢資料字典檢視ALL_USERS,可以顯示所有資料庫使用者的名稱和編號.透過查詢資料字典檢視USR_USRS,可以顯示當前使用者的詳細資訊.

4,顯示使用者表空間配額.

透過查詢資料字典檢視DBA_TS_QUOTAS,可以顯示所有資料庫使用者的表空間配額:透過查詢資料字典檢視USER_TS_QUOTAS,可以顯示當前使用者的表空間配額資訊.

SELECT tablespace_name, bytes, max_bytes

FROM dba_ts_quotas WHERE username=’DEVEP’;

Tablespace_name用於標識表空間名,bytes用於標識使用者物件在該表空間上已經佔用的空間.max_bytes用於標識使用者在表空間上可佔用的最大空間.

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

相關文章