linux下,达梦数据库8 备份还原

  一 数据库备份相关概念

备份就是数据库在某一个时间点的副本

数据库备份目的:防止数据丢失,防止天灾人祸(地震、火灾、人为操作、硬件故障)

备份主要有物理备份和逻辑备份

物理备份主要是备份使用过的有效的数据页,逻辑备份主要是备份数据库对象(表,索引,视图,存储过程等)

物理备份:分为联机备份和脱机备份;完全备份和增量备份

完全备份:备份的是整个数据库或者表空间的全部数据

增量备份:备份的是上一次全备或增备后,以后每次备份只需要备份修改过的数据页

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

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

二 物理备份

冷备:

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

1、console工具备份

[dmdba@localhost bin]$./DmServiceDMSERVER stop

 

 

 

 

 

 

2、用dmrman工具备份,只支持冷备

[dmdba@localhost backup]$cd /dm8/bin

[dmdba@localhost bin]$./dmrman

dmrman V8

RMAN>backup database '/dm8/data/DAMENG/dm.ini' backupset '/dm8/backup';

 

 出现以上错误,说明'/dm8/backup'目录已存在。

可以删掉目录下文件或者更换目录

 

 

2.1配置本地归档

热备:需要开启归档,数据库需要打开(open)

可以备份数据库、表空间、表、归档日志

查看数据库归档模式:

 

SQL>select name,arch_mode from v$database;

 

2.1.1在管理工具中开启归档模式

打开管理工具后,右键数据库实例,选择管理服务器,然后点击“系统管理”,选择“配置”后点击“转换”,成功后点击“确定”

 

 选择“归档配置”,选择“归档目标”后,点击“归档”,然后“确定”。

 

2.1.2在DIsql里联机开启归档模式

         #打开DIsql

         #修改数据库状态为MOUNT

         SQL> alter database mount;

         #配置本地归档

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

         #开启归档模式

         SQL> alter database archivelog;

         #修改数据库为OPEN状态

         SQL> alter database open;

2.1.3手动启归档模式

         vi dmarch.ini

         ARCH_TYPE  = LOCAL #本地归档类型

ARCH_DEST  = /home/dmdba/dmdbms/data/DAMENG/arch #本地归档文件存放路径

ARCH_FILE_SIZE = 128  #单位 Mb,本地单个归档文件最大值

ARCH_SPACE_LIMIT  = 0 #单位 Mb,0 表示无限制,范围 1024~4294967294M

vi dm.ini

再查看数据库归档模式:

 

3、备份(脱机)

3.1 用manager工具做热备整库备份

 

 

 

 

3.1.1 查看备份

 

 

 

3.1.2  命令行做全备:disql工具

SQL>backup database full to "DB_DAMENG_FULL";--备份到参数文件中的备份路径。默认是‘/dm8/data/DAMENG/bak’

SQL>backup database full to "DB_DAMENG_FULL2" BACKUPSET '/dm8/backup';

3.2 做增量备份

3.2.1 manager工具做增量备份

 

3.2.2 指令做增量备份

SQL>backup database increment to "DB_DAMENG_INCRE_2020_11_30_14_24_14"

         backupset'DB_DAMENG_INCRE_2020_11_30_14_24_14';

 

 

3.3 表空间备份

表空间备份只能联机,还原只能脱机

3.3.1 用manager工具

 

 

 

3.3.2 用disql

   SQL>backup tablespace "DMHR" full to "TS_DMHR_FULL_2020_11_30_14_31_44"

            backupset 'TS_DMHR_FULL_2020_11_30_14_31_44';

3.4 表备份

3.4.1 用manager工具

 

 

 3.4.2 用disql

SQL>backup table "DMHR"."DEPARTMENT" to "TAB_DMHR_DEPARTMENT_2020_11_30_14_34_57"

        backupset 'TAB_DMHR_DEPARTMENT_2020_11_30_14_34_57';

 

 3.5 归档备份:

SQL>backup archivelog all to "ARCH_2020_11_30_14_36_55" backupset 'ARCH_2020_11_30_14_36_55';

三 物理还原与还原(脱机)

1、检查备份集是否有效

 #校验备份

2、Console工具还原

3、Console工具恢复

 

 

 

 

 dmrman工具还原

#还原数据库

RMAN>restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/backup' 

 #恢复数据库

RMAN> recover database '/dm8/data/DAMENG/dm.ini' with archivedir '/dm8/data/arch';
 #更新magic
RMAN> recover database '/dm8/data/DAMENG/dm.ini' update db_magic;

 

 

 

 

表空间还原

RMAN>restore database '/dm8/data/DAMENG/dm.in i 'tablespace MAIN from

        backupse t'/dm8/backup';

RMAN>recover database '/dm8/data/DAMENG/dm.ini 'tablespace MAIN;

四 逻辑备份

 

 备份的是数据库对象

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

dexp/dimp

四个级别导入导出:库级别 ,用户, 模式 ,表

 

全库导出:[dmdba@localhost bin]$./dexp SYSDBA/SYSDBA file=full.dmp log=full.log directory=/dm8/backup full=y

用户导出:[dmdba@localhost bin]$./dexp SYSDBA/SYSDBA file=dmhr.dmp log=dmhr.log directory=/dm8/backup owner=dmhr

导出表:[dmdba@localhost bin]$./dexp SYSDBA/SYSDBA file=emp.dmp log=emp.log directory=/dm8/backup tables=emp

全库导入:[dmdba@localhost bin]$./dimp SYSDBA/SYSDBA file=full.dmp log=imp_full.log directory=/dm8/backup full=y

注意事项:执行用户导入时,如果用户不存在,要先创建用户。

 

posted @ 2020-11-30 15:58  梦想在风中飘扬  阅读(2374)  评论(0编辑  收藏  举报