空间和数据库-库索族qq空间v8版刷赞工具
表空间管理概述 1.表空间分类
按构成文件
大文件表空间:只能包含1个大文件(最大尺寸为128 TB)
小文件表空间:可包含多个数据文件(默认)
按表空间用途:系统表空间、撤销表空间、临时表空间、数据表空间、索引表空间等
按数据特性:永久表空间、临时表空间、撤销表空间
2.表空间的特性 一个表空间的大小由其数据文件大小决定方案对象可以跨表空间的数据文件存储,但不能跨表空间存储 创建表空间 1.创建表空间的相关规定与概念 表空间名称不能超过30个字符,必须以字母开头,可以包含字母、数字以及一些特殊字符(如#、_、$)等表空间的类型包括普通表空间、临时表空间和撤销表空间表空间中区的分配方式包括两种方式:自动扩展(AUTOALLOCATE)和定制(UNIFORM) 2.创建表空间命令语法
CREATE [ SMALLFILE | BIGFILE ] [ TEMPORARY | UNDO ] TABLESPACE tablespace_name
[ DATAFILE|TEMPFILE ] ‘path/filename’ [ SIZE integer[ K | M ]] [ REUSE ]
[ AUTOEXTEND [ OFF∣ON [ NEXT integer [ K∣M ] ] [ MAXSIZE [ UNLIMITED∣integer [ K∣M ] ] ] ]
[ ONLINE | OFFLINE ] [ LOGGING | NOLOGGING ] SEGMENT SPACE MANAGEMENT [ MANUAL | AUTO ]
[ EXTENT MANAGEMENT [ DICTIONARY | LOCAL [ AUTOALLOCATE | UNIFORM [ SIZE integer [ K | M ] ] ] ]
[ DEFAULT STORAGE storage_clause ]
参数说明
BIGFILE
大文件表空间
SMALLFILE
小文件表空间空间和数据库,默认值,一般不设置该参数
PERMANENT
创建永久表空间,Oracle默认设置
TEMPORARY
创建临时表空间
tablespace_name
指定表空间名称,必须以字母开头,不能超过30个字符
DATAFILE | TEMPFILE
包括表空间对应数据文件或临时文件的名称、初始大小和可变化规则
path/filename
文件路径和文件名
integer
大于0的整数
K/M
指定生成数据文件的初始大小,单位为KB或MB
REUSE
表示数据文件是否被重用
AUTOEXTEND
表明数据文件是否自动拓展
OFF | ON
表示数据文件自动拓展是否被关闭,OFF为关闭,ON为打开
NEXT
表示当数据文件自动拓展打开后,数据文件满了以后拓展的大小
MAXSIZE [ UNLIMITED ]
表示数据文件的最大值,UNLIMITED表示无限的表空间,不推荐
MAXSIZE [integer [ K∣M ] ]
表示数据文件的最大值
ONLINE | OFFLINE
指定表空间生成以后的状态,ONLINE立即处于联机,OFFLINE立即处于脱机
LOGGING | NOLOGGING
LOGGING在重做日志下保存记录,NOLOGGING不保存记录
3.创建临时表空间
注意:临时表空间中区的分配方式只能是UNIFORM,而不能是AUTOALLOCATE,因为这样才能保证不会在临时段中产生过多的存储碎片
4.查询表空间信息(数据字典)
DBA_TABLESPACES:数据库中所有表空间的信息
DBA_FREE_SPACE:所有表空间中空闲区的信息
DBA_DATA_FILES:数据文件及其所属表空间信息
DBA_TEMP_FILES:临时文件及其所属表空间信息
V$TABLESPACE:从控制文件得到的所有的表空间的名称和数量
V$DATAFILE:所有的数据文件的信息,包括拥有表空间的数量
V$TEMPFILE:所有的临时文件信息,包括拥有表空间的数量
管理表空间 1.修改表空间的容量
为表空间增加数据文件
ALTER TABLESPACE tablespace_name
ADD [ DATAFILE | TEMPFILE ] ‘path/filename’ [ SIZE integer [ K | M ] ] … ;
改变数据文件大小
ALTER DATABASE [ database ]
DATAFILE ‘path/filename’ RESIZE integer [ K | M ] ;
改变数据文件的扩展方式
ALTER DATABASE DATAFILE ‘path/filename’
[ AUTOEXTEND [ OFF | ON [ NEXT integer [ K | M ] ]
[ MAXSIZE [ UNLIMITED | integer [ K | M ] ] ] ;
(1) 如果在创建表空间或为表空间增加数据文件时没有指定AUTOEXTEND ON选项,则该文件的大小是固定的
(2) 如果为数据文件指定了AUTOEXTEND ON选项,当数据文件被填满时,数据文件会自动扩展
(3) 注意:尽管可以设置MAXSIZE UNLIMITED,但应总是规定一个文件的最大尺寸值。否则,使用磁盘设备上全部可用空间的事务将造成数据库故障。
删除表空间数据文件
ALTER TABLESPACE tablespace_name
DROP DATAFILE ‘path/filename’ ;
注意:不能够删除表空间中的第一个数据文件,如果将第一个数据文件删除的话空间和数据库,相当于删除了整个表空间
2.修改表空间可用性 离线状态的表空间是不能进行数据访问的,所对应的所有数据文件也都处于脱机状态一些表空间必须是在线状态:SYSTEM表空间;存放在线回退信息的撤销表空间(UNDO表空间);临时表空间基本语法:ALTER TABLESPACE tablespace_name ONLINE | OFFLINE 3.修改表空间读写性
表空间只有满足下列要求才可以转换为只读状态
(1) 表空间处于联机状态
(2) 表空间中不能包含任何活动的回退段
(3) 如果表空间正在进行联机数据库备份,不能将它设置为只读状态
基本语法:ALTER TABLESPACE tablespace_name READ ONLY|READ WRITE 删除表空间 1.删除表空间
基本语法
DROP TABLESPACE tablespace_name
[ INCLUDING CONTENTS [ AND DATAFILES ]
[ CASCADE CONSTRAINTS ] ;
注意:数据库级的默认表空间不能删除,用户级的可以删除
删除数据库级的默认表空间,Oracle会报错:ORA12919:不能删除默认永久表空间