DM8逻辑导入(dimp)导出(dexp)
逻辑备份与还原是针对数据库逻辑组件如表、视图、存储过程等数据库对象进行的备份与恢复操作而物理备份与还原则是对数据库操作系统层的物理文件数据文件、控制文件、日志文件等进行备份恢复。关于物理备份还原的详细内容可参考DM8物理备份还原。达梦数据库使用dexp工具执行逻辑备份导出使用dimp工具执行逻辑还原导入。两者均支持在数据库联机状态下操作不影响业务正常运行。逻辑导出与导入支持四种级别数据库级、用户级、模式级、表级。数据库级FULL导出或导入整个数据库中的所有对象。用户级OWNER导出或导入一个或多个用户所拥有的所有对象。模式级SCHEMAS导出或导入一个或多个模式下的所有对象。表级TABLES导出或导入一个或多个指定的表或表分区。注意无论使用哪种导出级别位图连接索引和虚索引都不会被导出。一、逻辑导出dexp逻辑导出是将数据库中的逻辑对象如表结构、数据、视图、存储过程等导出为二进制文件.dmp文件的过程。1.1 FULL数据库级导出导出整个数据库的所有对象。命令示例./dexp USERIDSYSDBA/Dameng123localhost:5236 \ FILEdb_full.dmp \ DIRECTORY/data/dmdata/dmdexp \ LOGdb_full.log \ FULLY参数说明USERID连接字符串格式为用户名/密码主机:端口FILE导出的备份文件名DIRECTORY备份文件存放目录LOG导出日志文件名FULLY指定为全库导出模式执行效果导出完成后在指定目录下生成.dmp备份文件和.log日志文件1.2 OWNER用户级导出导出指定用户模式下的所有对象。命令示例./dexp USERIDSYSDBA/Dameng123localhost:5236 \ FILEdb_user3.dmp \ DIRECTORY/data/dmdata/dmdexp/ \ LOGdb_user3.log \ ownerTEST_USER执行效果1.3 SCHEMAS模式级导出导出指定模式下的所有对象与用户级导出类似但语法不同。命令示例./dexp USERIDSYSDBA/Dameng123localhost:5236 \ FILEdb_test_user.dmp \ DIRECTORY/data/dmdata/dmdexp/ \ LOGdb_test_user.log \ SCHEMASTEST_USER执行效果1.4 TABLES表级导出导出指定的表或表分区。命令示例./dexp USERIDSYSDBA/Dameng123localhost:5236 \ FILEdb_tables.dmp \ DIRECTORY/data/dmdata/dmdexp/ \ LOGdb_tables.log \ tablesTEST_USER.T_TEST执行效果二、逻辑导入dimp逻辑导入是将导出的.dmp文件恢复到目标数据库的过程。2.1 FULL数据库级导入重要提示跨实例执行逻辑导出与导入时需保证源库与目标库的初始化参数保持一致。可通过查看源库初始化日志获取原库的配置信息more /home/dmdba/dmdbms/log/dminit_DAMENG_20260819104621.log命令示例./dimp SYSDBA/Dameng123localhost:5234 \ FILE/data/dmdata/dmdexp/db_full.dmp \ LOGdimp_full.log \ DIRECTORY/data/dmdata/dmdimp \ FULLY参数说明连接目标数据库端口5234读取全量备份文件db_full.dmp导入日志输出到/data/dmdata/dmdimp/dimp_full.log执行效果2.2 OWNER用户级导入特点可以自动创建用户如果目标库中不存在该用户。命令示例./dimp SYSDBA/Dameng123localhost:5233 \ FILE/data/dmdata/dmdexp/db_full.dmp \ LOGdimp_full_owner.log \ DIRECTORY/data/dmdata/dmdimp/ \ ownerTEST_USER执行效果2.3 SCHEMAS模式级导入特点默认不会自动创建数据库用户需要提前创建。常见问题如果导入的数据库中没有模式所属用户则会报错解决方案先创建用户并授权-- 创建用户 SQL create user TEST_USER IDENTIFIED BY Test123456; -- 授予资源权限 SQL GRANT RESOURCE TO TEST_USER;然后再执行导入./dimp SYSDBA/Dameng123localhost:5232 \ FILE/data/dmdata/dmdexp/db_full.dmp \ LOGdimp_full_schemas.log \ DIRECTORY/data/dmdata/dmdimp/ \ SCHEMASTEST_USER2.4 TABLES表级导入特点需要确保目标数据库已创建对应的用户和模式。常见错误如果未指定导入模式默认使用SYSDBA模式与导出模式不匹配会导致错误重要原则导出时使用的模式导入时也必须使用相同的模式。正确命令示例./dimp SYSDBA/Dameng123localhost:5231 \ FILE/data/dmdata/dmdexp/db_full.dmp \ LOGdimp_full_tables.log \ DIRECTORY/data/dmdata/dmdimp/ \ TABLESTEST_USER.T_TEST三、总结与注意事项级别选择根据实际需求选择合适的导出/导入级别避免不必要的资源消耗。权限要求执行导出/导入操作的用户需要相应的数据库权限。版本兼容确保源库和目标库的达梦数据库版本兼容。空间准备确保目标数据库有足够的存储空间。参数一致性跨实例迁移时注意初始化参数的一致性。模式匹配表级和模式级导入时确保目标库存在对应的用户和模式。如果还有其他问题欢迎到达梦社区提问~社区地址达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台