您的位置:首页 > 数据库 > Oracle

ORACLE数据库安全相关命令学习笔记

2014-05-25 16:39 423 查看
文档${}中内容为开发人员填写

--用户基本信息

1、创建用户

CREATE USER ${USER_NAME} IDENTIFIED BY ${PASSWORD}

[DEFAULT TABLESPACE ${DEF_TABSPACE}]

[TEMPORARY TABLESPACE ${TEMP_TABSPACE}]

2、修改用户密码

ALERT USER ${USER_NAME} IDENTIFIED BY ${PASSWORD}

3、删除用户

DROP USER ${USER_NAME} 

--系统特权

4、向用户授予系统特权

GRANT ${OPT1}[,${OPT2} ...] TO ${USER_NAME} [WITH ADMIN OPTION]

--其中WITH ADMIN OPTION 表示被授权账号可以将此次授予的系统特权再授予其他用户

5、检查授予用户的系统特权

SELECT * FROM USER_SYS_PRIVS

6、撤销用户的系统特权

REVOKE ${OPT1}[,${OPT2} ...] FROM ${USER_NAME}

--对象特权

7、向用户授予的对象特权

GRANT ${OPT} ON ${OBJECT_NAME} TO ${USER_NAME} [WITH GRANCT OPTION]

--其中WITH GRANCT OPTION 表示被授权账号可以将此次授予的对象特权再授予其他账号

8、(授权人)检查已授予的对象特权

SELECT * FROM USER_TAB_PRIVS_MADE

SELECT * FROM USER_COL_PRIVS_MADE

9、(被授权人)检查已接受的对象特权

SELECT * FROM USER_TAB_PRIVS_RECD;

SELECT * FROM USER_COL_PRIVS_RECD;

10、撤销用户的对象授权

REVOCE ${OPT} ON ${OBJECT_NAME} FROM ${USER_NAME}

--角色

11、创建角色

CREATE ROLE ${ROLE_NAME}

12、为角色授权

GRANCT ${OPT1}[,${OPT2}...] TO ${ROLE_NAME}

13、将角色授予用户

GRANT ${ROLE_NAME} TO ${USER_NAME}

14、检查授予用户的角色

SELECT * FROM USER_ROLE_PRIVS

15、检查授予角色的系统特权

SELECT * FROM ROLE_SYS_PRIVS

16、检查授予角色的对象特权

SELECT * FROM ROLE_TAB_PRIVS

17、撤销角色

REVOKE ${ROLE_NAME} FROM ${USER_NAME}

18、从角色中撤销特权

REVOKE ALL|${OPT1}[${OPT1}...] [ON ${OBJECT_NAME}] FROM ${ROLE_NAME}

19、删除角色

DROP ROLE ${ROLE_NAME}

----------------------------------------------------------------------------------------

特权

引用:w ww .dou ban.com/note/171708305/

Oracle经过长时间的发展,很多用户都很了解Oracle系统特权了,这里我发表一下个人理解,和大家讨论讨论。特权借助于GRANT语句分配给一个用户或角色,并且可以借助于REVOKE语句取消。Oracle 10G数据库有3种类型的特权:

1. 对象特权模式对象上的特权,比如表、视图、序列、过程和包等模式对象。要想使用这些对象,需要该对象上的特权。

2. 系统特权 数据库级操作上的特权,比如连接到数据库,创建用户、更改数据库或消耗极大数据的表空间等操作。

3. 角色特权一个用户作为一个角色所拥有的对象与系统特权。角色是用来管理特权组的工具。

Oracle系统特权允许被授权者执行系统级Data Definition Language语句(如CREATE,ALTER和DROP)或Data Manipulation Language语句。Oracle 10G有170多种系统特权,所有这些特权被列举在SYSTE_PRIVILEGE_MAP数据目录视图中。读者应该熟悉以下几组特权

序列

1. CREATE SEQUENCE允许被授权者在他们自己的模式中创建新的序列

2. CREATE ANY SEQUENCE允许被授权者在任意一个模式中创建新的序列

3. ALTER ANY SEQUENCE允许被授权者修改数据库中任意一个序列的属性

4. DROP ANY SEQUENCE允许从数据库内的任意一个模式中删除任意一个序列

5. SELECT ANY SEQUENCE

会话

