欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

DM 逻辑导出与导入:dexp和dimp指南

最编程 2024-01-09 19:57:46
...
  1. 简介

DM数据库支持两种备份方式:逻辑备份和物理备份。

逻辑备份是指利用dexp导出工具,将指定对象(库级、模式级、表级)的数据导出到文件的备份方式。逻辑备份针对的是数据内容,并不关心这些数据物理存储在什么位置。

物理备份是指直接扫描数据库文件,找出那些已经分配、使用的数据页,拷贝并保存到备份集中。物理备份过程中,不关心数据页的具体内容是什么,也不关心数据页属于哪一张表,只是简单的根据数据库文件系统的描述,来挑选有效的数据页。

  1. 部署环境

2‑1 部署环境

系统版本

Centos7.9

CPU型号

Intel(R) i5-7200U CPU (2核)

磁盘空间

40G

内存大小

2G

2‑2 磁盘规划

数据

/dev/mapper/vg_dm-lv_dmdata

备份

/dev/mapper/vg_dm-lv_dmbak

归档

/dev/mapper/vg_dm-lv_arch

2‑3 目录规划

数据库软件安装目录

/home/dmdba/dmdbms

实例安装目录

/dmdata

归档存放目录

/dmdata/arch

备份存放目录

/dmdata/dmbak/

  1. 逻辑导出(dexp)和导入(dimp)

    1. 逻辑备份还原

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

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

逻辑导出和逻辑导入数据库对象分为四种级别:数据库级、用户级、模式级和表级。四种级别独立互斥,不能同时存在。四种级别所提供的功能:

数据库级(FULL):导出或导入整个数据库中的所有对象。

用户级(OWNER):导出或导入一个或多个用户所拥有的所有对象。

模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象。

表级(TABLES):导出或导入一个或多个指定的表或表分区。

  1. dexp逻辑导出

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

dexp工具名称有两种写发dexpdexpdp,两者语法完全相同,区别在于:dexp导出的文件必须在客户端,dexpdp导出的文件必须存放在服务器端。

  1. dimp逻辑导入

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

dimp工具名称有两种写法dimpdimpdp。两者语法完全相同。唯一的区别在于,dimp导入的文件必须存放在客户端,dexpdp导入的文件必须存放在服务器端。

  1. dimp的使用

例如,将用户名和密码均为SYSDBAIP地址为192.168.254.144,端口号为5236的数据库采FULL方式完全导出。导出文件名为dmdb1.dmp,导出的日志文件名为 dmdb1.log,导出文件的路径为/home/dmdba

./dexp userid=SYSDBA/'"SYSDBA"'@192.168.254.144:5236 directory=/home/dmdba file=dmdb1.dmp log=dmdb1.log full=y

3-1导入成功

  1. dexp的使用

将上方逻辑备份的dmp文件采用FULL方式完全导入到用户名和密码为SYSDBAIP地址为192.168.254.144,端口号为5237的数据库。导入文件名为dmdb1.dmp,导入的日志文件名为dmdb2.log,导入路径为/home/dmdba

./dimp userid=SYSDBA/'"SYSDBA"'@192.168.254.144:5237 directory=/home/dmdba file=dmdb1.dmp log=dmdb2.log FULL=Y

3-2导入成功

  1. 四种导出导入级别

针对数据库对象,有 FULLOWNERSCHEMASTABLES 四种导出方式可供选择。一次导出只能指定一种方式。可选参数,缺省为 SCHEMAS

  1. FULL

FULL 方式导出数据库的所有对象,例如,设置 FULL=Y,导出数据库的所有对象,导出数据库文件和日志文件放在路径/home/dmdba下。

./dexp USERID=SYSDBA/SYSDBA FILE=dmdb.dmp LOG=dmdb.log FULL=Y DIRECTORY=/home/dmdba

设置 FULL=Y,导入整个数据库,导入的数据库文件在/home/dmdba,即将生成的日志文件放在/home/dmdba/dimp

./dimp USERID=SYSDBA/SYSDBA FILE=//home/dmdba/dmdb.dmp LOG=dbdm.log FULL=Y DIRECTORY=/home/dmdba/dimp

  1. OWNER

OWNER 方式导出一个或多个用户拥有的所有对象,例如,设置 OWNER=USER01,导出用户 USER01 所拥有的对象全部导出。

./dexp USERID=SYSDBA/SYSDBA FILE=dmdb.dmp LOG=dmdb.log OWNER=USER01 DIRECTORY=/home/dmdba

设置 OWNER=USER01,导入用户 USER01 所拥有的对象全部导出。导入的数据库文件在/home/dmdba,即将生成的日志文件放在/home/dmdba/dimp

./dimp USERID=SYSDBA/SYSDBA FILE=/home/dmdba/dmdb.dmp LOG=dmdb.log OWNER=USER01 DIRECTORY=/home/dmdba/dimp

  1. SHEMAS

SCHEMAS 方式的导出一个或多个模式下的所有对象,例如,设置 SCHEMAS=USER01,导出模式 USER01 模式下的所有对象。

./dexp USERID=SYSDBA/SYSDBA FILE=dmdb.dmp LOG=dmdb.log

SCHEMAS=USER01 DIRECTORY=/home/dmdba

设置 SCHEMAS=USER01,导入模式 USER01 模式下的所有对象。导入的数据库文件在/home/dmdba,即将生成的日志文件放在/home/dmdba/dimp

./dimp USERID=SYSDBA/SYSDBA FILE=/home/dmdba/dmdb.dmp LOG=dmdb.log SCHEMAS=USER01 DIRECTORY=/home/dmdba /dimp

  1. TABLES

TABLES方式导出和导入一个或多个指定的表或表分区。导出所有数据行、约束、索引等信息。和TABLES导入有关的参数还有EXCLUDE,用来指定导入时过滤掉某类对象。例如,设置TABLES=table1,table2,导出table1,table2两张表的所有数据和信息。

./dexp USERID=SYSDBA/SYSDBA FILE=dmdb.dmp LOG=dmdb.log TABLES=table1,table2 DIRECTORY=/home/dmdba

设置 TABLES=table1,table2,导入 table1,table2 两张表的所有数据和信息。导入的数据库文件在/home/dmdba,即将生成的日志文件放在/home/dmdba/dimp

./dimp USERID=SYSDBA/SYSDBA FILE=/home/dmdba/dmdb.dmp LOG=dmdb.log TABLES=table1,table2 DIRECTORY=/home/dmdba/dimp

 

 

 

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