《Oracle课件》word版
![《Oracle课件》word版](https://img.360docs.net/img7a/1e9rlmf3okpitkze9odeorvkkfm81kum-a1.webp)
![《Oracle课件》word版](https://img.360docs.net/img7a/1e9rlmf3okpitkze9odeorvkkfm81kum-22.webp)
管理二第一天
备份恢复基本概念
1:为什么要备份,常见的错误类型
计算机总是不可靠的,总会发生硬件或软件的错误,只有做好备份,才能在应对突发状况时从容处理。对于DBA,可靠而有效的备份高于一切。
常见的错误类型有:
a:用户操作导致错误
b:系统进程导致错误,如进程崩溃等
c:实例导致的错误,如断电等
d:存储介质导致的错误,如硬盘损坏等
2:什么是物理备份和逻辑备份
物理备份的核心是复制文件,如用户管理的备份,rman备份等。
逻辑备份的核心是复制数据,如exp导出备份。
3:什么是冷备份和热备份
数据库在关闭状态下创建的备份是冷备份。
数据库在启动状态下创建的备份是热备份。
4:什么是一致性备份和非一致性备份
备份数据文件和控制文件拥有相同的SCN,即是一致性备份。只有以shutdown normal/transactional/immediate方式关闭,创建的备份才是一致性备份。
数据库处于不一致状态时创建的备份是不一致备份。热备份一定是不一致备份。
5:备份有规模上讲哪几种类型
完全备份和非完全备份
6:什么是实例恢复和介质恢复
Oracle通过读取联机重做日志文件来使数据库恢复到崩溃前的一致性状态的恢复叫做实例恢复。
需要用到DBA创建的备份来做的恢复通常被视作介质恢复。
7:什么是缓存恢复和事务恢复
Oracle通过应用重做日志,重新实现崩溃前对数据库的修改,对于已经提交的事务,但尚未写入数据文件的那部分数据全部写入数据文件,这个过程叫做缓存恢复,也叫前滚。
在实例恢复过程中,对于那些部分未提交但写入数据文件的那部分数据必须予以撤销,这个过程叫事务恢复,也叫回滚。
8:完全恢复和不完全恢复
将数据库恢复到最近的时间点的恢复方式就是完全恢复,这种恢复没有数据丢失。
将数据库恢复到指定的时间点的恢复方式就是不完全恢复,通常意味着数据丢失。
9:那些情况下需要应用不完全恢复
1)介质损坏导致部分在线重做日志不可用
2)由于丢失部分归档日志,无法进行完全恢复
3)控制文件丢失,只能以备份的控制文件打开数据库
10:常用的备份和恢复技术
1)用户管理的备份和恢复
2)RMAN的备份和恢复
3)逻辑导出导入
4)闪回
RMAN简介和配置
1:连接RMAN
本地连接:rman target /
远程连接:rman target system/oracle@orcl
2:RMAN启动和关闭数据库
启动数据库:RMAN>startup
关闭数据库:RMAN>shutdiwn immediate
3:RMAN相关的配置参数详解
参考PPT
4:使用恢复目录,及相关的优点(实验)
备份恢复演练(实验)
1数据文件丢失的恢复
a:归档模式,有有效备份情况下某数据文件丢失
备份users表空间
用scott用户登录,并创建测试表T1,向里边插入数据,用做后边验证
模拟数据文件丢失,因为数据库运行时会锁住文件,所以我们先关闭数据库,并删除users01.dbf这个文件。删除后启动数据库,此时报错
用RMAN恢复丢失的数据文件
进行实例恢复
打开数据库,并验证数据没有发生丢失
b:归档模式,无备份,但有该文件创建以来所有的归档日志文件和联机日志文件验证数据库处于归档模式
创建测试表空间djk,创建测试表T1,用于数据验证
关闭数据库,删除djk.dbf文件,模拟数据丢失,之后启动数据库,发现报错
利用RMAN重建丢失的文件
进行实例恢复
打开数据库并验证文件有无丢失
2:控制文件丢失的恢复
a:控制文件+数据文件+联机重做日志文件全部丢失
备份数据库
关闭数据库,模拟控制文件,数据文件和联机重做日志文件丢失。由于控制文件也丢失,我们启动数据库到nomount状态
用刚才做的备份先恢复控制文件
这时候可以启动数据库到mount状态
用RMAN来恢复数据库文件
此时由于正在使用的联机日志文件也已经丢失,所以数据库只能通过修改_allow_resetlogs_corruption,跳过一致性检查,强制打开
b:仅有控制文件丢失,利用trace file重建控制文件
备份控制文件到trace文件,这个工作必须在数据库mount或open的状态下才能进行
关闭数据库,模拟控制文件丢失,启动数据库到nomount状态
利用trace文件里的信息重建控制文件,此时数据库自动到mount状态
打开数据库即可
3:联机重做日志文件的丢失
a:当前日志组丢失
参考上边的控制文件丢失,需要设置_allow_resetlogs_corruption参数,强制打开数据库,不再赘述。
b:非当前日志组丢失
查看数据库正在使用的日志组为日志组1
关闭数据库,模拟日志组3丢失,打开数据库报错
用以下命令重建日志组3
打开数据库
c:日志组成员丢失
只需用alter database add logfile member "redo_log_file_name" to group __
添加丢失的日志文件即可
4:临时数据文件的丢失
关闭数据库,模拟临时文件的丢失
临时文件的丢失并不影响数据库的启动
只需对丢失的临时文件进行重建即可
5:密码文件的丢失
用orapwd命令对密码文件进行重建
(本资料素材和资料部分来自网络,仅供参考。请预览后才下载,期待您的好评与关注!)