物理备份还原恢复和逻辑备份还原。
逻辑备份还原--dexp和dimp命令行工具和MANAGER图形化工具。
物理备份还原与恢复
--操作系统级别物理文件方式拷贝与还原。
--disql工具(对应图形化工具MANAGER):执行联机数据备份与还原,包括联机的数据库备份、归档备份、表空间备份与还原、表备份与还原。
--DMRMAN工具(对应图形化工具CONSOLE ):执行脱机数据备份、还原与恢复,包括脱机的数据库备份、还原与恢复,脱机还原表空间,归档的备份、还原与修复。
1逻辑备份还原
逻辑备份是指利用 dexp工具,将指定对象(库级、用户级、模式级、表级)的数据联机逻辑导出,四种级别独立互斥,不能同时存在。
数据库级(FULL):导出或导入整个数据库中的所有对象。
用户级(OWNER):导出或导入一个或多个用户所拥有的所有对象。
模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象。
表级(TABLES):导出或导入一个或多个指定的表或表分区。
dexp 可以对本地或者远程数据库进行数据库级、用户级、模式级和表级的逻辑备份。
dexp和dexpdp区别:
dexp导出的文件必须存放在客户端,dexpdp导出的文件必须存放在服务器端。
dexpdp是将客户端命令发给服务器启动dexp执行,如果客户端连接使用dm_svc.conf配置,服务器端也应该跟客户端配置一致。
无论哪种级别的导出方式,当涉及索引导出时,位图连接索引和虚索引不会被导出。
dimp 利用 dexp 生成的备份文件对本地或远程的数据库进行联机逻辑还原。
dimp 和 dimpdp区别在于:
dimp 导入的文件必须存放在客户端,dimpdp 导入的文件必须存放在服务器端。
dimpdp 是将客户端命令发给服务器启动 dimp 执行,如果客户端连接使用 dm_svc.conf 配置,服务器端也应该跟客户端配置一致。
1.1d exp 参数
dexp help

