达梦数据库基础操作(二):表空间操作

达梦数据库基础操作(二):表空间操作

在这里插入图片描述

1. 表空间操作

1.1 达梦表空间介绍

  • 表空间的概念:

    每个DM 数据库都是由一个或者多个表空间组成,表空间是一个逻辑的存储容器,它位于逻辑结构的顶层,用于存储数据库中的所有数据,表空间的数据被物理存放在数据文件中,一个表空可以包含一个或多个文件。也就是说表空是逻辑的概念我们可以把它理解为(容器)里面可以存放数据文件、表、索引等。

    DM8 的逻辑架构为表空间- 段- 簇(相当于oracle 的区)- 页(相当于oracle 的块)。

# 可以通过命令查看系统内所有表空间的名字。
# 注意:SYSTEM 、ROLL 、TEMP 不能手动创建。
SQL> select tablespace_name from dba_tablespaces;

​ 1)SYSTEM表空间:系统表空间,存放的是数据库的关键性的信息,例如:数据字典和动态性能视图
​ 2)ROLL表空间回滚表空间,存放的是数据库的回滚记录。MVCC(事务多版本机制),消除行锁,回滚段,保 留时长(undo_retention 支持毫秒)
​ 3)TEMP表空间 ,临时表空间,创建的临时表,存放的是临时的信息
​ 4)MAIN表空间:默认表空间,达梦默认的表空间,创建用户时**不指定表空间,就为该默认表空间。**之后数据就存放在此表空间。
​ 5)HMAIN表空间 :**HUGE 表空间(**Huge file system(hfs):是达梦数据库实现的,针对海量数据进行分析的 一种高效、简单的列存储机制,列存储表(huge)就是建立在 hfs 上的。 HUGE 表建立在自己特有的表空间(huge 空间),v$huge_tablespace 中,最多可以创建 32767 个 hugeg 表空间。 如果不指定 huge 表空间,默认放在 HMAIN 表空间中。 )

  • 使用表空间的优点:

Ø 能够隔离用户数据和数据字典,减少对system 表空间的I/O 争用;

Ø 可以把不同表空间的数据文件存储在不同的磁盘上,把负载均衡分布到各个磁盘上减少I/O 争用;

Ø 隔离来自不同应用程序的数据,能够执行基于表空间的备份和恢复同时可以避免一个应用程序的表空间脱机而影响其他应用程序的运行;

1.2 表空间操作

1.2.0 查看表空间
# 可以通过命令查看系统内所有表空间的名字。
SQL> select tablespace_name from dba_tablespaces;查询表空间及其所属用户和数据文件路径
SQL> select username,user_id,default_tablespace,profile from dba_users;
1.2.1 表空间创建
  • 格式:
    create tablespace 表空间名 datafile 数据文件路径 size 数据文件初始大小 autoextend on maxsize 最大值
    -----仅指定数据文件路径,以及数据文件初始
    大小,单位为(MB)
    -----注意大小仅为数字,不能带M符号
    create tablespace tbs1 datafile ‘/dm7/data/DAMENG/tbs01.dbf’ size 32;
    注意: DM8 建立初始化数据文件大小时有一个硬性规定,那就是数据文件的初始化大小一定要是页大小的4096 倍否则就会报错。
# 案例1:创建一个表空间,初始大小50M, 最大1024M
SQL> create tablespace chkproof datafile '/dm8/data/MBWS/chkproof_01.dbf' size 50 autoextend on next 1 maxsize 1024;
# 案例2:创建一个表空间,初始大小50M, 表空间由2个数据文件组成,分别存储在不同的磁盘上,每次扩展1M, 每个数据文件最大100M
SQL> create tablespace tbs2 datafile ‘/dm8/disk1/tbs2_01.dbf’ size 50 autoextend on next 1 maxsize 100,/dm8/disk2/tbs4_02.dbf’ size 50 autoextend on next 1 maxsize 100;
  • 注意:

    达梦数据库创建表空间报错-2401数据文件dbf大小无效

    报错:-2401数据文件dbf大小无效

    表空间的大小和数据库的初始参数有关系
    页大小为8K 表空间大小至少为40968K=32M
    页大小为16K 表空间大小至少为409616K=64M 以此类推

    然后将以上语句size 50 改成size 256就可以执行了

  • 查看页大小

    # 使用这个命令可以找到我们在配置数据库实例时多选的页大小参数,注意此参数显示单位为字节在换算时我们需要将此参数转化为KB 进行计算。
    SQL> select page;
    # 这样我们就得到了在页大小为8KB 的情况下,数据文件的初始化大小的最小参数值。
    # 注意:不是说得到了这个大小就必须按照这个大小来设置,只是不能比这个参数小,只要比这个参数大任何初始化值都是可以的。
    SQL> select 4096*8/1024
    