1. CREATE SESSION允许被授权者连接到数据库。该特权对用户账户是必需的,但对软件账户可能是不受欢迎的。

2. ALTER SESSION允许被授权者执行ALTER SESSIONS语句

3. ALTER RESOURCE COST允许被授权者修改ORACLE为一个概况中的资源约束计算资源成本的方式。

4. RESTRICTED SESSION允许数据库在RESTRICTED SESSION模式时连接到数据库,一般是为了管理性目的。

同义词

1. CREATE SYNONYM允许在自己的对象模式中创建同义词

2. CREATE ANY SYNONYM允许在任意对象模式中创建新的同义词

3. CREATE PUBLIC SYNONYM允许被授权者创建新的公用同义词。这些同义词对数据库中的所有用户都是可访问的。

4. DROP ANY SYNONYM允许从任意对象模式中删除任意一个同义词

5. DROP PUBLIC SYNONYM允许被授权者从数据库中删除任意一个公用同义词



1. CREATE TABLE允许在自己的对象模式中创建表

2. CREATE ANY TABLE允许在任意一个对象模式中创建表

3. ALTER ANY TABLE允许更改任意一个对象模式中的表

4. DROP ANY TABLE允许从任意一个对象模式中删除表

5. COMMENT ANY TABLE允许给任意一个对象模式中的任意一个表或列注释

6. SELECT ANY TABLE允许查询任意表

7. INSERT ANY TABLE允许插入新行到任意表

8. UPDATE ANY TABLE允许更新任意表

9. DELETE ANY TABLE允许删除任意表中的行

10. LOCK ANY TABLE允许执行一条LOCK TABLE来明确锁定任意一个表

11. FLASHBACK ANY TABLE允许使用AS OF 语法对任意一个对象模式的任意一个表或视图执行一个SQL回闪查询。

表空间

1. CREATE TABLESPACE允许创建新的表空间

2. ALTER TABLESPACE允许被授权者更改现有表空间

3. DROP TABLESPACE允许删除表空间

4. MANAGE TABLESPACE允许更改表空间。例如ONLINE、OFFILE、BEGIN BACKUP或END BACKUP

5. UNLIMITED TABLESPACE允许消耗任意一个表空间中的磁盘限额。相当于给指定授权者每个表空间中的无限限额。以上介绍Oracle系统特权。

详谈Oracle对象特权说明
http://database.51cto.com  2009-11-18 11:02  佚名  博客园  我要评论(0)

摘要:这里介绍Oracle对象特权使得被授予者可以以特定方式使用另一用户所拥有的模式对象。有些特权只适用于某些模式对象。 

标签:Oracle对象特权 

Oracle帮您准确洞察各个物流环节

学习Oracle时,你可能会遇到Oracle对象特权问题,这里将介绍Oracle对象特权问题的解决方法,在这里拿出来和大家分享一下。Oracle对象特权使得被授予者可以以特定方式使用另一用户所拥有的模式对象。有些特权只适用于某些模式对象。例如INDEX特权只适用于表,而SELECT特权则适用于表、视图和序列。

1. 下面这些特权可以被个别授予,被组合在一个列表中授予,或借助关键字ALL被全部授予。

2. 在使用ALL关键字时需要特别小心。它可能会隐含地授予威力强大的特权

************************************

************ 表对象特权 ************

************************************

下面这些特权经常被授予,而且应该完全了解它们。

1. SELECT允许查询指定表

2. INSERT允许在指定表创建新行

3. UPDATE允许修改指定表的现有行

4. DELETE允许删除指定表的行

5. ALTER允许添加、修改或重命名指定表中的列,转移该表到另一个表空间,乃至重命名指定表。

6. DEBUG允许被授权者借助于一个调度程序访问指定表上的任意触发器中的PL/SQL代码

7. INDEX允许被授权者在指定表上创建新的索引

8. REFERENCES允许创建参考指定表的外部键约束

************************************

*********** 视图对象特权 ***********

************************************

1. SELECT查询指定视图

2. INSERT允许在指定视图创建新行

3. UPDATE允许修改指定视图的现有行

4. DELETE允许删除指定视图的行

5. DEBUG允许被授权者借助于一个调度程序访问指定视图上的任意触发器中的PL/SQL代码

6. REFERENCES允许创建参考指定视图的外部键约束

************************************

*********** 序列对象特权 ***********

************************************

