ORA-02030问题解决方法又一例

php中文网
发布: 2016-06-07 16:49:57
原创
1485人浏览过

给普通用户赋予对v$视图的查询权限,结果报 ORA-02030 错误,ORA-02030: 只能从固定的表/视图查询(ORA-02030: can only select f

Linux公社

首页 → 数据库技术

背景:

阅读新闻

ora-02030问题解决方法又一例

[日期:2014-06-21] 来源:Linux社区  作者:Criss [字体:]

给普通用户赋予对v$视图的查询权限,结果报 ORA-02030 错误
 ORA-02030: 只能从固定的表/视图查询(ORA-02030: can only select from fixed tables/views)
 
问题背景:
 在一个dba用户下的存储过程中需要使用v$的视图(v$client_stats)
 
使用命令行测试:
 SQL> variable total number;
 SQL> begin
  2    select count(1) into :total from v$client_stats;
  3    dbms_output.put_line('total = '|| :total);
  4  end;
  5  /
 
 PL/SQL procedure successfully completed
 total
 ---------
 0
 
这样并没有问题,,于是编辑成过程执行
 
使用过程
 SQL> create or replace procedure p_test
  2  authid current_user
  3  as
  4    v_all  number := 9999;
  5  begin
  6    select count(1)
  7      into v_all from v$client_stats;
  8 
  9    dbms_output.put_line('v_all =' ||v_all );
  10  end;
  11  /
 
 Warning: Procedure created with compilation errors
 
具体错位信息
 Compilation errors for PROCEDURE ZHANGBIN.P_TEST
 
Error: PL/SQL: ORA-00942: 表或视图不存在
 Line: 9
 Text: FROM v$client_stats;
 

Error: PL/SQL: SQL Statement ignored
 Line: 7
 Text: SELECT COUNT(1)
 
此时需要给用户赋查询权限(于是产生了ORA-02030错误)
 
SQL> show user;
 User is "SYS"
 
SQL> grant select on v$client_stats to zhangbin;
 
 grant select on v$client_stats to zhangbin
 
 ORA-02030: 只能从固定的表/视图查询
 
解决方法:
 
SQL> select * from dba_synonyms t where t.synonym_name = 'V$CLIENT_STATS';
 
 OWNER                          SYNONYM_NAME                  TABLE_OWNER                    TABLE_NAME                    DB_LINK
 ------------------------------ ------------------------------ ------------------------------ ------------------------------ -----------
 PUBLIC                        V$CLIENT_STATS                SYS                            V_$CLIENT_STATS
 
 SQL> grant select on V_$CLIENT_STATS to zhangbin;
 
 Grant succeeded
 
切换到普通用户
 SQL> show user;
 User is "zhangbin"
 
SQL> create or replace procedure p_test
  2  as
  3    v_all      number :=9999;
  4  begin
  5    select count(1)
  6      into v_all
  7      from v$client_stats;
  8    dbms_output.put_line('v_all =' ||v_all );
  9  end;
  10  /
 
 Procedure created
 
 SQL> set serveroutput on
 SQL> exec p_test;
 
 v_all =0
 
 PL/SQL procedure successfully completed

Linux-6-64下安装Oracle 12C笔记

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

企业网站通用源码1.0
企业网站通用源码1.0

企业网站通用源码是以aspcms作为核心进行开发的asp企业网站源码。企业网站通用源码是一套界面设计非常漂亮的企业网站源码,是2016年下半年的又一力作,适合大部分的企业在制作网站是参考或使用,源码亲测完整可用,没有任何功能限制,程序内核使用的是aspcms,如果有不懂的地方或者有不会用的地方可以搜索aspcms的相关技术问题来解决。网站UI虽然不是特别细腻,但是网站整体格调非常立体,尤其是通观全

企业网站通用源码1.0 3
查看详情 企业网站通用源码1.0

Debian 下 安装 Oracle 11g XE R2

本文永久更新链接地址:

linux

  • 0
  • Oracle 会话(Session)

    Oracle数据库开发

    相关资讯       ORA-02030 

  • ORA-02030解决办法  (10/25/2012 17:28:27)
  • 图片资讯      

    本文评论   查看全部评论 (0)

    评论声明

    最新资讯

    本周热门

    Linux公社简介 - 广告服务 - 网站地图 - 帮助信息 - 联系我们
    本站(LinuxIDC)所刊载文章不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。


    Copyright © 2006-2014 Linux公社 All rights reserved 浙ICP备06018118号

    最佳 Windows 性能的顶级免费优化软件
    最佳 Windows 性能的顶级免费优化软件

    每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

    下载
    来源:php中文网
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    最新问题
    开源免费商场系统广告
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号