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;
时间: 2024-12-15 17:28:32

3、表空间管理的相关文章

第15章 oracle undo表空间管理

2015-10-23 目录 参考资料 [1] 林树泽.Oracle 11g R2 DBA操作指南[M].北京:清华大学出版社,2013 [2] Oracle undo 表空间管理 [3] undo表空间概述 [4] Oracle UNDO表空间的管理 [5] Oracle的UNDO表空间管理总结 [6] UNDO表空间的管理 [7] UNDO表空间的管理 [8] 监控和管理Oracle UNDO表空间的使用 [9] 谈谈undo表空间

Oracle 表空间管理

Oracle磁盘管理中的最高逻辑层是表空间,Oracle11g中必须创建的4个表空间是SYSTEM,SYSAUX, TEMP, UNDOTBS1. 2 SYSTEM:存储数据字典等,pl/sql代码等. 2 SYSAUX:存储与数据库选项相关的数据 2 TEMP:用于大的排序操作 2 UNDUTBS1:为读一致性和恢复的目的,存储事务信息. 表空间的下一层是段,一个段只能驻留在一个表空间中:一个或多个区可以组成一个段,每个区只能驻留在一个数据文件中:一组连续的数据块可以组成一个区.如果要查询表空

SYSTEM 表空间管理及备份恢复

标签: systemoraclesqldatabasefile数据库 2010-11-28 18:14 12689人阅读 评论(0) 收藏 举报 分类: -----Oracle备份恢复(16) 版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处. --============================= -- SYSTEM 表空间管理及备份恢复 --============================= SYSTEM表空间是Oracle数据库最重要的一个表空间,存放了一些DDL

ArcSDE for Oracle表空间管理——暂时(TEMP)表空间

Oracle暂时表空间主要用来做查询和存放一些缓冲区数据.暂时表空间消耗的主要原因是须要对查询的中间结果进行排序. 重新启动数据库能够释放暂时表空间,假设不能重新启动实例,而一直保持问题sql语句的运行,temp表空间会一直增长.直到耗尽硬盘空间. 下面操作会占用大量的temporary:    1.用户运行imp/exp 导入导出操作时,会使用大量的temporary段    2.用户在Create 或者 rebuild index时    3.运行create table ...... as

DB2表空间管理的两种方式

下文将为您介绍DB2(DB2认证 DB2培训 ) 的表空间按管理方式,并附上相关问题的实例,供您参考,如果您对DB2表空间按管理方式感兴趣的话,不妨一看,会对您有所帮助. DB2 的表空间按管理方式分为两种:系统管理空间(System Management Space,SMS)和数据库管理空间(Database Management Space,DMS). 按类型分为:规则表空间.长整数表空间.系统临时表空间.用户临时表空间.其中长整数表空间只能是DMS的. 规则表空间中包含用户数据的表.默认用

MySQL系列:innodb源码分析之表空间管理

innodb在实现表空间(table space)基于文件IO之上构建的一层逻辑存储空间管理,table space采用逻辑分层的结构:space.segment inode.extent和page.在实现层的逻辑使用了磁盘链表这种结构来管理逻辑关系.我们先来介绍磁盘链表. 1.磁盘链表 磁盘链表的实现fut0lst.*文件当中, innodb为了管理表空间和索引模块,定义了一个基于磁盘的链表,主要是用来保存磁盘数据结构之间的关系.这个链表不是基于内存指针的,而是基于page no和boffse

Oracle 12c CDB 和 PDB 表空间管理和配置 说明

 注:本文谢绝转载. 1  管理CDB中的表空间 CDB表空间的管理和non-CDB 表空间的管理一样,CDB 也有一个实例,在安装的时候指定. --查看表空间: SQL> select instance_name fromv$instance; INSTANCE_NAME ---------------- Cndba SQL> col file_name for a50 SQL> selecttablespace_name,file_id,file_name from dba_data

堆表空间管理

在SQL Server中,堆表是指没有创建聚集索引的表,其存储空间由PFS,IAM等系统页来跟踪,PFS使用1Byte,表示一个page中空间的使用情况.BTree结构的存储空间是有序的,当向BTree结构中插入新的数据行时,SQL Server按照键值该数据行插入到特定的位置上,以保证BTree结构是有序的:当删除一个Page中的所有数据行之后,SQL Server会将该Empty Page释放,其他对象可以使用该Page.堆表的空间管理,和BTree结构有很大的不同. 1,读取堆表的数据 当

【oracle11g,13】表空间管理2:undo表空间管理(调优) ,闪回原理

一.undo空间原理: dml操作会产生undo数据. update时,sever process 会在databuffer 中找到该记录的buffer块,没有就从datafile中找并读入data buffer.在修改之前,原始数据先放到undo段,并在数据块头记录undo段(acitve 状态)中该数据块的位置,读写这个块时会占用事务槽,会将该事务号记录在数据块的头部.然后在进行update,并将该块放到dirty list检查点队列,等待dbwr进行写操作. 二.创建新的undo表空间替换