DM8达梦数据库的安装、实例初始化、数据库启停、表、视图、索引、模式的概念及理解
达梦数据库管理系统(以下简称 DM)是基于客户/服务器方式的数据库管理系统,可以安装在多种计算机操作系统平台上,典型的操作系统有:Windows(Windows2000/2003/XP/Vista/7/8/10/Server 等)、Linux、HP-UNIX、Solaris、FreeBSD 和 AIX 等。对于不同的系统平台,有不同的安装步骤。在安装 DM8 之前,请用户仔细阅读DM8安装手册,手
DM8达梦数据库的安装、实例初始化、数据库启停、表、视图、索引、模式的概念及理解
1、安装简介
达梦数据库管理系统(以下简称 DM)是基于客户/服务器方式的数据库管理系统,可以安装在多种计算机操作系统平台上,典型的操作系统有:Windows(Windows2000/2003/XP/Vista/7/8/10/Server 等)、Linux、HP-UNIX、Solaris、FreeBSD 和 AIX 等。对于不同的系统平台,有不同的安装步骤。
在安装 DM8 之前,请用户仔细阅读DM8安装手册,手册包含了重要的安装指导信息。在安装开始之前,首先应该检查所得到的 DM 产品是否完整,并准备好 DM 所需的硬件环境、软件环境。
DM 安装成功后,可在安装目录的 doc 子目录下找到 DM 的其他用户手册和技术文档。
1.1 硬件环境需求
用户应根据 DM 及应用系统的需求来选择合适的硬件配置,如 CPU 的指标、内存及磁盘容量等。档次一般应尽可能高一些,尤其是作为数据库服务器的机器,基于 Java 的程序运行时最好有较大的内存。其它设备如 UPS 等在重要应用中也应考虑。下面给出安装 DM 所需的硬件基本配置:
名称 | 要求 |
---|---|
CPU | Intel Pentium4(建议 Pentium 41.6G 以上)处理器 |
内存 | 256M(建议 512M 以上) |
硬盘 | 5G 以上可用空间 |
网卡 | 10M 以上支持 TCP/IP 协议的网卡 |
光驱 | 32 倍速以上光驱 |
显卡支持 | 1024768256 以上彩色显示 |
显示器 | SVGA 显示器 |
键盘/鼠标 | 普通键盘/鼠标 |
1.2 软件环境需求
运行 DM 所要求的软件环境主要有:
名称 | 要求 |
---|---|
操作系统 | Windows(简体中文服务器版 sp2 以上)/Linux(glibc2.3 以上,内核 2.6,已安装 KDE/GNOME 桌面环境,建议预先安装 UnixODBC 组件) |
网络协议 | TCP/IP |
系统盘 | 至少 1G 以上的剩余空间 |
2、Linux下安装(命令行)步骤
2.1创建安装用户
为了减少对操作系统的影响,用户不应该以 root 系统用户来安装和运行 DM。用户可以在安装之前为 DM 创建一个专用的系统用户。可参考以下示例创建系统用户和组(并指定用户 ID 和组 ID),具体细节可向系统管理员咨询。
1.创建安装用户组 dinstall。
groupadd -g 12349 dinstall
2.创建安装用户 dmdba。
useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
3.初始化用户密码。
passwd dmdba
4.之后通过系统提示进行密码设置。
注意:创建安装系统用户完成后,安装手册之后的操作默认使用安装系统用户进行操作。
2.2 Linux(Unix)下检查操作系统限制
在 Linux(Unix)系统中,因为 ulimit 命令的存在,会对程序使用操作系统资源进行限制。为了使 DM 能够正常运行,建议用户检查当前安装用户的 ulimit 参数。
运行 ulimit -a 进行查询。如下图所示:
参数使用限制:
1.data seg size
data seg size (kbytes, -d)
建议用户设置为 1048576(即 1GB)以上或 unlimited(无限制),此参数过小将导致数据库启动失败。
2. file size
file size(blocks, -f)
建议用户设置为 unlimited(无限制),此参数过小将导致数据库安装或初始化失败。
3. open files
open files(-n)
建议用户设置为 65536 以上或 unlimited(无限制)。
4.virtual memory
virtual memory (kbytes, -v)
建议用户设置为 1048576(即 1GB)以上或 unlimited(无限制),此参数过小将导致数据库启动失败。
如果用户需要为当前安装用户更改 ulimit 的资源限制,请修改文件/etc/security/limits.conf。
2.3 安装DM8
用户应登录或切换到安装系统用户,进行以下安装步骤的操作(注:不建议使用 root 系统用户进行安装)。
将 DM 安装光盘放入光驱,然后加载(mount)光驱。一般可以通过执行下面的命令来加载光驱:
mount /dev/sr0 /mnt/cdrom
这里假定光驱对应的文件为/dev/cdrom 且目标路径/mnt/cdrom 已存在。
加载(mount)光驱后,在/mnt/cdrom 目录下存在 DMInstall.bin 文件,DMInstall.bin 文件就是 DM 的安装程序。在运行安装程序前,需要赋予 DMInstall.bin 文件执行权限。具体命令如下所示:
chmod 755 ./DMInstall.bin
需要注意的是,使用mount命令挂载ISO,ISO文件是write-protected状态,只能以read-only模式挂载,挂载后无法赋予DMInstall.bin文件执行权限。
解决方法:查看技术文档常见问题专栏,把安装文件复制到可以执行的本地盘目录中,然后再赋予DMInstall.bin文件执行权限。
2.4 命令行安装
在终端进入到安装程序所在文件夹,执行以下命令进行命令行安装:
./DMInstall.bin -i
步骤 1:选择安装语言
请根据系统配置选择相应语言,输入选项,回车进行下一步。如下图所示:
如果当前操作系统中已存在 DM,将在终端弹出提示,输入选项:继续,将进行下一步的命令行安装,否则退出命令行安装。如下图所示:
注意 : 若操作系统中已安装 DM,重新安装前,应完全卸载已存在的 DM。并且在重新安装前,务必备份好数据。
步骤 2:验证 Key 文件
用户可以选择是否输入 Key 文件路径。不输入则进入下一步安装,输入 Key 文件路径,安装程序将显示 Key 文件的详细信息,如果是合法的 Key 文件且在有效期内,用户可以继续安装。如下图所示:
步骤 3:输入时区
用户可以选择 DM 的时区信息。如下图所示:
步骤 4:选择安装类型
命令行安装与图形化安装的选择的安装类型是一样。如下图所示:
用户选择安装类型需要手动输入,默认是典型安装。如果用户选择自定义安装,将打印全部安装组件信息。用户通过命令行窗口输入要安装的组件序号,选择多个安装组件时需要使用空格进行间隔。输入完需要安装的组件序号后回车,将打印安装选择组件所需要的存储空间大小。
步骤 4:选择安装路径
用户可以输入 DM 的安装路径,不输入则使用默认路径,默认值为$HOME/dmdbms(如果安装用户为 root,则默认安装目录为/opt/dmdbms,但不建议使用 root 系统用户来安装 DM)。
如下图所示:
安装程序将打印当前安装路径的可用空间,如果空间不足,用户需重新选择安装路径。如果当前安装路径可用空间足够,用户需进行确认。不确认,则重新选择安装路径,确认,则进入下一步骤。
步骤 5:安装小结
安装程序将打印用户之前输入的部分安装信息。如下图所示:
用户对安装信息进行确认。不确认,则退出安装程序,确认,进行 DM 的安装。
步骤 6:安装
注意 : 安装完成后,终端提示“请以 root 系统用户执行命令”。由于使用非 root 系统用户进行安装,所以部分安装步骤没有相应的系统权限,需要用户手动执行相关命令。用户可根据提示完成相关操作。
安装过程中可能会提示TMP空间不足,无法安装,如图2.48所示。
解决方法:指定临时目录,使用mkdir命令创建目录,然后使用export DM_INSTALL_TMPDIR=指定的临时目录,命令如图2.49所示。
2.5 使用dminit创建数据库实例
dminit 是 DM 数据库初始化工具。在安装 DM 的过程中,用户可以选择是否创建初始数据库。如果当时没有创建,那么在安装完成之后,可以利用创建数据库工具 dminit 来创建。
系统管理员可以利用 dminit 工具提供的各种参数,设置数据库存放路径、段页大小、是否对大小写敏感、以及是否使用 UNICODE 等,创建出满足用户需要的数据库。该工具位于安装目录的 /bin目录下。
dminit 工具需要从命令行启动。找到 dminit 所在安装目录 /bin,输入 dminit 和参数后回车。参数在下一节详细介绍。
语法如下:
dminit KEYWORD=value { KEYWORD=value }
KEYWORD:dminit 参数关键字。多个参数之间排列顺序无影响,参数之间使用空格间隔。
初始化一个数据库,放在/home/dmdba/dmdbms目录下,日志文件目录是/home/dmdba/dmdbms,数据文件使用的簇大小为32,数据文件使用的页大小为16,日志文件大小为512,初始化数据库名称为Dm_1,初始化数据库实例名称为Dmserver$1, 初始化设置数据库服务器监听端口号为5237。命令如图2.5所示。
如果创建成功,则屏幕显示如下
initdb V8
db version: 0x7000a
create dm database success. 2023-08-15 11:16:29
此时在/home/dmdba/dmdbms目录下会出现一个Dm_1文件夹,内容包含初始数据库 Dm_1 的相关文件和 DM 数据库启动所必须的配置文件 dm.ini。
2.6 使用脚本注册数据库服务
DM 提供了将 DM 服务脚本注册成操作系统服务的脚本,同时也提供了卸载操作系统服务的脚本。注册和卸载脚本文件所在目录为安装目录的“/scripts/root”子目录下。
注册服务脚本为 dm_service_installer.sh,用户可以使用注册服务脚本将服务脚本注册成为操作系统服务,命令参数如下所示:
标志 | 参数 | 说明 |
---|---|---|
-t | 服务类型 | 注册服务类型,支持一下服务类型:dmap、dmamon、dmserver、dmwatcher、dmmonitor、dmasmsvr、dmasmsvrm、dmcss、dmcssm。 |
-p | 服务名后缀 | 指定服务名后缀,生成的操作系统服务名为“服务脚本模板名称 + 服务名后缀”。此参数只针对 dmserver、dmwatcher、dmmonitor、dmasmsvr、dmasmsvrm、dmcss、dmcssm 服务脚本生效。 |
-dm_ini | INI文件路径 | 指定服务所需要的 dm.ini 文件路径。 |
-watcher_ini | INI文件路径 | 指定服务所需要的 dmwatcher.ini 文件路径。 |
-monitor_ini | INI 文件路径 | 指定服务所需要的 dmmonitor.ini 文件路径。 |
-dcr_ini | INI 文件路径 | 指定服务所需要的 dmdcr.ini 文件路径。 |
-cssm_ini | INI 文件路径 | 指定服务所需要的 dmcssm.ini 文件路径。 |
-server | 连接信息 | 指定服务器连接信息(IP:PORT) |
-m | open 或 mount | 指定数据库的启动模式 open 或 mount。此参数只针对 dmserver 服务类型生效,可选。 |
-s | 服务脚本文件路径 | 如果设置此参数则忽略除-y 外的其他所有参数。指定服务脚本全路径 |
-y | 服务名 | 设置依赖服务,此选项只针对 systemd 服务环境下的 dmserver、dmasmsvr、dmasmsvrm 服务生效 |
-h | - | 帮助 |
使用方法:
操作之前,需要使用 root 系统用户登录或切换至 root 系统用户。
以下示例为创建数据库实例的系统服务,数据库 dm.ini 所在路径为/home/dmdba/dmdbms/Dm_1/dm.ini,系统服务后缀为 DMSERVER1。
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/Dm_1/dm.ini -p DMSERVER1
注册脚本将注册达梦数据库实例服务 DmServiceDMSERVER1。
2.7 启动和停止数据库服务
注册后可以去到/bin目录下找到实例服务 DmServiceDMSERVER1。
服务使用命令
服务脚本支持的命令包括:
start|stop|status|condrestart|restart
以下内容将以服务脚本 DmServiceDMSERVER 为示例。
start
启动服务命令,启动命令如下:
./DmServiceDMSERVER start
启动服务成功,将打印 [ok] 字样。如果服务启动失败,将打印 [cancel]字样,并打印启动服务失败的详细信息。
stop
停止服务命令,停止命令如下:
./DmServiceDMSERVER stop
停止服务成功,将打印 [ok] 字样。
注意
如果服务停止失败,服务脚本将循环去关闭服务进程,服务脚本不会主动强杀服务进程,此时需要用户手动停止服务进程。
status
查询服务状态,查询命令如下:
./DmServiceDMSERVER status
##打印信息如下
##服务DmServiceDMSERVER正在运行
DmServiceDMSERVER (pid pid_num) is running...
##服务DmServiceDMSERVER已停止
DmServiceDMSERVER is stopped
##服务DmServiceDMSERVER已停止,但PID文件还存在
DmServiceDMSERVER dead but pid file exists
restart
重启服务命令,重启命令如下:
./DmServiceDMSERVER restart
##重启服务命令等同于
./DmServiceDMSERVER stop
./DmServiceDMSERVER start
condrestart
condrestart 也属于重启命令,但增加了确认条件。如果服务正在运行,等同于 restart 命令。如果服务没有在运行,打印消息如下:
DmServiceDMSERVER service is not running.
3、表、视图、索引、模式的概念及理解
3.1 表
表是数据库中数据存储的基本单元,是对用户数据进行读和操纵的逻辑实体。表由列和行组成,每一行代表一个单独的记录。表中包含一组固定的列,表中的列描述该表所跟踪的实体的属性,每个列都有一个名字及各自的特性。
为了确保数据库中数据的一致性和完整性,在创建表时可以定义表的实体完整性、域完整性和参考完整性。实体完整性定义表中的所有行能唯一地标识,一般用主键、唯一索引、UNIQUE 关键字及 IDENTITY 属性来定义;域完整性通常指数据的有效性,限制数据类型、缺省值、规则、约束、是否可以为空等条件,域完整性可以确保不会输入无效的值;参考完整性维护表间数据的有效性、完整性,通常通过建立外键联系另一表的主键来实现。
3.2 视图
视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制,它简化了用户数据模型,提供了逻辑数据独立性,实现了数据共享和数据的安全保密。视图是数据库技术中一个十分重要的功能。从系统实现的角度讲,视图是从一个或几个基表(或视图)导出的表,但它是一个虚表,即数据字典中只存放视图的定义(由视图名和查询语句组成),而不存放对应的数据,这些数据仍存放在原来的基表中。当对一个视图进行查询时,视图将查询其对应的基表,并且将所查询的结果以视图所规定的格式和次序进行返回。因此当基表中的数据发生变化时,从视图中查询出的数据也随之改变了。从用户的角度来讲,视图就像一个窗口,透过它可以看到数据库中用户感兴趣的数据和变化。当用户所需的数据是一张表的部分列、或部分行,或者数据是分散在多个表中,那么就可以创建视图来将这些满足条件的行和列组织到一个表,而不需要修改表的属性、甚至创建新的表。这样不仅简化了用户的操作,还可以提高数据的逻辑独立性,实现数据的共享和保密。
3.3 索引
视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制,它简化了用户数据模型,提供了逻辑数据独立性,实现了数据共享和数据的安全保密。视图是数据库技术中一个十分重要的功能。从系统实现的角度讲,视图是从一个或几个基表(或视图)导出的表,但它是一个虚表,即数据字典中只存放视图的定义(由视图名和查询语句组成),而不存放对应的数据,这些数据仍存放在原来的基表中。当对一个视图进行查询时,视图将查询其对应的基表,并且将所查询的结果以视图所规定的格式和次序进行返回。因此当基表中的数据发生变化时,从视图中查询出的数据也随之改变了。从用户的角度来讲,视图就像一个窗口,透过它可以看到数据库中用户感兴趣的数据和变化。当用户所需的数据是一张表的部分列、或部分行,或者数据是分散在多个表中,那么就可以创建视图来将这些满足条件的行和列组织到一个表,而不需要修改表的属性、甚至创建新的表。这样不仅简化了用户的操作,还可以提高数据的逻辑独立性,实现数据的共享和保密。
3.4 模式
用户的模式(Schema)指的是用户账号拥有的对象集,在概念上可将其看作是包含表、视图、索引和权限定义的对象。在 DM 中,一个用户可以创建多个模式,一个模式中的对象(表、视图等)可以被多个用户使用。模式不是严格分离的,一个用户可以访问他所连接的数据库中有权限访问的任意模式中的对象。
系统为每一个用户自动建立了一个与用户名同名的模式作为其默认模式,用户还可以用模式定义语句建立其它模式。
采用模式的原因有几点:
- 允许多个用户使用一个数据库而不会干扰其它用户;
- 把数据库对象组织成逻辑组,让它们更便于管理;
- 第三方的应用可以放在不同的模式中,这样可以避免和其它对象的名字冲突。模式类似于操作系统层次的目录,只不过模式不能嵌套。
DM 模式可以通过 SQL 语句进行操作。DM 模式主要包含以下的模式对象:
表;
视图;
索引;
触发器;
存储过程/函数;
序列;
全文索引;
包;
同义词;
类;
外部链接。
在引用模式对象的时候,一般要在模式对象名前面加上模式名。具体格式如下:
[模式名].对象名
当然,在当前模式和要引用的模式对象所属的模式相同时,可以省略模式名。如果我们访问一个表时,没有指明该表属于哪一个模式,系统就会自动给我们在表前加上缺省的模式名。类似地,如果我们在创建对象时不指定该对象的模式,则该对象的模式为用户的缺省模式。
模式对象之外的其他对象统一称为非模式对象,非模式对象主要包括以下几种对象:
用户;
角色;
权限;
表空间。
更多推荐
所有评论(0)