在Oracle中,用戶與Schema一一對應。創建用戶即創建Schema,用戶擁有的所有對象(表、視圖、索引、存儲過程等)均屬於其Schema。無獨立「創建Schema」命令。
TABLESPACE子句,對象自動存放於此。CREATE USER app_user IDENTIFIED BY pass
DEFAULT TABLESPACE users_data
TEMPORARY TABLESPACE temp;
ALTER USER app_user DEFAULT TABLESPACE new_data;
ORDER BY、GROUP BY)、哈希連接、索引創建等中間操作。DEFAULT TEMPORARY TABLESPACE(通常為TEMP)。控制會話級資源消耗:
| 參數 | 含義 | 典型值 |
|---|---|---|
| SESSIONS_PER_USER | 並發會話上限 | UNLIMITED / 50 |
| CPU_PER_SESSION | 會話CPU時間(百分之一秒) | UNLIMITED |
| CPU_PER_CALL | 單次調用CPU上限 | 3000 |
| CONNECT_TIME | 會話連接時長(分鐘) | 45 |
| LOGICAL_READS_PER_SESSION | 會話邏輯讀塊數 | DEFAULT |
| LOGICAL_READS_PER_CALL | 單次調用邏輯讀上限 | 1000 |
| PRIVATE_SGA | 會話私有SGA內存 | 15K |
| COMPOSITE_LIMIT | 綜合資源加權分值 | 5000000 |
CREATE PROFILE app_profile LIMIT
SESSIONS_PER_USER 20
CPU_PER_CALL 5000
CONNECT_TIME 60;
ALTER USER app_user PROFILE app_profile;
ORA-01536: space quota exceeded for tablespace ...SELECT * FROM dba_ts_quotas WHERE username = 'APP_USER';-- 授予無限配額
ALTER USER app_user QUOTA UNLIMITED ON users_data;
-- 或指定大小
ALTER USER app_user QUOTA 100M ON users_idx;
PROFILE密碼參數控制(見ID:94323)。CREATE USER ext_user IDENTIFIED EXTERNALLY;(OS/SSL/Kerberos)CREATE USER global_user IDENTIFIED GLOBALLY AS 'CN=...';(Enterprise Directory)CREATE USER dw_user IDENTIFIED BY "Str0ngP@ssw0rd!"
DEFAULT TABLESPACE dw_data
TEMPORARY TABLESPACE temp
QUOTA UNLIMITED ON dw_data
QUOTA 500M ON dw_idx
PROFILE dw_profile
ACCOUNT UNLOCK
PASSWORD EXPIRE; -- 首次登錄強制改密
DEFAULT TABLESPACE = SYSTEM的業務用戶(嚴禁)TEMP,避免碎片化DBA_USERS對比基線,發現EXPIRED(GRACE)、LOCKED異常狀態即時處理