【ORACLE】存储过程、触发器权限问题
需要创建trigger,trigger名和已有表名相同,竟然没有问题。
编译的时候发现SFISM4用户缺少表SFIS1.C_MENU_PARAMETER_T的权限,查询发现C_UPDATE和C_SELECT角色已经有该表权限,且SFISM4用户也已经有这俩角色。
![](/assets/blank.gif)
查询发现涉及到authid current_user和authid definer(默认)这两个参数。
直接总结:
在ORACLE8i以前的版本,所有已编译存储对象,包括packages, procedures, functions, triggers, views等,只能以定义者(Definer)身份解析运行;而ORACLE8i及其后的新版本,Oracle引入调用者(invoker)权限,使得对象可以以调用者身份和权限执行。
1.authid current_user使用的是调用者的权限去运行,authid definer使用定义者的权限去运行。
2.角色在authid definer的存储过程中是disabled。
3.存储过程编译时角色也是disabled,并且不验证动态SQL的权限。(此次涉及问题)
4.以上也适用于函数、触发器,即命名的PL/SQL块。
参考:
http://blog.sina.com.cn/s/blog_7085382f01013q4h.html
https://www.linuxidc.com/Linux/2017-05/144173.htm
http://blog.itpub.net/26770925/viewspace-1442125/
【ORACLE】存储过程、触发器权限问题相关推荐
- oracle添加触发器权限,Oracle 'after create'触发器授予权限
我有一个'after create on database'触发器,可以在特定模式中为新创建的表提供对不同Oracle角色的select访问 . 如果我执行一个 create table ... as ...
- oracle触发和存储过程,Oracle存储过程与触发器
Oracle存储过程与触发器 存储过程 存储过程最直接的理解:就是保存了批量的sql(select,insert,if for),以后可以通过一个名字把这些批量的sql执行,使用存储过程在大批量数据查 ...
- oracle触发器函数,oracle 存储过程、函数和触发器用法实例详解
本文实例讲述了oracle 存储过程.函数和触发器用法.分享给大家供大家参考,具体如下: 一.存储过程和存储函数 指存储在数据库中供所有用户程序调用的子程序叫存储过程.存储函数. 创建存储过程 用CR ...
- Oracle授权相关(Oracle 触发器授权、Oracle 存储过程授权、Oracle 表授权、Oracle 序列授权)
原作者连接:https://www.cnblogs.com/lichuangblog/p/6892801.html grant给表赋权限: 1.grant 权限 on 表 to 用户. grant s ...
- oracle中存储过程可见权限,Oracle数据库存储过程与权限
在执行存储过程时,我们可能会遇到权限问题 ● 定义者权限存储过程 ● 调用者权限存储过程 在数据库中创建存储过程时,定义者权限是缺省模式 当指定AUTHID CURRENT_USER关键字后,便是调用 ...
- oracle的系统和对象权限 与 Oracle 查看用户权限
oracle的系统和对象权限 alter any cluster 修改任意簇的权限 alter any index 修改任意索引的权限 alter any role 修改任意角色的权限 alter a ...
- Oracle 把触发器说透
本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2. ...
- oracle驱动权限如何修改,详解如何实现Oracle修改用户权限和角色
pcMing工作室"YkX|;z%J"rD%S ------今天看了这篇文章 觉得对我们学习oracle 还是有很多帮助的,大家可以试着读读·······,qe'p"rr ...
- oracle 创建触发器_oracle创建触发器
创建触发器 创建触发器的一般语法是: CREATE [OR REPLACE] TRIGGER trigger_name {BEFORE | AFTER } {INSERT | DELETE | UPD ...
- oracle数据库有哪些权限,ORACLE数据库中权限有哪些?
1 权限 Oracle数据库有两种途径获得权限,它们分别为: ① DBA直接向用户授予权限. ② DBA将权限授予角色(一个命名的包含多个权限的集合),然后再将角色授予一个或多个用户. 使用角色能够更 ...
最新文章
- python苹果手机的api_Python中的api,API
- 透视表提取不反复记录(3)-每组最小值
- Python scrapy 动态传入自定义参数
- Swift中的模式分类
- 2021年信息系统项目管理师考试大纲
- 数据结构中缀表达式转后缀表达式与后缀表达式的求值实训报告_动图+源码,演示 Java 中常用数据结构执行过程及原理...
- AutoScaling 成本优化模式升级--混合实例策略
- iphone屏蔽系统更新_iOS13屏蔽系统更新升级教程
- emmc linux 识别分区_EMMC芯片电视主板直写厂家引导程序
- Spring Security的HTTP基本验证示例
- 用Java操作Office 2007
- 罗马数字转换python_阿拉伯数字转换成罗马数字
- 一行代码查看电脑Wifi密码
- catia如何单击停止捕获_CATIA打开文件时显示单击确定终止
- 什么是视频监控平台的平台对接
- SpringCloud平滑升级/优雅停机
- 坚持#第235天~哎呀,最近培训云计算忙得都把写博客的大事给忘了,赶快捡起来
- Spring+SpringMVC+Mybatis(开发必备技能)04、mybatis自动生成mapper_dao_model(包含工具与视频讲解) 纯绿色版本、配套使用视频,100%运行成功
- 注册163VIP邮箱如何登陆?我邮件注册的163VIP邮箱不知道怎么登陆
- PVE+集客AC+K2T-AP
热门文章
- OCXO、VCXO、TCXO、DCXO、SPXO
- 天津室内设计培训班:0基础必知的5个室内设计原则
- 无锡室内设计培训:室内设计的程序是怎样的?
- java大学生网上请假管理系统
- 渗透工具sqlmap下载安装超详细教程Windows
- 程序员博客遭攻击,炸出华为云前员工吐槽自家业务;谷歌宣布推出第二个版本 Git 协议,带来显著的性能提升...
- Microsoft Excel 2010表最多容纳的行数
- MySQL 8.0踩的坑(3)
- 为什么不建议你给领导回复“收到”?
- 干货|4个全网最实用的OCR图片文字识别软件合集