创建和配置 DM 数据库

DM 数据库可以在安装 DM 软件时创建,也可以在安装 DM 软件之后,通过数据库配置工具或 dminit 来手工创建数据库,创建数据库时要使用初始化参数。

建库完成后,在 DM 服务器运行期间,可以通过查询 V$DM_INI 动态视图查看建库参数的具体信息。

6.1 创建 DM 数据库

用户创建数据库之前,需要规划数据库,如数据库名、实例名、端口、文件路径、簇大小、页大小、日志文件大小、SYSDBA 和 SYSAUDITOR 等系统用户的密码等,然后可以使用图形化界面或者 dminit 创建数据库。用户可以在安装 DM 数据库软件时创建数据库,也可以在安装之后创建数据库。

在创建数据库之前需要做如下准备工作:

  1. 规划数据库表和索引,并估算它们所需的空间大小;
  2. 确定字符集。所有字符集数据,包括数据字典中的数据,都被存储在数据库字符集中,用户在创建数据库时可以指定数据库字符集,如不指定则使用默认字符集 GB18030;
  3. 规划数据库文件的存储路径,可以指定数据库存储路径、控制文件存放路径、日志文件存放路径等,应注意在指定的路径或文件名中尽量不要包含中文字符,否则可能由于数据库与操作系统编码方式不一致导致不可预期的问题;
  4. 配置数据库时区,如中国是 +8:00 时区;
  5. 设置数据库簇大小、页大小、日志文件大小,在数据库创建时由 EXTENT_SIZE、PAGE_SIZE、LOG_SIZE 初始化参数来指定,并且在数据库创建完成之后不能修改此参数。

创建数据库之前,必须满足以下必要条件:

  1. 安装必需的 DM 软件,包括为操作系统设置各种环境变量,并为软件和数据库文件建立目录结构;
  2. 必须有足够的内存来启动 DM 数据库实例;
  3. 在执行 DM 的计算机上要有足够的磁盘存储空间来容纳规划的数据库。

6.2 使用数据库配置工具创建数据库

数据库配置工具提供了一个图形化界面来引导用户创建和配置数据库。使用数据库配置工具来创建数据库是用户的首选,因为数据库配置工具更趋于自动化,当使用数据库配置工具安装完成时,数据库也做好了使用准备工作。数据库配置工具可以通过 DM 数据库安装之后作为一个独立的工具来启动。数据库配置工具可以执行以下任务:

  1. 创建数据库;
  2. 改变数据库的配置;
  3. 删除数据库;
  4. 管理模板;
  5. 自动存储管理;
  6. 注册数据库服务。

6.2.1 启动数据库配置助手

数据库配置工具可以通过 DM 支持的模板或用户自定义的模板来创建数据库。

通过下列步骤来启动数据库配置助手(以 Windows 操作系统为例):

  1. 使用通过验证的具有管理权限组的成员登录到计算机上,安装 DM 数据库软件,并创建和运行数据库;
  2. 在 Windows 操作系统中启动数据库配置助手。选择“开始”→“程序”→“达梦数据库”→“客户端”→“DM 数据库配置助手”,双击启动数据库配置助手。

启动数据库配置工具

图6.1 启动数据库配置工具

6.2.2 使用数据库配置工具创建数据库

在数据库配置工具操作窗口中,选择“创建数据库”选项启动能够创建和配置一个数据库的向导,如图 6.2 所示。这个向导引导用户完成以下操作:

  1. 数据库模板;
  2. 数据库目录;
  3. 数据库标识;
  4. 数据库文件;
  5. 初始化参数;
  6. 口令管理;
  7. 创建示例库;
  8. 创建摘要;
  9. 创建数据库。

数据库配置工具操作界面

图6.2 数据库配置工具操作界面

1) 数据库模板

在这个窗口中可以选择需要创建数据库的类型,DM 预定义了一些模板,如一般用途、联机分析处理模板或联机事务处理模板。如图 6.3 所示。

数据库模板选择

图6.3 数据库模板选择

2) 数据库目录

指定数据库目录。如图 6.4 所示。

指定数据库目录

图6.4 指定数据库目录

