zoukankan      html  css  js  c++  java
  • 达梦数据库备份与还原

    物理备份与还原    2

    1、脱机备份与还原(冷备)    2

    1.1、console工具备份    2

    1.2、console工具还原与恢复    2

    1.3、dmrman工具备份    2

    1.4、dmrman工具还原恢复    3

    2、联机备份与还原(热备)    3

    2.1、开启归档    3

    2.2、联机备份    5

    2.2.1、使用manager工具    5

    2.2.2、使用SQL语句    7

    2.3、还原    8

    逻辑备份与还原    9

    1、逻辑导出dexp    9

    2、逻辑导入dimp    9

    备份恢复与还原

    备份:就是数据库在某一个时间点的副本,备份主要是为了防止数据丢失(地震、火灾、人     为操作、硬件故障)。

    还原:就是将数据库在某个时间点的副本拷贝到对应的数据库目录下

    恢复:就是在数据库还原之后,应用部分或者是全部的归档日志

    物理备份:备份的是使用过的有效的数据页,分为联机备份(热备)和脱机备份(冷备);     完全备份和增量备份。

    逻辑备份:备份的是数据库对象(表、视图、索引、过程、触发器、序列)

    联机备份:数据库在正常访问的情况下,做的备份

    脱机备份:数据库在关闭后,做的备份

    全量备份:备份指定的数据库或者表空间的全部数据。

    增量备份:是指在一次全备或增备后,以后每次的备份只需要备份与前一次相比增加或者被         修改的数据页。

    脱机备份可通过console控制台工具和DMRMAN命令行的方式进行备份,联机备份可通过达梦Manager管理工具和使用SQL命令的方式进行备份。

    物理备份与还原

    物理备份备份的是使用过的有效的数据页,分为联机备份(热备)和脱机备份(冷备);完全备份和增量备份。

    1、脱机备份与还原(冷备)

    冷备可以不用开归档,需要开启DmAP服务,需要关闭数据库实例,针对整库做备份

    1.1、console工具备份

    1)备份之前关闭数据库服务

    2)、打开console工具

    填写备份集名称和备份集目录,可选全备和增备,增备必须要有基备份目录。

    1.2、console工具还原与恢复

    1)、关闭数据库实例服务

    2)、打开console工具

    先配置获取备份的路径,再点击获取备份,最后选择上要恢复的备份集

    3)点击还原,确定dm.ini路径后点击确定,即可还原成功

    4)点击恢复

    确定好备份集和dm.ini路径后点击确定即可恢复

     

    5)更新魔数,即可完成还原的全部流程

    1.3、dmrman工具备份

    dmrman工具只支持冷备。负责库级脱机备份、脱机还原、数据库恢复等相关操作,该工具支持命令行指定参数方式和控制台交互方式执行,降低了用户的操作难度。

    1)备份库

    全备:

    RMAN>backup database '/home/dmdba/dmdbms/data/DAMENG/dm.ini' full backupset '/home/dmdba/dmdbms/data/DAMENG/bak/db_full_bak_2021-2-5'

    增备:

    RMAN>backup database '/home/dmdba/dmdbms/data/DAMENG/dm.ini' increment with backupdir '/home/dmdba/dmdbms/data/DAMENG/bak/' backupset '/home/dmdba/dmdbms/data/DAMENG/bak/db_increment_bak_2021-2-5';

    1.4、dmrman工具还原恢复

    • 检查数据库备份 
    RMAN> check backupset '/home/dmdba/dmdbms/data/DAMENG/bak/db_full_bak_2021-2-5';
    • 还原数据库
    RMAN> restore database '/home/dmdba/dmdbms/data/DAMENG/dm.ini' from backupset '/home/dmdba/dmdbms/data/DAMENG/bak/db_full_bak_2021-2-5';
    • 恢复数据库
    RMAN> recover database '/home/dmdba/dmdbms/data/DAMENG/dm.ini' from backupset '/home/dmdba/dmdbms/data/DAMENG/bak/db_full_bak_2021-2-5';
    • 更新magic
    RMAN> recover database '/home/dmdba/dmdbms/data/DAMENG/dm.ini' update db_magic;

    2、联机备份与还原(热备)

    需要开启归档,数据库需要打开(open)可以备份数据库、表空间、表、归档日志

    2.1、开启归档

    (1)使用达梦管理工具

    -- 查看是否归档    

    select arch_mode from v$database;

    N表示未开启

    • 打开本地归档

    切换状态为配置模式。

    最后再把状态切换为open

    select arch_mode from v$database;

    再次查看,归档模式开启。

     

    (2)使用disql开启归档

    # 修改数据库状态为mount

    ALTER DATABASE MOUNT;

    # 配置本地归档

    alter database add archivelog 'type=local,dest=/home/dmdba/dmdbms/arch,file_size=64,space_limit=10240';

    # 开启归档模式

    alter database archivelog;

    # 修改数据库为OPEN状态

    alter database open;

    (3)手动配置归档

    将dm.ini里面的额ARCH_INI参数置为1

    vi /home/dmdba/dmdbms/data/DAMENG/dmarch.ini

    [ARCHIVE_LOCAL1]
    
    ARCH_TYPE = LOCAL
    
    ARCH_DEST = /home/dmdba/dmdbms/data/DAMENG/arch
    
    ARCH_FILE_SIZE = 128
    
    ARCH_SPACE_LIMIT = 10240

    2.2、联机备份

    2.2.1、使用manager工具

    1)库备份

    右击库备份,新建备份,设置备份名和备份集目录即可,可选择增备和全备

    2)表空间备份

    表空间备份必须联机,还原脱机

    3)表备份

    表备份可以直接使用manager工具联机还原

    4)归档备份

    可以指定备份多有归档,也可以指定某一时间段的归档

    2.2.2、使用SQL语句

    1)库备份

    全备:

    backup database full backupset 'DB_DAMENG_FULL_2021_02_05_15_53_19';

    增备:

    backup database increment base on     backupset'/home/dmdba/dmdbms/data/DAMENG/bak/DB_DAMENG_FULL_2021_02_05_15_50_19'
        to "DB_DAMENG_INCRE_2021_02_05_15_50_19"
            backupset 'DB_DAMENG_INCRE_2021_02_05_15_50_19';

    2)表空间备份

    全备:

    backup tablespace "MAIN" full to "TS_TEST" backupset '/home/dmdba/dmdbms/data/DAMENG/bak/TS_TEST';

    增备:

    backup tablespace "MAIN" increment base on backupset '/home/dmdba/dmdbms/data/DAMENG/bak/TS_TEST'
        to "TS_DAMENG_INCRE_2021_02_05_15_50_19" backupset 'TS_DAMENG_INCRE_2021_02_05_15_50_19';

    3)表备份

    backup table "USER01"."USERS01" to "TAB_USER01_USERS01_2021_02_05_15_31_17" backupset 'TAB_USER01_USERS01_2021_02_05_15_31_17';

    4)归档备份

    备份所有归档:

    backup archivelog all to "ARCH_2021_02_05_15_27_48" backupset 'ARCH_2021_02_05_15_27_48';

    基于时间点的归档:

    backup archivelog time between '2021-02-05 16:00:53' and '2021-02-05 16:21:53' 
      to "ARCH_2021_02_05_16_21_53" backupset 'ARCH_2021_02_05_16_21_53';

    2.3、还原

    关闭数据库实例

    1)库还原

    还原过后,恢复的时候可以选择指定归档恢复,可以恢复到发生故障之前的那一刻数据库的数据。

    2)表空间还原

    使用console工具:

    使用dmrman工具:

    RESTORE DATABASE 'home/dmdba/dmdbms/data/DAMENG/dm.ini' tablespace "MAIN" FROM BACKUPSET '/home/dmdba/dmdbms/data/DAMENG/bak/TS_TEST'; 
    RECOVER DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' TABLESPACE MAIN WITH ARCHIVEDIR '/home/dmdba/dmdbms/arch';

    注意:还原表空间的时候默认会应用所有归档日志不能做不完全恢复,所以,你备份后删除表的记录,也会记录下来,恢复后表空间里的表还是修改或删除后的状态。

    3)归档还原

    使用conclose工具:

    使用dmrman工具

    RESTORE ARCHIVE LOG FROM BACKUPSET '/home/dmdba/dmdbms/data/DAMENG/bak/ARCH_2021_02_05_15_20_06' TO DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini'OVERWRITE 2;

    逻辑备份与还原

    备份的是数据库对象

    逻辑备份可以用来迁移和重组数据库,是数据库的辅助备份

    dexp/dimp

    四个级别:

    导入导出库级别、用户级别、模式级别、表级别

    1、逻辑导出dexp

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

    导出环境:192.168.138.120:5236 、linux 、SYSDBA/SYSDBA

    导出整个数据库:

    [dmdba@dameng03 bin]$ ./dexp SYSDBA/SYSDBA@192.168.138.120:5236 file=dexp01.dmp log=dexp01.log directory=/home/dmdba/dmdbms/data/ full=y

    导出用户:

    [dmdba@dameng03 bin]$ ./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log OWNER=USER01 DIRECTORY=/home/dmdba/dmdbms/data/

    导出模式

    [dmdba@dameng03 bin]$ ./dexp SYSDBA/SYSDBA@192.168.138.120:5236 FILE=dexp_sch.dmp LOG=dexp_sch.log SCHEMAS=USER01 DIRECTORY=/home/dmdba/dmdbms/data/dexp_sch

    导出表:

    [dmdba@dameng03 bin]$ ./dexp SYSDBA/SYSDBA@192.168.138.120:5236 FILE=dexp_tab.dmp LOG=dexp_tab.log TABLES=USERS DIRECTORY=/home/dmdba/dmdbms/data/dexp_tab

    2、逻辑导入dimp

    导入环境:192.168.138.120:5237 、linux 、SYSDBA/SYSDBA

    导入整个数据库:

    [dmdba@dameng03 bin]$ ./dimp SYSDBA/SYSDBA@192.168.138.120:5237 FILE=/home/dmdba/dmdbms/data/dexp01.dmp log=dimp.log directory=/home/dmdba/dmdbms/data/ full=

    导入用户:

    [dmdba@dameng03 bin]$ ./dimp SYSDBA/SYSDBA@192.168.138.120:5237 file=/home/dmdba/dmdbms/data/dexp_user/dexp_user.dmp log=dimp_user.log owner=USER01 directory=/home/dmdba/dmdbms/data/dimp_user 

    导入模式:

    [dmdba@dameng03 bin]$ ./dimp SYSDBA/SYSDBA@192.168.138.120:5237 FILE=/home/dmdba/dmdbms/data/dexp_sch/dexp_sch.dmp LOG=dimp_sch.log SCHEMAS=USER01 DIRECTORY=/home/dmdba/dmdbms/data/dimp_sch 

    导入表:

    [dmdba@dameng03 bin]$ ./dimp SYSDBA/SYSDBA@192.168.138.120:5237 file=/home/dmdba/dmdbms/data/dexp_tab/dexp_tab.dmp log=dimp_tab.log tables=USERS directory=/home/dmdba/dmdbms/data/dimp_tab
  • 相关阅读:
    Docker 常用命令
    SpringMVC Controller 返回值几种类型
    SSM框架整合(IntelliJ IDEA + maven + Spring + SpringMVC + MyBatis)
    SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
    springmvc 自定义拦截器实现未登录用户的拦截
    使用idea搭建SSM框架
    详解intellij idea搭建SSM框架(spring+maven+mybatis+mysql+junit)(下)
    IntelliJ IDEA maven项目new里没有package
    ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO) ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: YES)
    MySql 5.7密码查看或修改
  • 原文地址:https://www.cnblogs.com/hong-yf/p/14380871.html
Copyright © 2011-2022 走看看