將一個使用者下所有表的查詢許可權賦給另一個使用者
今天在論壇裡看到一個帖子,關於如何將一個使用者下所有表的查詢許可權賦給另一個使用者,具體需求是這樣的:有3個普通許可權的使用者,要求使用者2只能查詢使用者1下的表而不能去查詢使用者3所建立的表。
針對這個問題,只要將使用者1下所有表的查詢許可權賦給使用者2即可。但是,使用者1下可能有很多表,如果一條一條地寫grant語句很不現實,這裡介紹一種便捷的方法:透過查詢語句得到grant賦許可權指令碼,執行一下就可以了。
SQL> show user
USER 為"SYS"
SQL> create user tt
2 identified by tt;
使用者已建立
SQL> grant create session to tt;
授權成功。
SQL> select 'grant select on '||owner||'.'||object_name|| ' to user1;'
2 from dba_objects
3 where object_type='TABLE' and wner='SCOTT';
'GRANTSELECTON'||OWNER||'.'||OBJECT_NAME||'TOUSER1;'
------------------------------------------------------------------------------
grant select on SCOTT.BONUS to user1;
grant select on SCOTT.CC to user1;
grant select on SCOTT.CC1 to user1;
grant select on SCOTT.DEPT to user1;
grant select on SCOTT.EMP to user1;
grant select on SCOTT.SALGRADE to user1;
grant select on SCOTT.T1 to user1;
grant select on SCOTT.T2 to user1;
grant select on SCOTT.TT to user1;
已選擇9行。
複製上面的查詢結果執行一下就可以了。如果查詢結果太多的話,可以將這樣做:
set pages 999;
set heading off;
spool run_grant.sql
select 'grant select on '||owner||'.'||object_name|| ' to user1;'
from dba_objects
where object_type='TABLE' and wner='SCOTT';
spool off;
@run_grant
這是一種很方便高效的方法,可以使工作事半功倍。
把所有表的查詢許可權賦給另一個使用者
grant select any table to QUERY;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-1695930/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 把一個使用者的所有表的查詢許可權 賦給另一個使用者
- Oracle中將一個使用者的所有物件授權給另一個使用者Oracle物件
- 查詢每個使用者的許可權
- 要把當前使用者的所有許可權(對錶,檢視,序列,觸發器,同義詞等增刪改查)賦給另一個使用者觸發器
- 使用者許可權繼承另一使用者的許可權繼承
- Oracle給普通使用者賦予查詢動態效能檢視的許可權Oracle
- 為何SYSTEM使用者可以將V$SESSION的查詢許可權賦權給其他使用者而SYS使用者卻不可以?Session
- Oracle建立使用者並給使用者授權查詢指定表或檢視的許可權Oracle
- Oracle查詢使用者許可權Oracle
- MySql查詢使用者許可權MySql
- Ubuntu下給普通或新增使用者賦予sudo許可權Ubuntu
- linux給一個普通使用者reboot許可權(轉)Linuxboot
- UserService 查詢使用者查詢許可權 isGlobalQuery分析
- 查詢mysql資料庫中所有使用者及使用者許可權MySql資料庫
- mysql 給了使用者所有許可權ALL PRIVILEGES,但是該使用者沒有grant許可權MySql
- 讓Linux給一個普通使用者reboot許可權(轉)Linuxboot
- Oracle授權A使用者查詢B使用者的所有表Oracle
- [MySQL] - 聯表查詢,查詢一個不在另一個表的記錄MySql
- linux怎麼給一個普通使用者reboot許可權?(轉)Linuxboot
- oracle給使用者分配特定使用者下特定表的只讀許可權Oracle
- 如何檢查某個使用者是否具有某個許可權物件上定義的某種許可權物件
- UserService 查詢使用者沒許可權的索引,增加臨時許可權queryIndicesNoPermission分析索引
- 【SCRIPTS】將使用者具有的所有許可權盡收眼底
- 查詢一個表的一列插入到另一個表
- mysql 命令列安裝並給使用者sa所有許可權MySql命令列
- UserService 修改使用者查詢許可權 changeGlobalQuery分析
- 【USER】Oracle 一個普通使用者有多少許可權Oracle
- 【Mysql】給普通使用者mysqldump的許可權MySql
- impdp在同一個資料庫中將一個使用者下的物件複製到另一個使用者下資料庫物件
- 在另一個資料庫中建立一個與原來資料庫中許可權一樣的使用者資料庫
- 查詢使用者的系統許可權和使用者所擁有的角色
- 刪除一個使用者下的所有表指令碼指令碼
- UserService 刪除使用者查詢許可權 deleteUserPermission分析delete
- mysql 從一個表中查詢,插入到另一個表中MySql
- MySQL 給使用者新增 ALTER VIEW 的許可權MySqlView
- Oracle建立表空間、建立資料庫使用者、賦許可權Oracle資料庫
- MongoDB建立只讀使用者並授權指定集合的查詢許可權MongoDB
- mysql 建立新使用者 並賦予許可權MySql