3) 数据库标识

在“数据库名(D)”文本框中,输入数据库名;在“实例名(I)”文本框中输入数据库实例名;在“端口号(P)”文本框中,输入端口号。如图 6.5 所示。

设置数据库标识

图6.5 设置数据库标识

4) 数据库文件

如图 6.6 所示,此界面包含四个选项卡:“控制文件”、“数据文件”、“日志文件”和“初始化日志”,可以通过双击路径来更改文件路径。

设置数据库文件路径

6.6 设置数据库文件路径

控制文件

与配置文件类似,控制文件对系统的运行及性能有很大的影响,但不同的是,配置文件中的配置项可以随意更改,而控制文件中的控制信息一般在系统第一次创建完毕后就不能随意更改,所以控制文件不是一个文本文件,而是一个二进制文件。另外控制文件一旦被破坏或丢失仍就无法手工重新创建,基于这一点,对控制文件的保护显得尤为重要。

整个系统中只有一个控制文件,其中存储的控制信息包括主要数据文件路径、日志文件路径、LSN 信息等。由于控制文件对系统至关重要,如果控制文件损坏,系统将无法启动,因此,DM 允许在创建数据库时指定多个控制文件的镜像。这些控制文件的内容是一模一样的,系统每次写控制文件时会顺序对它们进行修改。如果系统在写某一个控制文件时发生硬件故障导致该文件损坏,可以通过其他的控制文件来恢复这个损坏的控制文件,之后重新启动数据库。

数据文件

“数据文件”选项卡用来指定系统表空间路径、用户表空间路径、回滚表空间路径和临时表空间路径。同时还可以指定系统表空间镜像、用户表空间镜像、回滚表空间镜像路径。三个镜像文件是分别和系统表空间、用户表空间、回滚表空间一模一样的文件,当系统表空间、用户表空间、回滚表空间文件损坏时,就可以使用相应的镜像文件来替换。

数据文件是数据库中最重要的文件类型之一,这是数据最终要存储的地方,每个数据库至少有一个与之相关的数据文件,通常情况下,将会有多个。为了理解 DM Server 如何组织这些文件,以及数据在它们内部是如何组织的,必须理解数据页和簇的概念,它们都是 DM Server 用于保存数据库对象的分配单元。

数据页是系统进行磁盘 IO 和缓冲区调度的单元,其大小在数据库创建时就固定下来了,而且一旦固定就不可更改,它们的容量也都是相同的。所有数据页的格式大致相同。

簇是数据文件中一个连续的分配空间,簇由多个数量固定的数据页组成。数据文件对空间的标识都以簇为单位,每个数据文件都维护着两条链,一条为半空簇的链,另一条为自由簇的链,其中半空链用于标识文件中所有被用过一部分的簇,自由链则标识文件中所有未被用过的簇。通常情况下,系统在分配空间时,以簇为单位分配会更有效。

日志文件

重做日志文件对于 DM Server 是至关重要的。它们用于存储数据库的事务日志,以便系统在出现系统故障和介质故障时能够进行故障恢复。在 DM Server 中,任何修改数据库的操作都会产生重做日志,这样,当系统出现故障时,通过分析日志可以知道在故障发生前系统做了哪些动作,并可以重做这些动作使系统恢复到故障之前的状态。

初始化日志

初始化日志用来指定初始化过程中生成的日志文件所在路径。

5) 初始化参数

数据文件使用的簇大小,即每次分配新的段空间时连续的页数,只能是 16 页或 32 页或 64 页,缺省使用 16 页。

数据文件使用的页大小,可以为 4K、8K、16K 或 32K,选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降,缺省使用 8K。

日志文件使用的大小,默认是 64,范围为 64 和 2048 之间的整数,单位为 M。如图 6.7 所示。

时区设置,默认是 +08:00,范围为-12:59 和 +14:00 之间,如图 6.7 所示。

页面检查,默认是不启用,选项包括不启用、简单检查、严格检查,如图 6.7 所示。

字符集,默认是 GB18030,选项包括 GB18030、Unicode、EUC-KR,如图 6.7 所示。

数据库初始化参数

