Oracle 创建与管理用户
标识用户是 Oracle 数据库管理的基本要求之一,每一个能够连接到数据库的用户都必须是系统的合法用户。用户想要使用 Oracle 的系统资源,就必须拥有相应的权限。
一、身份验证
Oracle 为用户账户提供了3中身份验证方法:
1、密码验证
当一个使用密码验证机制的用户视图连接到数据库时,数据库会核实用户名是否为一个有效的数据库账户,并且提供与该用户在数据库中存储的密码想匹配的密码。
由于用户信息和密码都存储在数据库内部,所有使用密码验证用户也称为数据库验证用户。
2、外部验证
外部验证是指用户视图连接到数据库时,数据库会核实用户名是否为一个有效的数据库账户,并且确认该用户已经完成了操作系统级别的身份验证。
注意:外部验证用户并不在数据库中存储一个验证密码。
3、全局验证
全局验证是指用户不在数据库中存储验证密码,而是通过一种高级安全选项所提供的身份验证服务来进行的。
上述的3种验证方式中,密码验证是最常用的验证方法,其他的2种有兴趣的可以查阅 Oracle 官网文档。
二、创建用户
创建用户使用 create user 命令
语法格式:
create user user_name identified by password
[ or identified exeternally ]
[ or identified globally as 'CN=user' ]
[ default tablespace tablespace_default ]
[ temporary tablespace tablespace_temp ]
[ quota [ integer k[m] ] [ unlimited ] on tablesapce_specify1
[,quota [ integer k[m] ] [ unlimited ] on tablesapce_specify2
[,...] ... on tablespace_specifyn
[ profiles profile_name ]
[ account lock or account unlock ]
- user_name:用户名:一般为字母数字型和“ # ” 及 “ _ ” 符号
- password: 用户口令:一般为字母数字型和“ # ” 及 “ _ ” 符号
- identified exeternally:表示用户名在操作系统下的验证,这种情况下要求该用户必须和操作系统中所定义的用户名相同。
- identified globally as 'CN=user' :表示用户名由 Oracle 安全域中心服务器验证,CN名字表示用户的外部名
- default tablespace tablespace_default:表示该用户在创建数据对象时使用的默认表空间,不指定表空间,Oracle 会将 system 表空间作为用户的默认表空间。
- temporary tablespace tablespace_temp:表示该用户所使用的临时表空间。不指定临时表空间,Oracle会将数据库默认临时表空间作为用户的临时表空间。
- quota [ integer k[m] ] [ unlimited ] on tablesapce_specify1:表示该用户在指定表空间中允许占用的最大空间。不指定quota 字句,用户在特定表空间上的配额为0,用户将不能在相应的表空间上建立数据对象。
- [ profiles profile_name ]:资源文件的名称。
- [ account lock or account unlock ]:用户是否被加锁,默认情况下是不加锁的。
注意:初始建立的用户没有任务权限,不能执行任何数据库操作。
三、修改用户
用户创建完后,管理员可以对用户进行修改,包括口令、默认表空间、临时表空间等。修改与创建语法基本相似,只是把“create” 关键字替换成 “alter” 而已。
Example1:指定了用户在某个表空间的磁盘限额,过段时间,用户使用的表空间达到限额时,系统会报错,这就需要管理员为用户增加表空间限额。
SQL> alter user(用户名) east quota 20M on tbsp_1;
Example2:修改用户的口令
SQL > alter user east identified by 123456;
Example3:解锁被锁住的用户
SQL> alter user HR account unlock;
四、删除用户
删除用户后,Oracle 会从数据字典中删除用户,方案及其所有的对象方案。
语法:
drop user user_name [ cascade ]
- user_name: 要删除的用户名
- cascade:级联删除选项,如果用户包含数据库对象,则必须加 cascade 选项,此时连同该用户所拥有的对象一起删除。
Example:删除用户df,并连同该用户所拥有的对象一起删除。
SQL> drop user df cascade;
Oracle 创建与管理用户的更多相关文章
- oracle创建表空间-用户-角色-授权
1.创建数据表空间: SQL> create tablespace rusky_data datafile 'D:\rusky\rusky_data01,dbf' size 10M autoex ...
- oracle创建数据库和用户
以前开发的时候用得比较多的是mysql和sql server,oracle用的比较少,用起来比较生疏,mysql和sql server用起来比较类似,就oracle的使用方式和他们不同,oracle在 ...
- oracle创建新的用户 创建序列 并生成自动自增
1.用有dba权限的用户登录:sys用户 system 口令:manager 2.创建一个新用户:create user abc identified by 123456; 3.授予DBA权限: gr ...
- 【转载】Oracle创建数据库和用户
以前开发的时候用得比较多的是mysql和sql server,oracle用的比较少,用起来比较生疏,mysql和sql server用起来比较类似,就oracle的使用方式和他们不同,oracle在 ...
- Oracle创建、管理撤销表空间
撤销管理模式: 用户通过设定撤销管理模式(undo mode)就可以灵活地选择使用手动撤销管理(manual undo management)或自动撤销管理(automatic undo manage ...
- Oracle创建,删除用户与表空间
1.创建表空间与用户 a:创建数据表空间 create tablespace user_data logging datafile 'D:\oracle\product\10.2.0\oradata\ ...
- Oracle——创建和管理表
一.常见的数据库对象 对象 描述 表 基本的数据存储集合,由行和列组成 视图 从表中抽出的逻辑上相关的数据集合 序列 提供有规律的数值 索引 提高查询的效率 同以词 给对象起别名 二.Oracle 数 ...
- Oracle创建 表空间 用户 给用户授权命令
//创建表空间 create tablespace ACHARTSdatafile 'D:\oradata\orcl\ACHARTS01.DBF' size 800mautoextend on nex ...
- oracle使用profile管理用户口令
概述:profile是口令限制.资源限制的命令集合,当建立数据时,oracle会自动建立名称为default的profile,当建立用户没有指定profile选项,那么oracle就会将default ...
随机推荐
- Java内存模型与Volatile,Happen-Before原则等
Java的内存模型 Java内存模型(JMM)是一个抽象的模型.决定了线程主要定义了线程和内存间的抽象关系:主内存存放的是线程共享变量,每个线程有自己的工作内存,存放变量的副本,只能对副本进行读写, ...
- mysql事务回滚机制概述
应用场景: 银行取钱,从ATM机取钱,分为以下几个步骤 1 登陆ATM机,输入密码: 2 连接数据库,验证密码: 3 验证成功,获得用户信息,比如存款余额等: 4 用 ...
- func 传参异步方法
public async Task<T> AssignAsync<T>(string key, Func<T> acquire) {} var result = a ...
- [LeetCode] 157. Read N Characters Given Read4 用Read4来读取N个字符
The API: int read4(char *buf) reads 4 characters at a time from a file.The return value is the actua ...
- [LeetCode] 249. Group Shifted Strings 分组偏移字符串
Given a string, we can "shift" each of its letter to its successive letter, for example: & ...
- HLSL Shader编程基础总结
转自:https://blog.csdn.net/Blues1021/article/details/47093487 基本前提概念 Shader是一种映射到GPU硬件汇编语言上的高级语言,Shade ...
- vue-cli3 中console.log报错
Module Warning (from ./node_modules/eslint-loader/index.js):error: Unexpected console statement (no- ...
- java接入微信JS-SDK
在微信公众号开发中不可,jssdk的接入虽然不是必须,但是根据业务需求我们还是可能用到,下面是自己整理的关于java接入的jssdk的方法,这里是记录关于接入微信JS-SDK的准备工作,关于接入JS- ...
- 13 IO流(十)——BufferedReader/BufferedWriter 装饰流
Buffered字符包装流 与Buffered字节装饰流一样,只不过是对字符流进行包装. 需要注意的地方 Buffered字符流在Reader与Writer上有两个新的方法:String readLi ...
- Python操作MongoDB查询时处理ObjectId
从bson中导入ObjectId对象,将字符串转换成id对象查询使用: from bson import ObjectId import pymongo conn = pymongo.MongoCli ...