Oracle表空间与权限管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
表空间都狠重要,我在尝试的时候就遇到2个错误,但是后来解决了,在网上各位大虾的指导下。问题:1.表建在哪个表空间2.表是哪个用户创建的。
解决:
1.建表的create 语句后面加上tablespace FROEST,其中FROEST是表空间的名字s
2.建一个froest的用户,权限分配为connect,resource,用pl/sql登录的时候Connect as Normal,这样登录后创建的表是froest用户的,如果用Connect as SYSDBA那么创建的表是SYS用户的。
oracle 建表需要建立在表空间上,所以需先建立一个表空间
建立表空间语句:
1)。create tablespace "FROEST"
datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\froest.dbf' size 10M
autoextend on next 500k
2)。create tablespace FROEST
datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\froest.dbf' size 10M
default storage(initial 500k
next 500k
minextents 1
maxextents unlimited
pctincrease 0
)
注释:
pctincrease 的零设置,使管理空间的任务更为容易,因为使用非零pctincrease 设置可能导致表空间空闲空间碎片问题。
2.MINIMUM EXTENT 50M 表示在这个表空间中创建对象时对对象的extent 的约束,最小要50M;
一个表示extent 的大小,一个表示extent 的多少。
删除表空间:
drop tablespace "FROEST" including contents and datafiles
在这个表空间创建用户:
create user froest identified by froest default tablespace FROEST
给该用户分配角色或者权限(其实分配角色就相当于分配权限):
grant connect,resource to froest
grant delete on test to froest
创建角色:
create role student
给角色分配权限:
grant delete on test to student
删除角色的权限:
revoke delete on test from student
删除角色:
drop role student(student是一个角色)
删除用户权限:
revoke connect,resource from froest
删除该用户:
drop user froest cascade
在指定表空间建表,当前登录的用户就是表所属的用户(登录pl/sql的时候Connect as Normal,如果用
SYSDBA的话,创建的表会在SYS用户下面):
create table TEST1(
USER_ID NUMBER(3)NOT NULL PRIMARY KEY,
USER_NAME VARCHAR2(64)NOT NULL,
USER_DESC VARCHAR2(64)
)tablespace FROEST
如果当前用户为froest,查询的时候就可以用:
select * from froest.TEST1
Qracle为了兼容以前的版本,提供了三种标准的角色(role):CONNECT、RESOURCE和DBA.
1. CONNECT Role(连接角色)
临时用户,特别是那些不需要建表的用户,通常只赋予他们CONNECTrole.CONNECT是使用Oracle的简单权限,这种权限只有在对其他用户的表有访问权时,包括select、insert、update和delete等,才会变得有意义。拥有CONNECT role的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym )、会话(session)和与其他数据库的链(link)。
2. RESOURCE Role(资源角色)
更可靠和正式的数据库用户可以授予RESOURCE role.RESOURCE提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。
3. DBA Role(数据库管理员角色)
DBA role拥有所有的系统权限----包括无限制的空间限额和给其他用户授予各种权限的能力。SYSTEM由DBA用户拥有。下面介绍一些DBA经常使用的典型权限。