图6.7 数据库初始化参数

6) 口令管理

为了数据库管理安全,提供了为数据库的 SYSDBA 和 SYSAUDITOR 系统用户指定新口令功能,如果安装版本为安全版,将会增加 SYSSSO 和 SYSDBO 用户的密码修改。用户可以选择为每个系统用户设置不同口令(留空表示使用默认口令),也可以为所有系统用户设置同一口令。口令必须是合法的字符串,不能少于 9 个或多于 48 个字符。如图 6.8 所示。

口令管理

图6.8 口令管理

7) 创建示例库

示例库 BOOKSHOP 模拟武汉代理图书的某销售公司,该公司欲建立在线购物平台来拓展其代理产品的销售渠道。该示例在 DM 各演示程序中使用。安装该示例后,将在数据库中创建 BOOKSHOP 表空间,同时创建 RESOURCES、PERSON、PRODUCTION、PURCHASING、SALES、OTHER 这 6 个模式和相关的表。

示例库 DMHR 模拟武汉达梦数据库有限公司人力资源管理系统。安装完该示例库,将创建一个模式 DMHR 和一个表空间 DMHR,在 DMHR 模式下创建 REGION、CITY、LOCATION、DEPARTMENT、JOB、EMPLOYEE、JOB_HISTORY 等 7 张表,并插入数据。

如图 6.9 所示。

创建示例库

图6.9 创建示例库

8) 创建摘要

列举创建数据库纲要,会列举创建时指定的数据库名、示例名、数据库目录、端口、控制文件路径、数据文件路径、日志文件路径、簇大小、页大小、日志文件大小、标识符大小写是否敏感、是否使用 unicode 等信息,方便用户确认创建信息是否符合自己的需求,及时返回修改。如图 6.10 所示。

创建摘要

图6.10 创建摘要

9) 创建数据库

核对完创建信息后,开始创建数据库、创建并启动实例、创建示例库。如图 6.11 所示。

创建数据库

图6.11 创建数据库

安装完成之后将显示对话框,提示安装完成或错误反馈信息,如图 6.12 所示。

创建数据库完成

图6.12 创建数据库完成

如果数据库配置工具运行在 Linux、Solaris、AIX 和 HP-UNIX 系统中,使用非 root 系统用户在创建数据库完成时,将弹出提示框,提示应以 root 系统用户执行以下命令,用来创建数据库的随机启动服务,如图 6.13 所示。

执行命令提示

图6.13 执行命令提示

6.3 使用 dminit 创建数据库

在安装 DM 的过程中,用户可以选择是否创建初始数据库,如果当时没有创建,也可以在完成安装后,利用初始化库工具 dminit 来创建。系统管理员可以利用该工具提供的各种参数,设置数据库存放路径、段页大小、是否对大小写敏感以及是否使用 unicode,创建出满足用户需要的初始数据库。该工具位于安装目录的 bin\目录下。更多详细的功能请参考《DM8_dminit 使用手册》。

在 Windows“命令提示符”窗口中输入带参数的 dminit 命令启动 dminit 工具,命令格式为 dminit [para=value][para=value]……,参数说明见表 6.1。

