普通用户如何查询X$表
作者 :OoNiceDream【转载时请务必以超链接形式标明文章原始出处和作者信息】
链接:http://www.dbaroad.me/archives/2009/10/normal_user_query_x_table.html
链接:http://www.dbaroad.me/archives/2009/10/normal_user_query_x_table.html
为防止误操作,日常的查询工作都改用普通用户了,也挺方便的,但普通用户无法直接查询X$表,这里可以间接地采用“视图+同义词”的方式来代替:
1、创建基于X$表的视图,并授权给用户:
sys@ORCL>create view x_view$ksppi as select * from x$ksppi; 视图已创建。 sys@ORCL>grant select on x_view$ksppi to rockey; 授权成功。 |
2、创建同义词:
sys@ORCL>conn rockey/rockey 已连接。 rockey@ORCL>create synonym x$ksppi for sys.x_view$ksppi; 同义词已创建。 rockey@ORCL>select count(*) from x$ksppi; COUNT(*) ---------- 1381 rockey@ORCL>desc x$ksppi 名称 是否为空? 类型 -------------------------- -------- ---------------- ADDR RAW(4) INDX NUMBER INST_ID NUMBER KSPPINM VARCHAR2(80) KSPPITY NUMBER KSPPDESC VARCHAR2(255) KSPPIFLG NUMBER KSPPILRMFLG NUMBER KSPPIHASH NUMBER rockey@ORCL>set autotrace on rockey@ORCL>select count(*) from x$ksppi; COUNT(*) ---------- 1381 执行计划 ---------------------------------------------------------- Plan hash value: 3628816948 --------------------------------------------------------------------- | Id | Operation | Name | Rows | Cost (%CPU)| Time | --------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 0 (0)| 00:00:01 | | 1 | SORT AGGREGATE | | 1 | | | | 2 | FIXED TABLE FULL| X$KSPPI | 100 | 0 (0)| 00:00:01 | --------------------------------------------------------------------- 统计信息 ---------------------------------------------------------- 0 recursive calls 0 db block gets 0 consistent gets 0 physical reads 0 redo size 409 bytes sent via SQL*Net to client 385 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processed |
— The End —
关键字: 基础知识


站内搜索