v表空间和数据文件的作用:
§使用户数据和数据字典(系统表数据)数据相分离。减少字典对象和模式对象在同一个数据文件中的竞争
§使不同应用程序的数据相分离。使用户对数据文件的管理更清晰,各个程序的表空间的操作互不影响,即使单个表空间处于脱机也不影响其他的表空间正常运行
§将回滚段从用户数据中分离出来,防止了单个磁盘的故障造成的数据的不可恢复
v表空间可以分为两大类:
§系统表空间:
•在创建数据库时一同创建的,用于存放数据字典对象,并包含了系统回滚段。
•可以存储用户数据,但oracle建议一般不用于存放用户数据
§非系统表空间:
•永久表空间:
–用于存储用户永久数据
•临时表空间 (temporary tablespace):
–用于存储临时数据,如用户数据进行排序时产生的数据;使用临时表空间在很大程度上提高了用户进行大量数据的排序性能
•还原表空间(undo tablepspace):
–提供对回滚段的自动管理
v管理表空间主要包括以下操作:
§创建表空间
•Create (temporary|undo) tablespace
§更改表空间的存储参数
§更改表空间的状态
•Alter tablespace/manage tablespace
§删除表空间
•drop tablepace/manage tablespace
§查看表空间的信息
v创建表空间
vCREATETABLESPACE "APP"
v LOGGING
v DATAFILE 'C:\ORACLE\ORADATA\EXAMPLE\APP1.DBF' SIZE 5M REUSE
v AUTOEXTEND ONNEXT 512K MAXSIZE 10M
v EXTENT MANAGEMENT LOCAL
v创建本地管理的临时表空间
vCREATE temporaryTABLESPACE "APPTEMP"
TEMPFILE 'C:\ORACLE\ORADATA\EXAMPLE\APPTEMP.DBF' SIZE 5M
v EXTENT MANAGEMENT LOCAL
vUniform size 1 M
v创建本地管理的还原表空间
vCREATE undoTABLESPACE “roolback1"
DATAFILE 'C:\ORACLE\ORADATA\EXAMPLE\roolback1.DBF' SIZE 5M
v
更改表空间的状态
§
SYSTEM
表空间和临时表空间不能被脱机
§
包含活动的回滚段的表空间也不能被脱机
§
Normal
•
清除此表空间的所有数据文件在
SGA
中分配的空间,该方式为
默认方式
,且再联机的时候不需要执行介质恢复
§
Temporary
•
脱机前需要设置检查点,则再联机的时候需要执行介质恢复
§
Immediate
•
脱机前不需要设置检查点,则再联机的时候需要执行介质恢复
•
如果数据库运行在
noarchivelog
模式下,则不能立即脱机
§
For recover
•
将数据库中进行
point-in-time
恢复的表空间设置为脱机
v
设置表空间为只读,只读表空间不能写数据,可删除数据
§
ALTER TABLESPACE "APP"
READ ONLY
§
可将只读表空间写到
CD
中,然后修改表空间数据文件的位置
v
设置表空间为读
/
写
§
ALTER TABLESPACE "APP"
READ WRITE
v
删除表空间
§
DROP TABLESPACE “APP” INCLUDING CONTENTS AND DATAFILES
§
带
INCLUDING CONTENTS
可删除表空间的对象,不删文件
§
带
AND DATAFILE
删除数据文件
v
改变表空间数据文件大小
§
ALTER DATABASE DATAFILE
‘
d:\oracle\oradata\study\myapp01.dbf
’
autoextend on --
自动扩张
Resize 50m --改变大小
§
ALTER TABLESPACE
‘
MYAPP
’
ADD DATAFILE ‘d:\oracle\oradata\study\mypp02.dbf’ size 10m;