【Oracle】-【ORA-01031】-建立基於資料字典表的檢視無許可權的問題
SQL> create or replace view redo_size as
2 select name, value from v$statname n, v$sesstat t, v$session s
3 where s.audsid = sys_context('USERENV','SESSIONID')
4 and t.sid = s.sid
5 and n.statistic#=t.statistic#
6 and n.name = 'redo size';
select name, value from v$statname n, v$sesstat t, v$session s
*
ERROR at line 2:
ORA-01031: insufficient privileges
但單獨執行
SQL> select name, value from v$statname n, v$sesstat t, v$session s
2 where s.audsid = sys_context('USERENV','SESSIONID')
3 and t.sid = s.sid
4 and n.statistic#=t.statistic#
5 and n.name = 'redo size';
NAME VALUE
redo size 2452
是可以的。
當前使用者的許可權包括:
ALTER SESSION
CREATE SESSION
UNLIMITED TABLESPACE
網上有帖子說:
1、賦予此方案物件SELECT ANY TABLE 的許可權。-這裡嘗試後依舊報錯。
2、使用grant select on v$statname to star,嘗試後也是報錯。
3、grant select any dictionary to test;-需l給使用者授權檢視任何字典的許可權。嘗試後可以建立。
我的理解:star這個使用者可以單獨訪問v$statname、v$sesstat、v$session這些字典表,但CREATE VIEW時不行,根據惜分飛的文章介紹,有可能是因為是因為不同schema的問題,總結的:
1)在同一個schema下,有查詢許可權,就可以建立檢視。
2)在不同schema下,即使有了查詢許可權,建立檢視,還是會提示ORA-01031。
文章中介紹需要sys賬戶將資料字典的訪問許可權賦予star使用者,但這裡還要注意的是V$SESSION是一個public的同義詞,根據前幾篇部落格介紹的方法,可以看到它封裝的是x$ksuse這個表,好像沒看到過將這種表賦予使用者許可權的?
這個問題的解決方法是賦予使用者select any dictionary的許可權。但除此之外是否還有其它方法?請高手指點!
>經過高手指教,這個問題最簡單的方法就是用sys賬戶登入,grant select on v_$statname ... to user,將v$引用的v_$許可權賦予使用者,就可以了。select any dictionary這個許可權最好不要輕易賦予普通使用者。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7192724/viewspace-767783/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫scott使用者建立view檢視許可權Oracle資料庫View
- postgresql關於訪問檢視需要的許可權SQL
- SQL Server資料庫檢視login所授予的具體許可權問題SQLServer資料庫
- sqlplus / as sysdba 提示許可權不足(ORA-01031)問題處理SQL
- 基於RBAC做資料許可權
- Mysql資料庫許可權問題MySql資料庫
- Oracle相關資料字典檢視Oracle
- 關於公司程式碼許可權的問題
- Oracle資料泵建立使用者避坑(表空間配額、許可權)Oracle
- Ubuntu共享資料夾訪問許可權問題Ubuntu訪問許可權
- 許可權的級聯問題
- 基於Linux許可權提升的資訊收集Linux
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- 怎麼控制報表的資料許可權
- Quarkus中基於角色的許可權訪問控制教程
- React基於RBAC的許可權控制React
- casbin基於golang的許可權控制Golang
- 兩個關於許可權設定的問題思考
- 系統表和資料字典檢視
- jenkins 容器內的許可權問題Jenkins
- sqlserver 賦予許可權的問題SQLServer
- MySQL許可權問題MySql
- 瀚高資料庫企業版中的許可權問題資料庫
- WSL資料夾許可權全為777問題
- 往hdfs寫資料無許可權
- 修改 VOLUME 自動建立預設許可權問題
- 基於全流量許可權漏洞檢測技術
- Linux 無許可權建立資料夾( 報錯:Unable to create ... directory.)Linux
- 檢視資料字典
- 基於RBAC的許可權管理系統
- 基於RBAC的許可權設計模型模型
- 基於 PHP 反射的許可權匯入PHP反射
- 基於casbin的RBAC許可權實踐
- Oracle OCP(27):使用資料字典檢視管理物件Oracle物件
- Laravel 框架的日誌許可權問題Laravel框架
- Grafana9的dashboard許可權問題Grafana
- vivo系統無許可權開啟懸浮框的問題
- 2020.9.28(Hive檢視、索引、許可權管理)Hive索引
- 資料庫的許可權管理資料庫