学习和掌握创建和配置DM数据库实例

**

一、实例与数据库

       根据DM7系统管理员手册和DM7dminit手册学习:

  •      在DM7版本之前,DM数据库还有没很好的区分数据库跟实例两个概念,甚至经常混为一谈。在DM7之后,数据库跟实例有着很明显的划分区别。
  •      DM数据库指的是磁盘上存放在DM数据库中的数据的集合,是一些存在在物理磁盘上的数据文件,一般包括:数据文件、日志文件、控制文件以及临时数据文件。
  •      实例一般是由一组正在运行的DM后台进程/线程以及一个大型的共享内存组成的,可以说实例就是一个用来操作DM数据库的一个手段,是用来访问数据库的内存结构以及后台进程的集合。个人认为实例可以看成是访问以及操作你这个DM数据库内的数据以及文件的一个进程应用。
  •      实例与DM数据库之间的差异跟联系:DM数据库是存储在服务器的磁盘上的,而DM实例是存储于服务器的内存中的。通过运行DM实例,可以操作DM数据库的内容,一个实例只可以操作一个数据库,但是在DMRAC技术中,一个数据库可以同时被多个实例进行装载打开操作,但是这个数据库是要位于这多台服务器共享的物理磁盘上。

二、DM存储结构

       在DM数据库内部,所有的数据文件组合在一起被划分到一个或者多个表空间中,所有的数据库内部对象都 存放在这些表空间中。同时,表空间被进一步划分为段、簇和页(块)。通过这种细分, 可以使得 DM 数据库能够更加高效地控制磁盘空间的利用率。

	DM存储结构总的来说有一下特点:
	1. 数据库由一个或多个表空间组成; 
	2. 每个表空间由一个或多个数据文件组成; 
	3. 每个数据文件由一个或多个簇组成; 
	4. 段是簇的上级逻辑单元,一个段可以跨多个数据文件; 
	5. 簇由磁盘上连续的页组成,一个簇总是在一个数据文件中; 
	6. 页是数据库中最小的分配单元,也是数据库中使用的最小的 IO 单元。

	总的来说就是DM数据库的构成可以如下总结:
	数据库——》 表 ——》数据文件 ——》簇 ——》页
	然后在簇跟数据文件中引入了段的概念,
	个人理解段是数据文件的区域划分,段是一种逻辑概念,并不是组成的基本结构,
	它可以是某个数据文件的某部分,也可以是某几个数据文件的某部分,
	是一个区域划分,划分出来的段都是那些组成数据文件的簇或页。
数据库
数据文件

三、表空间

      在 DM 数据库中,表空间由一个或者多个数据文件组成。DM 数据库中的所有对象在逻辑 上都存放在表空间中,而物理上都存储在所属表空间的数据文件中。 在创建 DM 数据库时,会自动创建 5 个表空间:SYSTEM 表空间、ROLL 表空间、MAIN 表空间、TEMP 表空间和 HMAIN 表空间。

  • SYSTEM表:存放DM数据库的字典信息,用户不能在SYSTEM表下创建表跟索引

  • ROLL表:由 DM 数据库自动维护,用户无需干预。该表空间用来存放事务运 。

  • 行过程中执行 DML 操作之前的值,从而为访问该表的其他用户提供表数据的读一致
    性视图。

  • MAIN表:初始化库时自动创建,大小为128M的数据文件MAIN.DBF,作为用来存放新创建用户的默认表空间

  • TEMP 表:空间完全由 DM 数据库自动维护。当用户的 SQL 语句需要磁盘空间来完成
    某个操作时,DM 数据库会从 TEMP 表空间分配临时段。如创建索引、无法在内存中完成的排序操作、SQL 语句中间结果集以及用户创建的临时表等都会使用到 TEMP 表空间。

  • HMAIN 表:空间属于 HTS 表空间,完全由 DM 数据库自动维护,用户无需干涉。当用户在创建 HUGE 表时,未指定 HTS 表空间的情况下,充当默认 HTS 表空间。

      每一个用户都有一个默认的表空间。对于 SYS、SYSSSO、SYSAUDITOR 系统用户,默认的用户表空间是 SYSTEM,SYSDBA 的默认表空间为 MAIN,新创建的用户如果没有指定默认表空间,则系统自动指定 MAIN 表空间为用户默认的表空间。如果用户在创建表的时候,指定了存储表空间 A,并且和当前用户的默认表空间 B 不一致时,表存储在用户指定的表空间 A 中,并且默认情况下,在这张表上面建立的索引也将存储在 A 中,但是用户的默认表空间是不变的,仍为 B。

四、页

       数据页(也称数据块)是 DM 数据库中最小的数据存储单元,页的大小确定后是不能更改的。页的大小对应物理存储空间上特定数量的存储字节,在 DM 数据库中,页大小可以为4KB、8KB、16KB 或者 32KB,用户在创建数据库时可以指定,默认大小为 8KB。

五、簇

       簇是数据页的上级逻辑单元 ,由同一个数据文件中 16 个或 32 个连续的数据页组成。
       在 DM 数据库中,簇的大小由用户在创建数据库时指定,默认大小为 16。假定某个数据文件大小为 32MB , 页大小为 8KB, 则共有 32MB/8KB/16=256 个簇 , 每个簇的大小为8K*16=128K。和数据页的大小一样,一旦创建好数据库,此后该数据库的簇的大小就不能够改变



数据库实例的配置

    (1)windos10下的dm8 实例配置
在这里插入图片描述

    数据库的数据存放路径设置为:
在这里插入图片描述

数据库的数据名和实例名及端口号为:

在这里插入图片描述
初始化参数修改为:
页大小修改为 16 k 簇大小修改为 16 页 字符集为:UTF-8
在这里插入图片描述

完成创建

在这里插入图片描述

(2)linux下的dm7 实例配置
在了解了一些数据库存储的概念后,我开始进行自己的数据库实例的配置:
命令行的实例注册是通过dminit脚本进行注册的.
首先,进入dm7安装目录下的bin目录,执行 ./dminit help 查看参数:
在这里插入图片描述

具体参数如下:
在这里插入图片描述
接下来根据自己的需求选择一些参数,在这里列出几个比较重要的参数选项:
(1)PATH 数据存放的地址
(2)PAGE_SIZE 页大小(默认为8),单位K,推荐使用16,在数据移植时特别需要注意
(3)EXTENT_SIZE 簇大小(默认为16),单位 页 ,在数据移植时特别需要注意
(4)CASE_SENSITIVE 大小敏感(默认区分大小写),在数据移植时特别需要注意
(5)CHARSET/UNICODE_FLAG 字符集
(6)LENGTH_IN_CHAR VARCHAR类型长度是否以字符为单位(N)
(7)DB_NAME 数据库名(DAMENG)
(8)INSTANCE_NAME 实例名(DMSERVER)
(9)PORT_NUM 监听端口号(5236)

接下来我根据自己的一些需求,选择了一下的参数进行初始化实例:
     页大小改为16k,字符集使用UTF-8,数据库名为DMShi,实例名为DMSERVERshi
在这里插入图片描述
成功配置好我的DM数据库实例
在这里插入图片描述
接下来我需要把自己的实例启动起来,还是在DM数据库安装路径的bin目录下使用
./dmserver 进行前台启动
在这里插入图片描述
/home/dmdba/data/DMShi 就是DMShi数据库的存放路径
启动成功!
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值