淘先锋技术网

首页 1 2 3 4 5 6 7

表空间(tablespace)、段(segment)、区(extent)、块(block),这些都是oracle数据库在数据文件中组织数据的基本单元

1.创建表空间

create tablespace SIRM2

datafile 'D:\oracle\product\10.2.0\oradata\orcl\SIRM2.dbf' size 1024M --存储地址 初始大小1G

autoextend on next 10M maxsize unlimited   --每次扩展10M,无限制扩展

EXTENT MANAGEMENT local  autoallocate

segment space management auto;

创建表空间,名称为SIRM2 ;

2. 表空间有一个数据文件*.dbf,大小为1024MB;

3. 允许表空间自动扩展(autoextends),每次增长10MB(next 10M),并且不限制最大大小;

4. 说明表空间本地(local)管理,并自动分配范围(autoallocate),用户不能指定范围的大小;

5. 段空间(segment)的空间管理上使用bitmaps(auto)来管理数据块。使用AUTO会比使用MANUAL有更好的空间利用率,与效能上的提升。

在Oracle 8i以前,可以有两种选择,一种是在字典中管理(DICTIONARY),另一种是本地管理(LOCAL ),从9I开始,只能是本地管理方式.因为LOCAL 管理方式有很多优点.

在字典中管理(DICTIONARY): 将数据文件中的每一个存储单元做为一条记录,所以在做DM操作时,就会产生大量的对这个管理表的Delete和Update操作.做大量数据管理时,将会产生很多的DM操作,严得的影响性能,同时,长时间对表数据的操作,会产生很多的磁盘碎片,这就是为什么要做磁盘整理的原因.

本地管理(LOCAL): 用二进制的方式管理磁盘,有很高的效率,同进能最大限度的使用磁盘. 同时能够自动跟踪记录临近空闲空间的情况,避免进行空闲区的合并操作。

SEGMENT SPACE MANAGEMENT

磁盘扩展管理方法:

SEGMENT SPACE MANAGEMENT: 使用该选项时区大小由系统自动确定。由于 Oracle 可确定各区的最佳大小,所以区大小是可变的。

2.创建用户

create user test  identified by test

default tablespace SIRM2

temporary tablespace TEMP

profile DEFAULT;

3.授权

grant dba to test;

grant connect to test;

grant resource to test;

4.代码例子

--查看表空间

select distinct tablespace_name from dba_free_space;--创建表空间

create tablespace XH_History_WS

datafile'D:\app\bailongfei123\oradata\orcl\XH_History_WS.dbf'size 120M--存储地址 初始大小120M

autoextend on next 10M maxsize unlimited--每次扩展10M,无限制扩展

EXTENT MANAGEMENT local autoallocate---说明表空间本地(local)管理,并自动分配范围(autoallocate),用户不能指定范围的大小

segment space management auto;--段空间(segment)的空间管理上使用bitmaps(auto)来管理数据块。使用AUTO会比使用MANUAL有更好的空间利用率,与效能上的提升--删除表空间

drop tablespace XH_History_WS including contents and datafiles;--创建用户

create user XH_Bai_History_WS

identified by tigerdefaulttablespace XH_History_WS;-----alter user 用户 quota unlimited on 表空间A;

alter user 用户 quota unlimited on 表空间B;--或者放开所有表空间

grant unlimited tablespace to 用户;--或者索性给所有权限

grant resource,connect,dba to 用户;--查询用户

select*from all_users;--授权

grant connect to XH_Bai_History_WS;-- --是授予最终用户的典型权利,最基本的权力,能够连接到ORACLE数据库中,并在对其他用户的表有访问权限时,做SELECT、UPDATE、INSERTT等操作

grant resource to XH_Bai_History_WS;--是授予开发人员的,能在自己的方案中创建表、序列、视图等。

grant dba to XH_Bai_History_WS;--是授予系统管理员的,拥有该角色的用户就能成为系统管理员了,它拥有所有的系统权限--revoke

revoke connect,resource from java_user;

grant create view to java_user--创建视图权限,一般网上找都是说的这句,但是光有这句还是无法创建

grant create view to XH_Bai_History_WS;--授予查询权限

grant select any table to B;--授予权限

grant select any dictionary to B;--以上3项地后就能正常创建视图了。