1.Oracle 默认用户
只有用合法的用户帐号才能访问Oracle数据库
Oracle 有几个默认的数据库用户
2.创建新用户
2.1 简介
要连接到Oracle数据库,就需要创建一个用户帐户
每个用户都有一个默认表空间和一个临时表空间
表空间的分类
永久表空间:存放永久性数据,如表,索引等。
临时表空间 :不能存放永久性对象,用于保存数据库排序,分组时产生的临时数据
2.2 创建表空间
表空间:表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所以称作表空间。
2.2.1 创建数据表空间
create tablespace analysis_test
logging
datafile '/u01/app/oracle/oradata/orcl/analysis_test.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
2.2.2 创建临时表空间
create temporary tablespace analysis_test_temp
tempfile '/u01/app/oracle/oradata/orcl/analysis_test_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
2.3 创建用户
create user analysis_test -- 用户名
identified by "analysis_test" --密码
default tablespace analysis_test --数据表空间
temporary tablespace analysis_test_temp -- 临时表空间
2.4 用户解锁
alter user 用户名 account unlock;
3 授予权限
3.1 授予权限
权限指的是执行特定命令或访问数据库对象的权利
权限有两种类型,系统权限和对象权限
系统权限允许用户执行某些数据库操作,如创建表就是一个系统权限。
对象权限允许用户对数据库对象(如表、视图、序列等)执行特定操作。
角色是一组相关权限的组合,可以将权限授予角色,再把角色授予用户,以简化权限管理。
3.2 三种标准角色
Qracle为了兼容以前的版本,提供了三种标准的角色(role):CONNECT、RESOURCE和DBA
CONNECT(连接角色):
临时用户,特别是那些不需要建表的用户,通常只赋予他们CONNECTrole。CONNECT是使用Oracle的简单权限,这种权限只有在对其他用户 的表有访问权时,包括select、insert、update和delete等,才会变得有意义。拥有CONNECT role的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym )、会话(session)和与其他数据库的链(link)。
RESOURCE(资源角色)
更可靠和正式的数据库用户可以授予RESOURCE role。RESOURCE提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)
DBA(数据库管理员角色)
DBA role拥有所有的系统权限----包括无限制的空间限额和给其他用户授予各种权限的能力。SYSTEM由DBA用户拥有。下面介绍一些DBA经常使用的典型权限。
3.3 授予权限
GRANT 命令可用于为用户分配权限或角色
赋予系统权限:grant角色to用户;
赋予对象权限:Grant insert update delete select on表to用户;
回收系统权限:revoke角色from用户;
回收对象权限:revoke all on表from用户;
更改:ALTER USER MARTIN IDENTIFIED BY martinpass;(修改密码)
删除:drop user 用户
example
GRANT CONNECT TO MARTIN; //CONNECT权限允许用户连接至数据库并创建数据库对象
GRANT RESOURCE TO MARTIN; //RESOURCE权限允许用户使用数据库的存储空间
GRANT CREATE SEQUENCE TO MARTIN; //此系统权限允许用户在当前模式中创建序列,此权限包含在CONNECT角色中
GRANT SELECT ON TEST TO MARTIN; //允许用户查询TEST表
GRANT UPDATE ON TEST TO MARTIN; //允许用户插入,删除,更新和查询TEST表