oracle用户和权限
在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用户和权限的更多相关文章
- Oracle用户,权限,角色以及登录管理 scoot 授权
Oracle用户,权限,角色以及登录管理 1. sys和system用户的区别 system用户只能用normal身份登陆em.除非你对它授予了sysdba的系统权限或者syspoer系统权限. sy ...
- Oracle 用户和权限
Oracle 用户和权限Oracle 中,一般不会轻易在一个服务器上创建多个数据库,在一个数据库中,不同的项目由不同的用户访问,每一个用户拥有自身创建的数据库对象,因此用户的概念在 Oracle中非常 ...
- Oracle用户、权限、角色管理学习(文字很系统)
Oracle用户.权限.角色管理 2009-03-16 13:20:50 标签:oracle 数据库 休闲 职场 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明 ...
- Oracle 用户管理权限
Oracle 用户管理权限 一.创建用户的Profile文件 SQL> create profile student limit // student为资源文件名 FAILED_LOGIN_AT ...
- Oracle用户、权限、角色管理(转)
http://blog.csdn.net/junmail/article/details/4381287 Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户 ...
- Oracle用户、权限、角色管理
Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限.(是针对表或视图而言的). 二.系统权 ...
- oracle用户、权限操作
oracle用户操作,权限操作: 1.创建用户,并让用户默认表空间为tb1: create user 用户名 identified by 密码 default namespace tb1 2.授权: ...
- 2、oracle用户和权限
权限主要可以分成三类:系统权限.角色.对象权限,角色是一类系统权限的分组, Oracle 的角色存放在表 dba_roles 中,某角色包含的系统权限存放在 dba_sys_privs 中, 包含的对 ...
- oracle 用户系统权限
conn sys as sysdba; create user test identified by test; grant create session to test; grant create ...
随机推荐
- 网络之Call Phone、Web、SMS、Email
1. 准备工作:导入信息UI库 #import <MessageUI/MessageUI.h>2. Call Phone 方式一: 拼接字符串 注意开头是tel: 这种方式打电话回不到原来 ...
- react:reducer-creator
function createReducer(initialState, handlers) { return function reducer(state = initialState, actio ...
- socket INADDR_ANY
linux下的socket INADDR_ANY表示的是一个服务器上所有的网卡(服务器可能不止一个网卡)多个本地ip地址都进行绑定端口号,进行侦听. 不光是多个网卡的问题. 见如下server lis ...
- MySQL 解决 emoji表情 的方法,使用utf8mb4 字符集(4字节 UTF-8 Unicode 编码)
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545} span.s1 {font: ...
- C与C++结构体的区别
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解 ...
- HAWQ取代传统数仓实践(十三)——事实表技术之周期快照
一.周期快照简介 周期快照事实表中的每行汇总了发生在某一标准周期,如一天.一周或一月的多个度量.其粒度是周期性的时间段,而不是单个事务.周期快照事实表通常包含许多数据的总计,因为任何与事实表时间范围一 ...
- 你必须知道的495个C语言问题,学习体会三
本文是 本系列的第三篇,本文主要对C语言的表达式做个小结 先从两个坑爹的表达式说起:i++ 与++i 上大学的时候,学长告诉我,这两个表达式,意义是一样的,后来老师纠正说,还是有区别的,于是让我们记住 ...
- Django cookie与session
cookie与session关系 cookie 是保存在客户端浏览器的键值对,浏览器发送请求时候会自动携带. session 1.生成随机字符串 2.回给浏览器,让它写到cookie # {" ...
- 类里边的构造函数可以被private修饰,在类的内部创建对象。利用这种特性创建单类模式
- HDU - 6166:Senior Pan(顶点集合最短路&二进制分组)
Senior Pan fails in his discrete math exam again. So he asks Master ZKC to give him graph theory pro ...