有个网友问我,如何授予某个用户只能查看某些存储过程的定义权限,而不能让用户去修改、执行存储过程。看似简单的问题,却因为从没有碰到这样的需求。花了点时间才梳理、总结清楚。 关于ORACLE账号的权限问题,一般分为两种权限: 系统权限: 允许用户执行特定的数据库动作,如创建表、创建索引、创建存储过程等 对象权限: 允许用户操纵一些特定的对象,如读取视图,可更新某些列、执行存储过程等 像这种查看存储过程定义的权限为对象权限,但是我们还是首先来看看关于存储过程的系统权限吧: PRIVILEGE NAME PROPERTY --------- -------------------