Oracle 存储过程权限问题
2012-05-09 16:36
701 查看
GRANT說明:
名称
GRANT — 赋予一个用户,一个组或所有用户访问权限
GRANT privilege [, ...] ON object [, ...] TO { PUBLIC
| GROUP group
| username }
输入
privilege 可能的权限有:
SELECT:访问声明的表/视图的所有列/字段.
INSERT:向声明的表中插入所有列字段.
UPDATE:更新声明的所有列/字段.
DELETE:从声明的表中删除所有行.
RULE: 在表/视图上定义规则 (参见 CREATE RULE 语句).
ALL: 赋予所有权限.
object 赋予权限的对象名.可能的对象是:
* table (表)
* view (视图)
* sequence (序列)
* index (索引)
PUBLIC:
代表是所有用户的简写.
GROUP group:
将要赋予权限的组 group .目前的版本中,组必须是用下面方法显式创建的.
username:
将要赋予权限的用户名.PUBLIC 是代表所有用户的简写.
输出
CHANGE: 如果成功,返回此信息.
ERROR: ChangeAcl: class "object" not found
如果所声明的对象不可用或不可能对声明的组或用户赋予权限.
例子
给所有用户向表 films 插入记录的权限:
GRANT INSERT ON films TO PUBLIC;
赋予用户 manuel 操作视图 kinds 的所有权限:
GRANT ALL ON kinds TO manuel;
將cmeip用戶中所有權限給Doc
spool c:\Grant.sql
select 'grant all on
'||tname||' to doc'
from tab;
打開C:\Grant.sql 刪除除grant以外的語句
@c:\Grant.sql
REVOKE說明:
REVOKE -- 删除访问权限.
REVOKE { { SELECT | INSERT
| UPDATE
| DELETE | RULE
| REFERENCES
| TRIGGER }
[,...] | ALL [ PRIVILEGES ] }
ON [ TABLE ] object [, ...]
FROM { username | GROUP groupname
| PUBLIC } [, ...]
REVOKE { EXECUTE | ALL [ PRIVILEGES ] }
ON FUNCTION funcname ([type, ...]) [, ...]
FROM { username | GROUP groupname
| PUBLIC } [, ...]
REVOKE { USAGE | ALL [ PRIVILEGES ] }
ON LANGUAGE langname [, ...]
FROM { username | GROUP groupname
| PUBLIC } [, ...]
描述
REVOKE 允许一个对象的创建者撤销以前 赋予(别人)的权限,可以是撤销一个或多个用户或者一组用户的权限. 关键字 PUBLIC 代表隐含定义的拥有所有用户的组.
请注意,任何特定的用户都将拥有直接赋予他/她的权限,加上 他/她所处的任何组,以及再加上赋予 PUBLIC 的权限的总和.因此,举例来说,废止 PUBLIC 的 SELECT 权限并不意味着所有用户都失去了对该对象的 SELECT 权限∶ 那些直接得到权限赋予的以及通过一个组得到权限的人仍然拥有该权限.
例子
撤销公众在表 films 上的插入权限∶
REVOKE INSERT ON films FROM PUBLIC;
废除用户 manuel 对视图 kinds 的所有权限∶
REVOKE ALL PRIVILEGES ON kinds FROM manuel
grant connect, resource to user identified by passwd;
alter user user default tablespace system quota 1m on
system;
grant select on v_$sysstat to user;
grant create session to user;
grant create table to user;
grant select on seq_dat_ivr_store to cp_interface;
授权给序列
名称
GRANT — 赋予一个用户,一个组或所有用户访问权限
GRANT privilege [, ...] ON object [, ...] TO { PUBLIC
| GROUP group
| username }
输入
privilege 可能的权限有:
SELECT:访问声明的表/视图的所有列/字段.
INSERT:向声明的表中插入所有列字段.
UPDATE:更新声明的所有列/字段.
DELETE:从声明的表中删除所有行.
RULE: 在表/视图上定义规则 (参见 CREATE RULE 语句).
ALL: 赋予所有权限.
object 赋予权限的对象名.可能的对象是:
* table (表)
* view (视图)
* sequence (序列)
* index (索引)
PUBLIC:
代表是所有用户的简写.
GROUP group:
将要赋予权限的组 group .目前的版本中,组必须是用下面方法显式创建的.
username:
将要赋予权限的用户名.PUBLIC 是代表所有用户的简写.
输出
CHANGE: 如果成功,返回此信息.
ERROR: ChangeAcl: class "object" not found
如果所声明的对象不可用或不可能对声明的组或用户赋予权限.
例子
给所有用户向表 films 插入记录的权限:
GRANT INSERT ON films TO PUBLIC;
赋予用户 manuel 操作视图 kinds 的所有权限:
GRANT ALL ON kinds TO manuel;
將cmeip用戶中所有權限給Doc
spool c:\Grant.sql
select 'grant all on
'||tname||' to doc'
from tab;
打開C:\Grant.sql 刪除除grant以外的語句
@c:\Grant.sql
REVOKE說明:
REVOKE -- 删除访问权限.
REVOKE { { SELECT | INSERT
| UPDATE
| DELETE | RULE
| REFERENCES
| TRIGGER }
[,...] | ALL [ PRIVILEGES ] }
ON [ TABLE ] object [, ...]
FROM { username | GROUP groupname
| PUBLIC } [, ...]
REVOKE { EXECUTE | ALL [ PRIVILEGES ] }
ON FUNCTION funcname ([type, ...]) [, ...]
FROM { username | GROUP groupname
| PUBLIC } [, ...]
REVOKE { USAGE | ALL [ PRIVILEGES ] }
ON LANGUAGE langname [, ...]
FROM { username | GROUP groupname
| PUBLIC } [, ...]
描述
REVOKE 允许一个对象的创建者撤销以前 赋予(别人)的权限,可以是撤销一个或多个用户或者一组用户的权限. 关键字 PUBLIC 代表隐含定义的拥有所有用户的组.
请注意,任何特定的用户都将拥有直接赋予他/她的权限,加上 他/她所处的任何组,以及再加上赋予 PUBLIC 的权限的总和.因此,举例来说,废止 PUBLIC 的 SELECT 权限并不意味着所有用户都失去了对该对象的 SELECT 权限∶ 那些直接得到权限赋予的以及通过一个组得到权限的人仍然拥有该权限.
例子
撤销公众在表 films 上的插入权限∶
REVOKE INSERT ON films FROM PUBLIC;
废除用户 manuel 对视图 kinds 的所有权限∶
REVOKE ALL PRIVILEGES ON kinds FROM manuel
grant connect, resource to user identified by passwd;
alter user user default tablespace system quota 1m on
system;
grant select on v_$sysstat to user;
grant create session to user;
grant create table to user;
grant select on seq_dat_ivr_store to cp_interface;
授权给序列
相关文章推荐
- Oracle关于创建存储过程权限问题以及带参数的游标的范例
- Oracle的存储过程中创建临时表报权限不足问题
- ORACLE在存储过程中调用dbms_包的权限问题
- 关于Oracle存储过程执行权限问题的解决
- oracle 存储过程给另一个用户的权限问题
- ORACLE 存储过程权限问题
- oracle 存储过程给另一个用户的权限问题
- 执行oracle中的job报错:ORA-12011:无法执行作业1存储过程执行DDL语句提示ORA-01031错误:权限不足
- mysql 存储过程权限问题
- oracle 存储过程中date类型变量声明中to_date赋值丢失时分秒问题
- Oracle 存储过程部署时sqlplus无响应问题记录
- 存储过程中调用EXECUTE IMMEDIATE的“权限不足”问题
- Oracle存储过程执行权限 .
- 折腾Oracle问题小菜记[分页存储过程/查询所有表、视图、存储过程/查询表、视图、存储过程字段结构与参数](三)
- 给Oracle 账户开启存储过程调试权限命令
- 赋予oracle执行存储过程权限
- mysql存储过程执行权限问题
- 跨数据库调用存储过程权限问题
- ORACLE 存储过程被锁,编译不了问题
- oracle编译存储过程提示表或视图不存在的问题分析