表空间名称:TableSpaceA
临时表空间:TEMP
用户名称:UserA
用户密码:123456
表空间路径:D:ORACLEORADATA
--1.创建表空间
CREATE TABLESPACE "TableSpaceA"
LOGGING
DATAFILE 'D:ORACLEORADATATableSpaceName.ora' SIZE 100M
AUTOEXTEND
ON NEXT 10M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO ;
--2.创建用户
CREATE USER "UserA" PROFILE "DEFAULT"
IDENTIFIED BY "123456" DEFAULT TABLESPACE "TableSpaceA"
TEMPORARY TABLESPACE "TEMP"
ACCOUNT UNLOCK;
--3.用户授权
GRANT "CONNECT" TO "UserA" WITH ADMIN OPTION;
GRANT "DBA" TO "UserA" WITH ADMIN OPTION;
GRANT "RESOURCE" TO "UserA" WITH ADMIN OPTION;
说明:
(1)CONNECT 角色,拥有Connect权限的用户只可以登录ORACLE(仅具有创建SESSION的权限),不可以创建实体,不可以创建数据库结构。
(2)RESOURCE 角色,是授予开发人员的。拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。同时,当把ORACLE resource角色授予一个user的时候,不但会授予ORACLE resource角色
本身的权限,而且还有unlimited tablespace权限,但是,当把resource授予一个role时,就不会授予unlimited tablespace权限。
Create trigger--建立触发器;
Create sequence—建立序列;
Create type--建立类型;
Create procedure--建立过程;
Create cluster--建立聚簇;
Create operator--创建操作者;
Create indextype--创建索引类型;
Create table -- 建表
(3)DBA角色,是授予数据库维护人员的。拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
从dba_sys_privs查看权限grantee privilege:Select grantee,privilege from dba_sys_privs
(4)Unlimited tablespace的特点:
1、系统权限unlimited tablespace不能被授予role,只能被授予用户。也就是说,unlimited tablespace系统权限不能包含在一个角色role中
2、unlimited tablespace没有被包括在resource role和dba role中,但是unlimited tablespace随着resource或者dba的授予而授予用户的。也就是说,如果将role角色授予了某个用户,那么这个用户将会拥有unlimited tablespace系统权限
3、unlimited tablespace不能伴随这resource被授予role而授予用户。也就是说加入resource角色被授予了role_test角色,然后把role_test授予了test用户,但是此时unlimited tablespace没有被授予test用户
其他说明:
10g 开始,connect里面只有 create session权限了;
resource权限里没有 create view;
还需要重点说明下的是 unlimited tablespace(授予了resource权限给user, user1 其实自动有了unlimited tablespace权限)