一、了解表空间结构信息:查询数据字典视图DBA_TABLESPACES
二、查看表空间的管理类型:本地化管理(oracle11g默认)
/ 数据字典管理
SQL> select tablespace_name,
extent_management,
allocation_type
2from dba_tablespaces;
TABLESPACE_NAME
EXTENT_MAN ALLOCATIO
------------------------------
----------
---------
SYSTEM
LOCAL
SYSTEM
SYSAUX
LOCAL
SYSTEM
UNDOTBS1
LOCAL
SYSTEM
TEMP
LOCAL
UNIFORM
USERS
LOCAL
SYSTEM
TEMP0310
LOCAL
SYSTEM
三、创建基本表空间 CREATE…TABLESPACE
SQL> create tablespace temp0310
2 datafile
'/home/useradmin/oracle11g/temp0310.dbf' size 20m
3 autoextend on next 10m
maxsize unlimited;
Tablespace created.
语法:
CREATE
[ TEMPORARY | UNDO ]
TABLESPACE
tablespace_name
[ DATAFILE datafile_tempfile_spacification ]
[
BLOCKSIZE number K ]
[
ONLINE | OFFLINE ]
[
LOGGING | NOLOGGING ]
[
FORCE LOGGGING ]
[
DEFAULT STORAGE storage ]
[
COMPRESS | NOCOMPRESS ]
[
PERMANENT | TEMPORARY ]
[
EXTENT MANAGEMETN DICTIONARY |
LOCAL
[ AUTOALLOCATE | UNIFORM SIZE number K | M ] ]
[
SEGMENT SPACE MANAGEMENT AUTO | MANUAL ];
子句:
DATAFILE | TEMPFILE file_name SIZE K | M REUSE
[ AUTOEXTEND OFF | ON
[ NEXT number K | M MAXSIZE UNLIMITED | number K | M ] ];
四、修改表空间
1.
为表空间增加新的数据文件ALTER
TABLESPACE, ADD DATAFILE
SQL> alter tablespace temp0310
2 add datafile
'/home/useradmin/oracle11g/temp03101.dbf'
3 size 10m;
修改数据文件的大小 RESIZE
--了解表空间的空闲分区情况:查询数据字典视图DBA_FREE_SPACE
--了解数据文件的名称、大小和路径等信息:查询数据字典视图DAB_DATA_FILES
注: 使用 column file_name format
a50语句,表示FILE_NAME字段最多允许占用50个字符。
--修改数据文件大小RESIZE
修改数据文件的自动扩展属性
--查看数据文件是否具有自动扩展功能
--增加或者修改数据文件时,都可以显示使用AUTOEXTEND
ON子句设置数据文件为自动扩展
ALTER TABLESPACE … ADD DATAFILE
ALTER DATABASE … DATAFILE
SQL> alter tablespace temp0302
2 add datafile
'/home/useradmin/oracle11g/temp0302.dbf'
3 size 10m
4
autoextend on next 5m;
SQL> alter database datafile
'/home/useradmin/oracle11g/temp0301.dbf'
2 autoextend on maxsize
10m;
修改表空间的状态:
OFFLINE, ONLINE, READ ONLY, READ WRITE
--通过STATUS列了解表空间的状态
SQL> select tablespace_name, status from
dba_tablespaces;
SQL> alter tablespace temp0301 { offline |
online …} ;
移动数据文件
移动数据文件的操作步骤:
(1)修改表空间为OFFLINE状态,防止其他用户进行操作
SQL> alter tablespace temp0301 offline;
(2) 复制数据文件到另一个磁盘
(3)使用ALTER TABLESPACE
RENAME语句修改数据文件名称
SQL> alter tablespace temp0301
2 rename datafile '/home/useradmin/oracle11g/temp0301.dbf'
3 to '/home/oracle/oracle11g/temp0301.dbf';
(4)将表空间的状态修改为ONLINE.
SQL> alter tablespace temp0301 online;
(5)查询数据字典,确认数据文件移动正确
SQL > column file_name format a50;
SQL > select file_id, file_name from dba_data_fieles;
删除表空间:
DROP TABLESPACE
语法:
DROP TABLESPACE tablespace_name
| [ INCLUDING CONTENTS ]
| [ INCLUDING CONTENTS AND DATAFILES ];
SQL > drop tablespace temp0301
2 including contents and
datafiles;