DAMENG 命令行工具笔记
引言本文介绍《达梦命令行工具介绍》涵盖 DM 数据库在初始化、数据装载、备份还原及日常运维中常用的命令行工具及其基本用法。一、初始化库及数据库交互1.1 dminit —— 数据库初始化工具功能设置数据库存放路径、段页大小、大小写敏感、字符集等参数。常用参数PATH、EXTENT_SIZE、PAGE_SIZE、CASE_SENSITIVE、CHARSET/UNICODE_FLAG、DB_NAME、PORT_NUM、ARCH_FLAG、AUTO_OVERWRITE 等。示例# 初始化数据库 ./dminit path/data/sda/data db_namedb_dm port_num3366 启动服务器 ./dmserver /data/sda/data/db_dm/dm.ini1.2 disql —— 命令行客户端工具功能与 DM 数据库服务器交互识别用户输入并将 SQL 语句打包发送给服务器执行接收并展示执行结果。启动方式程序菜单或命令行方式。登录/退出登录使用disql命令连接数据库可查看帮助disql help切换登录login/logout或conn/disconn退出exit/quit/CtrlC。常用命令HELP、SPOOL、HOST、DESCRIBE、DEFINE/COLUMN、EXPLAIN、WHENEVER、MORE、LIST以及使用 插入大对象数据等。执行脚本执行start D:\test.sql或D:\test.sql编辑edit D:\test.sql变量传参脚本中使用1、2等占位执行时按顺序传值。二、装载数据2.1 dmfldr —— 快速数据装载工具功能将按固定格式排列的文本数据快速载入 DM 数据库或将数据库数据导出为文本文件。常用参数USERID连接信息CONTROL控制文件LOG日志文件默认 fldr.logBADFILE错误记录文件默认 fldr.badSKIP初始忽略行数默认 0LOAD装载行数默认 ALLROWS提交频次默认 50000DIRECTFALSE 时有效DIRECT快速装载方式默认 TRUEERRORS允许的最大错误数默认 100CHARACTER_CODE字符编码GBK、UTF-8 等MODEIN 载入/OUT 载出/OUTORA 载出 OracleLOB_DIRECTORY/LOB_FILE_NAME大字段目录及文件名。示例-- 数据文件 data.txt 1|a 2|b -- 控制文件 ctrl.txt LOAD DATA INFILE d:\data.txt INTO TABLE T FIELDS | -- 建表 create table t(x int, y varchar); -- 载入 dmfldr sysdba controld:\ctrl.txt三、备份还原3.1 dexp / dimp —— 逻辑备份还原工具功能备份还原数据库逻辑组件表、视图、存储过程等支持数据库级、用户级、模式级、表级四种粒度。dexp 常用参数USERID、FILE导出文件默认 dexp.dmp、DIRECTORY、FULL、OWNER、SCHEMAS、TABLES 等。dimp 常用参数USERID、FILE导入文件名称默认 dexp.dmp、DIRECTORY、FULL、OWNER、SCHEMAS、TABLES、REMAP_SCHEMA 等。示例-- 数据准备 CREATE USER TEST IDENTIFIED BY 111111111; GRANT DBA TO TEST; CREATE USER TEST1 IDENTIFIED BY 111111111; GRANT DBA TO TEST1; CREATE TABLE TEST.TEST (Q CHAR(10), A CHAR(10)) STORAGE(ON MAIN, CLUSTERBTR); -- 导出 ./dexp SYSDBA/SYSDBA192.168.100.164:16437 FILETEST.dmp OWNER(TEST) -- 导入模式映射 ./dimp SYSDBA/SYSDBA192.168.100.164:16437 FILETEST.dmp REMAP_SCHEMATEST:TEST13.2 dmrman —— 物理备份还原工具基本原理备份从数据库文件中拷贝有效数据页保存到备份集还原/恢复将备份集中的有效数据页重新写入目标数据文件。故障恢复示例-- 1. 创建源库 D1配置归档 ./dminit path/opt/dmdbms/data ./dmserver /opt/dmdbms/data/DAMENG/dm.ini ALTER DATABASE MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE ADD ARCHIVELOG DEST /home/dm_arch/arch, TYPE local, FILE_SIZE 1024, SPACE_LIMIT 2048; ALTER DATABASE OPEN; -- 2. 操作数据库同时备份 DROP TABLE TAB_FOR_RECOVER; CREATE TABLE TAB_FOR_RECOVER(C1 INT); -- 循环插入数据另一会话执行 BACKUP DATABASE FULL TO B1 BACKUPSET /home/dm_bak/B1 DEVICE TYPE DISK BACKUPINFO DAMENG FULL BACKUP ONLINE MAXPIECESIZE 2048; -- 3. 模拟故障后创建目标库 D2 ./dminit path/opt/dmdbms/data db_nameDAMENG_FOR_RES -- 4. dmrman 还原与恢复 RESTORE DATABASE /opt/dmdbms/data/DAMENG_FOR_RES/dm.ini FROM BACKUPSET /home/dm_bak/B1; RECOVER DATABASE /opt/dmdbms/data/DAMENG_FOR_RES/dm.ini WITH ARCHIVEDIR /home/dm_arch/arch; RECOVER DATABASE /opt/dmdbms/data/DAMENG_FOR_RES/dm.ini UPDATE DB_MAGIC;四、其他运维工具4.1 dmdbchk —— 数据库完整性校验校验数据库物理存储结构与对象信息的合法性。./dmdbchk path/home/test/data/DAMENG/dm.ini4.2 dmlcvt —— 日志解析获取联机或归档日志的详细信息用于分析系统故障原因。./dmlcvt f_type2 f_path/home/dmdba/dm/ARCHIVE_LOCAL1_0x3E294C0_EP0_2024-04-09_14-25-21.log out_path/home/dmdba/dm/arch4.3 dmrachk —— 归档校验与修复校验、比较、抽取、修复归档日志文件或目录。./dmrachk f_type1 f_path/data/sda/data/arch