使用者管理Oracle資料庫的使用者建立、刪除等;使用者、角色許可權的授予與回收等;使用者的資訊查詢及許可權與角色的資訊查詢。
(1)Oracle中建立新的使用者使用create user語句,一般是具有dba(資料庫管理員)的許可權才能使用。
如在sql plus中以scott使用者建立使用者的命令如下:
Create user xiaoming identified by m123;(注意oracle中的密碼是以字母為開頭,否則不讓你建立)。
(2)刪除使用者,命令格式為: drop user 使用者名稱 [cascade]
一般以dba的身份去刪除某個使用者。在刪除使用者時,注意:如果要刪除的使用者已經建立了表,那麼就需要在刪除時帶一個引數cascade;這個引數表示刪除使用者時會將該使用者建立的表也刪除。
綜合任務(使用者管理基礎練習,必做題):
1、 在scott使用者下建立xiaoming使用者密碼m123,結果如何,
提示:切換到 system使用者建立;
語法:create user 使用者名稱 identified by 密碼
Create user xiaoming identified by m123;
2、 讓xiaoming具有登入資料庫的許可權,並登入資料庫;
提示:授予connect角色,grant 許可權 to 使用者或角色
Grant connect to xiaoming;
Conn xiaoming
3、先切換到system使用者,對xiaoming使用者授予resource角色並檢視resource角色的系統許可權資訊;
提示:此操作是為xiaoming使用者增加建立表的許可權,系統許可權資訊查詢檢視為role_sys_privs,可以用desc命令查詢檢視結構資訊
Grant resource to xiaoming;
Conn xiaoming
Desc role_sys_privs
Desc role_tab_privs
4、切換到xiaoming使用者,建立test表,test表包含一個欄位userid,型別為varchar2,10個字元大小,並檢視test表;
Conn xiaoming
create table test(userid varchar2(10));
desc test;
5、讓xiaoming使用者可以去查詢scott使用者的emp表並具有傳遞授權的許可權;
提示:加上with grant option 表示允許物件許可權接收者把此物件許可權授予其他使用者
Conn scott
Grant select on scott.emp to xiaoming with grant option.
6、讓xiaoming能修改scott的emp表
提示:
Grant update on scott.emp to xiaoming
7、以系統管理員的身份建立使用者xiaohong,密碼為m123;先讓xiaohong能夠登入到資料庫,切換到xiaoming使用者,再將對scott的emp表的select許可權授予xiaohong。
Conn sys as sysdba
Create user xiaohong identified by m123;
Grant connect to xiaohong;
Conn xiaoming
Grant select on scott.emp to xiaohong
Conn xiaohong
Select * from scott.emp;
8、Scott希望收回xiaoming對emp表的修改許可權
提示:revoke 許可權 from 使用者或角色
Conn scott
Revoke update on scott.emp from xiaoming;
9、如何建立角色
任務:建立一個普通角色r1,建立一個口令認證角色r2,口令為wy
提示:create role 角色名
Create role 角色名identified by 口令
10、如何把許可權授予角色
任務:可以把建立表的系統許可權授予角色r1,把test表的插入資料許可權授予r1
提示:grant 系統許可權 to 角色名
Grant 物件許可權 on 物件名 to 角色名
Grant insert on xiaoming.test to r1
11、如何把一個角色授權給使用者
任務:請把建立的角色r1授權給xiaoming
提示:grant 角色 to 使用者
12、如何查詢一個角色有哪些系統許可權
任務:列出角色r1有哪些系統許可權
提示:查詢表role_sys_privs
Conn xiaoming
Select * from role_sys_privs;
13、如何查詢一個角色有哪些物件許可權
任務:列出角色r1有哪些物件許可權
提示:查詢表role_tab_privs
Conn xiaoming
Select * from role_tab_privs;