oracle (8)Managing Tablespace Data File

news2024/9/25 15:28:12

Managing Tablespace & Data File (维护表空间和数据文件)

目标:

  • 定义表空间和数据文件的用途
  • 创建表空间
  • 管理表空间
  • 学会使用甲骨文托管文件(OMF) 创建和管理表空间(不是重点)
  • 获取表空间信息

一、基础知识

1、表空间和数据文件

Oracle逻辑地将数据存储在表空间中,物理上存储在数据文件中。

表空间:

  • 一次只能属于一个数据库
  • 由一个或多个数据文件组成
  • 进一步划分为逻辑存储单元

数据文件:

  • 只能属于一个表空间和一个数据库
  • 是架构物件资料的储存库

2、存储层次结构摘要

数据库-->>表空间-->>段-->>区-->>块

  • 左边是逻辑区分,右边是物理区

  • 一个tablespace对应多个Data file

  • Data file是由很多OS block操作系统内存块组成

  • 一个Oracle data block内存块是由多个OS block组成的

  • 一个数据库是由多个模式组成的

  • 一个数据库是由多个表空间组成的

  • 一个表空间是由多个Segment段组成的

    • 在Oracle数据库中,一个segment是一个逻辑存储结构,它由一个或多个物理存储结构组成,用于存储数据。每个表或索引都有一个对应的segment,也就是表段和索引段。

  • 一个Segment段由多个Extent区组成

    • 在Oracle数据库中,extent是指一组数据块,用于存储表或索引中的数据。每个extent都是一个连续的物理空间,通常包含多个数据块。当存储空间不足时,Oracle会分配新的extent来存储数据。

  • 一个Extent由多个Oracle data block数据块组成

    • 在Oracle数据库中,数据块是指数据库中最小的物理数据单位,也是存储数据和索引的基本存储单位。每个数据块大小在Oracle中是固定的,通常是8KB。

              一个数据块由以下部分组成:

      • 数据块头(block header):用于存储关于数据块的元数据,如块的地址、块的类型、块大小和块的校验和等信息。
      • 行数据(data rows):存储表中的数据。
      • 行目录(row directory):存储每行数据在数据块中的位置和大小信息。
      • 空间管理信息(free space management information):用于管理数据块中的空闲空间。

总结注意点:

  1. 数据库由一个或多个表空间组成。
  2. 表空间由一个或多个数据文件组成。这些文件可能是文件系统中的熟文件、原始分区、ASM管理的数据库文件或集群文件系统上的文件。表空间包含段。
  3. 段(TABLE、INDEX等)由一个或多个区段组成。段存在于表空间中,但可能在该表空间中的许多数据文件中包含数据。
  4. 区是磁盘上逻辑上连续的块集。区位于单个表空间中,而且始终位于该表空间中单个文件中。
  5. 块是数据库中最小的分配单位。块是I/o的最小单位数据库使用的。

3、表空间的类型

  • SYSTEM表空间
    • 用数据库创建的
    • 包含数据字典
    • 包含SYSTEM撤消段
  • 非SYSTEM表空间
    • 分开的部分
    • 简化空间管理
    • 控制分配给用户的空间量
  • 永久的,撤消的,临时的

4、表空间中的空间管理

  • 本地管理的表空间
    • 空闲区在表空间中进行管理
    • 位图用于记录空闲区
    • 每个比特对应一个块或一组块
    • 位值指示空闲或已使用
  • 字典管理的表空间:
    • 空闲区段由数据字典管理
    • 在分配或取消分配区时更新适当的表。

5、临时表空间

  • 如果SYSTEM表空间是本地管理的,那么在创建数据库时必须至少定义一个默认的临时表空间。本地管理的SYSTEM表空间不能用于默认临时存储。
  • 如果SYSTEM是字典管理的,并且在创建数据库时没有定义默认的临时表空间那么SYSTEM仍然用作默认的临时存储。但是,您将在ALERT.LOG中收到警告,表示建议使用默认的临时表空间,并且在以后的发行版中是必要的。

