Oracle 系统权限和对象权限管理

1. 查询Oracle所有系统权限
select * from system_privilege_map 

2. 查询Oracle所有对象权限
select * from table_privilege_map 

3.将'授予系统权限'这个权限给某用户--当然一般采用 dba 给其他用户授予“其他权限”,这个权限一般不需要给别人
grant any privilege to TestUser 【with admin option】//表示 TestUser 用户有权利 给其他用户授予 系统权限 。后面 表示对这个权限的维护(能否再授予其他用户) 

4.举例: 授予系统权限 create session (连接数据库的关键权限,connect角色中有这个权限, oracle角色 文章中有介绍)
1.grant create session to TestUser //TestUser就可以连接数据库了
2.grant create session to TestUser with option admin //TestUser就可以连接数据库了,并且 可以 将这个权限 给其他用户

5.收回 系统权限 不会级联回收
 revoke create session from TestUser

6. 关于 系统权限 的维护
with admin option //表示继承后可以 授予其他用户

7. 关于 对象权限 的维护
with grant option //表示继承后可以 授予其他用户

8.举例: 授予对象权限 update,select,insert,delete,all [4种等于 all]
grant select on scott.emp to TestUser 【with grant option】 //表示给TestUser 授予scott.emp的查询权限
grant all on scott.emp to TestUser //表示给TestUser 授予scott.emp的select,update,insert,delete 权限

9.举例: 授予 某几列 对象权限
grant update on scott.emp(sal) to luob //指定修改某列
grant select on emp(ename,sal) to luob //只能查询这指定字段

10.举例:授予 alter 权限
grant alter on scott.emp to luob //授予这个表结构的修改权限

11.举例:授予 execute 权限 (用于用户执行其他方案的包、过程,函数)
grant execute on dbms_transaction to luob; --执行 dbms_transaction 包的权限

12.举例:授予 index 权限
 grant index on scott.emp to luob 【with grant option】 //授予创建索引的权限

13.收回 对象权限 【cascade】会级联回收
 revoke select on scott.emp from TestUser【cascade】//撤销查询权限或者级联撤销

14.举例:级联回收的
grant select on emp to luobing with grant option; //授予权限 并维护
conn luobin/m123@ORACLE; //登录后 给 xiaoming 权限
grant select on emp to xiaoming;
conn scott/tiger@ORACLE //scott 撤销 luobing的权限
revoke select on emp from luobing cascade
conn xiaoming/m123@ORACLE;
select * from scott.emp; //表和视图不存在

15.查询当前用户具有的系统权限
select * from dba_sys_privs where grantee='SYSTEM'

16.查询当前用户具有的对象权限
select * from dba_tab_privs where grantee='SYSTEM';

17.查询当前用户具有的列权限
select * from dba_col_privs where grantee='SYSTEM';

18.查询用户 SCOTT 所拥有的系统权限
select * from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='SCOTT');

19.数据库管理员 DBA的一些职责
1.安装和升级 oracle 数据库
2.建库建表建空间 视图,索引。。。。
3.指定和并实施 备份和恢复计划
4.数据库权限管理,调优,故障排除
5.对高级的dba,要求能参加项目开发,会编写sql语句 ,存储过程,触发器,规则,约束,包
6.管理员 还有管理初始化参数
     show  parameter; 有 200多参数 有参数可以配置的
7.管理数据库的用户主要是 sys (董事长)> 和system  (总经理)

20.sys,sysdba,sysoper的区别
sys:拥有oracle的基表和视图,拥有 dba 数据库管理
sysdba:系统管理员
sysoper:系统操作员  的角色和权限
system:主要存储次一级的数据 如:oracle的特性和工具的管理信息和 
dba,sysdba 角色权限 区别   
1.存储的数据重要性不一样 ,权限不一样 
2.sys 必须 利用 as sysdba 或者 as sysoper 不能用normal(标准)方式登录
3.system 默认登录角色是  dba   (conn system/manager)
4.如果用  conn system/manager as sysdba  登录结果和 sys 登录一样

21. sysdba 和 sysoper的权限区别
权限sysdbasysoper
能够 Startup/Shutdown 启动/关闭数据库yy
alter database open/mount/backup(设置数据库不同的状态)yy
改变字符集yn
采用 create/drop database(创建/删除数据库)yn
create spfileyy
alter database archivelog(归档日志)yy
alter database recover(完全和部分恢复数据库)y只能完全恢复,不能执行部分恢复
拥有 restricted session(会话限制)权限yy
可以让用户作为sys 用户连接yy
登录之后 syspublic
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值