1.2.2 删除表空间(表空间存在数据,不允许直接删除)
# 第一种是表空间没有任何对象,这样的情况下我们可以直接删除
SQL> drop tablespace tbs1;
# 第二种情况就是表空间在有数据的情况下进行删除
# 直接删除是不会删除的,必须先删除数据
SQL> drop tablespace tbs1;
1.2.3 扩展表空间
# 创建达标空间,数据库导入导出
# resize 表空间数据文件的大小 (所有的数据文件大小都应该一致,修改其中一个,另外的都要更改)
alter tablespace tbs1 resize datafile '/dm7/data/DAMENG/tbs01.dbf' to 256;# 增加数据文件(表空间大小不足的解决办法)
alter tablespace tbs1 add datafile ‘/dm7/data/DAMENG/tbs02.dbf’ size 50 autoextend on next 1   maxsize 100;
1.2.4 更改表空间的数据文件路径
# 查询表空间的数据文件存储位置
select file_name,tablespace_name from dba_data_files;
# 查询表空间的状态(0---Online   1---offline)更改为离线
Select tablespace_name,status from dba_tablespaces;
# 更改文件位置
alter tablespace tbs1 rename datafile '/dm7/data/DAMENG/tbs01.dbf' to '/dm7/disk1/tbs01.dbf';
1.2.5 表空间状态

表空间的状态分为online offline (system 、roll 、temp 不能脱机)

# 注意达梦数据库的表空间没有只读的概念。
# 更改test表空间为离线状态
SQL> alter tablespace test offline;
# 查看表空间的状态
SQL> select tablespace_name,status from dba_tablespaces;
1.2.6 表空间大小不足的解决办法
  • 普通表空间增加数据文件

    SQL> alter tablespace test add datafile ‘/dm8/data/DAMENG/test02.dbf’ size 50 autoextend on next 1 maxsize 100;
    
  • 临时表空间大小不足

    # 查看一下临时表空间的默认信息。临时表空间的数据文件默认的大小是10 单位是MB 。
    SQL> select para_name,para_value from v$dm_ini where para_name like '%TEMP%';
    # 修改临时表空间大小
    SQL> sp_set_para_value(2,'TEMP_SIZE',100);
    
  • 回滚表空间不足

    # 更改数据文件大小
    SQL> alter tablespace roll resize datafile '/dm8/dm1/DAMENG/ROLL.DBF' to 2048;
    # 添加数据文件
    SQL> alter tablespace roll add datafile ‘/dm8/dm1/DAMENG/ROLL01.DBF’ size 1024;
    
1.2.7 修改用户默认表空间
# 修改用户默认表空间,修改后所指定的表空间必须先被创建
alter user "dmtest" default tablespace "testone" ;

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

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

相关文章

【CSP试题回顾】201503-3-节日

CSP-201503-3-节日 关键点:格式化输出 在C中,格式化输出通常利用iostream库中的功能,特别是iomanip头文件提供的一系列操作符。这些操作符用于控制输出格式,如宽度、填充、对齐方式等。在你提供的代码中,用于格式化输…

基于Springboot+Layui餐厅点餐系统

一、项目背景 在互联网经济飞速发展的时代,网络化企业管理也在其带领下快速兴起,开发一款自主点餐系统会受到众多商家的青睐。现如今市场上的人力资源价格是非常高昂的,一款自主点餐系统可以减少餐厅的人力开销,将服务员从繁忙的…

RESTful接口规范参考

介绍 REST(Representational State Transfe),一种架构设计风格,而不是强制标准,主要用于客户端与服务端接口规范;在现代的软件开发中,RESTful API已经成为应用程序之间通信的重要桥梁&#xff…

电磁兼容EMC:单、双面板的均匀传输线

目录 1 传输线 2 均匀传输线 3 特征阻抗 4 应用案例 为何要讲单、双面板的均匀传输线?因为均匀传输线能保证信号质量,减少EMC问题,而单双面板没有完整的地和电源平面,很难实现均匀传输线的布线,所以更需要知道如何在…

08 |「Fragment 」

