文章出自:http://blog.csdn.net/xys_777/article/details/6602864
在非系统用户底下建触发器时引用v$session记录类型时出现问题
错误:“表和视图不存在”
但是在 pl/sql 中是可以运行 select * from v$session 的
v$session是同义词,v_$session是视图
需要以下处理:
可直接授权
sys : grant select on v_$session to youruser;
说明:
这是个很好的问题
一个普通用户,具有了select any dictionary的权限后,就可以访问任何一个系统视图,包括v$session,由于dba角色包含了select any dictionary的权限,所以你的hospital用户select * from v$session是没问题的
但是你在PL/SQL中,要参照一个表rowtype或者在定义cursor的时候使用到某个表,那你得在这个表上有select权,尽管你的dba角色有select any table的权限,但由于在9i中规定
在初始化参数O7_DICTIONARY_ACCESSIBILITY取缺省值(false)的情况下,一个用户即使有select any table的权限,却还是不能访问sys对象的,除非
1 把O7_DICTIONARY_ACCESSIBILITY设置为true,也就是偶说的做法
或者
2 直接把sys对象的select权授予给这个用户,也就是biti所说的做法
在存储对象中引用字典表(视图)必须单独授权
SQL> select synonym_name,table_name from dba_synonyms where synonym_name like '%SESSION%';
SYNONYM_NAME TABLE_NAME
------------------------------ ------------------------------
V$SESSION V_$SESSION
v$session是同义词,v_$session是视图
这个问题,本质上,是pl/sql程序的特点的问题
在 pl/sql程序设计一书中有讲到,由于 pl/sql 的编译的一些特性,oracle 采取了 角色在 存储过程、函数、包 等有名pl/sql 中 不起作用的策略,必须直接授权才生效,所以即使有dba角色在存储过程中也是无效的
相关推荐
v$session:有关会话的信息 v$sesstat:在v$session中报告当前会话的统计信息 v$sqlarea:共享池中使用当前光标的统计信息,光标是一块内存区域,有Oracle处理SQL语句时打开。 v$statname:在v$sesstat中报告各个...
第一次用PLSQL Developer连接数据库,若用sys用户登录并操作则正常,若用普通用户比如haishu登录并创建一个表则报错“动态...在执行菜单里你可以禁止统计,或在v$session,v$sesstat和v$statname表里获得选择权限。”
select sid,serial#,event,BLOCKING_SESSION from v$session where event like '%TX%'; 2、根据SID查询具体信息(可忽略) select sid,serial#,username,machine,blocking_session from v$session where sid=; 3、杀...
SQL> select pro.spid from v$session ses,v$process pro where ses.sid=21 and ses.paddr=pro.addr; 说明:21是某个连接的sid数 然后用 kill 命令杀此进程号。 五、SQL*PLUS使用 a、近入SQL*Plus $sqlplus ...
使用PL/SQL时, 每次第一次打开表的时候会提示"动态执行表不可访问,本会话的自动统计被禁止"的错误,一消息如下: V$SESSION,V$SESSTAT,V$STATNAME没有被授权,没有权限访问这几张表,所以没有本法进行统计.
2:语义是否合法(权限,对象是否存在) 3:检查该sql是否在共享池中存在 -- 如果存在,直接跳过4和5,运行sql. 此时算soft parse 4:选择执行计划 5:产生执行计划 -- 如果5个步骤全做,这就叫hard parse. 注意物理I/O ...
当某个数据库用户在数据库中插入、更新、删除一个表的数据,或者增加一个表的主键时或者表的索引时,常常会出现ora-00054:resource ...from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.
from v$locked_object l,dba_objects o ,v$session s where l.object_id = o.object_id and l.session_id=s.sid ; 杀表(程序内杀) alter system kill session '543,9206'; 如果杀不掉可以查这个来获取spid...
v2.3.3.2工具简介:56主机网服务器管理助手包含了一键建站、FTP、数据库,以及管理服务器上网站、FTP、数据库本软件自带PHP MYsql FTP环境,安装方便,容易上手1、修正PHP安装目录及session目录可能的权限问题2、增加...
单点登录:使用shior和Redis、共享session方式实现单点登录。 Redis分布式高速缓存:代码生成直接生成Redis对接代码。 特性: JeeSpringCloud基于SpringBoot+SpringMVC+Mybatis+Redis+SpringCloud+Vue.js微服务分布式...
使用token作为登录凭证,不使用session,避免跨域问题 使用自定义注解+aop 替代shiro的功能,简化了配置,增强了可拓展性 设计思路 核心 每个登录用户拥有各自的N条权限,比如 文章:查看/编辑/发布/删除 后端 基于 RBAC...
但是很多人都喜欢在 代码如下: protected void Page_Load(object sender, EventArgs e) {} 里面来写代码,甚至在某些按钮里面写判断session是否存在~~ 这样当然是能实现效果的,问题就在,如果有1000个页面~~你需...
一个轻量级 Java 权限认证框架,让鉴权变得简单、优雅!—— 登录认证、权限认证、分布式Session会话、微服务网关鉴权、单点登录、OAuth2.0
Sa-Token v1.23.0这可能是史上功能最全的 Java 权限认证框架!在线资料Sa-Token 介绍Sa-Token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0、微服务网关鉴权 等一...
使用token作为登录凭证,不使用session,避免跨域问题 使用自定义注解+aop 替代shiro的功能,简化了配置,增强了可拓展性 设计思路 核心 每个登录用户拥有各自的N条权限,比如 文章:查看/编辑/发布/删除 后端 基于 . ...
单点登录:使用shior和Redis、共享session方式实现单点登录。 Redis分布式高速缓存:代码生成直接生成Redis对接代码。 特性: JeeSpringCloud基于SpringBoot+SpringMVC+Mybatis+Redis+SpringCloud+Vue.js微服务分布式...
可以使用,里面有安装说明。...以下目录及子目录有写入、修改权限: /data/cache /data/config /data/log /data/session /data/resource/phpqrcode/temp /data/upload /sql_back /install
full access with user's permission 用户权限完全访问 full access without permission 未经许可完全访问 view only with user's permission 仅在用户允许的情况下查看 view only without permission 未经许可...
4.1.1 修改项目名 4.1.2 修改包名 4.2 放过接口权限验证 4.3 静态资源和模板位置的变更 4.4 三个或更多数据源如何配置 4.5 添加登录验证码 4.6 spring profile 4.7 多机器部署开启spring session 4.8 使用Redis ...
更正登陆跳出问题,解决后台权限检查问题。...利用COOKIES与SESSION相结合的方式,检查文件夹或某文件的权限。 本程序现有GBK与UTF-8 两种编码,如需UTF-8的网友请购买商业版 后台账号密码:net112 net112