携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第18天,点击查看活动详情 >>
在Oracle体系中,一个数据库实例可以有多个表空间;
默认的smallfile表空间可以有多个数据文件,单个数据文件最大为32G;
数据文件可以设置初始化大小,也可以设置自动扩展,扩展最大即为32G。
\
create tablespace tbs_name datafile ``'+DATA01' size 10G AUTOEXTEND on MAXSIZE 30G ; |
---|
由于oracle数据库中pctfree参数的存在,故单个数据文件大小设置为最大30G
alter tablespace tbs_name add datafile ``'+DATA01' size 30G AUTOEXTEND off ; |
---|
为统计表空间大小和磁盘使用率 后续添加数据文件均设置为最大值30G并关闭自动扩展
如使用文件系统 datafile 后面 ‘ ’中要写明数据文件的完整路径和名称
而ASM磁盘管理只需要指定磁盘组名称即可 数据文件同理
alter tablespace tas_name drop datafile file_name(or file_id); |
---|
Oracle 10G R2 之后版本中 可以删除某个空的数据文件 此操作慎用
drop tablespace tbs_name including contents and datafiles cascade constraints; |
---|
逻辑和物理上完全删除表空间和数据文件
\
\
通过创建临时表空间,oracle能够使带有排序操作的SQL语句获得更快的执行速率
如: CREATE INDEX、 ANALYZE、SELECT DISTINCT、ORDER BY、GROUP BY、 UNION ALL、 INTERSECT、MINUS、SORT-MERGE JOINS、HASH JOIN 这些操作。当操作完成系统会自动释放临时段。
一个临时表空间可以被多个用户所使用,在临时表空间中创建的段叫做"临时段",oracle只会为一个实例创建一个临时段,这个临时段被实例中的所有排序操作共享使用,但是临时段每个区只能由一个事务使用。
如果数据库运行过程中有大量并发操作,为了提高排序性能,可以建立多个临时表空间。
\
临时表空间管理与永久表空间管理唯一区别:datafile为tempfile
创建临时表空间
create temporary tablespace temp_tbs_name tempfile ``'+DATA01' size 10M AUTOEXTEND on MAXSIZE 30G ; |
---|
为临时表空间添加数据文件
alter tablespace temp_tbs_name add tempfile ``'+DATA01' size 30G AUTOEXTEND off ; |
---|
删除临时表空间
drop tablespace temp_tbs_name including contents and datafiles; |
---|
更改数据库默认临时表空间
alter database default temporary tablespace temp_tbs_name ; |
---|
更改用户临时表空间
alter user username default temporary tablespace temp_tbs_name; |
---|