1. SELECT允许访问当前值和下一个值(即CURRVAL和NEXTVAL)

2. ALTER允许修改指定序列的属性

**************************************

存储过程、函数、过程、包和JAVA对象特权

**************************************

1. DEBUG允许访问指定程序中所声明的所有公用与私有变量与类型如果对象是包,还允许访问包规范与主体允许在指定程序中放置断点

2. EXCUTE允许执行指定程序。如果对象是包,那么表规范中所声明的任意一个程序、变量、类型、油标或记录均允许访问

************************************

******** oracle系统权限列表 ********

************************************

权限 所能实现的操作

分析  

ANALYZE ANY 分析数据库中的任何表、簇或索引

审计  

AUDIT ANY 审计数据库中的任何模式对象

AUDIT SYSTEM 启用与停用语句和特权的审计选项

簇  

CREATE CLUSTER 在自有的模式中创建一个簇

CREATE ANY CLUSTER 在任何一个模式中创建一个簇;操作类似于

         CREATE ANY TABLE 

ALTER ANY CLUSTER 改变数据库中的任何一个簇

DROP ANY CLUSTER 删除数据库中的任何一个簇

数据库  

ALTER DATA BASE 改变数据库;不管操作系统的特权,经由Oracle把文件添加到操作

         系统中

数据库链接  

CREATE DATABASE LINK 在自有模式中创建专用数据库链接

索引  

CREATE ANY INDEX 在任何表的任何模式中创建一条索引

ALTER ANY INDEX 改变数据库中的任何索引

DROP ANY INDEX 删除数据库中的任何索引

库  

CREATE LIBRARY 在自有模式中创建调出库

CREATE ANY LIBRARY 在任何模式中创建调出库

DROP LIBRARY 删除自有模式中的调出库

DROP ANY LIBRARY 删除任何模式中的调出库

特权  

GRANT ANY PRIVILEGE 授予任何系统特权(不包括对象特权)

过程  

CREATE PROCEDURE 在自有模式中创建存储的过程、函数和包

