oracle学习笔记-表空间管理(3)

2024-05-12 03:08

本文主要是介绍oracle学习笔记-表空间管理(3),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、表空间结构

1、 区管理方式

指为一个数据库对象分配存储空间的方式,创建表空间时需要指定区管理方式。

Oracle支持字典管理和本地管理两种区管理方式。

A、字典管理方式

创建字典管理表空间的时,可指定以下参数进行区的管理:

  • INITIAL:首先为数据库分配的区大小;
  • NEXT:指定下一个区的大小;
  • MINEXTENTS:为数据库对象分配的最少区的个数,默认为1;
  • MAXEXTENTS:最多为数据库对象分配的区个数;
  • PCTINCREASE:从第三个区开始,每一个区在前一个区的基础上增长的百分比

该方式区的分配和回收都基于数据字典,需要在数据字典上执行很多查询和DML操作,,并且产生重做日志和回滚数据。另外,由于数据库对象中的区大小不同,随着数据库服务器的运行,在段中将产生越来越多的存储碎片。

B、本地管理方式(推荐)

本地管理表空间中区的大小都是一样的,可以通过参数指定区大小,也可以通过数据库服务器根据实际情况自动指定区大小

字典管理方式转换为本地管理方式:

调用DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL(“tablespace_name”)

 

2、 段管理方式

A、 手工管理

每个段的头部都有一段保留空间,维护一个空闲列表,记录当前段中所有空闲块。当向表中写入数据时,服务器进程查找足够数量的空闲块,将数据写入这些块,并从空闲列表删除。

B、自动管理(默认)

每个段的头部有一个位图,在位图中记录当前段中每个数据块的状态,用二进制0和1表示数据块的状态,每个数据块在位图中只占一位。

 

3、 数据文件

表空间所有数据都是以数据文件存储在磁盘上,一个表空间可以包含一个或者多个数据文件。

 

 

二、本地管理表空间的管理

创建表空间是需要指定区管理方式、段管理方式、表空间包含对的数据文件。

CREATE TABLESPACE tablespace_name

DATAFILE ‘dir/filename’ SIZE datafile_size

EXTENT MANAGEMENT LOCAL AUTOALLOCATE

SEGMENT SPACE MANAGEMENT AUTO

BLOCKSIZE 16K;


EXTENT MANAGEMENT LOCAL指定表空间的管理方式为本地管理;

AUTOALLOCATE表示表空间区的大小由数据库服务器根据实际情况指定,UNIFORM SIZE为表空间指定统一大小的区;

SEGMENT MANAGEMENT指定表空间中段的管理方式,有AUTO和MANUAL两种;

BLOCKSIZE指定标准块大小。

 

dba_tablespaces:获得表空间的基本信息

dba_data_files:获得表空间中数据文件的相关信息

  删除表空间:

DROP TABLESPACE ts_name INCLUDING CONTENTS AND DATAFILES;

 

 

三、大文件表空间的管理

特殊类型表空间,每个大文件表空间只包含一个数据文件。主要目的是支持自动存储管理(ASM)和RAID、条带状逻辑卷,为数据库提供大容量的、对用户透明的存储空间。

大文件表空间的区管理方式只能是本地管理段管理方式只能是自动管理。UNDO表空间、临时表空间和SYSTEM表空间属于例外情况,区管理方式只能是本地管理,段管理方式可以是自动或手动。

 

在CREATE DATABASE时可使用SET DEFAULTBIGFILE TABLESPACE设置表空间默认大文件表空间。

 

创建大文件表空间:

CREATE BIGFILE TABLESPACE bts_name

DATAFILE ‘dir/filename’ SIZE

修改表空间大小:

ALTER TABLESPACE bts_name RESIZE 20G;

修改数据文件的自动扩展属性:

ALTER TABLESPACE bts AUTOEXTEND ON NEXT 5g MAXSIZE 10T;

 

四、临时表空间的管理:

CREATE TEMPORARY TABLESPACE.

Oracle建议将临时表空间的大小设置为排序区的整数倍。

临时表空间的数据文件信息通过dba_temp_files查看。

 

为某个用户指定临时表空间:

ALTER USER u_name TEMPORARY TABLESPACE tts_name;

 

修改表空间属于某个临时表空间组:

ALTER TABLESPACE tts TABLESPACE GROUP group1;

