当前位置:网站首页>ORA-02030: can only select from fixed tables/views
ORA-02030: can only select from fixed tables/views
2022-07-06 12:17:00 【wx5caecf2ed0645】
Sometimes some ordinary users are granted query system objects ( for example dynamic performance views) You will encounter “ORA-02030: can only select from fixed tables/views”, As shown below :
SQL> grant select on v$session to test;
- 1.
grant select on v$session to test
- 1.
*
- 1.
ERROR at line 1:
- 1.
ORA-02030: can only select from fixed tables/views
- 1.
About ORA-02030 Errors are described below , That is, for fixed tables or fixed views It can only be carried out SELECT Inquire about , Can't do SELECT Any operation other than
[[email protected] ~]$ oerr ora 2030
02030, 00000, "can only select from fixed tables/views"
// *Cause: An attempt is being made to perform an operation other than
// a retrieval from a fixed table/view.
// *Action: You may only select rows from fixed tables/views.
About V$ Views The introduction is as follows :
V$ Views
The actual dynamic performance views are identified by the prefix V_$. Public synonyms for these views have the prefix V$. Database administrators and other users should access only the V$ objects, not the V_$ objects.
The dynamic performance views are used by Oracle Enterprise Manager, which is the primary interface for accessing information about system performance. After an instance is started, the V$ views that read from memory are accessible. Views that read data from disk require that the database be mounted, and some require that the database be open.
We found that V$SESSION,V$DBLINK All are fixed views, and v$ The views we often check are v_$ Synonyms for the beginning view .
SQL> SELECT * FROM V$FIXED_TABLE WHERE NAME IN( 'V$SESSION','V$DBLINK');
- 1.
- 1.
NAME OBJECT_ID TYPE TABLE_NUM
- 1.
------------------------------ ---------- ----- ----------
- 1.
V$SESSION 4294950919 VIEW 65537
- 1.
V$DBLINK 4294951157 VIEW 65537
- 1.
- 1.
SQL>
- 1.
SQL> COL OWNER FOR A12;
- 1.
SQL> COL OBJECT_NAME FOR A32;
- 1.
SQL> COL OBJECT_TYPE FOR A32;
- 1.
SQL> SELECT OWNER, OBJECT_NAME ,OBJECT_TYPE
- 1.
2 FROM DBA_OBJECTS
- 1.
3 WHERE OBJECT_NAME='V$SESSION';
- 1.
- 1.
OWNER OBJECT_NAME OBJECT_TYPE
- 1.
------------ -------------------------------- --------------------------------
- 1.
PUBLIC V$SESSION SYNONYM
- 1.
- 1.
SQL>
- 1.
SQL> COL TABLE_OWNER FOR A12;
- 1.
SQL> COL SYNONYM_NAME FOR A20;
- 1.
SQL> COL TABLE_NAME FOR A16;
- 1.
SQL> COL DB_LINK FOR A8;
- 1.
SQL> SELECT * FROM DBA_SYNONYMS WHERE SYNONYM_NAME='V$SESSION';
- 1.
- 1.
OWNER SYNONYM_NAME TABLE_OWNER TABLE_NAME DB_LINK
- 1.
------------ -------------------- ------------ ---------------- --------
- 1.
PUBLIC V$SESSION SYS V_$SESSION
- 1.
So to authorize, you should execute the following SQL sentence
SQL>
- 1.
SQL> GRANT SELECT ON V_$SESSION TO TEST;
- 1.
- 1.
Grant succeeded.
- 1.
If you encounter such an error , Directly find the view or base table corresponding to the corresponding synonym , And then authorize , As shown below :
SQL> show user;
- 1.
USER is "SYS"
- 1.
SQL> grant select on v$dblink to test;
- 1.
grant select on v$dblink to test
- 1.
*
- 1.
ERROR at line 1:
- 1.
ORA-02030: can only select from fixed tables/views
- 1.
- 1.
- 1.
SQL> COL OWNER FOR A12;
- 1.
SQL> COL OBJECT_NAME FOR A32;
- 1.
SQL> COL OBJECT_TYPE FOR A32;
- 1.
SQL> SELECT OWNER, OBJECT_NAME ,OBJECT_TYPE
- 1.
2 FROM DBA_OBJECTS
- 1.
3 WHERE OBJECT_NAME=UPPER('v$dblink');
- 1.
- 1.
OWNER OBJECT_NAME OBJECT_TYPE
- 1.
------------ -------------------------------- --------------------------------
- 1.
PUBLIC V$DBLINK SYNONYM
- 1.
- 1.
SQL> COL TABLE_OWNER FOR A12;
- 1.
SQL> COL SYNONYM_NAME FOR A20;
- 1.
SQL> COL TABLE_NAME FOR A16;
- 1.
SQL> COL DB_LINK FOR A8;
- 1.
SQL> SELECT * FROM DBA_SYNONYMS WHERE SYNONYM_NAME='V$DBLINK';
- 1.
- 1.
OWNER SYNONYM_NAME TABLE_OWNER TABLE_NAME DB_LINK
- 1.
------------ -------------------- ------------ ---------------- --------
- 1.
PUBLIC V$DBLINK SYS V_$DBLINK
- 1.
- 1.
SQL> grant select on v_$dblink to test;
- 1.
- 1.
Grant succeeded.
- 1.
- 1.
SQL>
- 1.
边栏推荐
- 【ESP32学习-1】Arduino ESP32开发环境搭建
- ESP8266通过Arduino IDE连接Onenet云平台(MQTT)
- Basic operations of databases and tables ----- creating data tables
- [golang] leetcode intermediate - fill in the next right node pointer of each node & the k-smallest element in the binary search tree
- Arduino uno R3 register writing method (1) -- pin level state change
- JS正则表达式基础知识学习
- imgcat使用心得
- vim命令行笔记
- Mysqldump error1066 error solution
- [esp32 learning-2] esp32 address mapping
猜你喜欢
MySQL time, time zone, auto fill 0
Missing value filling in data analysis (focus on multiple interpolation method, miseforest)
ES6语法总结--下篇(进阶篇 ES6~ES11)
Learning notes of JS variable scope and function
Gallery's image browsing and component learning
Fashion Gen: the general fashion dataset and challenge paper interpretation & dataset introduction
[esp32 learning-1] construction of Arduino esp32 development environment
CUDA C programming authoritative guide Grossman Chapter 4 global memory
Cannot change version of project facet Dynamic Web Module to 2.3.
几个关于指针的声明【C语言】
随机推荐
map文件粗略分析
Knowledge summary of request
ESP8266通过Arduino IDE连接Onenet云平台(MQTT)
冒泡排序【C语言】
MP3mini播放模块arduino<DFRobotDFPlayerMini.h>函数详解
关键字 inline (内联函数)用法解析【C语言】
Custom view puzzle getcolor r.color The color obtained by colorprimary is incorrect
JS正则表达式基础知识学习
CUDA C programming authoritative guide Grossman Chapter 4 global memory
js题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
Problèmes avec MySQL time, fuseau horaire, remplissage automatique 0
.elf .map .list .hex文件
level16
Feature of sklearn_ extraction. text. CountVectorizer / TfidVectorizer
Navigator object (determine browser type)
The first simple case of GNN: Cora classification
Who says that PT online schema change does not lock the table, or deadlock
JS function promotion and declaration promotion of VaR variable
RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED
Vscode basic configuration