当前位置: DBARoad > 基础知识 > 文章正文

普通用户如何查询X$表

                    作者 :OoNiceDream【转载时请务必以超链接形式标明文章原始出处和作者信息】
                    链接: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 —

关键字:
喜欢DBARoad的文章,那就通过 RSS Feed 功能订阅阅读吧!

我要评论

*

* 绝不会泄露


  • 订阅


      抓虾
      google reader
      my yahoo
      bloglines
      鲜果
      有道

站内搜索



返回首页 | 关于我 | 联系我 | 广告合作 | 网站地图 | 友情链接 | 版权声明 |