`
goodguyzl
  • 浏览: 46035 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

oracle procedure 表或视图不存在的问题

阅读更多

      今天在写一个procedure,让其每天定时统计表空间的增长情况,定时功能通过oracle的job来完成。

      在代码里,写了这样一个语句

select  sum(bytes)  from dba_data_files where tablespace_name='USRES'

       编译时总是提示“table or view does not exist”,表或视图不存在。但是这个语句在procedure外面,作为单独的SQL语句来执行的时候是没有问题的,困惑了。Google之后,有人提到说,在procedure里,甚至是PL/SQL里,用户的role不在起作用了,被屏蔽掉了。噢~~,原来dba_data_files这个视图本来是属于sys用户的,如果你在创建其他的用户的时候将其角色设置为dba,普通情况下,该视图对这个用户是可见的,而在procedure里这个视图对他是不可见的。只有当sys用户显式把这个视图的权限grant给这用户的时候,在procedure里才对其可见,执行了grant select on dba_data_files to myuser后,这个错误消失,编译通过。

分享到:
评论

相关推荐

    oracle 视图,函数,过程,触发器自动编译脚本

    而实施的时候,经常只会注意要修改的对象是否修改完成,往往忽略相关对象的失效问题,所以做了一个自动重新编译的脚本程序,目的是定期(10分钟)完成一次对所有对象的检查,如果有失效对象,则对其进行重新编译。...

    Oracle中的package对象

    Oracle中的package对象是其他数据库中所不存在的特性之一,这是oracle面向对象编程的一种体现.我们可以像定义面向对象语言的对象一样定义oracle的package.并为package定义对应的属性(全局变量)和方法(function,...

    oracle 10g问题总结

    oracle 10g问题总结 1. 查询oracle中所有用户信息 select * from dba_users; 2. 只查询用户和密码 select username,password from dba_users; 3. 查询当前用户信息 select * from dba_ustats; 4. 查询...

    一个oracle客户端(oracle sql handler)

    运行语句 “schema [user.]objectName[@dbLink]”,如果是一表名或视图名,则显示表或视图的脚本/语句,即表或视图是如何创建的(包括索引及约束条件) o 支持 PL/SQL 语句(包括 Procedure、 Function、Trigger...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

     实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。主要包括select, update, insert, alter, index, delete, all其中all包括所有权限。  授予实体权限 用法:grant 实体权限1...

    Oracle8i_9i数据库基础

    §3.3.6 将表移动到新的数据段或新的表空间 102 §3.3.7 手工分配表的存储空间 104 §3.3.8 标记不使用的列和删除不使用的列 104 §3.3 主键 106 §3.3.1 创建主键 106 §3.3.2 改变主键 109 §3.3.3 删除主键 109 ...

    Oracle SQL Handler (Oracle客户端工具) V3.1

    "Export" 按钮或菜单项,能直接将 SELECT 语句结果转化为 INSERT 语句,方便于数据移植、备份等 <8> 运行命令"schema tablename"能显示表或视图 的生成 schema,即 Table 或视图 View 是如何创建的(包括索引及约束...

    oracle实验报告

    在命令的where子句中给出1=2,表示条件不可能成立,因而只能复制表结构,而不能复制任何数据到新表中去。另外,还可以复制一个表的部分列定义或部分列定义及其数据。 三、 Oracle数据库数据查询 1、单表查询 2、多...

    Oracle 10g 学习笔记

    │ 删除ORACLE用户后,空间不释放的问题.mht │ 删除用户时的CASCADE关键字 - lvhuiqing的专栏 - CSDN博客.mht │ 删除用户时的CASCADE关键字 - lvhuiqing的专栏 - CSDN博客.mht.lnk │ 小功能,大作用 --- Oracle里...

    oracle命令中英文对照.doc

    [code=SQL][/code] --语 句 功 能 --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 ...CREATE PROCEDURE --创建一个存储过程

    最全的oracle常用命令大全.txt

    要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup SVRMGR>quit b、关闭ORACLE系统 oracle>svrmgrl SVRMGR>connect...

    oracle 培训文档1

    oracle 1 基本对象 表(Table)和 视图(View) 索引(Index)和 约束(Constraint) 函数(Function) 过程(Procedure) 其他(同义词,序列,簇,job,等)

    震撼推出超方便实用的Oracle开发工具 - Oracle SQL Handler,双语界面,智能SQL编辑器,免装Oracle客户端,能运行于Windows, 双语界面

    (2)输入字串“abc”+“.”,如果“abc”是一表名/视图,或其别名,则列出表/视图的所有列名及数据类型 ;如果“abc”是一用户名,则列出该用户的所有对象;如果“abc”是一包名,则列出包内的过程和函数; (3)...

    Oracle开发工具 - Oracle SQL Handler(功能强大,超方便好用, 免装客户端, Windows / Linux)

    (2)输入字串“abc”+“.”,如果“abc”是一表名/视图,或其别名,则列出表/视图的所有列 名及数据类型;如果“abc”是一用户名,则列出该用户的所有对象;如果“abc”是一包名,则 列出包内的过程和函数; (3)...

    oracle管理软件SI Object Browser9

    > 能简单地在GUI上建立和管理数据表、视图等对象。 >可以由专用的Grid直接编辑数据表中的数据。此外还有将数据导出到EXCEL等功能。 > > 高度的SQL执行功能 > > 不仅仅能够通过GUI输入并执行SQL还能通过直接输入的...

    Oracle JOB 用法小结

    Oracle JOB 用法小结 2007-6-20 11:51:36 Oracle JOB 用法小结  一、设置初始化参数 job_queue_processes  sql> alter system set job_queue_processes=n;(n>0)  job_queue_processes最大值为1000    ...

    Oracle帮助文档

    Oracle帮助文档 正文 [ 分卷阅读 ] 1.Oracle账户开启停止系统用户 2.用户(user) 3.表空间(tablespace) 4.表(table) 5.同义词(synonym) 6.序列(sequence) 7.约束(constraint) 8.视图(view) 9.索引(index) ...

    精通SQL 结构化查询语言详解

    4.4.3 利用视图简化表的复杂连接  4.4.4 利用视图简化复杂查询 4.4.5 视图的销毁  4.4.6 使用视图的几点原则  第5章 简单的查询  5.1 查询的基本结构  5.1.1 SELECT语句的结构  5.1.2 SELECT语句的...

    Oracle 10g 开发与管理

    补充资料——oracle安装时出现的问题 12 第二讲 Oacle数据库体系结构 14 一. 物理存储结构——(数据库载体) 14 1.数据文件(.DBF) 14 2.日志文件 (.Log) 14 1) 日志文件 15 2) 数据库工作模式 15 3.控制文件...

Global site tag (gtag.js) - Google Analytics