文章目錄
建立使用者:
建立使用者的文法
要建立一個新的使用者(指密碼驗證使用者,以下皆同),可以採用CREATE USER命令。下面是CREATE USER命令的文法。
CREATE USER username IDENTIFIED BY password
OR IDENTIFIED EXETERNALLY
OR IDENTIFIED GLOBALLY AS ‘CN=user’
[DEFAULT TABLESPACE tablespace]
[TEMPORARY TABLESPACE temptablespace]
[QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace
[,QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace
[PROFILES profile_name]
[PASSWORD EXPIRE]
[ACCOUNT LOCK or ACCOUNT UNLOCK]
其中,
ž CREATE USER username:使用者名稱,一般為字母數字型和“#”及“_”符號。
ž IDENTIFIED BY password:使用者口令,一般為字母數字型和“#”及“_”符號。
ž IDENTIFIED EXETERNALLY:表示使用者名稱在作業系統下驗證,該使用者名稱必須與作業系統中所定義的使用者名稱相同。
ž IDENTIFIED GLOBALLY AS ‘CN=user’:使用者名稱由Oracle安全域中心伺服器驗證,CN名字表示使用者的外部名。
ž [DEFAULT TABLESPACE tablespace]:預設的資料表空間。
ž [TEMPORARY TABLESPACE tablespace]:預設的暫存資料表空間。
ž [QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace:使用者可以使用的資料表空間的位元組數。
ž [PROFILES profile_name]:資源檔的名稱。
ž [PASSWORD EXPIRE]:立即將口令設成到期狀態,使用者再登入前必須修改口令。
ž [ACCOUNT LOCK or ACCOUNT UNLOCK]:使用者是否被加鎖,預設情況下是不加鎖的。
/*
建立使用者檔案
給建立許可權
*/
CREATE USER adpost IDENTIFIED BY "******" DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON USERS;
/*授權*/
GRANT CREATE SESSION TO adpost;
/*
修改使用者文法與執行個體
使用者建立完成後,管理員可以對使用者進行修改,包括修改使用者口令、改變使用者預設資料表空間、暫存資料表空間、磁碟配額及資源限制等。修改使用者的命令文法如下。
ALTER USER username IDENTIFIED BY password
OR IDENTIFIED EXETERNALLY
OR IDENTIFIED GLOBALLY AS ‘CN=user’
[DEFAULT TABLESPACE tablespace]
[TEMPORARY TABLESPACE temptablespace]
[QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace
[,QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace
[PROFILES profile_name]
[PASSWORD EXPIRE]
[ACCOUNT LOCK or ACCOUNT UNLOCK]
[DEFAULT ROLE role[,role]]
OR [DEFAULT ROLE ALL [EXCEPT role[,role]]]
OR [DEFAULT ROLE NOTE]
其中,各個參數的含義讀者可以參照前面CRREATE USER文法中的解釋,這裡不再贅述。
如果DBA在建立使用者時,指定了使用者在某個資料表空間的磁碟限額,那麼經過一段時間,該使用者使用該資料表空間已經達到了DBA所設定的磁碟限額時,Oracle系統會給出類似於下面的錯誤提示。
ORA-01536:SPACE QUOTA EXCEEDED FOR TABLESPACE ‘USERS’
此時,DBA應該及時通過ALTER USER命令增加使用者在該資料表空間中的使用限額。
(1)修改使用者的磁碟限額。
當Oracle系統提示ORA-01536錯誤時,表示該使用者的資源超出限額,需要為使用者增加資源。
樣本1:
SQL>SQLPLUS SYSTEM/password
SQL>ALTER USER wbtest QUOTA 100M ON USERS;
通過上述命令,將使用者wbtest在USERS資料表空間上的磁碟限額擴充到100M。
(2)修改使用者的口令。
將SCOTT使用者的口令改為tigerabc。
樣本2:
SQL>alter user scott identified by tigerabc;
Oracle預設安裝完成後,為了安全起見,很多使用者處於LOCKED狀態,可以對LOCKED狀態的使用者解除鎖定。
(3)查詢Oracle系統中被鎖住的使用者資訊。
/*
樣本3:
SQL>select username,account_status,lock_date from dba_users;
USERNAME ACCOUNT_STATUS LOCK_DTAE
--------------------------------------------------------------------------------------
SYS OPEN
SYSTEM OPEN
DBSNMP OPEN
HOUSE OPEN
SCOTT OPEN
OE OPEN
OUTLN EXPIRED&LOCKED 18-8月 -07
WMSYS EXPIRED&LOCKED 18-8月 -07
ORDSYS EXPIRED&LOCKED 18-8月 -07
MDSYS EXPIRED&LOCKED 18-8月 -07
(4)使用ALTER USER解鎖被鎖住的MDSYS使用者。
SQL>show user;
USER 為“SYSTEM”
SQL>alter user MDSYS account unlock;
使用者已更改。
刪除使用者
刪除使用者是通過DROP USER命令完成的,刪除使用者後,Oracle會從資料字典中刪除使用者、方案及其所有對象方案,文法如下:
*/
DROP USER TMS CASCADE;