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 ...
随机推荐
- 理解java异常处理机制
1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单.听话. ...
- c 可变参数(variable argument)的原理及使用
本文主要介绍可变参数的函数使用,然后分析它的原理,程序员自己如何对它们实现和封装,最后是可能会出现的问题和避免措施. VA函数(variable argument function),参数个数可变函数 ...
- linux之文件操作
1. 文件操作思维导图 2. linux系统目录结构及简单说明 linux目录图: root --- 启动Linux时使用的一些核心文件.如操作系统内核.引导程序Grub等. home --- 存储普 ...
- python库之_thread
官方参考文档:https://docs.python.org/3.7/library/_thread.html _thread库方法 (1) _thread.error (2)_thread.Lock ...
- Socket通信简单实例(WCF调用Socket)
服务端: 控制台程序监听 /// <summary> /// Server /// </summary> class Program { static Socket serve ...
- LeetCode Valid Triangle Number
原题链接在这里:https://leetcode.com/problems/valid-triangle-number/description/ 题目: Given an array consists ...
- 【spring源码学习】spring的远程调用实现源码分析
[一]spring的远程调用提供的基础类 (1)org.springframework.remoting.support.RemotingSupport ===>spring提供实现的远程调用客 ...
- Oracle恢复drop误删除的表和建用户操作
一.表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: 1.从flash back里查询被删除的表 select * from r ...
- [Err] 1067 - Invalid default value for 'xxxTime'
下面是导入sql脚本的的局部脚本 `xxxTime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', 发现是NO_ZERO_IN_DATE,NO_Z ...
- Jvm垃圾回收器详细
1, 串行回收器 1.1, 新生代串行回收器 (1)特点: –它仅仅使用单线程进行垃圾回收 –它是独占式的垃圾回收 –进行垃圾回收时, Java应用程序中的线程都需要暂停(Stop-The-Wo ...