文章目录
一、开启归档
使用sql语句开启归档:
sql>alter database mount;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST=/opt/dmdbms/data/DAMENG/arch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';
SQL> ALTER DATABASE OPEN;
手动配置归档:
手动编辑dmarch.ini文件,保存
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /opt/dmdbms/data/DAMENG/arch/ #本地归档存放路径
ARCH_FILE_SIZE = 1024 #单个归档大小,单位MB
ARCH_SPACE_LIMIT = 51200 #归档上限,单位MB 业务要求修改
编辑dm.ini文件,设置arch_ini=1,保存
二、联机备份
1.数据库备份
完全备份
SQL> BACKUP DATABASE FULL BACKUPSET '/home/dm_bak/db_full_bak_01';
只备份定义不备份数据 指定DDL_CLONE(数据库克隆)参数
增量备份
SQL>BACKUP DATABASE INCREMENT WITH BACKUPDIR '/home/dm_bak' BACKUPSET
'/home/dm_bak/db_increment_bak_02';
2.表空间备份
全量备份
SQL>BACKUP TABLESPACE 表空间名 BACKUPSET 'ts_bak_01';
增量备份
SQL>BACKUP TABLESPACE MAIN INCREMENT BACKUPSET 'ts_increment_bak_01';
增量指定备份集
SQL>BACKUP TABLESPACE MAIN INCREMENT BASE ON BACKUPSET'ts_full_bak_01' BACKUPSET
'ts_increment_bak_02';
3.表备份
SQL>BACKUP TABLE TAB_01 BACKUPSET 'tab_bak_01';
4.归档备份
SQL>BACKUP ARCHIVE LOG ALL BACKUPSET 'arch_bak_01';
5.备份加密
数据库完全备份,创建加密密码为“cdb546”,加密算法为“rc4”,复杂数据库加密备份
SQL>BACKUP DATABASE BACKUPSET '/home/dm_bak/db_bak_for_encrypt_01' IDENTIFIED BY "cdb546" WITH ENCRYPTION 2 ENCRYPT WITH RC4;
6.备份设置跟踪日志文件
SQL>BACKUP DATABASE BACKUPSET '/home/dm_bak/db_bak_for_trac_01' TRACE FILE'/home/dm_log/db_bak_trace.log‘ TRACE LEVEL 2;
TRACE FILE 用于指定生成的跟踪日志文件路径;
TRACE LEVEL 表示是否启用TRACE,有效值1和2。1表示不启用TRACE功能,2表示启用,系统默认值为1
7.Disql还原
注:DIsql只能进行表空间和表的还原,库还原使用脱机工具DMRMAN
表空间还原
SQL> ALTER TABLESPACE MAIN OFFLINE;
SQL> RESTORE TABLESPACE MAIN FROM BACKUPSET 'ts_bak_01';
SQL> ALTER TABLESPACE MAIN ONLINE;
表还原
表结构还原
SQL>RESTORE TABLE STRUCT TAB_FOR_RES FROM BACKUPSET
'/home/dm_bak/tab_bak_for_res_01';
表数据还原
SQL>RESTORE TABLE TAB_FOR_RES FROM BACKUPSET
'/home/dm_bak/tab_bak_for_res_01';
三、 脱机备份
1.备份数据库
完全备份
RMAN>BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' FULL BACKUPSET
'/home/dm_bak/db_full_bak_01';
增量备份
RMAN>BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' INCREMENT WITH BACKUPDIR
'/home/dm_bak'BACKUPSET '/home/dm_bak/db_increment_bak_02';
2.备份归档
备份所有归档
RMAN>BACKUP ARCHIVE LOG ALL DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' BACKUPSET
'/home/dm_bak/arch_all_bak_01';
指定lsn号备份归档
RMAN>BACKUP ARCHIVE LOG LSN BETWEEN 50000 AND 120000
DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' BACKUPSET '/home/dm_bak/arch_lsn_bak_02';
3.备份加密
RMAN>BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini'
BACKUPSET '/home/dm_bak/db_bak_for_encrypt_01' IDENTIFIED BY "cdb546789";
RMAN>BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' BACKUPSET
'/home/dm_bak/db_bak_for_encrypt_02' IDENTIFIED BY "cdb546789" ENCRYPT WITH RC4;
4.设置跟踪日志文件
RMAN>CONFIGURE DEFAULT TRACE FILE '/home/dm_trace/trace.log' TRACE LEVEL 2;
5.数据库还原
RMAN>RESTORE DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' FROM
BACKUPSET '/home/dm_bak/db_full_bak_for_restore';
6.数据库恢复
RMAN>RECOVER DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' FROM
BACKUPSET '/home/dm_bak/db_full_bak_for_recover_backupset';
7.更新DB_MAGIC恢复
RMAN>RECOVER DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' UPDATE DB_MAGIC;
8.从归档恢复
RMAN>RECOVER DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' WITH ARCHIVEDIR'/home/dm_arch/arch' USE DB_MAGIC 1447060265;
9.恢复到指定时间点/lsn
RMAN>RECOVER DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' WITH
ARCHIVEDIR'/home/dm_arch/arch' USE DB_MAGIC 1447060265 UNTIL TIME'2015-11-16 10:56:40.624931';
RMAN>RECOVER DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' WITH
ARCHIVEDIR'/home/dm_arch/arch' USE DB_MAGIC 1447060265 UNTIL LSN 50857;