首页 > 代码库 > oracle创建表空间-用户-角色-授权
oracle创建表空间-用户-角色-授权
1、创建数据表空间:
SQL> create tablespace rusky_data 2 datafile ‘D:\rusky\rusky_data01,dbf‘ size 10M 3 autoextend on 4 next 10M maxsize 1024m 5 extent management local;表空间已创建。
EXTENT MANAGEMENT LOCAL:存储区管理方法。本地管理(LOCAL):用二进制的方式管理磁盘,有很高的效率,同进能最大限度的使用磁盘. 同时能够自动跟踪记录临近
空间的情况,避免进行空闲区的合并操作。
2、创建临时表空间:
SQL> create temporary tablespace rusky_tmp 2 tempfile ‘D:\rusky\rusky_tmp.dbf‘ 3 size 5m 4 autoextend on 5 next 10m maxsize 100m;表空间已创建。
临时表空间:只能将临时表放在里面,临时表空间主要放置一些临时数据,比如你查询一个复杂的sql语句,系统会将中间数据放在临时表空间里暂存
临时表空间会自己删除。在Oracle数据库中进行排序、分组汇总、索引等到作时,会产生很多的临时数据,会使用临时表空间
删除表空间:
DROP TABLESPACE rusky_data INCLUDING CONTENTS AND DATAFILES;
3、创建用户并指定表空间
SQL> create user rusky identified by rusky 2 default tablespace rusky_data 3 temporary tablespace rusky_tmp;用户已创建。
以sys或system登录
oracle内部有两个建好的用户:system和sys。用户可直接登录到system用户以创建其他用户,因为system具有创建别 的用户的 权限。
sys:系统管理员,拥有最高权限
system:本地管理员,次高权限
scott:普通用户,密码默认为tiger,默认未解锁
用户修改密码:
除了alter user命令以外,用户还可以使用password命令。如果使用password命令,用户输入的新口令将不在屏幕上显示。有dba特权的用户可以通过password命令改变任何其他用户的口令;其他用户只能改变自己的口令。
alter user rusky identified by rusky2;
以sys或system身份登录,输入命令:password rusky,输入原密码及新密码即可。
以rusky身份登录,输入命令:password
4、授权及撤销权限
grant connect,resource,dba to rusky;
connect role(连接角色)
临时用户,特别是那些不需要建表的用户,通常只赋予他们connectrole。connect是使用oracle的简单权限,这种权限只有在对其他用户的表有访问权时,包括select、insert、
update和delete等,才会变得有意义。拥有connect role的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym )、会话(session)和与其他数据库link
resource role(资源角色)
更可靠和正式的数据库用户可以授予resource role。resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇
(cluster)。
dba role(数据库管理员角色)
dba role拥有所有的系统权限----包括无限制的空间限额和给其他用户授予各种权限的能力。system由dba用户拥有。
一般情况下创建用户都会赋予grant connect to username权限,甚至grant connect,resource to username;
但connect包含了alter session权限,认为不是非常安全,也可以修改成以下的形式.
grant create session to user;
select * from user_sys_privs; --------查看当前用户的权限
Grant dba to 用户名;
grant create session to rusky; //创建会话,即登录权限。
unlimited session,create table, insert table,update table
grant all to public; 授予所有权限给所有用户。
grant select on scott.emp to rusky;
grant drop on scott.emp to rusky;
grant insert on scott.emp to rusky;
grant update on scott.emp to rusky;
grant update(ename) on scott.emp to rusky;
5、撤销权限
收回权限:revoke 权限 from rusky;
revoke connect, resource from rusky;
6、角色
角色即权限的集合,可以把一个角色授予给用户。三种系统角色:connect、resource和dba。用户也可以创建自己的角色。用户创建的role可以由表或系统权限或两者的组合构成
。为了创建role,用户必须具有create role系统权限。
create role myrole;//创建角色
grant create session to myrole;//将创建session的权限授予myrole
grant myrole to rusky;
drop role myrole;删除角色
但是有些权限是不能授予给角色的,比如unlimited tablespace和any关键字
oracle创建表空间-用户-角色-授权