当前位置: 首页 > news >正文

(SERIES10)DM逻辑备份还原

1 概念

  逻辑备份还原是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份还原。逻辑导出(dexp)和逻辑导入(dimp)是 DM 数据库的两个命令行工具,分别用来实现对 DM 数据库的逻辑备份和逻辑还原。逻辑备份和逻辑还原都是在联机方式下完成,即在数据库服务器正常运行过程中进行的备份和还原。

  • 逻辑导出:使用 dexp 工具可以对本地或者远程数据库进行数据库级、用户级、模式级和表级的逻辑备份。
  • 逻辑导入dimp 逻辑导入工具利用 dexp 工具生成的备份文件对本地或远程的数据库进行联机逻辑还原。dimp 导入是 dexp 导出的相反过程。

2 逻辑导出

  dexp 工具可以对本地或者远程数据库进行数据库级、用户级、模式级和表级的逻辑备份。备份的内容非常灵活,可以选择是否备份索引、数据行和权限,是否忽略各种约束(外键约束、非空约束、唯一约束等),在备份前还可以选择生成日志文件,记录备份的过程以供查看。

2.1 dexp工具的启动及其参数

  dexp工具启动语法(bin目录下):

dexp PARAMETER=<value> { PARAMETER=<value> } 

  常用参数及其含义见表2-1:

表2-1 dexp工具常用参数及其含义

参数含义备注
USERID数据库的连接信息必选
FILE明确指定导出文件名称可选。如果缺省该参数,则导出文件名为dexp.dmp
DIRECTORY导出文件所在目录可选
FULL导出整个数据库 (N)
OWNER用户名列表,导出一个或多个用户所拥有的所有对象可选,四者中选其一
SCHEMAS模式列表,导出一个或多个模式下的所有对象可选,四者中选其一。缺省为SCHEMAS
TABLES表名列表,导出一个或多个指定的表或者表分区可选
FUZZY_MATCHTABLES 选项是否支持模糊匹配 (N)可选
QUERY用于指定导出表的数据进行过滤的条件可选
PARALLEL用于指定导出的过程中所使用的线程数可选
TABLE_PARALLEL用于指定导出每张表所使用的线程数,在MPP模式下不会转换成单线程可选
TABLE_POOL用于设置导出过程中存储表的缓存池个数可选

2.2 四种级别的导出

2.2.1 FULL

  导出数据库所有对象。

##设置 FULL=Y,导出数据库的所有对象,导出数据库文件和日志文件放在路径 /mnt/data/dexp下。
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/mnt/data/dexp

2.2.2 OWNER

  导出一个或多个用户拥有的所有对象。

##设置 OWNER=USER01,导出用户 USER01 所拥有的对象全部导出。
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log OWNER=USER01 DIRECTORY=/mnt/data/dexp

2.2.3 SCHEMAS

  导出一个或多个模式下的所有对象。

##设置 SCHEMAS=USER01,导出模式 USER01 模式下的所有对象。
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log SCHEMAS=USER01 DIRECTORY=/mnt/data/dexp

2.2.4 TABLES

  导出一个或多个指定的表或表分区。导出所有数据行、约束、索引等信息。

##设置 TABLES=table1,table2,导出 table1,table2 两张表的所有数据和信息。
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/mnt/data/dexp

  除在上述语句中提到的外, TABLES 导出有关的参数还有 QUERY、EXCLUDE 和 INCLUDE,都是用来设置过滤条件的。

2.3 使用示范

2.3.1 导出规划

  • 导出库环境为 Linux
  • 服务器 192.168.0.248
  • 用户名和密码均为 SYSDBA
  • 导出的是 DM 数据库系统安装时自带的名为 BOOKSHOP 的示例库,端口号 5236

2.3.2 dexp逻辑导出

  导出数据库的所有对象 (FULL=Y),导出文件为 dexp01.dmp ,导出日志为 dexp01.log,导出文件和日志文件都存放在 /emc_2/data/dexp 目录中。

