CREATE USER username
IDENTIFIED {BY password | EXTERNALLY}
[DEFAULT TABLESPACE tablespace_name]
[TEMPORARY TABLESPACE tablespace_name]
[QUOTA {size [K|M] | UNLIMITED} ON tablespace_name]
[PASSWORD EXPIRE]
[ACCOUNT {LOCK | UNLOCK}]
[PROFILE profile_name];
| 參數 | 用途 |
|---|---|
IDENTIFIED BY password | 資料庫驗證模式,指定登入密碼 |
IDENTIFIED EXTERNALLY | 作業系統驗證模式(OPS$ 用戶) |
DEFAULT TABLESPACE | 用戶建立物件時的預設表空間 |
TEMPORARY TABLESPACE | 排序、哈希連接等臨時段儲存空間 |
QUOTA | 限制用戶在指定表空間的儲存額度,UNLIMITED 為無上限 |
PASSWORD EXPIRE | 強制用戶首次登入時修改密碼 |
ACCOUNT LOCK/UNLOCK | 鎖定/解鎖帳號,鎖定後無法登入 |
PROFILE | 指定資源限制檔(密碼策略、Session 限制等) |
CREATE USER testUser
IDENTIFIED BY test
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
QUOTA UNLIMITED ON USERS
PASSWORD EXPIRE
ACCOUNT UNLOCK
PROFILE DEFAULT;
GRANT CREATE SESSION TO testUser;
無 CREATE SESSION 權限無法建立資料庫連線。
ALTER USER testUser IDENTIFIED BY newPass; -- 修改密碼
ALTER USER testUser ACCOUNT LOCK; -- 鎖定帳號
ALTER USER testUser DEFAULT TABLESPACE NEW_TBS; -- 變更預設表空間
DROP USER testUser CASCADE;
CASCADE 會連同用戶擁有的所有物件(表、視圖、序列等)一併刪除,謹慎使用。
-- 所有用戶基本資訊
SELECT * FROM ALL_USERS;
-- 詳細狀態(含密碼雜湊、帳號狀態、鎖定時間等)
SELECT username, password, account_status, lock_date, expiry_date
FROM DBA_USERS;
PROFILE 強制密碼複雜度、過期天數、失敗鎖定策略。DBA 或 RESOURCE 角色。DBA_USERS 中 ACCOUNT_STATUS 非 OPEN 的帳號。ALTER USER ... ACCOUNT LOCK,保留物件供稽核,再排程 DROP USER ... CASCADE。