6、Default Temporary TS 默认临时TS

  • 指定数据库范围内的默认临时表空间
  • 消除使用SYSTEM表空间存储临时数据
  • 可以通过使用以下方式创建全局表空间
    • 创建数据库
    • ALTER数据库

二、常用实操

1、Creating Tablespaces创建表空间

使用以下命令创建表空间:

CREATE TABLESPACE userdata 
DATAFILE '/u01/oradata/userdata01.dbf' SIZE 5M;

2、Dictionary-Managed TS 字典管理的表空间

  • 区段在数据字典中管理
  • 存储在表空间中的每个段可以有不同的存储子句
  • 需要链接。

代码:

CREATE TABLESPACE userdata 
DATAFILE '/u01/oradata/userdata01.dbf' 
SIZE 500M EXTENT MANAGEMENT DICTIONARY 
DEFAULT STORAGE (initial 1M NEXT 1M PCTINCREASE O);

3、Locally Managed Tablespace本地管理的表空间(最常用)

  • 减少对数据字典表的争用
  • 发生空间分配或解除分配时不生成撤消(不需要undo)
  • 不需要链接

代码:

CREATE TABLESPACE userdata
DATAFILE'/u01/oradata/userdata01.dbf' SIZE 500M 
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K:

4、Migrating a DM SYSTEM TS 字段管理的表空间转变为本地管理的表空间

因为这是一个比较重大的事,所以在做之前我们需要进行准备工作

准备工作:

  1. 对你的数据库做一个完整的备份。
  2. 确保数据库有一个不是SYSTEM的默认临时表空间。临时表空间是使用CREATE TEMPORARY TABLESPACE命令创建的。
  3. 消除字典管理表空间中的任何撤销(回滚)段
  4. 本地管理的表空间中应该至少有一个联机撤消段,或者一个撤消表空间应该是联机的.
  5. 除了包含撤消空间的表空间和默认临时表空间之外,所有表空间都应设置头READ ONLY(只读)模式。
  6. 在受限模式下启动实例(防止其他用户登录进来捣乱)。
  7. 使用以下命令迁移SYSTEM表空间
    DBMS_SPACE_ADMIN
    TABLESPACE_MIGRATE_TO_LOCAL('SYSTEM');

将字典管理的SYSTEM表空间迁移到本地管理的:

DBMS_SPACE_ADMIN
TABLESPACE_MIGRATE_TO_LOCAL('SYSTEM');

 5、Undo Tablespace 撤消表空间

  • 用于存储撤消段(比如:做事务回滚)
  • 不能包含任何其他对象
  • 区是本地管理的(undo 一定是本地管理的)
  • 只能使用DATAFILE和区段管理子句。

创建代码:

CREATE UNDO TABLESPACE undo1
DATAFILE '/u01/oradata/undo01.dbf' SIZE 40M;

6、Temporary Tablespaces 临时表空间

  • 用于排序操作
  • 可以由多个用户共享
  • 不能包含任何永久对象
  • 建议使用本地管理的区段
CREATE TEMPORARY TABLESPACE temp
TEMPFILE'/u01/oradata/temp01.dbf' SIZE 20M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 4M;

7、创建Default Temporary TS 默认临时TS

在创建数据库时创建:

CREATE DATABASE DBA01
LOGFILE
GROUP 1 ('/SHOME/ORADATA/u01/redo01.log') SIZE 100M
GROUP 2 ('/SHOME/ORADATA/u02/redo02.log') SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
DATAFILE '/SHOME/ORADATA/u01/system01.dbf' SIZE 325M
UNDO TABLESPACE undotbs
DATAFILE '/SHOME/ORADATA/u02/undotbs01.dbf' SIZE 200
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '/$HOME/ORADATA/u03/temp01.dbf' SIZE 4M
CHARACTER SET US7ASCII

其中这里就是创建全局临时表空间的地方

数据库创建后创建的方法:

修改数据库默认临时表空间

ALTER DATABASE
DEFAULT TEMPORARY TABLESPACE default_temp2;