一般标黄常用参数
|----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------|
| 参数 | 含义 | 备注 |
| USERID | 数据库的连接信息 | 必选 |
| FILE | 导出文件名称 | 可选 |
| LOG | 导出过程日志文件名称 | 可选 |
| DIRECTORY | 导出文件目录 | 可选 |
| FULL | 导出整个数据库(N) | 可选,四者中选其一。缺省为SCHEMAS 自动转换为大写 |
| OWNER | 用户名列表,导出一个或多个用户的所有对象 WNER=<用户名>{,<用户名>} | 可选,四者中选其一。缺省为SCHEMAS 自动转换为大写 |
| SCHEMAS | 模式列表,导出一个或多个模式下的所有对象 SCHEMAS=<模式名>{,<模式名>} | 可选,四者中选其一。缺省为SCHEMAS 自动转换为大写 |
| TABLES | 表名列表,导出一个或多个指定的表或表分区 TABLES=table1,table2 | 可选,四者中选其一。缺省为SCHEMAS 自动转换为大写 |
| FUZZY_MATCH | TABLES选项是否启用模糊匹配(N) | 可选 |
| QUERY | 用于指定对导出表的数据进行过滤的条件。 | 可选 |
| PARALLEL | 用于指定导出的过程中所使用的线程数目(16) | 可选 |
| TABLE_PARALLEL | 用于指定导出每张表所使用的线程数(8);在MPP模式下会转换成单线程 | 可选 |
| TABLE_POOL | 用于设置导出过程中存储表的缓冲区个数(8) | 可选 |
| EXCLUDE | 批量设置导出内容中忽略的对象。 1. EXCLUDE=[(]<对象种类名>{,<对象种类名>}[)] 对象种类可为:CONSTRAINTS、INDEXES、ROWS、TRIGGERS、GRANTS、VIEWS、PROCEDURE、PACKAGE、SEQUENCE、TABLES。 | 可选 |
| EXCLUDE | 2. EXCLUDE=TYPE:name1,name2 TYPE可为:SCHEMAS、TABLES、VIEWS、PROCEDURE、PACKAGE、SEQUENCE。 | 可选 |
| EXCLUDE | 3. EXCLUDE=TYPE:cond{,TYPE:cond} TYPE可取值同上,cond为IN或LIKE过滤条件 | 可选 |
| INCLUDE | 批量设置导出时只导出指定的对象种类或某个具体对象。 1. INCLUDE=[(]<对象种类名>{,<对象种类名>}[)] 对象种类可为:CONSTRAINTS、INDEXES、ROWS、TRIGGERS、GRANTS、VIEWS、PROCEDURE、PACKAGE、SEQUENCE、TABLES。 | 可选 |
| INCLUDE | 2. INCLUDE=TYPE:name1,name2 TYPE可为SCHEMAS、TABLES、VIEWS、PROCEDURE、PACKAGE、SEQUENCE。 | 可选 |
| INCLUDE | 3. INCLUDE=TYPE:cond{,TYPE:cond} TYPE可取值同上,cond为IN或LIKE过滤条件 | 可选 |
| TABLESPACE | 导出表空间/表空间组和表空间/表空间组存储选项(N) | 可选 |
| CONSTRAINTS | 导出约束(Y) | 可选 |
| GRANTS | 导出权限(Y) | 可选 |
| INDEXES | 导出索引(Y) | 可选 |
| TRIGGERS | 导出触发器(Y) | 可选 |
| ROWS | 导出数据行(Y) | 可选 |
| NOLOGFILE | 不使用日志文件(N) | 可选 |
| NOLOG | 屏幕上不显示日志信息(N) | 可选 |
| LOG_WRITE | 日志信息实时写入文件(N) | 可选 |
| DUMMY | 设置交互信息处理方式(P:打印) | 可选 |
| PARFILE | 参数文件名,如果dexp的参数很多,可以存成参数文件 | 可选 |
| FEEDBACK | 每x行显示进度(0) | 可选 |
| COMPRESS | 是否压缩导出数据文件(N) | 可选 |
| COMPRESS_LEVEL | 导出数据压缩等级(1)。取值范围0~9 | 可选 |
| ENCRYPT | 导出数据是否加密(N) | 可选, |
| ENCRYPT_PASSWORD | 导出数据的加密密钥 | 和ENCRYPT同时使用 |
| ENCRYPT_NAME | 导出数据的加密算法 | 可选。 |
| ENCRYPT_NAME | 导出数据的加密算法 | 和ENCRYPT、ENCRYPT_PASSWORD同时使用。缺省为RC4 |
| FILESIZE | 用于指定单个导出文件大小的上限。可以按字节[B]、K[B]、M[B]、G[B]的方式指定大小 | 可选 |
| FILENUM | 多文件导出时,一个模板可以生成的文件数(99)。取值范围1~99 | 可选 |
| DROP | 导出后删除原表,但不级联删除(N) | 可选 |
| DESCRIBE | 导出数据文件的描述信息,记录在数据文件中 | 可选 |
| FLASHBACK_SCN | 用于指定导出表数据的闪回LSN,和FLASHBACK_TIME一起使用时只有一个能生效,参数位置靠后的生效 | 可选 |
| FLASHBACK_TIME | 用于指定导出表数据的闪回时间,和FLASHBACK_SCN一起使用时只有一个能生效,参数位置靠后的生效 | 可选 |
| COL_DEFAULT_SEPARATE | 是否单独导出列(Y) | 可选 |
| WITH_UR | 导出表数据是否允许脏读(N) | 可选 |
| SIMPLE_LOG | 导出日志是否使用简要日志(N) | 可选 |
| CTRL_INFO | 控制信息用来控制一些特殊情况导出(0) | 可选 |
| CONFIG_FILE | 配置文件路径,配置默认连接串和密码信息 | 可选 |
| FILE_VERSION | 用于指定导出的dmp文件的逻辑版本 | 可选 |
| HELP | 显示帮助信息 | 可选 |
1.2dimp参数
dimp help
|-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------|
| USERID | 数据库的连接信息 | 必选 |
| FILE | 导入的文件名 | 可选 |
| LOG | 导入过程中的日志文件 | 可选 |
| DIRECTORY | 导入文件的目录 | 可选 |
| FULL | 整库导入(N) | 可选,四者中选其一。缺省为导入的文件导出时所用的方式 |
| OWNER | 以用户方式导入 | 可选,四者中选其一。缺省为导入的文件导出时所用的方式 |
| SCHEMAS | 以模式方式导入 | 可选,四者中选其一。缺省为导入的文件导出时所用的方式 |
| TABLES | 以表名方式导入,指定导入的tables名称。不支持对外部表进行导入 | 可选,四者中选其一。缺省为导入的文件导出时所用的方式 |
| PARALLEL | 用于指定导入的过程中所使用的线程数目(16) | 可选 |
| TABLE_PARALLEL | 用于指定导入的过程中每个表所使用的子线程数目(8) | 可选。在FAST_LOAD为Y时有效 |
| IGNORE | 忽略创建错误(N)。如果表已经存在则向表中插入数据,否则报错表已经存在。 | 可选 |
| TABLE_EXISTS_ACTION | 需要的导入表在目标库中存在时采取的操作[SKIP | APPEND | TRUNCATE | REPLACE | TRUNCATE_CASCADE] 默认报错。 | 可选 |
| FAST_LOAD | 是否使用dmfldr进行数据导入(N) | 可选 |
| FLDR_ORDER | 使用dmfldr是否需要严格按顺序来导数据(Y) | 可选 |
| COMMIT_ROWS | 批量提交的行数(5000) | 可选 |
| EXCLUDE | 批量设置导入时排除的对象种类。 1.EXCLUDE=[(]<对象种类名>{,<对象种类名>}[)] 对象种类可为:CONSTRAINTS、INDEXES、ROWS、TRIGGERS、GRANTS、VIEWS、PROCEDURE、PACKAGE、SEQUENCE、TABLES 、JOB。 | 可选 |
| EXCLUDE | 2. EXCLUDE=TYPE:name1,name2 TYPE可为SCHEMAS、TABLES、VIEWS、PROCEDURE、PACKAGE、SEQUENCE。 | 可选 |
| INCLUDE | 批量设置导入时只导入指定的对象种类或某个具体对象。 1.INCLUDE=[(]<对象种类名>{,<对象种类名>}[)] 对象种类可为:CONSTRAINTS、INDEXES、ROWS、TRIGGERS、GRANTS、VIEWS、PROCEDURE、PACKAGE、SEQUENCE、TABLES 、JOB。 | 可选 |
| INCLUDE | 2. INCLUDE=TYPE:name1,name2 TYPE可为SCHEMAS、TABLES、VIEWS、PROCEDURE、PACKAGE、SEQUENCE。 | 可选 |
| GRANTS | 导入权限 (Y) | 可选 |
| CONSTRAINTS | 导入约束 (Y) | 可选 |
| INDEXES | 导入索引 (Y) | 可选 |
| TRIGGERS | 导入触发器(Y) | 可选 |
| ROWS | 导入数据行 (Y) | 可选 |
| NOLOGFILE | 不使用日志文件(N) | 可选 |
| NOLOG | 屏幕上不显示日志信息(N) | 可选 |
| DUMMY | 设置交互信息处理(P:打印) | 可选 |
| LOG_WRITE | 日志信息实时写入文件(N) | 可选 |
| PARFILE | 参数文件名,如果dimp的参数很多,可以存成参数文件 | 可选 |
| FEEDBACK | 显示每 x 行 (0) 的进度 | 可选 |
| COMPILE | 编译过程, 程序包和函数 (Y) | 可选 |
| INDEXFILE | 将表的索引/约束信息写入指定的文件 | 可选 |
| INDEXFIRST | 导入时先建索引(N) | 可选 |
| REMAP_SCHEMA | SOURCE_SCHEMA:TARGET_SCHEMA 将SOURCE_SCHEMA中的数据导入到TARGET_SCHEMA中 | 可选 |
| ENCRYPT_PASSWORD | 数据的加密密钥 | 可选。和dexp中的ENCRYPT_PASSWORD设置的密钥一样 |
| ENCRYPT_NAME | 数据的加密算法的名称 | 可选。和dexp中的ENCRYPT_NAME设置的加密算法一样 |
| SHOW/ DESCRIBE | 打印出指定文件的信息(N) | 可选 |
| TASK_THREAD_NUMBER | 用于设置dmfldr处理用户数据的线程数目 | 可选 |
| BUFFER_NODE_SIZE | 用于设置dmfldr读入文件缓冲区大小 | 可选 |
| TASK_SEND_NODE_NUMBER | 用于设置dmfldr发送节点个数,取值范围16~65535 | 可选 |
| LOB_NOT_FAST_LOAD | 如果一个表含有大字段,则不使用dmfldr(N) | 可选 |
| PRIMARY_CONFLICT | 主键冲突的处理方式,默认报错 | 可选 |
| TABLE_FIRST | 是否强制先导入表 (缺省N)。Y表示先导入表,N正常导入 | 可选 |
| SHOW_SERVER_INFO | 是否显示服务器信息 (N),Y表示显示导出文件对应服务器信息,实际不导入,N表示不显示导出文件对应服务器信息,正常导入 | 可选 |
| IGNORE_INIT_PARA | 指定源库和目标库之间忽略差异的建库参数(0)。0:不忽略建库参数差异,1:忽略CASE_SENSITIVE,2:忽略LENGTH_IN_CHAR,3:忽略CASE_SENSITIVE和LENGTH_IN_CHAR | 可选 |
| AUTO_FREE_KEY | 导入数据完成后, 是否释放密钥(N)。Y:是,N:否 | 可选 |
| REMAP_TABLE | 格式(SOURCE_TABLE:TARGET_TABLE), 将SOURCE_TABLE中的数据导入到TARGET_TABLE中 | 可选 |
| REMAP_TABLESPACE | 格式(SOURCE_TABLESPACE:TARGET_TABLESPACE) 将SOURCE_TABLESPACE表空间映射到TARGET_TABLESPACE表空间中 | 可选 |
| SIMPLE_LOG | 导入日志是否使用简要日志(N) | 可选 |
| DATA_ONLY | 是否只导入表数据(N) | 可选 |
| INDEX_OPTION | 使用快速装载时索引的设置选项(2)。1:不刷新二级索引,数据按照索引先排序,装载完后再将排序的数据插入索引;2:不刷新二级索引,数据装载完成重建后所有二级索引;刷新二级索引,数据装载的同时将数据插入二级索引 | 可选 |
| CTRL_INFO | 控制信息用来控制一些特殊情况导入(0)。0:不导入表空间定义,1:导入表空间定义,2:校验导入文件的MD5值,并执行导入,4:校验导入文件的MD5值,但不执行导入,8:导入对象时忽略OR REPLACE条件,16:remap替换列默认值中序列模式名; 32:remap_schema设置报错终止导入 | 可选 |
| CONFIG_FILE | 配置文件路径,配置默认连接串和密码信息 | 可选 |
| FILE_VERSION | 用于指定将dmp文件降级后生成的新dmp文件的逻辑版本,有效范围9~28 | 可选 |
| HELP | 显示帮助信息 | 可选 |
1.3dexp和dimp命令行示例操作
1.3.1环境准备
测试环境:
--DM v8 03134284368-20260306-316451-20149 Pack62 + Kylin 10 + x86_64
本地源端 192.168.118.236
目标端 192.168.118.237
root@192 dmsoft\]# mkdir /datas \[root@192 dmsoft\]# chown -R dmdba:dinstall /datas (1)创建表空间 create tablespace test1 datafile 'TEST1.DBF' size 128 autoextend on next 2 maxsize 10240 CACHE = NORMAL; create tablespace test2 datafile '/datas/TEST2.DBF' size 128 autoextend on next 2 maxsize 10240 CACHE = NORMAL; (2)创建用户 create user TEST1 identified by "HUN_admin2026" default tablespace test1 default index tablespace test1; create user TEST2 identified by "HUN_admin2026" default tablespace test2 default index tablespace test2; grant "RESOURCE","SOI","SVI","VTI" to TEST1; grant "RESOURCE","SOI","SVI","VTI" to TEST2; (3)创建模式 CREATE SCHEMA TEST1S AUTHORIZATION "TEST1"; (4)用户test1创建表、索引、视图、触发器、函数 CREATE TABLE test1.test1_t1( a1 INT CONSTRAINT test1_t1_pk_a1 PRIMARY KEY, a2 VARCHAR(100)); insert into test1.test1_t1 values(1,'test1_t1记录1'); insert into test1.test1_t1 values(2,'test1_t1记录2'); insert into test1.test1_t1 values(3,'test1_t1记录3'); commit; CREATE TABLE test1.test1_t2 ( c1 INT CONSTRAINT test1_t2_pk_c1 PRIMARY KEY, c2 VARCHAR(15) CONSTRAINT test1_t2_un_c2 UNIQUE NOT NULL, c3 VARCHAR(100), c4 INT CONSTRAINT test1_t2_FK_c4 foreign key REFERENCES test1.test1_t1(a1), c5 DATE DEFAULT (CURDATE), c6 FLOAT CONSTRAINT test1_1_check_c2 CHECK (c6\>=3000)); insert into test1.test1_t2 values(1,10,'test1_t2表的记录1',1,now(),3001); insert into test1.test1_t2 values(2,11,'test1_t2表的记录2',2,now(),3002); insert into test1.test1_t2 values(3,12,'test1_t2表的记录3',3,now(),3003); commit; CREATE TABLE test1.test1_t3( a1 INT CONSTRAINT test1_t3_pk_a1 PRIMARY KEY, a2 VARCHAR(100) ); create index test1.test1_t3_a2_index on test1.test1_t3(a2); insert into test1.test1_t3 values(1,'test1_t3表的记录1'); insert into test1.test1_t3 values(2,'test1_t3表的记录2'); insert into test1.test1_t3 values(3,'test1_t3表的记录3'); commit; --视图 CREATE view test1.v_test1_t3 as select \* from test1.test1_t3; --创建触发器 CREATE TABLE test1.test1_t4( a1 INT CONSTRAINT test1_t4_pk_a1 PRIMARY KEY, a2 VARCHAR(100) ); CREATE TABLE test1.test1_t4_log( a1 INT CONSTRAINT test1_t4_log_pk_a1 PRIMARY KEY, a2 VARCHAR(100) ); CREATE OR REPLACE TRIGGER test1.TRG_INS_AFTER AFTER INSERT ON test1.test1_t4 FOR EACH ROW BEGIN INSERT INTO test1.test1_t4_log VALUES(:NEW.a1,:NEW.a2); END; insert into test1.test1_t4 values(1,'test1_t4表的记录1'); commit; --创建函数过程 create or replace procedure test1.ptest1(i in int) as j int; begin for j in 1 ..i loop PRINT j; end loop; end; call test1.ptest1(10); --模式test1s下表 CREATE TABLE test1s.test1s_1( a1 INT CONSTRAINT test1s_1_pk_a1 PRIMARY KEY, a2 VARCHAR(100)); create index test1s.test1s_1_a2_index on test1s.test1s_1(a2); insert into test1s.test1s_1 values(1,'test1s_1表的记录1'); insert into test1s.test1s_1 values(2,'test1s_1表的记录2'); insert into test1s.test1s_1 values(3,'test1s_1表的记录3'); commit; (3)用户test2创建表、索引、视图 CREATE TABLE test2.test2_t2( a1 INT CONSTRAINT test2_t2_pk_a1 PRIMARY KEY, a2 VARCHAR(100) ); insert into test2.test2_t2 values(1,'test2_t1表的记录1'); insert into test2.test2_t2 values(2,'test2_t1表的记录2'); insert into test2.test2_t2 values(3,'test2_t1表的记录3'); commit; CREATE TABLE test2.test2_t1 ( c1 INT CONSTRAINT test2_t1_pk_c1 PRIMARY KEY, c2 VARCHAR(15) CONSTRAINT test2_t1_un_c2 UNIQUE NOT NULL, c3 VARCHAR(100), c4 INT CONSTRAINT test2_t1_FK_c4 foreign key REFERENCES test2.test2_t2(a1), c5 DATE DEFAULT (CURDATE), c6 FLOAT CONSTRAINT test2_t1_check_c2 CHECK (c6\>=3000) ); insert into test2.test2_t1 values(1,10,'test2_t1表的记录1',1,now(),4001); insert into test2.test2_t1 values(2,11,'test2_t1表的记录2',2,now(),4002); insert into test2.test2_t1 values(3,12,'test2_t1表的记录3',3,now(),4003); commit; CREATE TABLE test2.test2_t3( a1 INT CONSTRAINT test2_t3_pk_a1 PRIMARY KEY, a2 VARCHAR(100)); create index test2.test2_t3_a2_index on test2.test2_t3(a2); insert into test2.test2_t3 values(1,'test2_t3表的记录1'); insert into test2.test2_t3 values(2,'test2_t3表的记录2'); insert into test2.test2_t3 values(3,'test2_t3表的记录3'); commit; --创建视图 CREATE view test2.v_test2_t3 as select \* from test2.test2_t3; --sysdba用户创建表,同义词,备份作业 CREATE TABLE sysdba.testsys( a1 INT CONSTRAINT sysdba_pk_a1 PRIMARY KEY, a2 VARCHAR(100)); insert into sysdba.testsys values(1,'sysdba.testsys表的记录1'); commit; CREATE SYNONYM test1.test2_t3 FOR test2.test2_t3; CREATE SYNONYM test2.test1_t3 FOR test1.test1_t3; --创建备份作业 --创建dblink CREATE OR REPLACE LINK "TSYSDBA"."ORACLE_TEST" CONNECT 'ORACLE' WITH "SYSTEM" IDENTIFIED BY "123456" USING '192.168.118.158:1521/ORCLCDB'; CREATE OR REPLACE LINK "TEST2"."ORACLE_TEST1" CONNECT 'ORACLE' WITH "SYSTEM" IDENTIFIED BY "123456" USING '192.168.118.158:1521/ORCLCDB'; #### 1.3.2******导出导入部分场景总结****** ****可以本地导出,然后直接本地导入,示例这里异机新初始化实例,然后导入进行数据还原。**** 所有环境已配置环境变量 |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 源端导出 | 目标端导入 | | --库级导出,导出SYSDBA模式、TEST1、TEST1S、TEST2模式下所有对象,整个过程无报错信息。 dexp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbfull.dmp LOG=dbfull.log FULL=Y DIRECTORY=/data/dmbak/dmdump | --当不清楚导出文件信息时可通过SHOW/DESCRIBE参数,展示待导入数据文件的内容信息列表,实际不执行导入操作 dimp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbfull.dmp LOG=dbfullimp.log DIRECTORY=/data/dmbak/dmdump ****SHOW**** ****=Y**** | | --库级导出,导出SYSDBA模式、TEST1、TEST1S、TEST2模式下所有对象,整个过程无报错信息。 dexp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbfull.dmp LOG=dbfull.log FULL=Y DIRECTORY=/data/dmbak/dmdump | --导入全部,可以成功导入,过程中自动创建用户及所属模式,由于导出时没有设置导出表空间存储选项,导入时自动创建用户的默认表空间为main,导入了所有模式对象,包括备份作业。 dimp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbfull.dmp LOG=dbfullimp.log DIRECTORY=/data/dmbak/dmdump | | --库级导出,导出SYSDBA模式、TEST1、TEST1S、TEST2模式下所有对象,整个过程无报错信息。 dexp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbfull.dmp LOG=dbfull.log FULL=Y DIRECTORY=/data/dmbak/dmdump | --导入时,可以指定只导入部分用户 | | --库级导出,导出SYSDBA模式、TEST1、TEST1S、TEST2模式下所有对象,整个过程无报错信息。 dexp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbfull.dmp LOG=dbfull.log FULL=Y DIRECTORY=/data/dmbak/dmdump | --导入时,可以指定只导入部分模式,需提前创建用户TEST1或者映射模式,否则报错。 dimp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbfull.dmp LOG=dbschema.log SCHEMAS=test1 DIRECTORY=/data/dmbak/dmdump | | --库级导出,导出SYSDBA模式、TEST1、TEST1S、TEST2模式下所有对象,整个过程无报错信息。 dexp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbfull.dmp LOG=dbfull.log FULL=Y DIRECTORY=/data/dmbak/dmdump | --导入部分模式表,需提前创建用户TEST1或者映射模式,否则报错。 dimp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbfull.dmp LOG=tables.log TABLES=test1.test1_t3 DIRECTORY=/data/dmbak/dmdump | | --库级导出时使用压缩或加密 参数COMPRESS、COMPRESS_LEVEL、ENCRYPT、ENCRYPT_PASSWORD指定压缩存储、加密 dexp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbfull2.dmp LOG=dbfull2.log FULL=Y DIRECTORY=/data/dmbak/dmdump COMPRESS=Y COMPRESS_LEVEL=1 ENCRYPT=Y ENCRYPT_PASSWORD='123456' | --导入时需要ENCRYPT_PASSWORD指定导出时设置的密码 dimp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbfull2.dmp LOG=dbfull2.log FULL=Y DIRECTORY=/data/dmbak/dmdump ****ENCRYPT_PASSWORD****='123456' | | --库级导出时指定TABLESPACE=Y dexp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbfull3.dmp LOG=dbfull3.log FULL=Y DIRECTORY=/data/dmbak/dmdump TABLESPACE=Y | --导入时要提前创建与源端同名表空间 dimp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbfull3.dmp LOG=dbfulldimp3.log DIRECTORY=/data/dmbak/dmdump --或者导入时REMAP_TABLESPACE参数映射表空间 dimp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbfull3.dmp LOG=dbfulldimp3.log DIRECTORY=/data/dmbak/dmdump REMAP_TABLESPACE=TEST1:MAIN,TEST2:MAIN | | --用户导出,导出指定用户所有数据 dexp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbuser.dmp LOG=dbuser.log OWNER=test1,test2 DIRECTORY=/data/dmbak/dmdump | --导入全部,成功导入用户test1,test2下所有模式对象,过程中自动创建用户的默认表空间main。 dimp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbuser.dmp LOG=dbuser.log OWNER=test1,test2 DIRECTORY=/data/dmbak/dmdump | | --用户导出,导出指定用户所有数据 dexp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbuser.dmp LOG=dbuser.log OWNER=test1,test2 DIRECTORY=/data/dmbak/dmdump | --导入指定用户test1,导入test2用户相关权限时报错。 dimp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbuser.dmp LOG=dbuser.log OWNER=test1 DIRECTORY=/data/dmbak/dmdump | | --用户导出,导出指定用户所有数据 dexp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbuser.dmp LOG=dbuser.log OWNER=test1,test2 DIRECTORY=/data/dmbak/dmdump | --导入指定模式test1,需提前提前创建用户test1或者映射模式REMAP_SCHEMA,否则导入过程报错。 dimp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbuser.dmp LOG=dbschematest1.log SCHEMAS=test1 DIRECTORY=/data/dmbak/dmdump | | --用户导出,导出指定用户所有数据 dexp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbuser.dmp LOG=dbuser.log OWNER=test1,test2 DIRECTORY=/data/dmbak/dmdump | --导入指定表TEST1.test1_t3,需提前创建用户test1或者映射模式,否则导入过程报错。 dimp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbuser.dmp LOG=tables.log TABLES=TEST1.test1_t3 DIRECTORY=/data/dmbak/dmdump | | --导出指定用户时指定TABLESPACE=Y dexp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbuser1.dmp LOG=dbuser1.log OWNER=test1,test2 DIRECTORY=/data/dmbak/dmdump TABLESPACE=Y | --导入时需要使用REMAP_TABLESPACE映射或者提前创建与源端同名表空间,否则导入报错 dimp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbuser1.dmp LOG=dbuser1.log OWNER=test1,test2 DIRECTORY=/data/dmbak/dmdump REMAP_TABLESPACE=TEST1:MAIN,TEST2:MAIN | | --导出指定模式 dexp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbtest1schema.dmp LOG=dbschema.log SCHEMAS=test1,test2 DIRECTORY=/data/dmbak/dmdump | --导入时,需要提前创建用户或者映射模式,否则报错 dimp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=dbtest1schema.dmp LOG=dbschema.log SCHEMAS=test1,test2 DIRECTORY=/data/dmbak/dmdump --导入指定部分模式或指定模式表,需要提前创建用户或者映射模式,否则报错 | | --导出指定表 dexp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=tables.dmp LOG=tables.log TABLES=test1.test1_t1, test2.test2_t1 DIRECTORY=/data/dmbak/dmdump | --导入时,提前创建用户TEST1与TEST2或者映射模式,如果表存在外键引用表不存在时会报错。 dimp USERID=SYSDBA/HUN_admin2026@localhost:5237 FILE=tables.dmp LOG=tables.log TABLES=test1.test1_t1, test2.test2_t2 DIRECTORY=/data/dmbak/dmdump --导入时,如果表已经存在时,需要指定TABLE_EXISTS_ACTION参数,\[SKIP \| APPEND \| TRUNCATE \| REPLACE \| TRUNCATE_CASCADE\],只导入表数据时,指定DATA_ONLY参数 | 更多达梦数据库运维指南、在线文档、相关资料、社区在线提问以及技术分享 访问 [https://eco.dameng.com/](https://eco.dameng.com/ "https://eco.dameng.com/")