作者:张启卫
时间:2017年4月21号
功能: 理解oracle的备份与恢复机制
1. 归档模式与非归档模式
Oracle数据库需要至少两组联机日志,每当一组联机日志写满后会发生日志切换,继续向下一组联机日志写入。
如果是归档模式,日志切换会触发归档进程(ARCn)进行归档,生成归档日志,Oracle保证归档完成前,联机日志不会被覆盖。
如果是非归档模式,则不会触发归档动作。
非归档模式转为归档模式的操作步骤:
# 连接数据库
mkdir /backup/oracle_arc
# 连接oracle
sqlplus / as sysdba
#1. 关闭数据库
shutdown immediate;
#2. 启动数据库到mount状态
startup mount;
#3. 修改数据库归档模式
alter database archivelog;
#4. 启动数据库
alter database open;
#5. 定义归档位置的保存路径
alter syste set_log_archive_dest_1 = "location=:/backup/oracle_arc"
#6. 确认配置生效
archive log list;
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/app/oracle/arch_log
Oldest online log sequence 82
Next log sequence to archive 84
Current log sequence 84
# 7. 开启数据
alter database open;
2. Oracle备份
Oracle备份分成物理备份 与 逻辑备份。
物理备份: 把实际物理文件从一处拷贝到另一处(可能是原样拷贝,也可能经过压缩), 操作系统备份,使用RMAN的备份,冷备份,热备份。
逻辑备份: 利用SQL从数据库中提取数据,并将其保存到文件中,这些数据可以在以后需求时重新导入数据库,或者导入其他数据库。Oracle提供EXP, IMP, EXPDP, IMPDP工具。
2.1 物理备份
联机热备 与 冷备份 都属性物理备份
联机热血根据使用的工具不同,分成 用户管理备份(User-Managed Backup) 和 恢复管理器备份(RMAN, Recover Manager)。
2.1.1 冷备份
如果数据库处于非归档模式,则只能使用冷备份
# 1. 关闭数据库
# 2. 备份所需文件,控制文件,数据文件,日志文件
# 3. 启动数据库
2.1.2 热备份 - 用户管理备份
# 1. 使用SQL的ALTER TABLESPACE ... BEGIN BACKUP 命令把表空间置为备份模式;
# 2. 使用操作系统文件拷贝命令进行拷贝;
# 3. 拷贝结束后,使用SQL的 ALTER TABLESPACE ... END BACKUP 结束备份
2.1.3 热备份 - 恢复管理器备份(RMAN备份)
RMAN, Recovery Manager 是一个对数据库执行备份与恢复任务的oracle应用工具。
RMAN参考资料Oracle官方文档:
《Backup And Recovery Basics》
《Backup and Recovery Advanced User‘s Guide》
《Backup and Recovery Reference》
RMAN配置备份与恢复步骤:
#1. 连接到数据库
# RMAN可以连接到三种类型的数据库
# - 目标数据库
# - 目录数据库
# - 辅助数据库
# rman target user/[email protected]
rman target /
Recovery Manager: Release 11.1.0.6.0 - Production on Sat Apr 29 09:57:29 2017
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: ORCL (DBID=1293792340)
# 2. 查看现有配置
SHOW ALL;
RMAN> show all;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON; # CONTROLFILE AUTOBAKUP 对控制文件自动备份
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘/Quest_Backup/autobackup/autobackup_control_%F‘;
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT ‘/Quest_Backup/autobackup/%U‘;
CONFIGURE MAXSETSIZE TO UNLIMITED;
CONFIGURE ENCRYPTION FOR DATABASE OFF;
CONFIGURE ENCRYPTION ALGORITHM ‘AES128‘;
CONFIGURE COMPRESSION ALGORITHM ‘BZIP2‘; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO ‘/u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_orcl.f‘; # default
# 3. 修改配置
# - 启用控制文件备份
# - 启用自动备份,指定文件存储位置
# - 配置控制文件的快照存储位置
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to ‘/backup/autobackup/autobackup_control_%F‘;
configure snapshot controlfile name to ‘/backup/S%U‘;
时间: 2024-10-20 12:20:08