达梦7逻辑导出和导入工具的使用

达梦7逻辑导出和导入工具的使用

1.功能介绍

逻辑导出(dexp)和逻辑导入(dimp)是 DM 数据库的两个命令行工具,分别用来实现对 DM 数据库的逻辑备份和逻辑还原。逻辑备份和逻辑还原都是在联机方式下完成,联机方式是指数据库服务器正常运行过程中进行的备份和还原。dexp 和 dimp 是 DM 数据库自带的工具,只要安装了 DM 数据库,就可以在安装目录/opt/dmdbms/bin 中找到。

逻辑导出和逻辑导入数据库对象分为四种级别:数据库级、用户级、模式级和表级。四种级别独立互斥,不能同时存在。四种级别所提供的功能:
(1)数据库级(FULL):导出或导入整个数据库中的所有对象;
(2)用户级(OWNER):导出或导入一个或多个用户所拥有的所有对象;
(3)模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象;
(4)表级(TABLES):导出或导入一个或多个指定的表或表分区。

2.逻辑导出

第一步:进入DM数据库安装目录的bin目录下
su dmdba
cd /opt/dmdbms/bin

第二步:导出整个数据库中的所有对象
./dexp userid=SYSDBA/SYSDBA@localhost:5236 file=DB_FULL_2019_12_06_00.dmp directory=/opt/dmdbms/bak
log=DB_FULL_2019_12_06_00.log full=y compress=y

参数说明:
userid:连接数据库的用户名/密码@服务器IP:端口;
file:导出的dmp文件命名;
directory:导出的dmp文件的存放路径;
log:导出的日志文件命名;
full=y:表示全库导出;
schemas=用户名:指定需要导出指定的模式(用户)下的数据对象;
tables= 模式名.表名:指定需要导出的表;
compress=Y:表示对导出的dmp文件进行压缩处理;

备注:导出的DB_FULL_2019_12_06_00.dmp和DB_FULL_2019_12_06_00.log文件存放在了/opt/dmdbms/bak目录下。

3.逻辑导入

第一步:进入DM数据库安装目录的bin目录下
su dmdba
cd /opt/dmdbms/bin

第二步:导入dmp文件中的所有数据库对象
./dimp userid=SYSDBA/SYSDBA@localhost:5236 file=/opt/dmdbms/bak/DB_FULL_2019_12_06_00.dmp directory=/opt/dmdbms/bak
log=IMP_DB_FULL_2019_12_06_00.log full=y table_exists_action=replace

参数说明:
userid:连接数据库的用户名/密码@服务器IP:端口;
file:指定明确导入的dmp文件(包含路径);
directory:指定导入时生成的log文件的存放路径;
log:导入时生成的日志文件命名;
full=y:表示全库导入;
schemas=模式名:指定需要导入的模式;
tables=模式名.表名:指定需要导入的表;
ignore=Y:忽略导入时所产生的创建表错误并继续执行;
table_exists_action:指定导入时遇到表已存在时的处理方式(skip:跳过此表、append:直接向现有表中导入数据、truncate:先删除现有表中的数据,再向表中导入数据、replace:直接替换现有的表,再导数据)

备注:
(1)进行导入操作时,导入前需要先确认所需导入的dmp文件中所包含的表在即将导入的数据库中是否已存在,若存在,需要先在库中把该表给删除,或者在导入命令中添加一个table_exists_action的处理参数。

(2)可以通过在导入命令中使用show=y参数查看dmp文件中所包含的所有数据对象:
例如:
./dimp userid=SYSDBA/SYSDBA@localhost:5236 file=/opt/dmdbms/bak/DB_FULL_2019_12_06_00.dmp show=y
(此时并不进行导入操作,只是显示dmp文件中所包含的所有数据对象)

(3)tables=tabname 这种指定表的导入导出参数,如果是导出和导入表名包含小写字母的表时,需要加转义字符,即 “\“tabname\””

你可能感兴趣的:(达梦7逻辑导出和导入工具的使用)