作为达梦公司的员工,很荣幸公司给我分配一个数据库DCA考试名额,通过这回考试,对关系型数据库有了进一步的认识,对达梦数据库的崛起和未来发展有更深认知。
本次培训的内容主要分为理论与实操。
理论部分主要包含:
1.DM8逻辑结构。2.DM8物理存储结构。3.DM8内存结构。4.DM8相关线程。
DM8逻辑存储结构为:数据库由一个或多个表空间组成;每个表空间由一个或多个数据文件组成;每个数据文件由一个或多个簇组成;段是簇的上级逻辑单元,一个段可以跨多个数据文件;簇由磁盘上连续的页组成,一个簇总是在一个数据文件中;页是数据库中最小的分配单元,也是数据库中使用的最小的IO单元。
DM8数据库中的所有对象在逻辑上都存放在表空间中,而物理上都存储在所属表空间的数据文件中。DM8数据库中的表空间可以分为普通表空间(不能存储HUGE表)和混合表空间,可以通过为普通表空间增加指定HUGE数据文件路径将普通表空间升级为混合表空间。数据库表中的每一行是一条记录。数据页(块)是DM8数据库中最小的数据存储单元。簇是数据页的上级逻辑单元,由同一个数据文件中16个或32个或64个连续的数据页组成。在DM8数据库中,簇的大小由用户在创建数据库时指定,默认大小为16。和数据页的大小一样,一旦创建好数据库,此后该数据库的簇的大小就不能够改变。段是簇的上级逻辑分区单元,它由一组簇组成;在同一个表空间中,段可以包含来自不同文件的簇,即一个段可以跨越不同的文件;由于簇的数量是按需分配的,数据段中的不同簇在磁盘上不一定连续。
物理存储结构主要包含配置文件、控制文件、数据文件、重做日志文件、归档日志文件、备份文件、跟踪日志文件。每创建一个DM数据库,就会自动生成dm.ini,它是必须配置文件;主要的配置模块包括:控制文件相关、实例名、内存相关、线程相关等;参数属性分为三种:手动(重启生效)、静态(重启生效)和动态(立即生效);动态参数又分为会话级(只影响当前和新创建的会话)和系统级(影响所有会话);与动态修改相关的系统过程:SP_SET_PARA_VALUE()、SP_SET_PARA_DOUBLE_VALUE()、SP_SET_PARA_STRING_VALUE()。控制文件是一个二进制文件,它记录了数据库必要的初始信息。一个 DM 数据文件对应磁盘上的一个物理文件或者达梦分布式数据库中的一个逻辑文件;当DM8的数据文件空间用完时,它可以自动扩展(创建数据文件时可以用MAXSIZE参数限制其扩展量);实际使用一般不建议使用单个巨大的数据文件,为一个表空间创建多个较小的数据文件是更好的选择;DM 数据库中添加、删除、修改对象或者改变数据,DM 都会按特定格式将这些操作执行结果写入当前重做日志文件中(任何修改数据库的操作都会产生重做日志);每个DM8数据库实例必须至少有2个重做日志文件,默认为 DAMENG01.log、DAMENG02.log,两文件循环使用重做日志文件因为是数据库正在使用的日志文件,因此被称为联机日志文件重做日志文件主要用于数据库的备份与恢复;
DM8内存结构包含内存池、缓冲区、排序区、哈希区。内存管理系统的好处是:1.申请、释放内存效率更高;(相对于都使用操作系统函数来申请和释放)。2.能够有效地了解内存的使用情况;3.易于发现内存泄露和内存写越界的问题。
DM8线程包含监听线程、工作线程、IO线程、调度线程、FLUSH线程、日志归档线程、日志APPLY线程等。监听线程主要任务为,在服务器端口上进行循环监听,一旦有来自客户的连接请求,监听线程被唤醒并生成一个会话申请任务,加入工作线程的任务队列,等待工作线程进行处理;工作线程是 DM 服务器的核心线程,它从任务队列中取出任务,并根据任务的类型进行相应的处理,负责所有实际的数据相关操作;IO线程把IO操作从工作线程中分离出来,专门处理IO操作;调度线程用于接管系统中所有需要定时调度的任务。DM8的日志FLUSH线程进行了优化,在刷盘之前,对不同缓冲区内的日志进行合并,减少了IO次数,进一步提高了性能;日志归档线程包含异步归档线程,负责远程异步归档任务;如果配置了非实时归档,由日志FLUSH线程产生的任务会分别加入日志归档线程,日志归档线程负责从任务队列中取出任务,按照归档类型做相应归档处理;将日志FLUSH线程和日志归档线程分开的目的是为了减少不必要的效率损失;
实操部分主要包含:
1.DM8安装及卸载。2.数据库实例的创建。3.数据库连接。4.参数配置。5.表空间管理。6.重做日志文件。7.归档管理。8.用户角色权限管理。9.模式对象管理。10.表管理。11.视图管理。12.备份与还原。13.作业管理。14.ODBC配置。
DM8安装时,需进行安装前确认,包括:1.查看CPU信息。选择对应的达梦版本进行下载安装。2.查看操作系统信息。内核版本需要在2.6以上,否则在安装过程中会报错。3. 查看glibc版本。glibc需要在2.3以上,否则在安装过程中会报错。4.查看gcc版本。安装odbc的时候,需要gcc包依赖,没有安装的话需要进行安装。5.设置最大可打开文件数。查看最大可打开文件数,如果是CentOS的话,默认是比较小的,可能会导致安装过程中报错,所以这边我们提前查看并设置。安装的方式为图形化界面安装与命令行方式安装。
随后,需创建数据库实例,一个实例相当于一个服务。创建实例时,需要指定数据库的存储,端口号以及系统用户的密码等。实例服务进行启停时,可通过dmserver工具,使用root权限操作,或执行bin文件夹下的可执行文件(文件名为服务名)。卸载时,执行uninstall.sh即可。
可采用disql或者manager工具连接数据库。DM8的参数可分为:静态参数和动态参数两种,这两种均支持通过系统函数、SQL命令进行修改静态参数:只能修改配置文件中的值,对内存中的值不进行修改,所以静态参数修改后使其生效的话,需要对数据库进行重启;动态参数:既能修改内存中的值,也能修改配置文件中的值,所以动态参数修改后是立即生效的。
表空间的类型包括:1.SYSTEM:系统表空间,存放的是数据字典信息,包含表定义、视图定义、用户权限等。2.ROLL:回滚表空间,存放undo信息。INSERT、UPDATE、DELETE都会产生undo信息。3.MAIN:用户默认表空间,创建用户时,没有指定表空间,则使用MAIN表空间。4.TEMP:临时表空间,用于存放临时表数据、索引、大量数据排序等产生的数据。5.HMAN:HUGE表(列存储表)的默认表空间。用户可自定义表空间,以及对表空间的大小进行修改,对表空间数据文件的增添以及迁移等。迁移时注意:新的表空间路径,必须是由安装数据库的用户进行创建,或者把这个文件夹授予数据库安装用户读写权限,否则会因权限问题报数据库文件路径错误。
重做日志:用于记录redo信息,重做日志默认为256M,数据库中的增、删、改操作都会记录redo和undo信息。redo信息写入联机日志文件,undo写入roll表空间对应的数据文件中。达梦的联机日志只支持系统自动切换,不支持手动切换(oracle支持)。用户可查看重做日志文件,迁移重做日志文件及修改大小(达梦只支持往大了改)。归档是对REDO的归档,备份归档是为了防止数据丢失,利用归档文件可以恢复数据库里的数据。用户可根据需要,开关归档模式。
模式是一个特定的对象集合,在概念上可将其看作是包含表、视图、索引等若干对象的对象集。模式对象为:表、视图、约束、索引、序列、触发器、存储过程/函数、包、同义词、类、域。模式与用户的关系是:当系统建立一个用户时,会自动生成一个对应的模式,用户和模式是一对多的关系(Oracle是一对一)。用户可根据需要,创建模式,查询模式及切换模式。
备份分为物理备份与逻辑备份。物理备份分为,完全备份:包含指定数据库和表空间所有数据;增量备份:基于一次完全备份或上一次增量备份后,往后每次备份只备份与前一次相比有差异的的数据文件。物理备份又分为冷备与热备:冷备是指数据库停止运行时的备份,热备为数据库启动状态下的备份。
文章
阅读量
获赞