3表空间管理
Posted 囧囧友
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3表空间管理相关的知识,希望对你有一定的参考价值。
表空间的管理类型:
- 数据字段管理的表空间(DMT)
- 本地化管理的表空间(LMT)
查询表空间是否是本地化管理方式,可以使用以下语句:
创建表空间,oracle将完成两个工作,一个在数据字典和控制文件,记录新建表空间的信息;另一个是在操作系统中创建指定大小的操作系统文件。
- 创建表空间(永久表空间permanent)
create tablespace temp001 datafile \'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\temp001.DBF\' size 100M autoextend on next 10M maxsize unlimited;
1、修改表空间
-----(1).为【表空间】增加新的数据文件:
alter tablespace temp001 add datafile \'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\temp002.DBF\' size 50M;
-----(2).修改【数据文件】大小:
alter database temp001 datafile \'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\temp002.DBF\' resize 50M;
-----(3).修改【数据文件】的自动扩展属性
alter database datafile \'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\users01.DBF\' autoextend on maxsize 3G; alter database datafile \'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\users01.DBF\' autoextend off;
-----(4).修改【表空间】的状态,offline离线、online在线、read only只读、read write读写
alter tablespace zl9BloodData offline; alter tablespace zl9BloodData online;
-----(5).移动【数据文件】操作步骤:
------1.修改表空间为offline状态;
------2.复制数据文件到目标磁盘;
------3.使用alter tablespace rename语句修改数据文件的名称;
------4.将表空间的状态修改为online状态。
************************************************【生成SQL批量处理数据文件移动磁盘--WINDOWS环境下】************************************************
--前提条件开启归档模式
--archive log list;
--① 确定数据文件躲在表空间,【使表空间文件脱机】
select \'alter tablespace \'|| TABLESPACE_NAME||\' offline;\' from dba_data_files;
--②host move命令移动数据文件到目标位置
1 select \'host move \' || FILE_NAME || \' \' || REPLACE(FILE_NAME, \'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\\', \'E:\\ORCL\\\') || \';\' 2 from dba_data_files;
--③重命名表空间位置
1 select \'alter tablespace \' || TABLESPACE_NAME || \' rename datafile \' || chr(39) || FILE_NAME || chr(39) || \' to \' || chr(39) || 2 REPLACE(FILE_NAME, \'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\\', \'E:\\ORCL\\\') || chr(39) || \';\' 3 from dba_data_files;
--④使表空间文件在线
select \'alter tablespace \'||TABLESPACE_NAME||\' offline;\' from dba_data_files;
********************************************************************************************************************************************
2、删除表空间
drop tablespace temp001 including contents and datafiles;
- 创建临时表空间(temporary)
create temporary tablespace ZLTOOLSTMP tempfile \'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\ZLTOOLSTMP01.DBF\' size 100M autoextend on next 10M maxsize 800M extent management local;
-----注:1、主要用来为排序或汇总等操作提供临时的工作空间;
---------2、只能用于存储临时数据,不能存储永久性数据,例如不能创建表对象;
---------3、数据字典V$tempfile;
select * from v$tempfile;
---------4、盘区管理方式都是UNIFORM
----(1).为【临时表空间】添加数据文件
alter tablespace ZLTOOLSTMP add tempfile \'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\ZLTOOLSTMP02.DBF\' size 200M;
----(2).修改【临时文件】的大小
alter database tempfile \'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\ZLTOOLSTMP02.DBF\' resize 100M;
----(3).修改【临时文件】的状态
alter database tempfile \'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\ZLTOOLSTMP02.DBF\' offline; alter database tempfile \'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\ZLTOOLSTMP02.DBF\' online;
- 创建撤销表空间(undo)
create undo tablespace undotbs01 datafile \'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\undotbs01.dbf\' size 100M autoextend on;
1、修改撤销表空间
-----(1).为【撤销表空间】增加新的数据文件:
alter tablespace undotbs01 add datafile \'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\undotbs02.dbf\' size 10M autoextend on;
-----(2).修改【撤销数据文件】的大小:
alter database datafile \'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\undotbs02.dbf\' resize 50M;
----(3).修改【撤销表空间】的状态:
alter tablespace undotbs01 offline;
2、删除撤销表空间
drop tablespace undotbs01 including contents and datafiles;
3、切换撤销表空间
alter system set undo_tablespace = undotbs02;
----【重要参数】撤销表空间
show parameter undo;
Undo_management参数:表示自动管理方式;
Undo_tablespace参数:指定当前使用的撤销表空间;
Undo_retention参数:设置撤销数据的保留时间,即用户事务结束后,在撤销表空间中保留撤销记录的时间。单位是s,默认值是900,即15min。
----修改撤销记录保留的时间
Alter system set undo_retention = 600; Select * from v$undostat;
以上是关于3表空间管理的主要内容,如果未能解决你的问题,请参考以下文章