您的位置:首页 > 科技 > 能源 > 达梦数据库 逻辑备份还原

达梦数据库 逻辑备份还原

2024/12/28 12:20:53 来源:https://blog.csdn.net/qq_44669390/article/details/141020050  浏览:    关键词:达梦数据库 逻辑备份还原

达梦的逻辑备份还原

  • 1.背景
  • 2.要求
  • 3.实验步骤
    • 3.1 相关术语
    • 3.2 dexp逻辑导出
      • 3.2.1 使用dexp工具
      • 3.2.2 dexp相关参数含义
      • 3.2.3 四种级别导出
        • 3.2.3.1 FULL
        • 3.2.3.2 OWNER
        • 3.2.3.3 SCHEMAS
        • 3.2.3.4 TABLES
      • 3.2.4 使用范例
        • 3.2.4.1 环境准备
        • 3.2.4.2 dexp逻辑导出
    • 3.3 dimp逻辑导入
      • 3.3.1 使用dimp工具
      • 3.3.2 dimp相关参数含义
      • 3.3.3 四种级别导入功能
        • 3.3.3.2 OWNER
        • 3.3.3.3 SCHEMAS
        • 3.3.3.4 TABLES
      • 3.3.4 使用范例
        • 3.3.4.1 环境准备
        • 3.3.4.2 dimp逻辑导入
  • 4.实验结论

1.背景

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

2.要求

学习逻辑备份还原的机制原理

3.实验步骤

3.1 相关术语

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

3.2 dexp逻辑导出

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

3.2.1 使用dexp工具

dexp 工具需要从命令行启动。以数据库软件安装目录为 /dm8/bin 为例,在 /dm8/bin 路径下输入 dexp 和参数后回车。

##语法如下
dexp PARAMETER=<value> { PARAMETER=<value> } 

3.2.2 dexp相关参数含义

在这里插入图片描述

3.2.3 四种级别导出

3.2.3.1 FULL

FULL 方式导出数据库的所有对象。

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

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

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

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

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

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,都是用来设置过滤条件的。

3.2.4 使用范例

3.2.4.1 环境准备

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

3.2.4.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.3 dimp逻辑导入

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

3.3.1 使用dimp工具

dimp 工具需要从命令行启动。以数据库软件安装目录为 /dm8/bin 为例,在 /dm8/bin 路径下输入 dimp 和参数后回车。

##语法如下
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

3.3.2 dimp相关参数含义

在这里插入图片描述

3.3.3 四种级别导入功能

3.3.3.2 OWNER

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.3.3.3 SCHEMAS

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.3.3.4 TABLES

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.4 使用范例

3.3.4.1 环境准备

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

3.3.4.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.实验结论

数据库备份是 DBA 日常最重要的工作内容,数据库备份可以提高系统的高可用性和灾难可恢复性,当数据库系统崩溃时,没有备份就无法恢复,数据库备份可以减少数据丢失的风险,数据库备份是一种防范灾难于未然的强力手段,没有数据就没有一切,合适的备份恢复方案可以最小化数据丢失,最短的时间内恢复数据。

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com