• DM8备份与还原实操


    一、了解DM8备份与还原

    逻辑备份与物理备份的差别:

    逻辑备份:备份数据库实例的对象,即对数据库的表空间、表、视图等的备份,可以使用dexp、dexpdp导出,dimp、dimpdp导入;
    物理备份:备份数据库实例在磁盘中的物理数据,即数据文件、日志文件、控制文件等,可以使用dmrman进行脱机物理备份;

    脱机备份与联机备份的差别:

    脱机备份:数据库实例关闭后进行的备份,可以使用达梦的dmrman工具对数据库进行脱机备份;
    联机备份:数据库实例打开状态下进行的备份,需要打开归档和设置归档路径;

    备份方式:

    完全备份:备份整个数据库;
    BACKUP DATABASE FULL BACKUPSET '备份名称';
    增量备份:分为差异增量备份与累计增量备份,在基备份的基础上继续进行备份的备份方式;关键字INCREMENT指定备份方式为增量备份,默认为差异增量备份,增加关键字CUMULATIVE则为累计增量备份。WITH BACKUPDIR指定基备份集的搜索目录,或者可以使用BASE ON BACKUPSET指定具体的基备份
    差异增量备份:可以将完全备份或增量备份作为基备份;
    BACKUP DATABASE INCREMENT WITH BACKUPDIR '基备份搜索备份目录' BACKUPSET '备份名称';
    累计增量备份:只能以完全备份为基备份;
    BACKUP DATABASE INCREMENT CUMULATIVE WITH BACKUPDIR '基备份搜索备份目录' BACKUPSET '备份名称';

    二、查看是否开启归档

    select arch_mode from v$database;

    三、创建测试数据

    创建表空间users
    create tablespace users datafile '/home/dmdba/dmdata/user01.dbf' size 128 autoextend on next 64 maxsize 4096,'/home/dmdba/dmdata/user02.dbf' size 128 autoextend on next 64 maxsize 4096;

    创建用户
    create user bak_test identified by 123456789 default tablespace users;

    赋权
    grant dba,resource to bak_test;

    创建表及插入数据
    create table t1(id int identity,name varchar2(20));
    insert into t1 values('tom');
    commit;

    四、联机备份 ###

    进行联机备份前,需要先设置归档路径与开启归档,否则报以下错误

    设置归档路径,开启归档
    alter database mount;
    alter database add archivelog 'type=local,dest=/home/dmdba/dmarch,file_size=1024,space_limit=0';
    alter database archivelog;
    alter database open;
    select arch_mode from v\(database; select arch_lsn,clsn,path from v\)arch_file;

    进行完全备份
    backup database full to full_bak_01 backupset '/home/dmdba/dmbak/full_bak_01' backupinfo '完全备份01';

    添加备份集搜索路径
    select sf_bakset_backup_dir_add('disk','/home/dmdba/dmbak');

    select backup_name,backup_path,begin_lsn,end_lsn,desc# from v$backupset;


    插入数据
    insert into t1 values('jerry');
    commit;
    select * from t1;

    进行差异增量备份(以完全备份01为基备份)
    backup database increment base on backupset '/home/dmdba/dmbak/full_bak_01' to inc_bak_01 backupset '/home/dmdba/dmbak/inc_bak_01' backupinfo '差异增量备份01';

    模拟磁盘损坏数据文件丢失,更改user01数据文件名

    五、还原恢复

    使用完全备份进行还原恢复
    ./dmrman
    restore database '/home/dmdba/dmdbms/data/DMOA/dm.ini' from backupset '/home/dmdba/dmbak/full_bak_01';
    recover database '/home/dmdba/dmdbms/data/DMOA/dm.ini' from backupset '/home/dmdba/dmbak/full_bak_01';
    recover database '/home/dmdba/dmdbms/data/DMOA/dm.ini' update db_magic;

    提示服务器正在运行,关闭服务器之后再次尝试。


    提示文件读写出错,切换为dmdba用户在此尝试。



    查看数据,只恢复到完全备份的数据,而后面增加的数据没有恢复

    使用差异增量备份进行恢复
    restore database '/home/dmdba/dmdbms/data/DMOA/dm.ini' from backupset '/home/dmdba/dmbak/inc_bak_01';
    recover database '/home/dmdba/dmdbms/data/DMOA/dm.ini' from backupset '/home/dmdba/dmbak/inc_bak_01';
    recover database '/home/dmdba/dmdbms/data/DMOA/dm.ini' update db_magic;


    六、查看数据,数据全部恢复

  • 相关阅读:
    IDL读取TXT文件并写入二维数组中【转】
    远程连接ArcSDE
    Silverlight项目启动出现System.NullReferenceException未将对象引用到对象实例
    ENVI扩展工具:HDF5 Browser
    READF: End of file encountered. Unit: 100
    ENVI4.8下从两幅分类结果的栅格图中计算土地利用类型转换矩阵
    IDL中去掉数组中相同的元素方法
    利用IDL程序自动添加ENVI菜单【转】
    WIN7远程桌面连接知识
    对COM组件的调用返回了错误"HRESULT E_FAIL”的错误分析(c#与IDL混合编程)转
  • 原文地址:https://www.cnblogs.com/tazimi/p/16634510.html
Copyright © 2020-2023  润新知