从dba_tablespace_groups数据字典视图可查看表空间组相关信息。

 

 

五、UNDO表空间管理

  CREATE UNDO TABLESPACE创建UNDO表空间。

UNDO_TABLESPACE参数指定可用的UNDO表空间。

UNDO_RETENTION参数指定无效UNDO数据在UNDO表空间保留时间。

 

六、表空间的扩展

表空间数据文件指定原则:

Ø  使用少量大文件

Ø  同一表空间,不同数据文件存放在不同的磁盘上

Ø  数据文件和重做日志文件分别放在不同的磁盘上

数据文件的数目受MAXDATAFILES永久参数和初始化参数DB_FILES制约。

1、添加数据文件

ALTER TABLESPACEts1

ADD DATAFILE|TEMPFILE‘………’ SIZE 10G;

2、扩展数据文件

ALTER DATABASEDATAFILE ‘……’

AUTOEXTEND ONNEXT 128K MAXSIZE 100M;

取消自动扩展

ALTER DATABASE DATAFILE‘……’ AUTOEXTEND OFF;

重新制定文件大小

ALTER DATABASEDATAFILE ‘……’ RESIZE 10G;

 

七、表空间的维护

1、 表空间的联机与脱机

对某个表空间进行备份,对某些数据进行保护,不允许用户访问。

SYSTEM表空、默认的临时表空间、正在使用的UNDO表空间不能脱机。

脱机命令格式:

ALTER TABLESPACE 表空间名 OFFLINE 脱机方式

脱机方式:

NORMAL,默认脱机方式,指将表空间置于正常的脱机方式。脱机前,首先要保证数据库高速缓存中的数据与数据文件一致。当表空间再次联机的时候不需要恢复数据。

TEMPRORAY,指以临时方式将表空间脱机。在脱机前CKPT进程发出一次检查点,将数据库高速缓存区的脏数据写入数据文件,但是CKPT不检查数据文件的状态,如果某个数据文件损坏,部分脏缓冲区的数据无法写入文件,所以表空间下次重新联机时需要进行数据恢复。

IMMEDIATE,将表空间立即置于脱机状态,表空间下次重新联机时需要进行数据恢复。

FOR RECOVER,用户恢复表空间的脱机状态。已经对表空间进行了备份,联机后,并希望用以前的备份对表空间进行恢复。

联机命令:

ALTER TABLESPACE 表空间名 ONLINE;

 

2、 数据文件的联机与脱机

数据文件属于表空间,当表空间处于联机状态时,所有数据文件处于联机状态,除非数据文件损坏。表空间处于脱机状态时所有的数据文件处于脱机状态。

改变数据文件状态的命令:

        ALTER DATABASE DATAFILE ‘FILE’OFFLINE|ONLINE;

       如果数据文件损坏,数据库服务器将使其自动脱机。

3、 改变表空间读写状态

ALTER TABLESPACE ts_name READ ONLY|READE WRITE;

4、 数据文件的移动和重命名

目的是为了更换磁盘或者平衡磁盘的IO操作。

数据文件移动和重命名的步骤:

Ø  将数据文件处于脱机状态

a、 对于普通表空间,将表空间置于脱机状态

b、 对于SYSTEM表空、默认的临时表空间、正在使用的UNDO表空间,将数据库切换到MOUNT状态。

Ø  在磁盘系统中将磁盘上的数据文件移动到另一位置,或者仅仅修改名字

Ø  在数据库中对文件重命名

ALTER TABLESPACE TS1 RENAME DATAFILE

‘file1’ TO ‘file2’

Ø  将数据文件置于联机状态

这篇关于oracle学习笔记-表空间管理(3)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/981431

相关文章

40、基于深度学习的线性预测设计(matlab)

1、原理及流程 深度学习的线性预测是一种利用深度神经网络模型进行线性回归预测的方法。其设计原理主要基于神经网络的层次化特性,利用多层感知器(MLP)等模型进行特征学习和非线性变换,从而提高线性预测的准确性。 设计流程如下: 数据准备:准备带有标签的训练数据集,包括输入特征和对应的输出标签。 特征提取:对输入特征进行特征提取和预处理,包括标准化、归一化等操作。 构建神经网络:设计一个包含

HTTP/2 协议学习