前言 实践是最好的学习方式,技术也如此。 文章目录 前言一、简介1、是什么2、为什么要有 Fragment3. Fragment 详细解释 二、Fragment 与 Activity 的直观理解三、Fragment 的创建1、Fragment 的创建方式2、Fragment 的增删替查1) 替换(常见&…

01背包问题 刷题笔记

思路 dp 用f[i][j]来表示当体积为j时 考虑前i件物品可以获得的 最大值 记住f[i][j]本身是个价“价值” 考虑两种状态 是否将第i件物品放入背包里面 将背包的体积从小到大递增来进行考虑 首先 考虑条件 如果当前增加的体积放不下下一件物品 则该体积 可以获得的最大值可以直接…

关于汽车E\E架构演进的思考(2)

目录 1.概述 2. 整车通信的限制 3 如何保证融合ECU的功能安全和信息安全 4.小结 1.概述 上篇文章主要聊了当前电子电气架构以及未来电子电气架构的特点,简述了即将要面临的挑战,下面我们继续讲述挑战。 2. 整车通信的限制 下一代架构主要以以太网…

Centos9环境部署MySQL的PXC

前期理解 pxc就是将多个mysql数据库整合为一个集群,每台服务器上的mysql数据库会实时同步,而且节点与节点之间,他们相互的关系是对等的。PXC 最关注的是数据的一致性,对待事物的行为时,要么在所有节点上执行&#xff…

爬虫(四)

1.图片验证码 import requestsres requests.get(https://www.gushiwen.cn/RandCode.ashx)with open("code.png", "wb") as f:f.write(res.content)2.打码平台 网址:http://www.ttshitu.com/,找到开发文档点击Python,没有钱了要用我…

Leetcode148 排序链表

排序链表 题解1 线性表题解2 自顶向下归并排序题解3 自底向上归并排序 给你链表的头结点 head ,请将其按 升序 排列并返回排序后的链表 。 题解1 线性表 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* L…

React-Redux简单使用

1.配置环境 1.1开启项目 npx create-react-app react-redux-pro 1.2安装配套工具 说明:安装Redux Toolkit和react-redux。Redux Toolkit(RTK)~官方推荐编写Redux逻辑的方式,是一套工具的集合集,简化书写方式;react-redux-用来…

【Leetcode】3028.边界上的蚂蚁

题目描述 思路 题目中要求我们返回 蚂蚁返回到边界的次数。简单来想,就是蚂蚁原来的位置的一维坐标为0,然后经过,若干次移动,统计有几次坐标再次变为0的个数。 我们利用前缀和,像定义一个数组,算出前缀和数…

CleanMyMac X 4.14.6 2024核心功能详解 CleanMyMac X中文官网安装包 Mac电脑系统清理软件

CleanMyMac 是 macOS 上久负盛名的系统清理工具,2018 年,里程碑式版本 CleanMyMac X 正式发布。不仅仅是命名上的变化,焕然一新的 UI、流畅的动画也让它显得更加精致。新增的系统优化、软件更新等功能,使得在日常使用 macOS 时有了…

JavaEE之volatile关键字

一.内存可见性问题 什么是内存可见性问题 计算机运行的程序/代码,往往需要访问数据。这些数据往往存在于内存中。 cup使用此变量时,就会把内存中的数据先读出来,加载到cpu寄存器中,再去参与运算。 但是,关键是cpu读…

Flink实时数仓同步:实时表实战详解

一、背景 在大数据领域,初始阶段业务数据通常被存储于关系型数据库,如MySQL。然而,为满足日常分析和报表等需求,大数据平台采用多种同步方式,以适应这些业务数据的不同存储需求。这些同步存储方式包括离线仓库和实时仓…

细说券商VIP快速交易通道与交易所报单一文看懂

最近的行情渐入佳境,很多朋友都喜欢做短线或者打板交易。可以往往发现打板进去的要么就是量能不足没有封住的,或者说是炸板的,想要交易一字板又打板不进去,这种就很让人苦恼。今天我们就来解答下这种到底该怎么处理?首…

Vue中如何处理组件间的耦合问题?

在Vue中处理组件间的耦合问题是前端开发中常见的挑战之一。耦合问题指的是组件之间的依赖关系过于紧密,一旦某个组件发生改动,则可能导致其它组件也需要作出相应调整。为了解决这个问题,我们可以采取以下几种方法: 使用事件总线&…

[笔记] 使用 Java Swing 实现一个简单的窗口

Java Swing 是一个用于构建图形用户界面(GUI)的Java库,它提供了丰富的组件和工具,用于创建交互式的桌面应用程序。Swing 是 Java Foundation Classes(JFC)的一部分,它是 Java 平台的一种标准用户…

金三银四求职季,这个AI神器助你斩获高薪Offer!

金三银四将至,又到了求职的高峰季,不管是招聘方,还是求职者,肉眼可见都会忙到飞起。 过去准备招聘 JD 或求职简历,都依赖人工编辑和包装,而眼下已进入 AI 时代,善用 AI 的人,无形中…

在矩池云上使用CogVLM的具体方法(附与GPT4、Gemini测试效果对比)

CogVLM 是由智谱AI&清华KEG基于对视觉和语言信息之间融合的理解,所推出的多模态大模型。在本文中,我们将展示在矩池云上使用CogVLM的方法。 硬件要求 使用 CogVLM 需要 CUDA 11.8 及以上环境,推理总显存需要40G以上,可以直接…