表6.1 dminit工具参数说明
参数 含义 取值 备注
INI_FILE 已有 INI 文件的路径,此 INI 文件用于将其所有参数值作为当前新生成 INI 文件的参数值 合法的路径。文件路径长度最大为 257(含结束符),不包括文件名 可选
PATH 初始数据库存放的路径,默认路径为 dminit.exe 当前所在的工作目录 合法的路径。文件路径长度最大为 257(含结束符),不包括文件名 可选
CTL_PATH 初始数据库控制文件的路径,默认值 windows 下是 PATH**DB_NAME\dm.ctllinux 下是/**PATH/DM_NAME/dm.ctl(粗体表示前面设置的参数) 合法的路径。文件路径长度最大为 257(含结束符),不包括文件名 可选
LOG_PATH 初始数据库日志文件的路径,默认值 windows 下是 PATH*DB_NAME\DB_NAME01.log 和 PATH*\DB_NAME\DB_NAME02.log,linux 下是 PATH**/DB_NAME/DB_NAME01.log 和 PATH/DB_NAME/DB_NAME02.log
(粗体表示前面设置的参数)
合法的路径。文件路径长度最大为 257(含结束符),不包括文件名。日志文件路径个数不超过 10 个 可选
EXTENT_SIZE 数据文件使用的簇大小,即每次分配新的段空间时连续的页数 只能是 16 页或 32 页或 64 页之一,缺省使用 16 页 可选
PAGE_SIZE 数据文件使用的页大小,可以为 4K、8K、16K 或 32K 之一,选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降,缺省使用 8K 只能是 4K、8K、16K 或 32K 之一 可选
LOG_SIZE 日志文件使用的簇大小,以 M 为单位,默认每个日志文件大小为 256M 64 和 2048 之间的整数 可选
CASE_SENSITIVE 标识符大小写敏感,默认值为 Y。当大小写敏感时,小写的标识符应用双引号括起,否则被转换为大写;当大小写不敏感时,系统不自动转换标识符的大小写,在标识符比较时也不区分大小写 只能是 Y, y, N, n,1,0 之一 可选
CHARSET/UNICODE_FLAG 字符集选项。0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR 取值 0、1 或 2 之一。默认值为 0 可选
AUTO_OVERWRITE 0 不覆盖,表示建库目录下如果没有同名文件,直接创建。如果遇到同名文件时,屏幕提示是否需要覆盖,由用户手动输入是与否(y/n,1/0); 1 部分覆盖,表示覆盖建库目录下所有同名文件; 2 完全覆盖,表示先清理掉建库目录下所有文件再重新创建。 默认值为 0。 只能是 0,1,2 之一 可选
LENGTH_IN_CHAR VARCHAR 类型对象的长度是否以字符为单位。 1:是,设置为以字符为单位时,定义长度并非真正按照字符长度调整,而是将存储长度值按照理论字符长度进行放大。所以会出现实际可插入字符数超过定义长度的情况,这种情况也是允许的。同时,存储的字节长度 8188 上限仍然不变,也就是说,即使定义列长度为 8188 字符,其实际能插入的字符串占用总字节长度仍然不能超过 8188; 0:否,所有 VARCHAR 类型对象的长度以字节为单位 取值 0 或 1。默认值为 0 可选
USE_NEW_HASH 字符类型在计算 HASH 值时所采用的 HASH 算法类别。0:原始 HASH 算法;1:改进的 HASH 算法。默认值为 1。 取值 0 或 1 可选
SYSDBA_PWD 初始化时设置 SYSDBA 的密码,默认为 SYSDBA 合法的字符串,长度在 9 到 48 个字符之间 可选
SYSAUDITOR_PWD 初始化时设置 SYSAUDITOR 的密码,默认为 SYSAUDITOR 合法的字符串,长度在 9 到 48 个字符之间 可选
DB_NAME 初始化数据库名字,默认是 DAMENG 有效的字符串,不超过 128 个字符 可选
INSTANCE_NAME 初始化数据库实例名字,默认是 DMSERVER 有效的字符串,不超过 128 个字符 可选
PORT_NUM 初始化时设置 dm.ini 中的 PORT_NUM,默认 5236 取值范围:1024~65534 可选
BUFFER 初始化时设置系统缓存大小,单位为 M,默认为 100 取值范围:8~1024*1024 可选
TIME_ZONE 初始化时区,默认是东八区 格式为[正负号]小时[:分钟](正负号和分钟为可选)。时区设置范围为:-12:59~+14:00 可选
PAGE_CHECK 是否启用页面内容校验,0:不启用;1:简单校验;2:严格校验(使用 CRC16 算法生成校验码)。默认 0 取值范围:0~2 可选
DSC_node 高性能集群的节点数目 取值范围 2~16,单站点时不写 可选
EXTERNAL_CIPHER_NAME 设置默认加密算法 有效的字符串,不超过 128 个字符 可选
EXTERNAL_HASH_NAME 设置默认 HASH 算法 有效的字符串,不超过 128 个字符 可选
EXTERNAL_CRYPTO_NAME 设置根密钥加密引擎 有效的字符串,不超过 128 个字符 可选
ENCRYPT_NAME 全库加密密钥使用的算法名。算法可以是 DM 内部支持的加密算法,或者是第三方的加密算法。默认使用"AES256_ECB"算法加密 合法的字符串,最长为 128 个字节 可选
RLOG_ENC_FLAG 设置联机日志文件和归档日志文件是否加密 取值 Y/N,y/n,1/0,默认 N 可选
USBKEY_PIN USBKEY PIN,用于加密服务器根密钥 合法的字符串,最长为 48 个字节 可选
PAGE_ENC_SLICE_SIZE 数据页加密分片大小 可配置大小为 0、512 或 4096,单位为 byte。默认值为 4096。其中,0 表示不按分片进行加解密。 可选
BLANK_PAD_MODE 设置字符串比较时,结尾空格填充模式是否兼容 ORACLE 取值 0 或 1。0 不兼容,1 兼容。默认为 0 可选
SYSTEM_MIRROR_PATH 指定 system.dbf 文件的镜像路径 绝对路径,默认为空 可选
MAIN_MIRROR_PATH 指定 main.dbf 文件的镜像路径 绝对路径,默认为空 可选
ROLL_MIRROR_PATH 指定 roll.dbf 文件的镜像路径 绝对路径,默认为空 可选
MAL_FLAG 初始化时设置 dm.ini 中的 MAL_INI,默认 0 取值 0 或 1 可选
ARCH_FLAG 初始化时设置 dm.ini 中的 ARCH_INI,默认 0 取值 0 或 1 可选
MPP_FLAG Mpp 系统内的库初始化时设置 dm.ini 中的 mpp_ini,默认 0。 取值 0 或 1 可选
CONTROL 指定初始化配置文件路径。初始化配置文件是一个保存了各数据文件路径设置等信息的文本。使用 control 初始化时,若文件已存在,系统会屏幕打印提示,然后直接覆盖 主要用于将数据文件放在裸设备或 DSC 环境下 可选
SYSSSO_PWD 初始化时设置 SYSSSO 的密码,默认为 SYSSSO,仅在安全版本下可见和可设置 合法的字符串,长度在 6 到 48 个字符之间 可选
SYSDBO_PWD 初始化时设置 SYSdbo 的密码,默认为 SYSdbo,仅在安全版本下可见和可设置 合法的字符串,长度在 6 到 48 个字符之间 可选
PRIV_FLAG 是否是四权分立。默认值为 0(不使用),四权分立的具体权限见《DM8 安全管理》。默认情况下,使用三权分立。 仅在安全版本下可见和可设置 只能是 0 或 1 可选
ELOG_PATH 指定初始化过程中生成的日志文件所在路径 合法的路径。文件路径长度最大为 257(含结束符),不包括文件名 可选
HUGE_WITH_DELTA 是否仅支持创建事务型 HUGE 表 取值:1 是;0 否。默认值为 1 可选
RLOG_GEN_FOR_HUGE 是否生成 HUGE 表 REDO 日志 取值:1 是;0 否。默认值为 0 可选
PSEG_MGR_FLAG 是否仅使用管理段记录事务信息 取值:1 是;0 否。默认值为 0 可选
HELP 显示帮助信息 可选

