Oracle用戶創(chuàng)建及設(shè)置
?
?
??? 打算從今天開(kāi)始,從最基礎(chǔ)開(kāi)始,重新學(xué)習(xí)一遍Oracle的各項(xiàng)基礎(chǔ)操作。參考的書是清華大學(xué)出版的《Oracle 10g數(shù)據(jù)庫(kù)管理 應(yīng)用與開(kāi)發(fā)》,個(gè)人認(rèn)為這本書作為初級(jí)的入門材料還是很不錯(cuò)的。關(guān)鍵是一些很復(fù)雜的東西都沒(méi)有去涉及,反而可以一心學(xué)下來(lái),不至于在初學(xué)的時(shí)候就因?yàn)樘嗟母拍詈蛢?nèi)容而變得迷茫,失去學(xué)習(xí)興趣。今天看一下關(guān)于用戶的創(chuàng)建問(wèn)題:
?
?
用戶的創(chuàng)建
?
一、創(chuàng)建用戶:
CREATE USER user_name
IDENTIFIED BY password
[DEFAULT TABLESPACE tablespace_name |
TEMPORARY TABLESPACE tablespace_name |
QUOTA quota [ K | M ] | UNLIMITED ON tablespace_name
| PROFILR profile | PASSWORD EXPIRE
| ACCOUNT lock | unlock ]
?
IDENTIFIED BY:指定用戶口令
??? 注:用戶密碼在Oracle中以加密數(shù)據(jù)存儲(chǔ),不能查詢,只能通過(guò)ALTER命令修改
DEFUALT TABLESPACE:默認(rèn)使用的表空間
TEMPORARY TABLESPACE:用戶的臨時(shí)表空間
QUOTA:允許用戶在某TABLESPACE上使用的空間配額
PROFILE:指定用戶的配置文件
PASSWORD EXPIRE:密碼到期,下次登陸時(shí)必須修改密碼
ACCOUT:手動(dòng)鎖定或解鎖
??? 注:要查詢USER的以上配置,可使用數(shù)據(jù)字典DBA_USERS,QUOTA數(shù)據(jù)查詢DBA_TS_QUOTAS
?
二、修改用戶:
ALTER USER user_name
IDENTIFIED BY password
[DEFAULT TABLESPACE tablespace_name |
TEMPORARY TABLESPACE tablespace_name |
QUOTA quota [ K | M ] | UNLIMITED ON tablespace_name
| PROFILR profile | PASSWORD EXPIRE
| ACCOUNT lock | unlock ]
?
三、刪除用戶:
DROP USER user_name [CASCADE]
?
CASCADE:表示刪除用戶的同時(shí)刪除該用戶創(chuàng)建的所有模式對(duì)象。
?
?
PROFILE配置:
?
語(yǔ)法:
CREATE PROFILE profile_name LIMIT
[SESSIONS_PER_USER number | unlimit | default ]
[CPU_PER_SESSION number | unlimit | default ]
[CPU_PER_CALL number | unlimit | default ]
[LOGICAL_READS_PER_SESSION number | unlimit | default ]
[LOGICAL_READS_PER_CALL number | unlimit | default ]
[IDLE_TIME number | unlimit | default ]
[CONNECT_TIME number | unlimit | default ]
[PRIVATE_SGA number | unlimit | default ]
[COMPOSITE_LIMIT number | unlimit | default ]
[FAILED_LOGIN_ATTEMPTS number | unlimit | default ]
[PASSWORD_LIFE_TIME number | unlimit | default ]
[PASSWORD_REUSE_TIME number | unlimit | default ]
[PASSWORD_REUSE_MAX number | unlimit | default ]
[PASSWORD_LOCK_TIME number | unlimit | default ]
[PASSWORD_GRACE_TIME number | unlimit | default ]
[PASSWORD_VERIFY_FUNCTION function_name | null | default ]
?
SESSIONS_PER_USER:每個(gè)USER可連接的SESSION數(shù)限制
CPU_PER_SESSION:用戶在一次會(huì)話期間可以占用的CPU時(shí)間,單位為1/100s
CPU_PER_CALL:USER的任一個(gè)SQL語(yǔ)句打到該CPU時(shí)間總量時(shí)即返回錯(cuò)誤
LOGICAL_READS_PER_SESSION:限制一次會(huì)話期間可以讀取的數(shù)據(jù)塊
LOGICAL_READS_PER_CALL:一個(gè)SQL最多可讀取的數(shù)據(jù)塊
IDLE_TIME:空閑斷開(kāi)時(shí)間,以min為單位
CONNECT_TIME:連接時(shí)間限制,到時(shí)間后立即切斷連接,以min為單位
PRIVATE_SGA:一次會(huì)話可使用的SGA大小,單位為數(shù)據(jù)塊
COMPOSITE_LIMIT:該參數(shù)用于對(duì)所有混合資源進(jìn)行限定
FAILED_LOGIN_ATTEMPTS:登陸時(shí)允許失敗的次數(shù),超過(guò)時(shí)鎖定賬戶
PASSWORD_LIFE_TIME:密碼有效時(shí)間,單位是day
PASSWORD_REUSE_TIME:口令失效前給予修改密碼的時(shí)間,單位day
PASSWORD_REUSE_MAX:設(shè)置多少次之內(nèi)不許設(shè)置重復(fù)密碼
PASSWORD_LOCK_TIME:FAILED_LOGIN_ATTEMPTS后被鎖定的時(shí)間,單位day
PASSWORD_GRACE_TIME:口令失效的寬限時(shí)間
PASSWORD_VERIFY_FUNCTION:設(shè)置用于判斷口令復(fù)雜性的函數(shù)
??? 注:查詢數(shù)據(jù)字典DBA_PROFILES來(lái)查看這些參數(shù)的設(shè)置情況。
?
管理SESSION:
?
1、可通過(guò)V$SESSION來(lái)獲取用戶的會(huì)話信息,例如SID和SERIAL#等
??? 再通過(guò)ALTERSYSTEMKILLSESSION'SID,SERIAL';來(lái)KILL SESSION
?
2、另外可通過(guò)查詢V$OPEN_CURSOR來(lái)查看某用戶執(zhí)行的SQL級(jí)操作
?
?