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表空间管理的主要内容,如果未能解决你的问题,请参考以下文章

DB2 表空间类型

管理表空间和数据文件

表空间的管理

Oracle 表空间的日常维护与管理

Oracle tablespace 表空间创建和管理

利用Oracle创建表空间和用户