IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 数据迁移 | dexp & dimp工具 -> 正文阅读

[大数据]数据迁移 | dexp & dimp工具

本文参考:
https://eco.dameng.com/docs/zh-cn/pm/dexp-dimp-function-introduction.html

概要

若某种表被误删了,如何还原这张表?能够实现数据库对象级别的备份和还原吗?(物理备份恢复是文件级别的恢复)

  • 逻辑备份还原是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份还原

逻辑备份还原的工具?

  • 逻辑导出(dexp)和逻辑导入(dimp)是 DM 数据库的两个命令行工具,分别用来实现对 DM 数据库的逻辑备份和逻辑还原

逻辑导出导入对象的四大级别

  • 数据库级(FULL)
    导出 / 导入整个数据库中的所有对象
  • 用户级(OWNER)
    导出 / 导入一个(或多个用户)所拥有的全部对象
  • 模式级(SCHEMAS)
    导出 / 导入一个(或多个模式)下的所有对象
  • 表级(TABLES)
    导出 / 导入一个(或多个)指定表 / 表分区

本文命令运行环境介绍:

  • 源库与目标库都安装在同一台计算机上
  • 源库: 实例名为dmserver,端口为5236
  • 目标库: 实例名为dmserver2,端口为5237

数据库级

导出 / 导入整个数据库中的所有对象

FULL=Y

全库导出

dexp SYSDBA/SYSDBA\@localhost:5236 file=full01.dmp log=exp_full01.log directory=/dmpdir full=y

全库导入

dimp SYSDBA/SYSDBA\@localhost:5237 file=full01.dmp log=imp_full01.log directory=/dmpdir full=y

用户级

导出 / 导入一个(或多个)用户中的所有schemas

OWNER=<用户名>{,<用户名>}

注意:(仅在DM8中测试过)
此处仅导出schemas中的所有对象,并不导出用户
也就是说,导入时,目标端需要创建好用户,dimp会将导出文件中的所有schemas都导入到此用户中

导出单个用户

导出test1用户下的所有schemas

dexp SYSDBA/SYSDBA\@localhost:5236 file=owner01.dmp log=exp_owner01.log directory=/dmpdir owner=test1

导入单个用户

将源端test1用户的所有schemas导入目标端的test1用户中(前提是目标端有test1用户,因为导出文件只导出了schems,并没有导出源端的用户和权限)

SQL> drop user test1 cascade;
$ dimp SYSDBA/SYSDBA\@localhost:5237 file=owner01.dmp log=imp_owner01.log directory=/dmpdir owner=test1

模式级

导出 / 导入一个(或多个模式)下的所有对象

SCHEMAS=<模式名>{,<模式名>}

导出单个模式

导出模式test1_sch2下的所有对象,由于模式名为小写,故写法比较特殊

dexp SYSDBA/SYSDBA\@localhost:5236 file=schema01.dmp log=exp_schema01.log directory=/dmpdir schemas="\"test1_sch2\""

导入单个模式

将源库的模式test1_sch2,导入到目标库中,模式名不变(仍为test1_sch2)

SQL> drop schema "test1_sch2" cascade;
$ dimp SYSDBA/SYSDBA\@localhost:5237 file=schema01.dmp log=imp_schema01.log directory=/dmpdir schemas="\"test1_sch2\""

映射

可以修改源端和目标端的schema映射关系,实现将源端的sch1.tab1导入到目标端的sch2.tab1

REMAP_SCHEMA=<SOURCE_SCHEMA>:<TARGET_SCHEMA>	

将源库的模式test1_sch2,导入到目标库中,模式名更改(映射)为test2_sch2

dimp SYSDBA/SYSDBA\@localhost:5237 file=schema01.dmp log=imp_schema01.log directory=/dmpdir schemas="\"test1_sch2\"" remap_schema="\"test1_sch2\"":"\"test2_sch2\""

表级

导出 / 导入一个(或多个)指定表 / 表分区,导入所有数据行、约束、索引等信息

TABLES=<表名>{,<表名>}

导出单张表

导出表test1_sch2.TABLE_2,小写字母需要转义

dexp SYSDBA/SYSDBA\@localhost:5236 file=table01.dmp log=exp_table01.log directory=/dmpdir tables="\"test1_sch2\"".TABLE_2

导入单张表

SQL> drop table "test1_sch2"."TABLE_2" restrict;
$ dimp SYSDBA/SYSDBA\@localhost:5237 file=table01.dmp log=imp_table01.log directory=/dmpdir tables="\"test1_sch2\"".TABLE_2

其他

还有其他可选参数:控制导出导入的速度、表行数、模式对象、导出文件是否加密、压缩等

更多详情可参阅:
https://eco.dameng.com/docs/zh-cn/pm/dexp-logical-export.html

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-24 08:01:04  更:2021-11-24 08:02:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:55:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码