Oracle的权限用户角色详解
来源:互联网 发布:奥拉朱旺生涯数据 编辑:程序博客网 时间:2024/05/22 00:19
系统权限:系统规定用户使用数据库(系统权限是针对用户而言的)
实体权限:某种权限的用户对于表或者视图的存取控制权限(针对表或者视图而言)
常见的权限列表(仅供参考)见附录一:
Oracle的角色管理
一:概念
角色:一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限
二:一些常用的系统预定义角色
1:CONNECT,RESOURCE, DBA
这些预定义角色主要是为了向后兼容。其主要是用于数据库管理。
oracle建议用户自己设计数据库管理和安全规划
而不要简单的使用这些预定角色。将来的版本中这些角色可能不会作为预定义角色
DBA :拥有全部权限是系统最高权限,只有DBA才可以创建数据库结构
Resource :拥有Resource权限的用户只可以创建实体,不可以创建数据库结构
Connect :拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构
2:DELETE_CATALOG_ROLE, EXECUTE_CATALOG_ROLE, SELECT_CATALOG_ROLE
这些角色主要用于访问数据字典视图和包
3:EXP_FULL_DATABASE, IMP_FULL_DATABASE
这两个角色用于数据导入导出工具的使用。
4:AQ_USER_ROLE, AQ_ADMINISTRATOR_ROLE
这两个角色用于oracle高级查询功能
备注:AQ:Advanced Query
5:SNMPAGENT
用于oracle enterprise manager和Intelligent Agent
6:RECOVERY_CATALOG_OWNER
用于创建拥有恢复库的用户。
三:角色管理
1:创建一个角色
createrole rolename; --创建一个名叫rolename的角色
2:给角色授权
grantcreate any table,create procedure to rolename; --给rolename这个角色赋予创建表和过程
3:给用户授予指定的角色
grantrolename to username; --给username这个用户授予rolename角色
4:查看角色所包含
select *from role_sys_privs;
5.创建带有口令以角色(在生效带有口令的角色时必须提供口令)
createrole role1 identified by password1;
6.修改角色:是否需要口令
alterrole role1 not identified;
alterrole role1 identified by password1;
7.修改指定用户,设置其默认角色
alteruser user1 default role role1;
alteruser user1 default role all except role1;
9.删除角色
drop role role1;
备注:角色删除后,原来拥用该角色的用户就不再拥有该角色了,相应也就没有了。
Oracle的用户管理
一:Oracle用户的创建步骤
step1:创建用户的Profile文件
create profile student limit --student为资源文件名
failed_login_attempts 3 --指定锁定用户的登录失败次数
password_lock_time 5 --指定用户被锁定天数
password_life_time 30 --指定口令可用天数
备注:关于Profile
作用:ORACLE的PROFILE文件是限制数据库用户使用资源的一种手段。
如:控制session或sql能使用的CPU、控制用户的密码管理策略等。
用法:参见:《ORA02_Profile文件》
step2:创建用户
create user user1 --创建用户,指定用户名
Identified by pwd1 --指定用户密码
default tablespace spname1 --指定用户的defauttablespace
temporary tablespace spname2 --指定用户的temporarytablespace
profile student --指定用户使用哪个profile
quota 100M on spname1; --指定用户使用spname1表空间的最大空间
备注:tablespace
作用:ORACLE中,表空间是数据管理的基本方法,所有用户的对象要存放在表空间中
用法:参见《ORA03_Oracle表空间》
step3:为新建的用户授权
grant connect,resource to user1; --授予user1普通用户
grant connect,resource,dba to user1; --授予user1DBA管理员
二:修改用户
Alter User user1 --指定要修改的用户
Identified pwd1 --修改用的密码
Default Tablespace spname1 --修改用户的DefaultTablespace
Temporary Tablespace spname2 --修改用户的temporary tablespace
Profile student --修改用户的profile
Quota 100M on spname1; --修改用户在spname表空间上的最大空间
单独修改
alter user user1 identified by pwd2; --将use1的密码修改为pwd2
alter user user1 default tablespace spname2; --将用户的缺省表空间修改为spname2
alter user user1 temporary tablespace spname2; --将用户的临时表空间修改为spname2
三:删除用户
drop user user1; --删除用户
drop user user1 cascade; --删除用户,以及级联的删除用户创建的全部实体
注意:当前用户不能使用这种方式删除
四:其他
查询用户会话信息:
select username, sid, serial#, machine from v$session;
删除用户会话信息:
Alter system kill session 'sid, serial#';
查询用户SQL语句:
select user_name, sql_text from v$open_cursor;
其他相关知识点
一:Oracle的用户认证方式
1>操作系统验证
登录的时候只验证当前登录当前操作系统的用户不在在Ora_dba用户组当中,如果在则登录成功,如果不在则使用数据库验证方式验证
2>数据库验证
根据用户输入的登录信息到对应的文件中查找用户名和密码以及身份是否正确,如果正确则登录成功,否则失败
设定用户认证方式:修改sqlnet.ora文件
决定是否使用操作系统方式验证:
SQLNET.AUTHENTICATION_SERVICE(NTS) --使用操作系统方式验证
SQLNET.AUTHENTICATION_SERVICE(NONE) --使用数据库方式验证
SQLNET.AUTHENTICATION_SERVICE(NTS,NONE) --两种方式都用
普通用户登录,默认已数据库验证方式登录
特权用户登录,默认使用操作系统验证,当登陆的时候带有 as sysdba,时dbms默认默认为特权用户登录,则忽略用户名和密码,自动用操作系统验证方式验证,登陆成功之后自动切换为sys用户
二:管理员用户口令丢失怎么办?
1:找到PWD数据库实例名.ora
2:将文件备份一份(可选,建议备份)
3:删除文件
4:在dos窗口下输入命令
orapwd file=密码文件路径\密码文件名
password=新密码
entries=允许最多的用户数目
5:重启数据库实例,让密码文件生效
三:Oracle权限的转移:
如果赋权限的时候允许用户能够将权限继续赋给其他的用户
对象权限:加with grant option
系统权限:加whth admin option
例如:
grant select on emp to user1 with grant option;grant connect,resource,dba to user1 withadmin option;
附录一:常见的权限列表(仅供参考)
alter any cluster
修改任意簇
alter any index
修改任意索引
alter any role
修改任意角色
alter any sequence
修改任意序列
alter rollback segment
修改回滚段
alter sequence
修改拥有的序列权限
alter session
修改数据库会话
alter sytem
修改数据库服务器设置
alter table
修改拥有的表权限
alter tablespace
修改表空间
alter user
修改用户
analyze
使用analyze命令分析数据库中任意的表、索引和簇
audit any
为任意的数据库对象设置审计选项
audit system
允许系统操作审计
backup any table
备份任意表
become user
切换用户状态
commit any table
提交表
create any cluster
为任意用户创建簇
create any index
为任意用户创建索引
create any procedure
为任意用户创建存储过程
create any sequence
为任意用户创建序列
create any snapshot
为任意用户创建快照
create any synonym
为任意用户创建同义名
create any table
为任意用户创建表
create any trigger
为任意用户创建触发器
create any view
为任意用户创建视图
create procedure
为用户创建存储过程
create profile
创建资源限制简表
create public database link
创建公共数据库链路
create public synonym
创建公共同义名
create role
创建角色
create rollback segment
创建回滚段
create session
创建会话
create sequence
为用户创建序列
create snapshot
为用户创建快照
create synonym
为用户创建同义名
create table
为用户创建表
create tablespace
创建表空间
create user
创建用户
create view
为用户创建视图
delete any table
删除任意表行
delete any view
删除任意视图行
alter any snapshot
修改任意快照
alter any table
修改任意表
update table
修改用户表中的行
update view
修改视图中行
update any table
修改任意表中行
update snapshot
修改快照中行
select view
使用视图
unlimited tablespace
对表空间大小不加限制
alter any trigger
修改任意触发器
alter cluster
修改拥有簇
select sequence
使用用户序列
select table
使用用户表
select any table
使用任意表
select snapshot
使用快照
restricted session
创建有限制的数据库会话
select any sequence
使用任意序列
manager tablespace
管理表空间
references table
参考表
insert view
向用户视图中插行
lock any table
给任意表加锁
insert snapshot
向快照中插入行
insert table
向用户表中插入行
alter database
修改数据库
alter procedure
修改拥有的存储过程权限
index table
给表加索引
insert any table
向任意表中插入行
grant any privilege
授予任意系统特权
grant any role
授予任意角色
force any transaction
管理未提交的任意事务的输出权限
force transaction
管理未提交的用户事务的输出权限
execute package
执行存储包
execute procedure
执行用户存储过程
execute any procedure
执行任意存储过程
execute function
执行存储函数
drop tablespace
删除表空间
drop user
删除用户
drop public synonym
删除公共同义名
droprollback segment
删除回滚段
drop public cluster
删除公共簇
drop public database link
删除公共数据链路
drop any trigger
删除任意触发器
drop any view
删除任意视图
drop any table
删除任意表
drop profile
删除资源限制简表
drop any snapshot
删除任意快照
drop any synonym
删除任意同义名
alter profile
修改资源限制简表
alter resource cost
设置佳话资源开销
drop any role
删除任意角色
drop any sequence
删除任意序列
drop any index
删除任意索引
drop any procedure
删除任意存储过程
delete view
为用户删除视图行
drop any cluster
删除任意簇
delete snapshot
删除快照中行
delete table
为用户删除
- Oracle的权限用户角色详解
- Oracle 用户、角色、权限
- ORACLE用户、角色、权限
- Oracle 用户、权限、角色
- oracle用户,权限,角色
- ORACLE用户、角色、权限
- 用户,角色权限详解
- Oracle数据库的权限、用户、角色管理
- Oracle的用户、角色和权限
- Oracle数据库的权限、用户、角色管理
- oracle 中的用户,权限,角色 , 的管理
- Oracle查看用户角色权限的语句
- oracle 角色 、权限、用户的相关知识
- Oracle 用户,角色,权限的sql语句
- Oracle常用基础知识详解(用户、权限、角色管理 )
- oracle常用基础知识详解(用户、角色、权限管理)
- Oracle用户角色权限管理
- Oracle用户、权限、角色管理
- ExtJS4.07 Component的生命周期
- MFC实现自动填写表单与自动提交表单
- switch 语句中省略号与 case 范围
- 示波器1x10x功能
- 通向架构师的道路(第三天)之apache性能调优
- Oracle的权限用户角色详解
- c# 正则循环
- Linux getopts&shift命令浅析
- android webservice获取城市天气情况
- IE下JS报“缺少标识符 字符串或数字”错误
- 宽字符处理函数函数与普通函数对照表
- SDK小结
- OnPaint和OnDraw有什么区别
- adb install com.。。。.apk