说明:dminit 一般是要有参数的,如果没有带参数,系统就会引导用户设置。另外,参数、等号和值之间不能有空格。Help 参数的后面不用添加’=’号。

命令举例:

  dminit PATH=c:\dmdata PAGE_SIZE=16

如果创建成功,则屏幕显示如图 6.13 所示。此时在 c 盘根目录下出现 dmData 文件夹,内容包含初始数据库 DAMENG 的相关文件和初始化文件 dm.ini。将 dm.ini 文件拷贝到 DM 安装目录的 bin 下,DM 服务器就可以启动该初始数据库了。

创建成功后的屏幕显示

图6.14 创建成功后的屏幕显示

6.4 注册数据库服务

注册数据库服务,该功能用于将使用命令行工具生成的数据库,重新注册成系统服务,方便用户管理与控制。

用户注册数据库服务可以通过图形化界面和 shell 脚本两种方式,本节讲述的是通过数据库配置工具注册数据库服务,通过 shell 脚本注册数据库服务详细操作请参见《DM8_Linux 服务脚本手册》。如图 6.16 所示。

选择操作方式

图6.16 选择操作方式

用户选择 dm.ini 文件来注册相应的数据库,并可修改相应的端口号和实例名,也可以选择是否以配置状态启动数据库,如图 6.17 所示。

