使用者物件許可權管理
這裡講述的是使用者的物件許可權管理。則一般是限制使用者對資料庫的物件,
比如說表的建立,訪問,更新,插入等許可權的管理。
---連線到SYS使用者建立測試表:
sys@PROD>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
Session altered.
sys@PROD>create table mytable(
2 id number(5),
3 name varchar2(10),
4 created date);
Table created.
---往表中插入資料:
sys@PROD>insert into mytable values(13125,'yuuu',sysdate);
1 row created.
sys@PROD>commit;
Commit complete.
sys@PROD>insert into mytable values(13126,'hhhsss',sysdate);
1 row created.
sys@PROD>commit;
Commit complete.
---檢視錶中的資料:
sys@PROD>select * from mytable;
ID NAME CREATED
---------- ---------- -------------------
13125 yuuu 2016-11-09 15:04:21
13126 hhhsss 2016-11-09 15:04:53
---把表mytable的查詢插入與更新的許可權授權給使用者:
sys@PROD>grant select,insert,update on mytable to suxing;
Grant succeeded.
sys@PROD>grant select,insert,update on mytable to scott;
Grant succeeded.
--嘗試連線到suxing或者Scott使用者對錶mytable進行一些操作:
--suxing使用者查詢:
suxing@PROD>select * from mytable;
select * from mytable
*
ERROR at line 1:
ORA-00942: table or view does not exist
suxing@PROD>select * from sys.mytable;
ID NAME CREATED
---------- ---------- ---------
13125 yuuu 09-NOV-16
13126 hhhsss 09-NOV-16
--suxing使用者插入資料:
suxing@PROD>insert into mytable values(13127,'ssuu',sysdate);
insert into mytable values(13127,'ssuu',sysdate)
*
ERROR at line 1:
ORA-00942: table or view does not exist
suxing@PROD>insert into sys.mytable values(13127,'ssuu',sysdate);
1 row created.
suxing@PROD>commit;
Commit complete.
--檢視資料:
suxing@PROD>select * from sys.mytable;
ID NAME CREATED
---------- ---------- -------------------
13125 yuuu 2016-11-09 15:04:21
13126 hhhsss 2016-11-09 15:04:53
13127 ssuu 2016-11-09 15:20:59
--suxing使用者更新表資料:
suxing@PROD>update sys.mytable set name='hhss'
2 where id=13126;
1 row updated.
suxing@PROD>commit;
Commit complete.
--再次查詢資料:
suxing@PROD>select * from sys.mytable;
ID NAME CREATED
---------- ---------- -------------------
13125 yuuu 2016-11-09 15:04:21
13126 hhss 2016-11-09 15:04:53
13127 ssuu 2016-11-09 15:20:59
--suxing使用者刪除資料:
suxing@PROD>delete sys.mytable where id=13127;
delete sys.mytable where id=13127
*
ERROR at line 1:
ORA-01031: insufficient privileges
---在SYS使用者下執行刪除該條資料的語句:
sys@PROD>delete sys.mytable where id=13127;
1 row deleted.
sys@PROD>commit;
Commit complete.
---在Scott使用者查詢資料表的資料:
scott@PROD>select * from sys.mytable;
ID NAME CREATED
---------- ---------- ---------
13125 yuuu 09-NOV-16
13126 hhss 09-NOV-16
---收回許可權:
sys@PROD>revoke select, insert,update on mytable from suxing;
Revoke succeeded.
sys@PROD>revoke select,insert,update on mytable from scott;
Revoke succeeded.
--再次檢視錶資料:
suxing@PROD>select * from sys.mytable;
select * from sys.mytable
*
ERROR at line 1:
ORA-00942: table or view does not exist
#由於訪問(查詢)的許可權被收回,無法再訪問表中的資料。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31392094/viewspace-2128203/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql使用者許可權管理MySql
- MongoDB 使用者與許可權管理MongoDB
- MySQL 使用者及許可權管理?MySql
- Linux使用者、組、許可權管理Linux
- MySQL使用者及許可權管理MySql
- Oracle使用者角色許可權管理Oracle
- 使用者許可權管理之使用者與組管理
- OpenShift 使用者許可權管理例項
- 使用者角色許可權管理架構架構
- MySQL-03.使用者管理和許可權管理MySql
- PostgreSQL資料庫使用者許可權管理SQL資料庫
- 前端如何進行使用者許可權管理前端
- mysql 使用者及許可權管理 小結MySql
- 4、許可權管理
- sql許可權管理SQL
- RBAC許可權管理
- MySQL許可權管理MySql
- 許可權管理策略
- PostgreSQL:許可權管理SQL
- Odoo許可權管理Odoo
- 特殊許可權管理
- django開發之許可權管理(一)——許可權管理詳解(許可權管理原理以及方案)、不使用許可權框架的原始授權方式詳解Django框架
- nodejs的使用者許可權管理——acl.mdNodeJS
- linux使用者許可權Linux
- Security 10:許可權管理
- casbin-許可權管理
- Android6.0------許可權申請管理(單個許可權和多個許可權申請)Android
- 如何檢查某個使用者是否具有某個許可權物件上定義的某種許可權物件
- DRF內建許可權元件之自定義許可權管理類元件
- Linux使用者與許可權Linux
- PostgreSQL技術大講堂 - Part 8:PG物件許可權管理SQL物件
- 賬號和許可權管理
- 關於mysql許可權管理MySql
- Linux 下許可權的管理Linux
- 1.6.1. 管理員許可權
- Linux 中的許可權管理Linux
- ThinkPHP5+許可權管理PHP
- ubuntu 許可權管理設定Ubuntu
- fastadmin的許可權管理authAST