达梦数据库-备份与还原-逻辑备份与还原

物理备份还原恢复和逻辑备份还原。

逻辑备份还原--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、KB、MB、GB的方式指定大小 | 可选 |
| 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/

相关推荐
xiaoshuaishuai8几秒前
C# 逆向分析Privazer
数据库·microsoft·c#
北有树3 分钟前
【无标题】
数据库
霸道流氓气质8 分钟前
MySQL 大数据量场景下的表结构与索引设计指南
数据库·mysql
AOwhisky12 分钟前
Redis 学习笔记(第二期):核心数据类型与消息队列实战
运维·数据库·redis·笔记·学习·云计算
lsyeei14 分钟前
MySQL常用索引
数据库·mysql
雨辰AI20 分钟前
生产级实战|SpringBoot3 + 达梦DM9 数据库权限收敛与三权分立完整落地方案
数据库·mysql·oracle·政务
Gong-Yu20 分钟前
MySQL数据库运维——性能优化进阶1️⃣
运维·数据库·mysql·性能优化
Harvy_没救了25 分钟前
【云计算】华为公有云构建高可用Redis集群
数据库·redis·云计算
念何架构之路25 分钟前
存储层技术:其他NoSQL数据库和RPC
数据库·oracle
枫叶林FYL31 分钟前
项目十一:Saga模式分布式旅行预订系统 核心服务实现与Saga编排器
数据库·python·docker