注册数据库服务

图6.17注册数据库服务

正在注册数据库服务,如图 6.18 所示。

注册数据库服务

图6.18注册数据库服务

注册完成之后将显示对话框,提示完成或错误反馈信息,如图 6.19 所示。

注册数据库完成

图6.19 注册数据库完成

6.5 查看数据库信息

登录 DM 管理工具,通过表空间属性,可以查看数据文件路径、总空间大小、空闲空间大小、使用率。如图 6.20 所示。

查看数据文件

图6.20 查看数据文件

通过 DM 控制台工具,查看实例配置属性,如图 6.21 所示,可以查看到如下信息:文件位置、实例名、内存池和缓冲区、线程、查询、检查点、输入输出、数据库、日志、事务、安全、兼容性、请求跟踪、进程守护、ORACLE 数据类型兼容和配置文件。

查看数据文件

图6.21 查看数据文件

6.6 删除数据库

删除数据库,包括删除数据库的数据文件、日志文件、控制文件和初始化参数文件。为了保证删除数据库成功,必须保证 dmserver 已关闭。

可以使用数据库配置工具来删除数据库。如图 6.22 所示。

选择操作方式

图6.22 选择操作方式

根据数据库名称,选择要删除的数据库,如图 6.23 所示,也可以通过指定数据库配置文件删除数据库。

要删除的数据库

图6.23 要删除的数据库

确认将删除的数据库名、实例名、数据库目录,如图 6.24 所示。

删除数据库概要

图6.24 删除数据库概要

首先停止实例,然后删除实例,最后删除数据库,如图 6.25 所示。

删除数据库

图6.25 删除数据库

删除完成之后将显示对话框,提示完成或错误反馈信息,如图 6.26 所示。

删除数据库完成

图6.26 删除数据库完成

如果数据库配置工具运行在 Linux、Solaris、AIX 和 HP-UNIX 系统中,使用非 root 系统用户在删除数据库完成时,将弹出提示框,提示应以 root 系统用户执行以下命令,用来删除数据库的随机启动服务,如图 6.27 所示。

执行命令提示

图6.27 执行命令提示

6.7 删除数据库服务

删除数据库服务,只删除用于启动和停止数据库的服务文件,不会删除数据库的数据文件、日志文件、控制文件和初始化参数文件。

用户删除数据库服务可以通过图形化界面和 shell 脚本两种方式,本节讲述的是通过数据库配置工具删除数据库服务,通过 shell 脚本删除数据库服务详细操作请参见 7.8 节 数据库服务配置脚本。如图 6.28 所示。

选择操作方式

图6.28 选择操作方式

根据数据库服务名称,选择要删除的数据库服务,如图 6.29 所示,也可以通过指定数据库配置文件删除数据库服务。

要删除的数据库服务

图6.29 要删除的数据库服务

确认将删除的数据库名、实例名、数据库服务名、数据库目录,如图 6.30 所示。

删除数据库概要

图6.30 删除数据库概要

首先检查数据库服务,然后删除数据库服务,如图 6.31 所示。

删除数据库服务

图6.31 删除数据库服务

删除完成之后将显示对话框,提示完成或错误反馈信息,如图 6.32 所示。

删除数据库服务完成

图6.32 删除数据库服务完成

如果数据库配置工具运行在 Linux、Solaris、AIX 和 HP-UNIX 系统中,使用非 root 系统用户在删除数据库服务完成时,将弹出提示框,提示应以 root 系统用户执行以下命令,用来删除数据库的随机启动服务,如图 6.33 所示。

执行命令提示

图6.33 执行命令提示
微信扫码
分享文档
扫一扫
联系客服