博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle(控制用户权限)
阅读量:4940 次
发布时间:2019-06-11

本文共 2299 字,大约阅读时间需要 7 分钟。

权限允许用户访问属于其它用户的对象或执行程序,

ORACLE系统提供权限:Object 对象级、System 系统级

查看权限的数据字典:

字典名 含义

ROLE_SYS_PRIVS System privileges granted to roles

ROLE_TAB_PRIVS Table privileges granted to roles

USER_ROLE_PRIVS Roles accessible by the user

USER_TAB_PRIVS_MADE Object privileges granted on the user's objects

USER_TAB_PRIVS_RECD Object privileges granted to the user

USER_COL_PRIVS_MADE Object privileges granted on the columns of the user's objects

USER_COL_PRIVS_RECD Object privileges granted to the user on specific columns

 

1.系统权限(系统权限是对用户而言):

DBA拥有最高的系统权限:

1,可以创建用户

语法:create user username identified by password;

例如:create user briup identified by briup;

 

当用户创建成功之后,此用户什么权限都没有,甚至不能登录数据库。

 

2. 赋予权限:

一个用户应该具有的基本权限包含:

CREATE SESSION

CREATE TABLE

CREATE SEQUENCE

CREATE VIEW

CREATE PROCEDURE

如果有多个用户他们都具有相同的权限(create session,create table,create sequence),赋予权限的动作过于麻烦,要给每个用户分别制定这些权限,因此oracle提出角色的概念,可以将权限赋值给角色,然后再将角色赋值给用户。

例如,我们当初在进行操作时写的:

grant resource,connect to briup;

此时resourceconnect就是角色。

查询resource,connect 具有哪些权限可以使用:

select privilege,role

from role_sys_privs

where role = 'CONNECT' or role ='RESOURCE';

语法:

grant xxxx to user_name ;

例如:

grant create view to briup;

3.回收权限

语法:revoke xxx  from user_name;

例如:

  revoke create view from briup;

4.修改密码:

语法:alter user xxx identified by xxxx;

例如:

alert user briup identified by briup;

5.删除用户:

语法:drop user username [cascade];

note: cascade:当用户下有表的时候,必须使用cascade级联删除。

例如: drop user test cascade;

2.对象权限(针对对象,类似表对象等)

对象权限:select, update, insert, alter, index, delete, all  //all包括所有权限

对象的 拥有者拥有所有的权限。

 

1.给用户赋予操作对象的权限:

GRANT object_priv [(columns)]

ON object

TO {user|role|PUBLIC}

[WITH GRANT OPTION]; //允许分配到权限的用户继续将权限分配给其它用户

 

  例如:

grant select on s_emp to jd1613;

jd1613用户赋予在s_emp表上进行查询的权利。

 

grant update(id) on s_emp to jd1613;

jd1613赋予能够更新s_emp表上id列的权限。

2.回收权限:同系统权限。

语法:revoke xxx on obj from user;

note: 通过with grant option赋予额权限也会被回收。

例如:

 revoke select , update  on s_emp from jd1613;

 

 

3.创建同义词: 相当于给对象起别名

语法:create[public] synonym sy_name for obje_name;

note:只有dba才有权利创建public的同义词

例如:

create synonym emp for s_emp;

 

4.删除同义词:

语法: drop synonym syn_name;

例如:

drop synonym emp;

 

5.导出数据库

  exp,imp不属于sqlplus的命令,所以不是在sqlplus终端执行的。

  系统终端:exp userid=briup/briup full=y file=briup.dmp

 

  导入:imp userid=briup/briup full=y file=briup.dmp;

 

转载于:https://www.cnblogs.com/yzqm666/p/5886925.html

你可能感兴趣的文章
WeQuant交易策略—RSI
查看>>
osgearth将视点绑定到一个节点上
查看>>
PHP 当前时间秒数+数值,然后再转换成时间。
查看>>
数据交互 axios 的使用
查看>>
bootloader,kernel,initrc
查看>>
Java中jshell脚本
查看>>
performSelector的方法
查看>>
redis
查看>>
BZOJ1645 [Usaco2007 Open]City Horizon 城市地平线
查看>>
配置IIS
查看>>
单例模式详解
查看>>
电商项目(下)
查看>>
[NOIP2015] 子串
查看>>
NSSet和NSArray区别与方法总结
查看>>
Python列表 元组 字典 集合
查看>>
foreach遍历数组、数组的转置与方阵的迹
查看>>
Still unable to dial persistent://blog.csdn.net:80 after 3 attempts
查看>>
HTML超文本标记语言(九)——表单输入类型
查看>>
基于busybox制作mini2440根文件系统及使用nfs挂载
查看>>
信道容量及信道编码原理学习
查看>>