DM7备份还原

一、备份还原
1.库备份
1)修改数据库为 MOUNT 状态。 SQL>ALTER DATABASE MOUNT;
2)配置本地归档。 SQL>ALTER DATABASE ADD ARCHIVELOG ‘DEST =/home/dm_arch/arch, TYPE = local, FILE_SIZE = 1024, SPACE_LIMIT = 2048’;
3)开启归档模式。 SQL>ALTER DATABASE ARCHIVELOG;
4)修改数据库为 OPEN 状态。 SQL>ALTER DATABASE OPEN;
全备
5) SQL>BACKUP DATABASE FULL TO full_bak BAKFILE ‘/home/data/DAMENG/bak/FULL/1.bak’ MAXSIZE 100; --每片备份文件100M最大(默认2G)
增量备份
6) SQL>backup database increment WITH BACKUPDIR ‘/home/data/DAMENG/bak/FULL’ TO INR_BAK BAKFILE ‘/home/data/DAMENG/bak/INR1/INR_1.bak’;

2.库还原
1)停止数据库服务,通过终端进去安装的bin目录。
基于全量还原
2)DMRESTORE INI_PATH=/home/data/DAMENG/dm.ini FILE=/home/data/DAMENG/bak/FULL/1.bak
基于增量还原
3)DMRESTORE INI_PATH=D:\dmdbms\data1\DAMENG1\dm.ini FILE=/home/data/DAMENG/bak/INR1/INR_1.bak

二、新备份还原
backup database full to dmbak2 backupset ‘D:\dmdbms\data\DAMENG\bak\FULL’; 全备
backup database increment WITH BACKUPDIR
‘D:\dmdbms\data\DAMENG\bak\FULL’ backupset ‘D:\dmdbms\data\DAMENG\bak\INR1’; 基于全备做增量备份
还原和恢复
cd ‘D:\dmdbms\bin’
dmrman
restore database ‘D:\dmdbms\data\DAMENG\dm.ini’ from backupset ‘D:\dmdbms\data\DAMENG\bak\FULL’;通过全量还原
recover database ‘D:\dmdbms\data\DAMENG\dm.ini’ from backupset ‘D:\dmdbms\data\DAMENG\bak\FULL’;通过全量恢复

restore database ‘D:\dmdbms\data\DAMENG\dm.ini’ from backupset ‘D:\dmdbms\data\DAMENG\bak\INR1’;通过增量还原
recover database ‘D:\dmdbms\data\DAMENG\dm.ini’ from backupset ‘D:\dmdbms\data\DAMENG\bak\INR1’;通过增量恢复

新备份还原
打开数据库归档

  1. 查看归档状态
    SQL> select arch_mode from v$database;
    行号 ARCH_MODE
    1 N
  2. 切换配置模式
    SQL> alter database mount;
  3. 打开归档
    SQL> alter database archivelog;
  4. 增加本地归档
    SQL> alter database add archivelog ‘DEST =/dm7/arch,TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=0’;
  5. 打开数据库
    SQL> alter database open;
    SQL> select arch_mode from v d a t a b a s e ; 1 Y 3 数 据 库 的 备 份 与 还 原 1 备 份 数 据 库 S Q L > b a c k u p d a t a b a s e f u l l t o d m b a k 2 b a c k u p s e t ′ / d m 7 / b a c k u p / b a k 2 ′ ; 2 查 看 备 份 生 成 文 件 [ d m d b a @ d m 1 b a k 2 ] database; 1 Y 3数据库的备份与还原 1 备份数据库 SQL> backup database full to dmbak2 backupset '/dm7/backup/bak2'; 2 查看备份生成文件 [dmdba@dm1 bak2] database;1Y31SQL>backupdatabasefulltodmbak2backupset/dm7/backup/bak2;2[dmdba@dm1bak2] ls
    bak2.bak bak2.meta
    注意:bak2.bak是数据库的备份文件,bak2.meta为备份的元文件
    3 BAK2可以直接在备份集中直接还原指定的用户表空间,不在像BAK需要把整个数据库还原,这里值得注意的是SYSTEM,ROLL,HMAIN表空间损坏,不能按照下述步骤还原。
    假设DMHR表空间损坏
    a) 表空间offline
    SQL> alter tablespace DMHR offline;
    b) 还原表空间
    SQL> restore tablespace DMHR from backupset ‘/dm7/backup/bak2’;
    c) 表空间online
    SQL> alter tablespace DMHR online;
    备份用户表空间和表的方法和备份数据库类似,此处不在赘述。
    4 如果要还原整个数据,在BAK2的使用上也有些变化。我们不在利用dmrestore命令去还原。而是利用dmrman。
    a) 检查数据库服务状态
    [dmdba@dm1 ~]$ ps -ef|grep dmserver
    b) 启动dmrman
    [dmdba@dm1 ~]$ /dm7/bin/dmrman
    dmrman V7.1.5.75-Build(2016.04.21-67830trunc)
    RMAN>
    c) 还原数据库
    RMAN>restore database ‘/dm7/data/DAMENG/dm.ini’ from backupset ‘/dm7/backup/bak2’;
    d) 恢复数据库
    RMAN>recover database ‘/dm7/data/DAMENG/dm.ini’ from backupset ‘/dm7/backup/bak2’;
    e) 打开数据库
    [dmdba@dm1 ~]$ /etc/rc.d/init.d/DmServiceDM1 start
    4备份归档
    BAK2出现后,支持对归档的备份。
    备份所有的归档文件
    SQL> backup archivelog all to dmbakarch backupset ‘/dm7/backup/bak2_arch’;
    查看归档备份
    [dmdba@dm1 bak2_arch]$ ls
    bak2_arch.bak bak2_arch.meta

表空间备份还原
表空间备份
backup tablespace “TS_XYXX_JC” full to “TS_XYXX_JC_BAK_2019_08_12_13_47_33” bakfile ‘/home/data/data/DAMENG/bak/tablespace/TS_XYXX_JC_BAK_2019_08_12_13_47_33.bak’;
(在进行联机库级备份和表空间备份时,必须保证系统处于归档模式,否则联机备份不能进行)

表的备份还原(都是在线操作)
BACKUP TABLE “GONGAN_U”.“XY417508” to “GONGAN_U_XY417508_BAK_2020_05_29_09_13_29”
bakfile ‘/home/dbbak/table/bak.bak’;
RESTORE TABLE FROM ‘/home/dbbak/table/bak.bak’;
注意:还原库中需要有和备份库中一样的用户

你可能感兴趣的:(dm)