./dexp SYSDBA/SYSDBA@192.168.0.248:5236 FILE=dexp01.dmp LOG=dexp01.log DIRECTORY=/emc_2/data/dexp FULL=Y##若使用加密参数对备份进行加密,可使用加密参数 ENCRYPT、ENCRYPT_PASSWORD、ENCRYPT_NAME 。
##具体使用方法如下:
./dexp SYSDBA/SYSDBA@192.168.0.248:5236 FILE=dexp03.dmp LOG=dexp03.log DIRECTORY=/emc_2/data/dexp FULL=Y  ENCRYPT=Y ENCRYPT_PASSWORD=damengren  ENCRYPT_NAME= DES_CBC
##导出数据库的所有对象 (FULL=Y),导出文件为 dexp03.dmp,导出日志为 dexp03.log,导出文件和日志文件都存放在 /emc_2/data/dexp 目录中。

3 dimp逻辑导入

3.1 dimp启动命令与相关参数

  dimp 逻辑导入工具利用 dexp 工具生成的备份文件对本地或远程的数据库进行联机逻辑还原。dimp 导入是 dexp 导出的相反过程。还原的方式可以灵活选择,例如是否忽略对象存在而导致的创建错误、是否导入约束、是否导入索引、导入时是否需要编译、是否生成日志等。

# 启动语法
dimp PARAMETER=value { PARAMETER=value }##将逻辑备份采用 FULL 方式完全导入到用户名和密码为 SYSDBA,IP 地址为 192.168.0.248,端口号为 8888 的数据库。导入文件名为 db_str.dmp,导入的日志文件名为 db_str.log,路径为/mnt/data/dexp
./dimp USERID=SYSDBA/SYSDBA@192.168.0.248:8888 FILE=db_str.dmp DIRECTORY=/mnt/data/dexp LOG=db_str.log FULL=Y

  dimp相关参数及其含义见表3-1:

表3-1 dimp相关参数及其含义

