1、创建表空间
【5-1】为案例数据库创建一个永久性的表空间hrtbs1,区自动扩展,段采用自动管理方式:
create tablespace hrtbs1 datafile
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\hrtbs1_1.dbf' size 50m;
【5-2】为案例数据库创建一个永久性的表空间hrtbs2,区定制分配,段采用自动管理方式:
create tablespace hrtbs2 datafile
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\hrtbs2_1.dbf' size 50m
extent management local uniform size 512k;
【5-3】为案例数据库创建一个永久性的表空间hrtbs3,区自动扩展,段采用手动管理方式:
create tablespace hrtbs3 datafile
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\hrtbs3_1.dbf' size 50m
segment space management manual;
【5-4】为案例数据库创建一个永久性的表空间hrtbs4,区定制分配,段采用手动管理方式:
create tablespace hrtbs4 datafile
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\hrtbs4_1.dbf' size 50m
extent management local uniform size 512k
segment space management manual;
【5-5】为案例数据库创建一个永久性的表空间indx,区自动扩展,段采用自动管理方式,专门用于存储ORCL数据库中的索引数据:
create tablespace indx datafile
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\index01.dbf' size 50m;
2、创建大文件表空间
【5-6】在案例数据库中创建一个大文件表空间,大小为1GB,区的分配采用定制方式:
create bigfile tablespace big_tbs
datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\big01.dbf' size 1g
uniform size 512k;
3、创建临时表空间
【5-7】为案例数据库创建一个临时表空间hrtnmp1.
create temporary tablespace hrtnmp1 tempfile
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\hrtnmp1_1.dbf' size 20m
extent management local uniform size 15m;
【5-8】为案例数据库创建一个临时表空间hrtemp2,并放入临时表空间组temp_group。同时,将临时表空间hrtemp1也放入temp_group中。
create temporary tablespace hrtnmp2 tempfile
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\hrtnmp2_1.dbf' size 20m
extent management local uniform size 15m
tablespace group temp_group;
alter tablespace hrtnmp1 tablespace group temp_group;
4、为表空间添加数据文件
【5-10】向案例数据库的users表空间中添加一个大小为10MB的数据文件。
alter tablespace users add datafile
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\users02.dbf' size 10m;
【5-11】向案例数据库的temp表空间中添加一个大小为5MB的临时数据文件。
alter tablespace temp add tempfile
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\temp02.dbf' size 5m;
5、改变数据文件的属性
【5-12】修改案例数据库users表空间的数据文件users02.dbf为自动增长方式。
alter database datafile
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\users02.dbf'
autoextend on next 1m maxsize unlimited;
【5-13】取消ORCL数据库users表空间的数据文件users02.dbf的自动增长方式。
alter database datafile
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\users02.dbf'
autoextend off;
6、重新设置数据文件的大小
【5-14】将ORCL数据库users表空间的数据文件users02.dbf大小设置为8MB。
alter database datafile
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\users02.dbf' resize 8m;
7、设置默认表空间
【5-15】将hrtbs1表空间设置为案例数据库的默认表空间。
alter database default tablespace hrtbs1;
【5-16】将hrtnmp1表空间设置为ORCL数据库的默认表空间。
alter database default temporary tablespace hrtnmp1;
【5-17】将temp_group临时表空间组设置为ORCL数据库的默认临时表空间。
alter database default temporary tablespace temp_group;
8、补充
1、创建大小一个表空间包含带两个数据文件,其中一个数据文件带有自动扩展功能,每次增加1000k一个数据文件自动扩展关闭。
create tablespace ts1
datafile 'c:\t1.dbf' size 5000k autoextend on
next 1000k,
'c:\t2.dbf' size 5000k autoextend off;
2、创建表空间区管理为自动分配的表空间。
create tablespace ts2
datafile 'c:\t1a.dbf' size 1m,'c:\t2a.dbf' size 1m
extent management local autoallocate;
3、创建撤销表空间
create undo tablespace undotbs01
datafile 'c:\undotbs01.dbf' size 2m reuse;
4、删除表空间
drop tablespace ts including contents and datafiles;
5、将表空间ts设置为只读表空间
alter tablespace ts read only;
6、将表空间ts设置为可读写状态
alter tablespace ts read write;
如何增长已有的表空间
(1)创建时就设置好
create tablespace ts
datafile 'c:\1.dbf' size 6m
autoextend on next 2m maxsize 10m;
(2)增加一个dbf文件
alter tablespace ts add
datafile 'c:\2.dbf' size 6m;
(3)改现有的dbf文件
alter database ORCL
datafile 'c:\2.dbf'
autoextend on next 2m;
(4)缩小表空间的容量
alter database ORCL
datafile 'c:\2.dbf' resize 2m;
移动表空间中的数据文件
(1)修改表空间的状态为offline
alter tablespace ts offline;
(2)将磁盘中的2.dbf文件拷贝到新的目录中(物理上),并修改其名字为02.dbf
(3)使用alter tablespace语句移动数据文件
alter tablespace ts rename
datafile 'c:\2.dbf' to 'e:\02.dbf';
(4)修改表空间的状态为online
alter tablespace ts online;
(5)检查文件是否移动成功需要数据恢复
recover datafile 'e:\02.dbf';