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

文档${}中内容为开发人员填写


--用户基本信息
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 删除任意模式中的任意视图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值