1. ????? 創建用戶
概述:在 Oracle 中要創建一個新的用戶使用 create?? user 語句,一般是具有 dba 的權限才能使用。
Create? user ? 用戶名 ? identified? by 密碼;( oracle 密碼必須以字母開頭)
2. ????? 給用戶修改密碼
概述:如果給自己修改密碼可以直接使用
Password? ? 用戶名
如果給別人修改密碼,則需要具有 dba 的權限,或者擁有 alter user 的系統權限
SQL>alter user ? 用戶名 ? identified by 新密碼
3. ????? 刪除用戶
概述:一般以 dba 的身份去刪除某個用戶,如果用其他的用戶去刪除則需要 drop? user 的系統權限
Drop? user ? 用戶名【 cascade 】
在刪除用戶時,注意:
如果要刪除的用戶已經創建了表,那么就需要在刪除的時候帶一個參數 cascade
?
?
4. ????? 權限和角色
概述:創建的新用戶是沒有任何權限的,甚至連登陸的數據庫的權限都沒有,需要為其指定相應的權限。給一個用戶賦權限使用命令
grant
,回收權限使用命令
revoke
。
綜合案例:
SQL> conn xiaoming/m12;
?
ERROR:
?
ORA-01045: user XIAOMING lacks CREATE SESSION privilege; logon denied
?
警告
:
?
您不再連接到
?
ORACLE
。
SQL> show user;
?
USER
?
為
?
""
?
SQL> conn system/manager as system;
?
已連接。
?
SQL> grant connect to xiaoming;
?
授權成功。
?
SQL> conn xiaoming/m12;
已連接。
?
SQL>
?
注意:
grant connect to xiaoming;
在這里,準確的講,
connect
不是權限,而是角色。
??*
?
希望
xiaoming
用戶可以去查詢
scott
的
emp
表
? ??grant select on emp to xiaoming
?
??*
?
希望
xiaoming
用戶可以去修改
scott
的
emp
表
? ??grant update on emp to xiaoming
?
??*
?
希望
xiaoming
用戶可以去修改
/
刪除,查詢,添加
scott
的
emp
表
? ??grant all on emp to xiaoming
?
??* scott
希望收回
xiaoming
對
emp
表的查詢權限
? ??revoke select on emp from xiaoming
*
?
希望
xiaoming
用戶可以去查詢
scott
的
emp
表
/
還希望
xiaoming
可以把這個權限繼續給別人。
--
如果是對象權限,就加入
?
with grant option
? grant select on emp to xiaoming with grant option
?
操作過程:
?
?SQL> conn scott/tiger;
?
?
已連接。
?
?SQL> grant select on scott.emp to xiaoming with grant option;
?
?
授權成功。
?
?SQL> conn system/manager as sysdba;
?
?
已連接。
?
?SQL> create user xiaohong identified by m123;
?
?
用戶已創建。
?
?SQL> grant connect to xiaohong;
?
?
授權成功。
?
?SQL> conn xiaoming/m12;
?
已連接。
?
SQL> grant select on scott.emp to xiaohong;
?
授權成功。
?
--
如果是系統權限。
system
給
xiaoming
權限時:
grant connect to xiaoming with admin option
?
?
問題:如果
scott
把
xiaoming
對
emp
表的查詢權限回收,那么
xiaohong
會怎樣?
答案:被回收。
?
SQL> conn scott/tiger;
?
已連接。
?
SQL> revoke select on emp from xiaoming;
?
撤銷成功。
?
SQL> conn xiaohong/m123;
?
已連接。
?
SQL> select * from scott.emp;
?
select * from scott.emp
?
第
?
1
?
行出現錯誤
:
ORA-00942:
?
表或視圖不存在
結果顯示:小紅受到誅連了。
5. ?????使用 profile 管理用戶口令
概述: profile 是口令限制,資源限制的命令集合,當建立數據庫的, oracle 會自動建立名稱為 default 的 profile 。當建立用戶沒有指定 profile 選項,那么 oracle 就會將 default 分配給用戶。
5.1.
賬戶鎖定
概述:指定該賬戶
(
用戶
)
登陸時最多可以輸入密碼的次數,也可以指定用戶鎖定的時間
(
天
)
一般用
dba
的身份去執行該命令。
例子:指定
scott
這個用戶最多只能嘗試
3
次登陸,鎖定時間為
2
天,讓我們看看怎么實現。
創建
profile
文件
SQL> create profile lock_account limit failed_login_attempts 3 password_lock_time 2;
SQL> alter user scott profile lock_account;
5.2.
.
給賬戶
(
用戶
)
解鎖
SQL> alter user tea ?account unlock;
5.3.
.
終止口令
為了讓用戶定期修改密碼可以使用終止口令的指令來完成,同樣這個命令也需要
dba
的身份來操作。
例子:給前面創建的用戶
tea
創建一個
profile
文件,要求該用戶每隔
10
天要修改自己的登陸密碼,寬限期為
2
天。看看怎么做。
SQL> create profile myprofile limit password_life_time 10 password_grace_time ?2;
SQL> alter user tea profile myprofile;
5.4
口令歷史
概述:如果希望用戶在修改密碼時,不能使用以前使用過的密碼,可使用口令歷史,這樣
oracle
就會將口令修改的信息存放到數據字典中,這樣當用戶修改密碼時,
oracle
就會對新舊密碼進行比較,當發現新舊密碼一樣時,就提示用戶重新輸入密碼。
例子:
?
1
)建立
profile
?
SQL>create profile password_history limit password_life_time 10 password_grace_time 2 password_reuse_time 10
password_reuse_time //
指定口令可重用時間即
10
天后就可以重用
2
)分配給某個用戶
?
5.5
刪除
profile
概述:當不需要某個
profile
文件時,可以刪除該文件。
SQL> drop profile password_history
?
【
casade
】
注意:文件刪除后,用這個文件去約束的那些用戶通通也都被釋放了。
加了 casade ,就會把級聯的相關東西也給刪除掉
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