CREATE ANY PROCEDURE 在任何模式中创建存储的过程、函数和包(这要求用户还要有A LT E R 

         ANY TABLE 、BACKUP ANY TA B LE 、DROP ANY TABLE 、SELECT ANY 

         TABLE 、INSERT ANY TABLE 、UPDATE ANY TABLE 、DELETE ANY 

         TABLE 或GRANT ANY TABLE 特权

ALTER ANY PROCEDURE 编译任何模式中的任何存储的过程、函数或包

DROP ANY PROCEDURE 删除任何模式中的任何存储的过程、函数或包

EXECUTE ANY PROCEDURE 执行任何过程或函数(独立的或成组的),或在任何模式中引用任何

         公共包变量

环境资源文件  

CREATE PROFILE 创建环境资源文件

ALTER PROFILE 改变数据库中的任何环境资源文件

DROP PROFILE 删除数据库中的任何环境资源文件

ALTER RESOURCE COST 设置所有的用户会话中使用的资源开销

特权 所能实现的操作

公共数据库链接  

CREATE PUBLIC DATABASE LINK 创建公共数据库链接

DROP PUBLIC DATABASE LINK 删除公共数据库链接

公共同义词  

CREATE PUBLIC SYNONYM 创建公共同义词

DROP PUBLIC SYNONYM 删除公共同义词

角色  

CREATE ROLE 创建角色

ALTER ANY ROLE 改变数据库中的任何一个角色

DROP ANY ROLE 删除数据库中的任何一个角色

GRANT ANY ROLE 授权数据库中的任何一个角色

回滚段  

CREATE ROLLBACK SEGMENT 创建回滚段

ALTER ROLLBACK SEGMENT 改变回滚段

DROP ROLLBACK SEGMENT 删除回滚段

会话  

CREATE SESSION 连接到数据库

ALTER SESSION 发出A LTER SESSION 语句

RESTRICTED SESSION 当数据库利用S TA RTUP RESTRICT 启动时进行连接(O S O P E R与

         O S D B A角色包含此特权)

序列  

CREATE SEQUENCE 在自有模式中创建序列

CREATE ANY SEQUENCE 在任何模式中创建任何序列

ALTER ANY SEQUENCE 在任何模式中改变任何序列

DROP ANY SEQUENCE 在任何模式中删除任何序列

SELECT ANY SEQUENCE 在任何模式中引用任何序列

快照  

CREATE SNAPSHOT 在自有模式中创建快照(用户还必须具有C R E ATE TA B L E 特权)

CREATE  ANY SNAPSHOT 在任何模式中创建快照(用户还必须具有CREATE ANY TABLE特权)

ALTER SNAPSHOT 改变任何模式中的任何快照

DROP ANY SNAPSHOT 删除任何模式中的任何快照

同义词  

CREATE SYNONYM 在自有模式中创建同义词

CREATE ANY SYNONYM 在任何模式中创建任何同义词

DROP ANY SYNONYM 在任何模式中删除任何同义词

系统  

ALTER SYSTEM 发出A LTER SYSTEM 语句

表  

CREATE TABLE 在自有模式中创建表。还使被授权者能在自有模式下的表中创建索

         引,包括那些用于完整性约束的索引(被授权者必须有表空间的定额

         或UNLIMITED TA B L E S PA C E 特权)

CREATE ANY TABLE 在任何模式中创建表(假如被授权者有C R E ATE ANY TA B L E 特权并

         在另一个用户模式中创建了一张表,那么拥有者必须在那个表空间上

         有空间定额。表的拥有者不必具有C R E AT [ANY] TA B L E 特权)

ALTER ANY TABLE 改变任何模式中的任何表并编译任何模式中的任何视图

BACKUP ANY TA B L E 在任何模式中使用表的导出工具执行一个增量导出操作

DROP ANY TA B L E 删除或截断任何模式中的任何表

LOCK ANY TA B L E 锁定任何模式中的任何表或视图

特权 所能实现的操作

COMMENT ANY TA B L E 对任何模式中的任何表、视图或列进行注释

SELECT ANY TA B L E 对任何模式中的任何表、视图或快照进行查询

INSERT ANY TA B L E 把行插入到任何模式中的任何表或视图中

UPDATE ANY TA B L E 修改任何模式中的任何表或视图中的行

DELETE ANY TA B L E 删除任何模式中的任何表或视图中的行

表空间  

CREATE TABLESPACE 创建表空间;不管用户有何操作系统特权,经由O r a c l e把文件添加

         到操作系统中

ALTER TABLESPACE 改变表空间;不管用户有何操作系统特权,经由O r a c l e把文件添加

         到操作系统中

MANAGE TABLESPACE 使任何表空间脱机,使任何表空间联机,开始和结束对任何表空间

         的备份

DROP TABLESPACE 删除表空间

UNLIMITED TABLESPACE 使用任何没有数量限制的表空间。此特权忽略了所分配的任何具体

定额。假如被取消的话,被授权者的模式对象仍然保留,但是进一步

的表空间分配被拒绝,除非这一分配是具体的表空间定额允许的。此

系统特权仅可以授予用户,而不授予角色。一般而言,应分配具体的

表空间定额,而不授予此系统特权

事务  

FORCE TRANSACTION 强迫提交或回滚本地数据库中悬而未决的自有的分布式事务

FORCE ANY TRANSACTION 强迫提交或回滚本地数据库中悬而未决的任何分布式事务

触发器  

CREATE TRIGGER 在自有模式中创建触发器

CREATE ANY TRIGGER 在任何模式中创建与任何模式的任何表相关的任何触发器

ALTER ANY TRIGGER 启用、停用或编译任何模式中的任何触发器

DROP ANY TRIGGER 删除任何模式中的任何触发器

用户  

CREATE ANY USER 创建用户;分配任意表空间上的定额,设置缺省和临时表空间,指

         定一个环境资源文件(在C R E ATE USER 语句中)

BECOME ANY USER 成为另一个用户(这是任何一个执行完全数据库导入的用户所需要的)

ALTER USER 改变其他用户:修改任意用户的口令或验证方法,分配表空间定额,

         设置缺省或临时表空间,在A LTER USER 语句中指定环境资源文件与

         缺省角色(不必改变自有口令)

DROP USER 删除另一个用户

视图  

CREATE VIEW 在自有模式中创建视图

CREATE ANY VIEW 在任意模式中创建视图。要在另一个用户模式中创建视图,你必须

         具有C R E ATE ANY VIEW 特权,拥用者必须在该视图引用的对象上具

         有所需的特权

DROP ANY VIEW 删除任意模式中的任意视图
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息