在oracle中,一个服务器上一般只有一个数据库。在一个数据库中,不同的用户项目由不同的用户访问,每一个用户拥有自身创建的数据库对象,当一个用户想访问其它用户下的数据库对象时,必须由对方授予一定的权限,因此,用户和权限在oracle中非常重要。下面是我总结的一些关于用户和权限的知识,和大家一起分享一下。

  连接数据库前,必须保证oracle实例的服务与监听开启。在oracle中,默认有两个数据库管理员用户(sys和system)和一个普通用户(scott)。sys用户具有所有数据库管理的功能,system用户除了不能用于数据库的备份及恢复,scott表是为程序测试提供的用户。

一、用户

1.创建用户

  格式:create user 用户名 identified by 密码;

create user test1 identified by 123456;

创建用户后并没有连接数据库,创建操作数据库对象的权限,需要进行相应的授权。

grant connect to test1;--允许用户连接数据库
grant resource to test1;--允许用户创建相关的数据库对象,如表,序列等。

进行上面的授权后,就可以连接数据库并且创建表等对象了。

2.常用系统权限

系统权限 允许用户的操作
create session 连接到数据库
create sequence 创建序列
create synonym 创建同义词
create table 在用户架构中创建表格
create any table 在任意框架中创建表
drop table 从用户框架中删除表
drop any table 在任意框架中删除表
create procedure 创建存储过程
execute any procedure 在任意框架中执行存储过程
create user 创建用户
drop user 删除用户
create view 创建视图

3.数据库角色

  (1)定义:若干系统权限的集合。

  (2)常用角色

    1>connect角色:主要用于临时表中,拥有connect角色的用户,可以与服务器建立连接会话(session,客户端对服务器的连接,称为会话)。

grant connect to test1;

    2>resource角色:resource提供给用户另外的权限以创建他们的表,序列,过程,触发器,索引等。但不能创建视图。

grant resource to test1;

    3>DBA角色:拥有所有的系统权限,用户system拥有DBA角色。

grant dba to test1;

  (3)一个用户对其他用户的授权

      一个用户授权时使用with admin option,则该用户可以继续讲该权限分配给其他用户。并且当该用户的权限被收回后,该用户给其他分配出去的系统权限不受影响。

grant connect,resource,drop user to test2 with admin option;

4.收回权限

revoke connect,resource from test2;

5.修改用户密码

--修改用户密码
alter user test2 identified by 111111;
--或可视化更改用户密码
conn test2/123456
password;--password必须放在下一行

6.查询用户

select * from dba_users;
select * from user_role_privs;
SELECT * FROM user_sys_privs

7.删除用户

drop user test2;

注意;删除用户时,若用户架构包含对象(如表等),那么在删除用户时需要级联删除,即drop user test2 cascade;

总结:1.一般情况下,一个普通用户若只是做测试用户,不需要建表等,只分配connect权限即可。

   2.若用户需要建表等,则分配connect和resource权限。

     3.当一个用户需要给其他用户授予系统权限时,其他用户给该用户分配权限时需要加with admin option

二、对象权限

1.定义:对象权限允许用户执行某些数据库对象操作,如表上执行DML语句。

对象权限

允许用户的操作

select 查询
update 更新
add 增加
delete 删除
execute 执行存储过程和函数

2.对象权限的分配与收回

  语法与分配收回系统权限类型,不用的地方在于当允许被授权用户将权限授予其他用户时使用的是with grant option,而非with admin option。且当用户的权限被收回后,它之前授予其他用户的该权限也被撤销。

