一、創建用戶
概述:在oracle中要創建一個新的用戶使用create user語句,一般是具有dba(資料庫管理員)的許可權才能使用。
create user 用戶名 identified by 密碼;
注意:oracle有個毛病,密碼必須以字母開頭,如果以數字開頭,它不會創建用戶
eg、create user xiaoming identified by oracle;
二、修改密碼
概述:如果給自己修改密碼可以直接使用
SQL> password 用戶名或passw
如果給別人修改密碼則需要具有dba的許可權,或是擁有alter user的系統許可權
SQL> alter user 用戶名 identified by 新密碼
三、刪除用戶
概述:一般以dba的身份去刪除某個用戶,如果用其它用戶去刪除用戶則需要具有drop user的許可權。
比如drop user 用戶名 【cascade】
注意:在刪除用戶時,如果要刪除的用戶,已經創建了表,那麼就需要在刪除的時候帶一個參數cascade,即把該用戶及表一同刪除;
四、許可權
許可權分為系統許可權和對象許可權。
何為系統許可權?
用戶對資料庫的相關許可權,connect、resource、dba等系統許可權,如建庫、建表、建索引、建存儲過程、登陸資料庫、修改密碼等。
何為對象許可權?
用戶對其他用戶的數據對象操作的許可權,insert、delete、update、select、all等對象許可權,數據對象有很多,比如表,索引,視圖,觸發器、存儲過程、包等。
執行SELECT * FROM Dba_Object_Size;語句可得到oracle資料庫對象。
五、角色
角色分為預定義角色和自定義角色。
六、用戶管理的綜合案例
概述:創建的新用戶是沒有任何許可權的,甚至連登陸的資料庫的許可權都沒有,需要為其指定相應的許可權。給一個用戶賦許可權使用命令grant,回收許可權使用命令revoke。
SQL> grant connect to xiaoming;
授權成功。
注意:grant connect to xiaoming;在這裡,準確的講,connect不是許可權,而是角色。
現在說下對象許可權,現在要做這麼件事情:
* 希望xiaoming用戶可以去查詢emp表
* 希望xiaoming用戶可以去查詢scott的emp表
grant select on scott.emp to xiaoming
* 希望xiaoming用戶可以去修改scott的emp表
grant update on scott.emp to xiaoming
* 希望xiaoming 用戶可以去修改/刪除,查詢,添加scott的emp表
grant all on scott.emp to xiaoming
* scott希望收回xiaoming對emp表的查詢許可權
revoke select on scott.emp from xiaoming
七、許可權的傳遞
//對許可權的維護。
* 希望xiaoming用戶可以去查詢scott的emp表/還希望xiaoming可以把這個許可權傳遞給別人。
–如果是對象許可權,就加入with grant option
grant select on emp to xiaoming with grant option
我的操作過程:
SQL> conn scott/oracle;
已連接。
SQL> grant select on scott.emp to xiaoming with grant option;
授權成功。
SQL> conn system/oracle;
已連接。
SQL> create user xiaohong identified by oracle;
用戶已創建。
SQL> grant connect to xiaohong;
授權成功。
SQL> conn xiaoming/oracle;
已連接。
SQL> grant select on scott.emp to xiaohong;
授權成功。
–如果是系統許可權。
system給xiaoming許可權時:grant connect to xiaoming with admin option
問題:如果scott把xiaoming對emp表的查詢許可權回收,那麼xiaohong會怎樣?
答案:被回收。
下面是我的操作過程:
SQL> conn scott/oracle;
已連接。
SQL> revoke select on emp from xiaoming;
撤銷成功。
SQL> conn xiaohong/oracle;
已連接。
SQL> select * from scott.emp;
select * from scott.emp
*
第 1 行出現錯誤:
ORA-00942: 表或視圖不存在
結果顯示:小紅受到誅連了。。
八、with admin option與with grant option區別
1、with admin option用於系統許可權授權,with grant option用於對象授權。
2、給一個用戶授予系統許可權帶上with admin option時,此用戶可把此系統許可權授予其他用戶或角色,但收回這個用戶的系統許可權時,這個用戶已經授予其他用戶或角色的此系統許可權不會因傳播無效,如授予A系統許可權create session with admin option,然後A又把create session許可權授予B,但管理員收回A的create session許可權時,B依然擁有create session的許可權,但管理員可以顯式收回B create session的許可權,即直接revoke create session from B.
而with grant option用於對象授權時,被授予的用戶也可把此對象許可權授予其他用戶或角色,不同的是但管理員收回用with grant option授權的用戶對象許可權時,許可權會因傳播而失效,如grant select on table with grant option to A,A用戶把此許可權授予B,但管理員收回A的許可權時,B的許可權也會失效,但管理員不可以直接收回B的SELECT ON TABLE 許可權。
一、創建用戶
概述:在oracle中要創建一個新的用戶使用create user語句,一般是具有dba(資料庫管理員)的許可權才能使用。
create user 用戶名 identified by 密碼;
注意:oracle有個毛病,密碼必須以字母開頭,如果以數字開頭,它不會創建用戶
eg、create user xiaoming identified by oracle;
二、修改密碼
概述:如果給自己修改密碼可以直接使用
SQL> password 用戶名或passw
如果給別人修改密碼則需要具有dba的許可權,或是擁有alter user的系統許可權
SQL> alter user 用戶名 identified by 新密碼
三、刪除用戶
概述:一般以dba的身份去刪除某個用戶,如果用其它用戶去刪除用戶則需要具有drop user的許可權。
比如drop user 用戶名 【cascade】
注意:在刪除用戶時,如果要刪除的用戶,已經創建了表,那麼就需要在刪除的時候帶一個參數cascade,即把該用戶及表一同刪除;
四、許可權
許可權分為系統許可權和對象許可權。
何為系統許可權?
用戶對資料庫的相關許可權,connect、resource、dba等系統許可權,如建庫、建表、建索引、建存儲過程、登陸資料庫、修改密碼等。
何為對象許可權?
用戶對其他用戶的數據對象操作的許可權,insert、delete、update、select、all等對象許可權,數據對象有很多,比如表,索引,視圖,觸發器、存儲過程、包等。
執行SELECT * FROM Dba_Object_Size;語句可得到oracle資料庫對象。
五、角色
角色分為預定義角色和自定義角色。
六、用戶管理的綜合案例
概述:創建的新用戶是沒有任何許可權的,甚至連登陸的資料庫的許可權都沒有,需要為其指定相應的許可權。給一個用戶賦許可權使用命令grant,回收許可權使用命令revoke。
SQL> grant connect to xiaoming;
授權成功。
注意:grant connect to xiaoming;在這裡,準確的講,connect不是許可權,而是角色。
現在說下對象許可權,現在要做這麼件事情:
* 希望xiaoming用戶可以去查詢emp表
* 希望xiaoming用戶可以去查詢scott的emp表
grant select on scott.emp to xiaoming
* 希望xiaoming用戶可以去修改scott的emp表
grant update on scott.emp to xiaoming
* 希望xiaoming 用戶可以去修改/刪除,查詢,添加scott的emp表
grant all on scott.emp to xiaoming
* scott希望收回xiaoming對emp表的查詢許可權
revoke select on scott.emp from xiaoming
七、許可權的傳遞
//對許可權的維護。
* 希望xiaoming用戶可以去查詢scott的emp表/還希望xiaoming可以把這個許可權傳遞給別人。
–如果是對象許可權,就加入with grant option
grant select on emp to xiaoming with grant option
我的操作過程:
SQL> conn scott/oracle;
已連接。
SQL> grant select on scott.emp to xiaoming with grant option;
授權成功。
SQL> conn system/oracle;
已連接。
SQL> create user xiaohong identified by oracle;
用戶已創建。
SQL> grant connect to xiaohong;
授權成功。
SQL> conn xiaoming/oracle;
已連接。
SQL> grant select on scott.emp to xiaohong;
授權成功。
–如果是系統許可權。
system給xiaoming許可權時:grant connect to xiaoming with admin option
問題:如果scott把xiaoming對emp表的查詢許可權回收,那麼xiaohong會怎樣?
答案:被回收。
下面是我的操作過程:
SQL> conn scott/oracle;
已連接。
SQL> revoke select on emp from xiaoming;
撤銷成功。
SQL> conn xiaohong/oracle;
已連接。
SQL> select * from scott.emp;
select * from scott.emp
*
第 1 行出現錯誤:
ORA-00942: 表或視圖不存在
結果顯示:小紅受到誅連了。。
八、with admin option與with grant option區別
1、with admin option用於系統許可權授權,with grant option用於對象授權。
2、給一個用戶授予系統許可權帶上with admin option時,此用戶可把此系統許可權授予其他用戶或角色,但收回這個用戶的系統許可權時,這個用戶已經授予其他用戶或角色的此系統許可權不會因傳播無效,如授予A系統許可權create session with admin option,然後A又把create session許可權授予B,但管理員收回A的create session許可權時,B依然擁有create session的許可權,但管理員可以顯式收回B create session的許可權,即直接revoke create session from B.
而with grant option用於對象授權時,被授予的用戶也可把此對象許可權授予其他用戶或角色,不同的是但管理員收回用with grant option授權的用戶對象許可權時,許可權會因傳播而失效,如grant select on table with grant option to A,A用戶把此許可權授予B,但管理員收回A的許可權時,B的許可權也會失效,但管理員不可以直接收回B的SELECT ON TABLE 許可權。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/274728.html
微信掃一掃
支付寶掃一掃