进入达梦安装目录的bin文件夹
cd /dmdbms/bin
执行导出(导出所有用户数据,包含表结构和数据)
./dexp SYSDBA/Sysdba123456@localhost:30236 \
file=/dmbackup/dmtest_full.dmp \
log=/dmbackup/dmtest_exp.log \
full=y \
ignore=y
参数说明:
• SYSDBA/Sysdba123456:管理员账号密码
• @localhost:30236:数据库连接地址和端口
• file:备份文件路径
• full=y:全量导出(包含所有模式、表、数据)
• ignore=y:忽略导出过程中的非致命错误
停止现有数据库实例
方式1:通过服务停止(如果配置了系统服务)
systemctl stop DmServiceDBSERVER
方式2:直接关闭进程(确保是当前实例)
kill -15 <数据库进程ID> # 替换为实际的dmserver进程ID
3. 备份并删除现有数据库文件(谨慎操作)
备份原数据库目录(防止意外,可跳过但建议执行)
mv /dmdata/data/DMTEST /dmdata/data/DMTEST_OLD
或直接删除(确保已导出备份后执行)
rm -rf /dmdata/data/DMTEST
4. 重新初始化数据库(正确设置参数)
使用 dminit 工具,指定正确的 CASE_SENSITIVE=n(不区分大小写)和目标字符集(如 CHARSET=2 代表 UTF-8):
./dminit path=/dmdata/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=n CHARSET=2 DB_NAME=DMTEST INSTANCE_NAME=DBSERVER PORT_NUM=30236 SYSDBA_PWD=Sysdba123456 SYSAUDITOR_PWD=Sysdba123456
5. 启动新数据库实例
启动新初始化的数据库
./dmserver /dmdata/data/DMTEST/dm.ini &
6. 导入之前的逻辑备份(恢复数据)
使用 dimp 工具(逻辑导入工具),将备份数据导入新数据库:
cd /dmdbms/bin
./dimp SYSDBA/Sysdba123456@localhost:30236 \
file=/dmbackup/dmtest_full.dmp \
log=/dmbackup/dmtest_imp.log \
full=y \
ignore=y