若要查找数据库查询数据库属性的默认临时表空间,请执行以下操作:

SELECT * FROM DATABASE_PROPERTIES;

8、Creating a Default Temp TS 创建默认临时TS

数据库创建后:

ALTER DATABASE
DEFAULT TEMPORARY TABLESPACEdefault_temp2;

若要查找数据库查询数据库属性的默认临时表空间,请执行以下操作:

SELECT * FROM DATABASE_PROPERTIES:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1151812.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【0基础学Java第四课】-- 逻辑控制

4. 逻辑控制 4.1 顺序结构4.2 分支结构4.2.1 if语句判断一个数字是奇数还是偶数判断一个数字是正数,负数,还是零判断一个年份是否为闰年 4.2.2 switch 语句 4.3 while循环打印 1 - 10 的数字计算 1 - 100 的和计算 5 的阶乘计算1!2&#xff0…

FHE 的高精度算术:BGV-big、BFV-big

参考文献: [NL11] Naehrig M, Lauter K, Vaikuntanathan V. Can homomorphic encryption be practical?[C]//Proceedings of the 3rd ACM workshop on Cloud computing security workshop. 2011: 113-124.[GC15] Geihs M, Cabarcas D. Efficient integer encoding…

TypeScript:简介(附思维导图)

TypeScript:简介 Date: May 23, 2023 思维导图: TypeScript简介 注:已用XMind总结 什么是 TypeScript Typed JavaScript at Any Scale. 添加了类型系统的 JavaScript,适用于任何规模的项目。 以上描述是官网[1]对于 TypeScript…

【软考】14.3 设计模式

