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 ...
随机推荐
- git修改远端服务器地址
方法有三种: 1.修改命令 git remote set-url origin [url] 2.先删后加 git remote rm origingit remote add origin [url] ...
- L125
The United States Senate (参议院)has taken the first step toward ending President Barack Obama's health ...
- Android中自动跳转
先看效果图吧 --------> --------> Activity类 package com.xm; import java.io.File; import j ...
- VSCode打开文件总是会覆盖上次打开的标签
在使用VSCode的时候,打开一个文件之后,如果没有修改的话,那么再打开下一个文件的时候,他总会替换上次打开的标签,那么怎么样才能每次都在新的标签打开文件呢? 实际上,这种情况的出现是因为我们点击文件 ...
- Windows手动安装Apache,MySql服务
绿色版的Apache,Mysql需要以服务方式运行.或者由于某种原因服务管理器里面没有服务项了,可以进行手工注册服务和启并服务. # Apache Apache进到安装目录的bin目录下,运行dos命 ...
- Python基本特殊方法之__new__
__new__()和不可变对象 __new__方法的一个用途是初始化不可变对象,__new()__方法中允许创建未初始化的对象,这允许我们在__init__()方法被调用之前先设置对象的属性 例:为f ...
- python之random库
random库是用于产生并运用随机数的标准库 1. random库函数 (1)random.seed(a) 设置随机种子数,可以是浮点数或整数,如果不设置的话,则random库默认以系统时间产生当作随 ...
- gson在android中的应用
首先需要建一个实体类 Person.java 来对应json 需要注意的是实体类中的变量名必须和json传过来的key值完全一样(大小写) public class Person { private ...
- 南阳OJ 1170 最大的数
最大的数 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 小明和小红在打赌说自己数学学的好,于是小花就给他们出题了,考考他们谁NB,题目是这样的给你N个数 在这n个数 ...
- 关于sea.js的笔记
首先,引入sea.js:(注意要直接写在Script标签里,不要写在jquery的页面加载事件里) seajs.config({ base: "./" //seajs的基础路径(组 ...