达梦数据库DM8-逻辑备份之导入导出
- 系列文章目录
- 本文环境
- 1.达梦数据库备份介绍
- 2.达梦数据库逻辑备份
- 2.1 使用DM管理工具导入导出
- 2.2 使用Dexp和Dimp工具进行逻辑导出和导入
- 1.使用Dexp实现整库逻辑导出。
- 2.使用Dimp工具实现整库逻辑导入。
- 3.使用Dexp和Dimp实现用户级逻辑导出和导入
- 3.使用Dexp和Dimp实现模式级逻辑导出和导入
- 4.使用Dexp和Dimp实现表级逻辑导出和导入
系列文章目录
达梦数据库DM8-windows环境安装(图文详情)达梦数据库DM8-centos7环境安装(图文详情)达梦数据库部分配置参数介绍和调整达梦数据库-DM管理工具介绍和简单使用达梦数据库DM8-物理备份和还原
文章目录
- 系列文章目录
- 本文环境
- 1.达梦数据库备份介绍
- 2.达梦数据库逻辑备份
- 2.1 使用DM管理工具导入导出
- 2.2 使用Dexp和Dimp工具进行逻辑导出和导入
- 1.使用Dexp实现整库逻辑导出。
- 2.使用Dimp工具实现整库逻辑导入。
- 3.使用Dexp和Dimp实现用户级逻辑导出和导入
- 3.使用Dexp和Dimp实现模式级逻辑导出和导入
- 4.使用Dexp和Dimp实现表级逻辑导出和导入
这里再放一个达梦云适配中心链接,里面的文档模块有很多官方教程,社区模块也可以查询或者提出各类使用问题
达梦云适配中心
本文环境
数据库服务器:
Virtualbox 5.2.44
CentOS Linux release 7.9.2009 (Core)
Xshell 5 + Xftp 5
客户端:windows 7 sp1
软件镜像:
dm8_20201112_x86_rh7_64_ent_8.1.1.144.iso
1.达梦数据库备份介绍
达梦数据库支持物理备份的热备和冷备,逻辑备份。
具体支持整库全量备份、整库增量备份、表空间备份、表备份、归档日志备份,逻辑备份(库级、用户级、模式级、表级)。
物理备份:备份属于数据库的所有物理文件而复制的(如数据文件,控制文件,日志文件,可执行文件等)不考虑逻辑内容。
逻辑备份:指使用软件技术从数据库中导出数据并写入一个输出文件,该文件的格式一般与原数据库的文件格式不同,只是原数据库中数据内容的一个映像。
热备份:属于物理备份,主要指在打开数据库,并且开启归档的状态下进行的数据库整库备份 , 备份内容包括所有数据文件 、控制文件 、联机日志文件 、ini 文件 。
冷备份:属于物理备份,主要指在关闭数据库,不需要开启归档的状态下进行的数据库整库备份 , 备份内容包括所有数据文件 、控制文件 、联机日志文件 、ini 文件 。
2.达梦数据库逻辑备份
2.1 使用DM管理工具导入导出
1.打开DM管理工具,并连接数据库
Windows系统:可以从开始-达梦数据库-DM管理工具 启动
Linux系统:需要开启图形化界面,使用root用户进入到达梦数据库软件目录下的tool目录,使用./manager 启动。
2.整库导出导入
在数据库对象处,右键,选择导出
点击浏览按钮,选择导出目录后,点击确定即可导出
导出成功后,可以看到目标目录下已导出DMP文件和日志
整库导入类似,也是在数据库对象处,右键,选择导入,在弹出的整库导入界面,浏览选择刚刚的导出目录,以及导出的DMP文件,点击确定开始导入
可以看到导入成功。
同理,在模式对象处,右键选择导出导入,可以实现模式级的逻辑导出导入,在表对象处,则可以实现表级的逻辑导出导入,操作类似,这里不再重复演示。
需要特别注意的是:如果导出源环境和导入目标环境存在实例参数不一致的情况下,会出现导入失败。并且达梦数据库版本迭代更新快,版本跨度大的情况下也可能出现导入失败,这时候我们建议使用命令行启动dexp和dimp工具进行逻辑导出和导入
2.2 使用Dexp和Dimp工具进行逻辑导出和导入
如果安装了达梦数据库软件,那么在达梦数据库软件安装目录下的doc目录,可以找到DM8_dexp和dimp使用手册.pdf,里面会有详细使用介绍。
1.使用Dexp实现整库逻辑导出。
使用dmdba用户进入到达梦数据库软件安装目录下的bin目录,输入命令./dexp help 可以查看工具命令参数介绍。
在dmdba目录下新建backup目录用于导出文件存放,在dexp工具后输入对应参数,实现库级逻辑导出(其中的密码如果有特殊字符需要做转义处理,Linux下为:‘“密码”’,即英文输入法下单引号内加双引号括住密码,
windows下为"““passwd””",即三个双引号括住密码)
su - dmdba
mkdir /home/dmdba/backup
cd /dm8/bin
./dexp "SYSDBA"/'"Dameng111"'@LOCALHOST:5236 DIRECTORY=/home/dmdba/backup FILE=full_exp.dmp FULL=Y TABLESPACE=Y DROP=N LOG=full.log LOG_WRITE=N
dexp后接一个参数是用户名/密码@数据库地址:端口
DIRECTORY 参数是导出文件目录
FILE 参数是导出的DMP文件名
FULL=Y 参数是整库导出
TABLESPACE=Y 参数导出包含表空间
DROP=N 参数表示导出后源表不删除
LOG 参数是日志文件
LOG_WRITE=N 参数是日志文件内容非实时写入
导出成功后,可以看到目标目录/home/dmdba/backup已存在导出的DMP文件。
2.使用Dimp工具实现整库逻辑导入。
使用dmdba用户进入到达梦数据库软件安装目录下的bin目录,输入对应参数启动dimp
su - dmdba
cd /dm8/bin
./dimp "SYSDBA"/'"Dameng111"'@LOCALHOST:5236 file=full_exp.dmp log=imp_full.log directory=/home/dmdba/backup full=y
导入成功
3.使用Dexp和Dimp实现用户级逻辑导出和导入
把FULL=Y 参数替换成OWNER=用户名 即可,导出文件名,日志名也作相应修改。
例如对SYSDBA用户进行导出
./dexp "SYSDBA"/'"Dameng111"'@LOCALHOST:5236 DIRECTORY=/home/dmdba/backup FILE=sysdba_exp.dmp OWNER=SYSDBA TABLESPACE=Y DROP=N LOG=sysdba_exp.log LOG_WRITE=N
SYSDBA用户级逻辑导出成功
SYSDBA逻辑导入
./dimp "SYSDBA"/'"Dameng111"'@LOCALHOST:5236 DIRECTORY=/home/dmdba/backup FILE=sysdba_exp.dmp OWNER=SYSDBA LOG=sysdba_imp.log LOG_WRITE=N
3.使用Dexp和Dimp实现模式级逻辑导出和导入
使用参数schemas=模式名 即可
例如对PERSON模式进行导出
./dexp "SYSDBA"/'"Dameng111"'@LOCALHOST:5236 DIRECTORY=/home/dmdba/backup FILE=person_exp.dmp schemas=PERSON DROP=N LOG=person_exp.log LOG_WRITE=N
过程不再演示
对PERSON模式进行导入
./dimp "SYSDBA"/'"Dameng111"'@LOCALHOST:5236 file=person_exp.dmp directory=/home/dmdba/backup schemas=person LOG=person_imp.log LOG_WRITE=N
模式级逻辑导入还支持模式导入映射,例如把person模式的对象导出,导入到aaa模式。使用参数remap_schema=person:aaa
./dimp "SYSDBA"/'"Dameng111"'@LOCALHOST:5236 file=person_exp.dmp directory=/home/dmdba/backup remap_schema=person:aaa LOG=person_imp.log LOG_WRITE=N
4.使用Dexp和Dimp实现表级逻辑导出和导入
使用参数 TABLES=PERSON.TETE
逻辑导出模式PERSON下的TETE表
./dexp "SYSDBA"/'"Dameng111"'@LOCALHOST:5236 DIRECTORY=/home/dmdba/backup FILE=tete_exp.dmp TABLES=PERSON.TETE DROP=N LOG=tete_exp.log LOG_WRITE=N
逻辑导入表级对象,需要注意的是如果目标表已存在,则会导入失败,这时候可以添加参数TABLE_EXISTS_ACTION 对已存在表时采取操作[SKIP | APPEND | TRUNCATE | REPLACE]
./dimp "SYSDBA"/'"Dameng111"'@LOCALHOST:5236 DIRECTORY=/home/dmdba/backup FILE=tete_exp.dmp TABLES=PERSON.TETE LOG=tete_imp.log LOG_WRITE=N TABLE_EXISTS_ACTION=REPLACE