《设计模式》 有下划线:类模式 / 对象模式无下划线:对象模式 创建型 设计模式 创建对象 构建器(Builder):类和构造分离抽象工厂(Abstract Factory):抽象接口工厂(Factor…

Kubernetes Service 详解

Author:rab 目录 前言一、ClusterIP1.1 简介1.2 案例 二、NodePort2.1 简介2.2 案例 三、LoadBalancer3.1 简介3.1.1 MetalLB 简介3.1.2 MetalLB 部署3.1.3 MetalLB 配置3.1.3.1 Layer 2 模式3.1.3.2 BGP 模式 3.2 案例3.2.1 部署3.2.2 验证 四、ExternalName4.1 简…

大数据技能大赛平台搭建(容器环境)

大数据技能大赛平台搭建(容器环境) 一、Hadoop3.X 完成分布式安装部署1、 JDK安装1、解压jdk2、修改配置文件3、免密登录 2、hadoop集群环境搭建1、配置文件2、配置环境变量3、给slave1和slave2分发配置文件4、启动Hadoop集群 3、配置完成! 二…

奇富科技引领大数据调度革命:高效、稳定、实时诊断

日前,在世界最大的开源基金会 Apache旗下最为活跃的项目之一DolphinScheduler组织的分享活动上,奇富科技的数据平台专家刘坤元应邀为国内外技术工作者献上一场题为《Apache DolphinScheduler在奇富科技的优化实践》的精彩分享,为大数据任务调…

[推荐]SpringBoot,邮件发送附件含Excel文件(含源码)。

在阅读本文前,可以先阅读我的上一篇文章: SpringBoot,使用JavaMailSender发送邮件(含源码)。 ,本文使用的代码案例涉及到的 jar包、application.properties配置与它相同。 先看一下效果。 图一 图二 在下方代码案例中,…

智安网络|保护您的应用程序免受攻击:重要的安全强化措施

在今天的数字化时代,应用程序安全成为了企业和个人必须重视的重要领域。应用程序普遍存在的安全漏洞成为黑客们进行攻击的一个突破口。为了保护敏感数据和个人隐私,我们必须了解并实施一系列的关键措施来加固应用程序的安全性。 首先,一个关…

3D max软件有哪些技巧可快速选择区域?

使用3D max软件时,有新手朋友反馈说,为什么3dmax选择区域怎么改不了? 还有就是3dmax选择区域不显示该怎么办? 或者是3dmax选择区域变成圆形了。 针对以上这几类问题,只要掌握这几种方法就可以。小编整理了几种3D max…

一天收入500元的货拉拉运费差项目靠谱吗?

最近的货拉拉运费差项目有点火呀!收费也不低,1680-16980的比比皆是。 这个项目去年我就在某些平台看到过,今天就跟大家详细聊聊这个项目,想入坑的不妨先看看这篇文章。 一:项目原理 有人叫它货拉拉搬砖项目&#xf…

2023应届生能力考试含解析(Java后端开发)——(1)

1.以下代码的循环次数是 ( ) public class Test {public static void main(String[] args) {int i 7;do {System.out.println(--i);--i;} while (i ! 0);System.out.println(i);} } A 0 B 1 C 7 D 无限次 这段代码会导致无限循环的原因是在 do-while 循环中&#…

毕业设计基于SpringMVC+Mybatis+Bootstrap的电影院管理系统源码+数据库

<<电影院管理系统>> 电影院管理系统&#xff1a;SpringMVCJSPTomcatMybatisBootstrapJqueryAnimateCSSLayerJS 项目部署&#xff1a;该项目是IDEA版本&#xff0c;Maven项目 前端依赖&#xff1a; Bootstrap-3.4.1Animate.css- 4.1.1Jquery-3.6.0Layer-v3.5.1B…

83.每日一练:搜索插入位置(力扣第35题)

问题描述 代码解决以及思想 class Solution { public:int searchInsert(vector<int>& nums, int target) {int left 0; // 定义左边界int right nums.size() - 1; // 定义右边界while (left < right) { // 当左边界小于…

基于【逻辑回归】的评分卡模型金融借贷风控项目实战

背景知识&#xff1a; 在银行借贷过程中&#xff0c;评分卡是一种以分数形式来衡量一个客户的信用风险大小的手段。今天我们来复现一个评分A卡的模型。完整的模型开发所需流程包括&#xff1a;获取数据&#xff0c;数据清洗和特征工程&#xff0c;模型开发&#xff0c…

python读取列数不规则文件/python数据框分割

问题 将探空数据读取&#xff0c;并按每日单纯储存&#xff0c;数据如下&#xff1a; 为一年数据&#xff0c;存在部分列的数据缺失问题。 数据读取 使用read_csv文件读取文件&#xff0c;由于列数存在不一致问题&#xff0c;需要固定最大列数&#xff1a; names["da…

function函数指针和lamada的[]和[=]注意事项

在工作的过程中&#xff0c;lamda表达式的 重点&#xff1a; 1.function对象存储函数指针。 2.lamada表达式&和捕捉的方式 lamda传入引用&&#xff0c;导致作用域消失&#xff0c;最终报错 std::function<void()> pFun; void GetNum1(const std::function<…

python随手小练14

题目&#xff1a; 文件操作 &#xff1a; 根据文件要求&#xff08;测试&#xff09;筛选出数据并且放入一个新的文件 具体操作&#xff1a; f1 open("1.txt","r",encoding"UTF-8") f2 open("2.txt","w",encoding"U…

【Linux】:Linux开发工具之Linux编译器——gcc/g++的使用

&#x1f4bb;1.背景知识 &#x1f372;1. 预处理&#xff08;进行宏替换) 预处理阶段我们要分为1.头文件展开2.宏替换3.条件编译4.去掉注释 这一步会帮助我们生成.i文件 &#x1f372;2. 编译&#xff08;生成汇编) 编译阶段我们要分为1.检查语法2.生成汇编代码 最后生成.s文…

物联网二维码核销盒对接文档

核销盒是干嘛的&#xff1f; 1.在某些场景下快速核销订单或打卡签到等&#xff0c;通过核销盒能快速将订单信息发送到后端进行处理。 一&#xff0c;首先你需要有一台核销设备&#xff0c;也就是核销盒。 二&#xff0c;通过接口激活或更新核销盒 ​​​​​​​ 简要描述 激…