参数含义备注
USERID数据库的连接信息必选
FILE输入文件,即 dexp 导出的文件必选
DIRECTORY导入文件所在目录可选
FULL导入整个数据库 (N)
OWNER导入指定的用户名下的模式可选,四者中选其一。缺省为SCHEMAS
SCHEMAS导入的模式列表
TABLES表名列表,指定导入的 tables 名称。不支持对外部表进行导入
PARALLEL用于指定导入的过程中所使用的线程数目可选
TABLE_PARALLEL用于指定导入的过程中每个表所使用的子线程数可选。在FAST_LOAD为Y时有效
IGNORE忽略创建错误 (N)。如果表已存在则向表中插入数据,否则报错表已经存在可选
TABLE_EXISTS_ACTION需要的导入表在目标库中存在时采取的操作 [SKIPAPPEND
FAST_LOAD是否使用 dmfldr 进行数据导入 (N)可选
FLDR_ORDER使用 dmfldr 是否需要严格按顺序来导数据 (Y)可选
COMMIT_ROWS批量提交的行数 (5000)可选

3.2 四种级别导入功能

3.2.1 FULL

  导入整个数据库:

##设置 FULL=Y,导入数据库,导入的数据库文件在 /mnt/data/dexp,即将生成的日志文件放在 /mnt/data/dimp。
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/mnt/data/dimp

3.2.2 OWNER

  导入一个或多个用户拥有的所有对象:

##设置 OWNER=USER01,导入用户 USER01 所拥有的对象全部导出。导入的数据库文件在 /mnt/data/dexp,即将生成的日志文件放在 /mnt/data/dimp。
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log OWNER=USER01  DIRECTORY=/mnt/data/dimp

3.2.3 SCHEMAS

  导入一个或多个模式下的所有对象:

##设置 SCHEMAS=USER01,导入模式 USER01 模式下的所有对象。导入的数据库文件在/mnt/data/dexp,即将生成的日志文件放在 /mnt/data/dimp。
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log SCHEMAS=USER01  DIRECTORY=/mnt/data/dimp

3.2.4 TABLES

  导入一个或多个指定的表或表分区。导入所有数据行、约束、索引等信息:

##设置 TABLES=table1,table2,导入 table1,table2 两张表的所有数据和信息。导入的数据库文件在 /mnt/data/dexp,即将生成的日志文件放在 /mnt/data/dimp。
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/mnt/data/dimp

  与 TABLES 导入有关的参数还有 EXCLUDE,用来指定导入时过滤某类对象。

3.3 使用示范

3.3.1 环境准备

  • 导入库环境为 Linux
  • 服务器为 192.168.0.248
  • 用户名和密码均为 SYSDBA
  • 准备一个空数据库作为导入库,端口号为 8888

3.3.2 dimp逻辑导入

  导入 SYSDBA、OTHER、PERSON 模式中的数据 (SCHEMAS = SYSDBA,OTHER,PERSON),导入文件就是上一步导出的文件 dexp01.dmp ,导入日志 dimp02.log 放入 /emc_2/data/dimp 目录中:

./dimp SYSDBA/SYSDBA@192.168.0.248:8888 FILE=/emc_2/data/dexp/dexp01.dmp LOG=dimp02.log DIRECTORY=/emc_2/data/dimp SCHEMAS=SYSDBA,OTHER,PERSON

4 使用manager进行逻辑导入导出

  见https://eco.dameng.com/document/dm/zh-cn/ops/logical-backup-restore.html#四、使用图形化工具进行逻辑导入导出

  社区地址:https://eco.dameng.com

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 828华为云征文 | 在Huawei Cloud EulerOS系统中安装Docker的详细步骤与常见问题解决
  • iTerm2下载并配置
  • 面向对象程序设计
  • react hooks--React.memo
  • 出厂非澎湃OS手机解BL锁
  • 企业急于采用人工智能,忽视了安全强化
  • 计算机毕业设计公交站点线路查询网站登录注册搜索站点线路车次/springboot/javaWEB/J2EE/MYSQL数据库/vue前后分离小程序
  • 如何将很多个pdf拼接在一起?很多种PDF拼接的方法
  • 通信-互联网技术-第一章计算机网络与协议
  • 基于SpringBoot+Vue的高校门禁管理系统
  • 监理工程师备考攻略:2025年监理工程师考试需要提前几个月备考?
  • 智能工厂的软件设计 “程序program”表达式,即 接口模型的代理模式表达式
  • 【ArcGISPro】配置模块
  • 2024/9/21 leetcode 19题 24题
  • 线性规划------ + 案例 + Python源码求解(见文中)
  • Android单元测试 - 几个重要问题
  • Apache Zeppelin在Apache Trafodion上的可视化
  • echarts的各种常用效果展示
  • Java比较器对数组,集合排序
  • JWT究竟是什么呢?
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 老板让我十分钟上手nx-admin
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 深度学习在携程攻略社区的应用
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 通信类
  • 为视图添加丝滑的水波纹
  • 小程序 setData 学问多
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • MPAndroidChart 教程:Y轴 YAxis
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • #{}和${}的区别?
  • (1)(1.13) SiK无线电高级配置(五)
  • (19)夹钳(用于送货)
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (floyd+补集) poj 3275
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (二)十分简易快速 自己训练样本 opencv级联lbp分类器 车牌识别
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (论文阅读11/100)Fast R-CNN
  • (论文阅读30/100)Convolutional Pose Machines
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (三)Honghu Cloud云架构一定时调度平台
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)项目管理杂谈-我所期望的新人
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .htaccess配置常用技巧
  • .net core 连接数据库,通过数据库生成Modell
  • .net 流——流的类型体系简单介绍