HTTP/2 协议介绍 ​ HTTP/2 (原名HTTP/2.0)即超文本传输协议 2.0,是下一代HTTP协议。是由互联网工程任务组(IETF)的Hypertext Transfer Protocol Bis (httpbis)工作小组进行开发。是自1999年http1.1发布后的首个更新。HTTP 2.0在2013年8月进行首次合作共事性测试。在开放互联网上HTTP 2.0将只用于https

Elixir学习笔记——速构(函数式编程基础)

在 Elixir 中,循环遍历 Enumerable 是很常见的,通常会过滤掉一些结果并将值映射到另一个列表中。 速构是此类构造的语法糖:它们将这些常见任务分组为 for 特殊形式。 例如,我们可以将一串整数映射到它们的平方值: 速构由三部分组成:生成器、过滤器和可收集物。 生成器和过滤器 在上面的表达式中,n <- [1, 2, 3, 4] 是生成器。它实际上是生成要在速构中使用的值

吴恩达深度学习笔记:机器学习(ML)策略(1)(ML strategy(1))1.11-1.12

目录 第三门课 结构化机器学习项目(Structuring Machine Learning Projects)第一周 机器学习(ML)策略(1)(ML strategy(1))1.11 超过人的表现(Surpassing human- level performance)1.12 改 善 你 的 模 型 的 表 现 ( Improving your model performance)

MES管理系统中的质量管理活动是什么

在制造业的广阔天地中,质量管理如同航船的指南针,指引着产品品质的航行方向。而随着科技的日新月异,MES管理系统在质量管理领域扮演着越来越重要的角色。MES管理系统不仅连接了企业的管理层与车间生产现场,更在质量管理的各个环节中发挥着不可或缺的作用。接下来,我们将深入探讨MES管理系统中质量管理活动的各个方面。 一、质检资源的优化配置 在MES管理系统中,质检资源的优化配置是首要任务。这包括了

[Qt的学习日常]--常用控件2

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃   如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、widget的核心属性                1、cursor 2、font   3、toolTip和focusPolicy   4、styleSheet 二、 按钮类控件 1、Pu

Oracle--服务器结构详解

一、Oracle服务器主要组成 实例(系统全局区SGA、后台进程)数据库程序全局区(PGA)前台进程   二、系统全局区SGA 1.高速数据缓冲区         用来存放Oracle系统最近访问过的数据块,经常或者最近被访问的数据块会被放置到高速数据缓冲区的前端,不经常被访问的会被放置到后端 2.共享池         存储最近执行过的SQL语句和最近使用过的数据定义

CSAPP《深入理解计算机系统》深读笔记4——第三章-程序的机器级表示(一)

CSAPP《深入理解计算机系统》深读笔记4——第三章-程序的机器级表示(一) 你好我是拉依达,这是我秋招结束后更新的第一个系列。我将争取完成“ 年轻人,你渴望力量吗?”的全套深度笔记。 今天开始进行第一本CSAPP:深入理解计算机系统。 程序的机器级表示 编译器基于编程语言的规则、目标机器的指令集和操作系统遵循的惯例,经过一系列的阶段生成机器代码。 GCC C语言编译器以汇编代码的形式

奇异值分解简介:从原理到基础机器学习应用

矩阵分解在机器学习应用中的重要性无需多言。本文对适用范围很广的奇异值分解方法进行了介绍,并通过代码演示说明了其工作方式、计算方法及其常见的几种基础应用。 矩阵分解也叫矩阵因子分解,涉及到用给定矩阵的组成元素描述该矩阵。 奇异值分解(SVD)可能是最著名和使用最广泛的矩阵分解方法。所有矩阵都有一种 SVD 方法,这使得其比特征分解(eigendecomposition)等其它方法更加稳定。因

从入门到高阶,读懂机器学习需要哪些数学知识

本篇文章想要说明的是数学并非认识世界的唯一途径,即使数学水平不高的你同样也可以开展机器学习方面的工作和研究。但是不可否认数学是自然科学领域探究真理的有效工具,有了强大的数学背景知识会让你看待问题更加深刻,这就是我们经常会看到很多大牛们都是出身数学专业。另外本文所列举的课程比较多,要想一下子去穷尽所有课程显然也不现实,大可不必打好所有的数学基础再去学机器学习,最好的做法是当你对机器学习本身的理解达到