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

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;

此时resource,connect就是角色。

查询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;

Oracle(控制用户权限)的更多相关文章

  1. oracle控制用户权限命令

    ORACLE控制用户权限: 首先使用系统中的拥有DBA权限的账号(system)登录: 一.创建用户: 1.DBA使用creater user语句创建用户: --创建登录用户名为:user01,密码为 ...

  2. 如何实现Oracle修改用户权限 .

    这里将介绍Oracle修改用户权限的实现过程,包括一些权限管理方面的东西.希望通过本文能对大家了解Oracle修改用户权限有所帮助. ORACLE数据库用户与权限管理 ORACLE是多用户系统,它允许 ...

  3. 详解Oracle创建用户权限全过程

    本文将介绍的是通过创建一张表,进而实现Oracle创建用户权限的过程.以下这些代码主要也就是为实现Oracle创建用户权限而编写,希望能对大家有所帮助. 注意:每条语语分开执行,结尾必须用分号; // ...

  4. oracle_控制用户权限

     oracle_控制用户权限 ①对 限制     数据库安全:     系统安全     数据安全性     系统权限: 对于数据库的权限     对象权限: 操作数据库对象的权限 1.系统权限 ...

  5. Oracle查询用户权限

    Oracle查询用户权限 -- 确定角色的权限select * from role_tab_privs ;              包含了授予角色的对象权限select * from role_ro ...

  6. 转 oracle 学习- 用户权限角色

    创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识.掌握还Oracle用户的授权操作和原理,可以有效提升我们的工作效率. Oracle ...

  7. Navicat连接Oracle数据库用户权限问题

    解决Navicat连接Oracle数据库用户权限问题: 第一步:在cmd窗口运行[sqlplus], 第二步:输入Oracle的用户名和口令连接Oracle数据库, 第三步:执行授权代码,给用户授予D ...

  8. Oracle 学习笔记 13 -- 控制用户权限

    数据库控制语言的功能室控制用户对数据库的存取权限. 用户对某类数据具有何种操作权限是有DBA决定的.Oracle 通过GRANT语句完毕权限的授予,通过REVOKE语句完毕对权限的收回. 权限分为系统 ...

  9. Oracle数据库用户权限和管理员权限

    一.如何查看权限 查看用户权限 1. oracle用户查看自己的权限和角色     select * from user_tab_privs;     select * from user_role_ ...

随机推荐

  1. iBatis简单入门教程

    iBatis 简介: iBatis 是apache 的一个开源项目,一个O/R Mapping 解决方案,iBatis 最大的特点就是小巧,上手很快.如果不需要太多复杂的功能,iBatis 是能够满足 ...

  2. python 类型大小

    返回单位:字节 sys.getsizeof() import sys>>> sys.getsizeof(') >>> sys.getsizeof(') >&g ...

  3. spark读取hbase数据

    def main(args: Array[String]): Unit = { val hConf = HBaseConfiguration.create(); hConf.set("hba ...

  4. sqlserver日志的备份与还原

    ----------完整备份与还原----------                --完整备份数据库--backup database studb to disk='e:\stu.bak'back ...

  5. docker 使用非加密registry

    配置docker成为服务,自启动 sudo systemctl enable docker.service 启动服务 sudo systemctl start docker docker默认要求我们使 ...

  6. php计算字符串长度

    /** * 计算字符串的长度(非字节) * 先用正则将字符串分解为个体单元,然后再计算单元的个数即得出字符串的长度 * from wordpress * @param string $string * ...

  7. 分析App应用市场, App应用有哪些类型

    随着移动互联网的流行,APP应用也是异常火爆,App应用市场就如破冰的泉水在我们的生活中到处渗透,对于App开发的的状况来分析,企业在寻找技术人员开发一款专业的App软件的时候,必须先了解用户的需求与 ...

  8. JSP中动态INCLUDE与静态INCLUDE的区别

    动态INCLUDE 用法: <jsp:include page="included.jsp" flush="true" /> 说明: 它总是会检查所 ...

  9. .net之工作流工程展示及代码分享(四)主控制类

    现在应该讲主控制类了,为了不把系统弄得太复杂,所以就用一个类作为主要控制类(服务类),作为前端.后端.业务逻辑的控制类. WorkflowService类的类图如下: 该类的构造函数: public ...

  10. python 中使用celery

    http://www.thinksaas.cn/group/topic/395734/