oracle用户和权限的更多相关文章

  1. Oracle用户,权限,角色以及登录管理 scoot 授权

    Oracle用户,权限,角色以及登录管理 1. sys和system用户的区别 system用户只能用normal身份登陆em.除非你对它授予了sysdba的系统权限或者syspoer系统权限. sy ...

  2. Oracle 用户和权限

    Oracle 用户和权限Oracle 中,一般不会轻易在一个服务器上创建多个数据库,在一个数据库中,不同的项目由不同的用户访问,每一个用户拥有自身创建的数据库对象,因此用户的概念在 Oracle中非常 ...

  3. Oracle用户、权限、角色管理学习(文字很系统)

     Oracle用户.权限.角色管理 2009-03-16 13:20:50 标签:oracle 数据库  休闲 职场 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明 ...

  4. Oracle 用户管理权限

    Oracle 用户管理权限 一.创建用户的Profile文件 SQL> create profile student limit // student为资源文件名 FAILED_LOGIN_AT ...

  5. Oracle用户、权限、角色管理(转)

    http://blog.csdn.net/junmail/article/details/4381287 Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户 ...

  6. Oracle用户、权限、角色管理

    Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限.(是针对表或视图而言的).   二.系统权 ...

  7. oracle用户、权限操作

    oracle用户操作,权限操作: 1.创建用户,并让用户默认表空间为tb1: create user 用户名 identified by 密码 default namespace tb1 2.授权: ...

  8. 2、oracle用户和权限

    权限主要可以分成三类:系统权限.角色.对象权限,角色是一类系统权限的分组, Oracle 的角色存放在表 dba_roles 中,某角色包含的系统权限存放在 dba_sys_privs 中, 包含的对 ...

  9. oracle 用户系统权限

    conn sys as sysdba; create user test identified by test; grant create session to test; grant create ...

随机推荐

  1. Rope的简单介绍

    repo的一些用法和理解 repo简单来讲就是一种调用git的一个脚本文件,用来管软件项目的软件仓库配置文件,描述了软件之间的一些依赖关系. 在Google的android项目下: repo只是goo ...

  2. DRF 返回数据的封装,和分页

    DRF 返回数据的封装,和分页 1 返回值的 封装 自定义一个类,初始化基本的返回数据信息 class BaseResponse(object): """ 初始化基本的返 ...

  3. 在ubuntu14.4里编译UBOOT出错

    出错信息如下: OBJCOPY examples/standalone/hello_world.bin  LDS     u-boot.lds  LD      u-boot./scripts/dtc ...

  4. 从零开始编写深度学习库(五)Eigen Tensor学习笔记2.0

    1.extract_image_patches函数的使用: 假设Eigen::Tensor形状为(3,8,8,9),现在要对第二维.第三维根据size大小为(2,2),stride=(2,2),那么如 ...

  5. opencv 边界确定函数

    多边形逼近,用嘴贴切的多边形标识 void approxPolyDP(InputArray curve, OutputArray approxCurve, double epsilon, bool c ...

  6. 【前端】CSS入门笔记

    教程 CSS 指层叠样式表 (Cascading Style Sheets) CSS 语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明. 选择器通常是您需要改变样式的 HTML 元素 ...

  7. 在Ajax.ActionLink的OnBegin,onComplete等事件中使用this【解决办法】

    方法就是修改这个文件[jquery.unobtrusive-ajax.js] options.data.push({ name: "X-Requested-With", value ...

  8. rhel7+apache+c cgi+动态域名实现web访问

    1. 申请动态域名/安装no-ip客户端 https://blog.csdn.net/lee244868149/article/details/44095835 2. yum安装httpd 两种方法安 ...

  9. proxifier 注册码 +电脑全局代理设置

    L6Z8A-XY2J4-BTZ3P-ZZ7DF-A2Q9C(Portable Edition)  5EZ8G-C3WL5-B56YG-SCXM9-6QZAP(Standard Edition)  P4 ...

  10. 剑指offer-第四章解决面试题的思路(从上往下打印二叉树)

    题目:从上往下打印二叉树的每一个节点,同一层的节点按照从左到右的顺序打印 思路:这是一个层序遍历的问题,因此要借用到队列.我们可以在打印第一个节点的同时将这个节点的左右子节点都放入队列,同样打印左右子 ...