目录
场景:
安装准备
安装
新建 dmdba 用户
修改文件打开最大数
创建实例保存目录、归档保存目录、备份保存目录。
挂载镜像,命令行安装
编辑 配置环境变量
配置实例-命令行方式初始化实例
命令行注册服务
命令行启停数据库
数据库连接测试
使用达梦迁移工具DTS迁移数据
使用linux命令行工具迁移达梦数据
场景:
数据库由Oracle更换为达梦数据库,数据迁移时首先在Windows本机中安装了达梦,使用达梦的DTS数据迁移工具,可以很方便的完成数据迁移,但是数据量大,迁移效率比较低。在linux安装达梦,使用脚本迁移测试。
阿里云测试环境系统是
安装准备
参考文章:达梦官网
安装前准备 | 达梦技术文档
准备安装包,官网直接下载
产品下载 | 达梦数据库
安装
新建 dmdba 用户
注意安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库。
创建用户所在的组,命令如下:
groupadd dinstall -g 2001
创建用户,命令如下:
useradd -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba
修改用户密码,命令如下:
passwd dmdba
修改文件打开最大数
在 Linux、Solaris、AIX 和 HP-UNIX 等系统中,操作系统默认会对程序使用资源进行限制。如果不取消对应的限制,则数据库的性能将会受到影响。
使用 root 用户打开 /etc/security/limits.conf
文件进行修改,命令如下:
vi /etc/security/limits.conf
在最后需要添加如下配置:
dmdba soft nice 0
dmdba hard nice 0
dmdba soft as unlimited
dmdba hard as unlimited
dmdba soft fsize unlimited
dmdba hard fsize unlimited
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft data unlimited
dmdba hard data unlimited
- 设置参数临时生效
可使用 dmdba 用户执行如下命令,使设置临时生效:
ulimit -n 65536
ulimit -u 65536
创建实例保存目录、归档保存目录、备份保存目录。
##实例保存目录
mkdir -p /dmdata/data
##归档保存目录
mkdir -p /dmdata/arch
##备份保存目录
mkdir -p /dmdata/dmbak
将新建的路径目录权限的用户修改为 dmdba,用户组修改为 dinstall。命令如下:
chown -R dmdba:dinstall /dmdata/data
chown -R dmdba:dinstall /dmdata/arch
chown -R dmdba:dinstall /dmdata/dmbak
给路径下的文件设置 755 权限。命令如下:
chmod -R 755 /dmdata/data
chmod -R 755 /dmdata/arch
chmod -R 755 /dmdata/dmbak
挂载镜像,命令行安装
切换到 root 用户,将 DM 数据库的 iso 安装包保存在任意位置,我这里传到/root 目录下,执行如下命令挂载镜像:
cd /root
mount -o loop dm8_20240712_x86_rh7_64.iso /mnt
切换至 dmdba 用户下,在 /mnt 目录下使用命令行安装数据库程序,依次执行以下命令安装 DM 数据库。
./DMInstall.bin -i
看提示选择对应安装选项
数据库安装完成后,需要切换至 root 用户,执行脚本
/home/dmdba/dmdbms/script/root/root_installer.sh
创建 DmAPService,否则会影响数据库备份。
配置环境变量
进入dmdba 用户的根目录下,配置对应的环境变量。DM_HOME 变量和动态链接库文件的加载路径在程序安装成功后会自动导入
cd /home/dmdba/
vim .bash_profile
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
保存文件后,执行命令生效
source .bash_profile
配置实例-命令行方式初始化实例
使用 dmdba 用户配置实例,进入到 DM 数据库安装目录下的 bin 目录中。
cd /home/dmdba/dmdbms/bin
使用 dminit 命令初始化实例,dminit 命令可设置多种参数,可执行如下命令查看可配置参数。
./dminit help
需要注意的是 页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 、空格填充模式 (BLANK_PAD_MODE) 、页检查模式(PAGE CHECK) 等部分参数,一旦确定无法修改,在初始化实例时确认需求后谨慎设置。
以下命令设置大小写敏感,字符集为 utf_8,数据库名为 DMTEST,实例名为 DBSERVER,端口为 5237。
./dminit path=/dmdata/data CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMTEST INSTANCE_NAME=DBSERVER PORT_NUM=5237
命令行注册服务
DM 提供了将 DM 服务脚本注册成操作系统服务的脚本,同时也提供了卸载操作系统服务的脚本。注册和卸载脚本文件所在目录为安装目录的“/script/root”子目录下。
注册服务脚本为 dm_service_installer.sh,用户可以使用注册服务脚本将服务脚本注册成为操作系统服务。注册服务需使用 root 用户进行注册,使用 root 用户进入数据库安装目录的 /script/root
下,如下所示:
cd /home/dmdba/dmdbms/script/root/
[root@localhost root]# ./dm_service_installer.sh -t dmserver -dm_ini /dmdata/data/DMTEST/dm.ini -p DMTEST
进入数据安装目录下 bin 目录中
cd /home/dmdba/dmdbms/bin
可以看到已经注册好的服务 DmServiceDMTEST。
命令行启停数据库
服务注册成功后,启动数据库。
使用 dmdba 用户进入 DM 安装目录下的 bin 目录下,启动数据库,如下所示:
cd /home/dmdba/dmdbms/bin
#启动
./DmServiceDMTEST start
#停止
./DmServiceDMTEST stop
#重启
./DmServiceDMTEST restart
#查看状态
./DmServiceDMTEST status
数据库连接测试
达梦库安装好了使用默认的管理员账号SYSDBA登录,密码也是SYSDBA
登录后可以创建用户,修改密码等
使用达梦迁移工具DTS迁移数据
安装Windows达梦数据库时,有选项,可以选择仅安装客户端,会包括DM数据迁移工具。
新建迁移
因为是测试,连接自己的pg测试库进行
分别写上源端和目标端的数据库信息
指定模式时可以修改目的模式,若目的模式在达梦库不存在会新建,但要注意的是,新建模式后无法再新建用户,所以最好在迁移前把对应的用户建好。
实际迁移时,因为表多存在外键等约束,建议分三次迁移,第一次只选择表定义;第二次只选择数据,第三次选择约束、索引等。
参考达梦官网对迁移的各种介绍:
从 Oracle 迁移到 DM | 达梦技术文档
使用linux命令行工具迁移达梦数据
DTS是达梦数据库自带的数据迁移工具,大家平时更多的是使用图形化界面的DTS,图形化界面直观易懂,易于配置,使用起来方便。
但是在只有命令行界面的情况下,就需要用到DTS的命令行工具dts_cmd_run.sh,这个工具和DTS图形化工具位于同一个位置,都在达梦安装路径的tool目录中。
步骤:
1.拷贝源代码脚本,在Windows下使用迁移工具选择好待迁移数据对象后,点击左下角的“源代码”,源代码生成xml文件。
在linux服务器上拷贝源代码到pg_to_dm.xml
执行脚本:
/home/dmdba/dmdbms/tool/dts_cmd_run.sh config file=/home/dmdba/dts_cmd/pg_to_dm.xml report=/home/dmdba/dts_cmd log=/home/dmdba/dts_cmd err_log=/home/dmdba/dts_cmd
dts_cmd_run.sh 的配置文件说明
迁移完成