第2部分: Oracle RMAN备份与恢复-高级篇

本文详细介绍了Oracle数据库的RMAN(Redirect Output Managment)在高级备份和恢复方面的配置和操作,包括备份集、备份片、压缩、加密的配置,数据库恢复的各种场景,使用DataRecoveryAdvisor进行恢复,块跟踪加速备份,增量备份的类型及其恢复方法,以及RMAN在异机恢复中的应用。此外,还涵盖了如何编写自动备份脚本和利用RMAN进行表级别恢复的知识。
摘要由CSDN通过智能技术生成

一、课程内容:

01-课程概述
02-配置备份集-备份片-压缩
03-配置备份加密
04-执行数据库恢复-情形1
05-执行数据库恢复-情形1补充
06-执行数据库恢复-情形2
07-使用Recovery Advisor进行数据恢复
08-使用块跟踪加速备份
09-增量备份-差异增量备份
10-增量备份-累积增量备份
11-增量备份-增量更新备份
12-基于增量备份的数据恢复
13-使用Catalog恢复目录管理备份信息
14-手工制造坏块
15-块屏蔽与块恢复
16-使用dbms_backup_restore包
17-使用RMAN进行表级别恢复
18-RMAN Duplicate克隆复制技术-1
19-RMAN Duplicate克隆复制技术-2
20-编写自动全量备份shell脚本
21-编写自动增量备份shell脚本
22-RMAN异机恢复-1
23-RMAN异机恢复-2
24-RMAN异机恢复-3

开启归档:

rman target /
rman target / nocatalog

SQL> archive log list;(查看是否开启归档)
select log_mode from v$database;
log_archive_dest(归档日志位置)
alter system set log_archive_dest='/u01/arch' scope=spfile;
log_archive_format(归档日志格式)
alter system set log_archive_format='%t_%s_%r.arc' scope=spfile;

shutdown immediate 必须干净地关闭
startup mount
alter database archivelog;
alter database open;

alter system switch logfile;(切换日志将产生归档文件)
select t.RESETLOGS_ID,t.* from v$database_incarnation t;(查看RESETLOGS_ID)
backup database;
list backup;
list archivelog all;

二、配置备份集-备份片-压缩-加密

1.配置备份集最大大小

v$rman_configuration(查看rman配置更改:select * from v$rman_configuration;)
configure maxsetsize to 500m;(修改备份集最大size,一般默认不设置)
configure maxsetsize clear;

2.配置备份片的最大大小
configure channel device type disk maxpiecesize 500m;

3.双工备份集
configure datafile backup copies for device type disk to 2;
configure datafile backup copies for device type disk clear;

4.备份整个数据库时可以排除部分表空间
configure exclude for tablespace sysaux;
backup database noexclude;

5.配置压缩
RMAN支持的备份集的预压缩处理和二进制压缩
预压缩块处理:
通过合并每个数据块中的空闲空间并将改空闲空间设置为二进制0来实现更好的备份压缩,optimize for load true

支持的压缩级别:
默认压缩算法
高级压缩选型。
configure compression algorithm ‘BASIC|HIGH|MEDIUM|LOW’

configure device type disk backup type to compressed backupset;(启用压缩备份)

三、配置备份加密

如果备份集没有加密,只要得到备份集文件,就可以恢复数据。

1.口令加密模式
2.透明加密模式(wallet钱包)
3.混合

v$rman_encryption_algorithms
默认AES128
AES192,AES256
对称加密算法
RMAN加密CPU密集型操作,可能会对备份性能影响。

1.口令加密模式:
set encryption on identified by “oracle” only;(设置加密密码)
backup datafile 4;backup database;
set decryption identified by “oracle”;(设置解密密码)
restore datafile 4;restore database;(还原4号文件或者数据库)
recover datafile 4;(恢复)
alter database open;
可以把备份集拿到异机恢复。

2.透明加密模式 wallet
1.创建wallet目录
select * from v$encryption_wallet;
mkdir -p /u01/app/oracle/admin/prod/wallet
2.设置秘钥
alter system set encryption key identified by “oracle”;
关闭钱包:
alter system set wallet close identified by “oracle”;
configure encryption for database off;
打开钱包:
alter system set wallet open identified by “oracle”;
configure encryption for database on;(rman下打开钱包)
这种备份在本机还原时,无须输入密码,wallet自动解密,加密。
把备份集复制到其他机器,无法恢复。
在本机还原。

3.混合模式
set encryption on identified by “oracle”;(设置加密秘钥,非only)
set decryption identified by “oracle”;(设置解密秘钥)
或者
把钱包wallet打开
alter system set wallet open identified by “oracle”;
既可以在本机恢复,也可以在异机恢复。

四、执行数据库恢复

前提:
1.数据库必须是归档模式
2.RMAN备份

4.1恢复情形1:

如何在丢失一个或多个数据文件后使用RMAN使数据库恢复正常运行。
数据文件:undo,system,users
控制文件:不考虑
redo文件:不考虑
参数文件:spfile,pfile,不考虑
临时文件:不考虑,rman不备份临时文件。
rm
监听:有或没有都可以
log_archive_format(归档日志格式)
log_archive_dest(归档日志路径)

== backup format ‘/u01/backup/full_%U’ database;(指定备份集路径备份全数据库)==

export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
source .bash_profile(设设置的环境变量生效)

数据文件:v$dbfile,dba_data_files,v$datafile
rm 删除数据文件
shutdown abort

启动:
spfile->mount(寻找控制文件,control_files)->open
select status from v$instance;

置于mount状态,
恢复文件restore
介质恢复recover,应用归档日志,redo日志
open

restore database(删除了所有的文件)
restore datafile '/xxxx/xx/dbf'
restore datafile 1;(当删除了部分文件的时候使用比较方便)

recover database;
recover datafile xxx;

alter database open;

创建表,插入一定的数据,删除文件 ,恢复

restore database;
recover database;
alter database open;

RMAN>run{
restore database;
recover database;
}
SQL>alter database open;

数据文件的原始位置空间满,恢复的时候不想恢复到这个位置
/u01/app/oracle/oradata/prod
/u01/app/oracle/oradata/prod2

run{
set newname for datafile 1 to ‘/u01/app/oracle/oradata/prod2/system01.dbf’;
set newname for datafile 2 to ‘/u01/app/oracle/oradata/prod2/sysaux01.dbf’;
set newname for datafile 3 to ‘/u01/app/oracle/oradata/prod2/undotos01.dbf’;
set newname for datafile 4 to ‘/u01/app/oracle/oradata/prod2/users01.dbf’;
restore database;
switch datafile all;
recover database;
}
alter database open;

4.2恢复情形2:

恢复到某个时间点

1.rman备份时间点
2019-09-09 07:43:42

2.创建用户,表,插入数据

    SQL> create user ouzy identified by ouzy;
    SQL> grant connect,resource to ouzy;
    SQL> alter user ouzy quota unlimited on users;

–修改

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值