admin 管理员组文章数量: 1184232
2023年12月23日发(作者:ui页面层级)
实验六 oracle备份恢复
一、实验目的及要求
掌握oracle数据库常用的备份和恢复方法。
二、实验主要内容
(1) 数据备份与恢复的方法
物理备份与恢复、
逻辑备份与恢复、
RMAN(选做)
(2)Oracle备份方案的制定
三、实验仪器设备
在局域网环境下,有一台服务器和若干台客户机。服务器成功安装Oracle 11g数据库服务器(企业版),客户机成功安装Oracle 11g客户端软件,网络服务配置正确,数据库和客户端正常工作。
四、实验步骤
1 Oracle物理备份与恢复
.0.准备工作:
(1) 查看数据库是否运行于归档模式下:
(2) 干净的关闭数据库,做一个完全的冷备份。
提示:a.使用showdown命令; b.复制数据文件、日志文件和控制文件到安全地方
(3) 把数据库改为归档模式
1.实验1:
数据库系统数据文件和回退段遭破坏的情况下的恢复。此时数据库的状态是关闭的。
(1) 先启动数据库,用scott用户建立test表,并插入两条数据。
(2)模拟数据库遭意外被迫关闭,并且系统数据文件丢失。
把oracle服务停掉,移除和文件(即将这两个文件移到其他文件夹下)。
(3)启动服务,启动数据库, 提示如下错误
a. 启动服务
b. 启动数据库
(4) 把备份的和文件复制回去
a. 执行以下命令:
请给执行结果:
然后就可以打开数据库,查看scott用户的test表。
实验2:
数据库是打开的,这时损坏的文件是用户的数据文件而不是system和undo文件。
(1)用scott用户在users表空间建立test1表
(2) 插入两条数据
(3)当前日志归档
(4)现在破坏users表空间,使其离线,然后移除到一个指定文件夹(备份)
此时出现错误,users表空间不能在线了。这时把备份的还原回去。
(5)完成介质恢复。
实验3:数据文件没有备份(不能使system和undo文件)的恢复。
(1)创建表空间testspace
在SQL Plus中依次执行以下语句,给出最后的执行结果:
(2)由于没有备份数据文件,需重新创建一个
(3) 完成恢复
2 Oracle逻辑备份:导入导出实验
实验4:模式的导入导出
案例:将scott/tiger用户对应的模式导出,通过导出文件将其导入到Test用户(为一个空用户)对应的模式中,包括该模式中的所有对象的定义和数据。
1.准备工作
(1)创建用户:
(2)授权:
2.数据的导出与导入
(1)数据准备
以scott身份登录: conn scott/tiger
①创建测试用表:
加入数据:
提交:
②创建测试用表scott_test
加入数据:
(2)以管理员身份登录:
(3)导出数据库:
在DOS提示符下执行:
(4)恢复数据库运行状态
(5)进行数据库的导入:
3.结果检验
对导入的数据进行查询,以确定导入是否成功,给出结果截图:
(1)以test身份登录到数据库
(2)查询刚才导出(导入)表中的某个表(如Jobs):
3 RMAN使用基础
测试说明
测试目的
验证RMAN备份与恢复全过程。记录整个过程的操作细节。
利用RMAN的备份与恢复可完成如下工作:
(1) 数据库备份/恢复;
(2) 同一主机,不同磁盘阵列,相同数据存储路径(模式)的数据迁移;(在恢复过程中改变数据存储路径/模式过程待验证)
(3) 不同主机,相同操作系统、同一数据库版本之间的的数据库迁移。(不同数据库版本之间是否可利用RMAN 备份与恢复进行数据迁移待验证。)
测试环境说明
• OS:Windows XP
• ORACLE VERSION: Oracle Database 10g Enterprise Edition Release 11.2.0.2.0 – Prod
• ORACLE运行模式:归档模式
ORACLE数据存储:文件系统,存储于D:oracleproduct11.2.0oradataorcl
数据备份过程
1.连接本地数据库: rman target /
通过rman连接本地数据库非常简单,进入到命令提示符界面:
数据库全备份
3.数据库在数据全备份后继续操作
(1)在RMAN全备份后继续数据库的操作。即在测试表中插入数据。
(2)正常关闭数据库。并删除原数据库所有文件,包括:控制文件、数据文件、日志文件。以模拟更换磁盘阵列或者文件丢失的情况。
此时,重新启动数据库过程必然失败。
数据库恢复过程
当前情况下,所有的控制文件、数据库文件、联机日志文件均全部丢失。按照数据库恢复/启动过程,应按照先恢复数据库控制文件,再恢复数据文件的步骤进行。
1.
从RMAN备份中恢复控制文件
在本例子中,RMAN备份脚本进行了控制文件的备份。所以,控制文件的恢复过程可以利用RMAN的备份完成。
此时,也存在两种情况。
• RMAN设置了控制文件自动备份。
• RMAN未设置控制文件自动备份,而由RMAN脚本进行控制文件备份。如本例所示。
对于此两种情况,分别说明如下。
(1) RMAN未设置控制文件自动备份
2.
由于RMAN未设置控制文件自动备份。则可以利用程序包,从备份集中恢复。如下:
3.
(2) RMAN设置了控制文件自动备份
建议开启RMAN 自动备份控制文件选项。操作如下:
经过以上设置后,会在数据库的结构发生变化的时候自动备份控制文件。
从RMAN设置了控制文件自动备份后,恢复控制文件的过程如下:
利用以上语句完成控制文件自从控制文件自动备份集中恢复。完成控制文件的恢复操作。将在D:oracleproduct11.2.0oradataorcl目录中生成新的控制文件。注意,此时恢复的控制文件为全部的控制文件。本例中为3个控制文件。
2. 从手动控制文件备份中恢复
手动备份控制文件的方式有两种。
控制文件备份方式(1)
控制文件备份方式(2)
方式(2)将在user_dump_dest目录中生成一个trace文件。该文件中将生成控制文件的生成脚本。
本例中user_dump_dest路径为D:oracleproduct11.2.0adminorcludump。控制文件生成脚本如下:
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE “ORCL” NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 454
LOGFILE
GROUP 3 ‘D:’ SIZE 10M,
GROUP 4 ‘D:’ SIZE 10M,
GROUP 5 ‘D:’ SIZE 10M,
GROUP 6 ‘D:’ SIZE 10M
– STANDBY LOGFILE
DATAFILE
‘D:’,
‘D:’,
‘D:’,
‘D:’
CHARACTER SET ZHS16GBK
;
下面将对利用方法(2)生成的控制文件脚本进行控制文件恢复的步骤说明如下:
利用trace中的创建控制文件脚本,创建控制文件。注意,此时创建的控制文件为所有控制文件,本例中为3个控制文件。创建控制文件位置、数量均由spfile指定。
控制文件已创建
注意:控制文件一旦创建,则数据库将启动到MOUNTED状态。
3.恢复数据库数据文件
在控制文件恢复后,可以开始数据库文件的恢复。
继续进行RMAN数据库恢复操作
既然此时日志组不存在,那么只能进行不完全恢复了。
附加的测试过程
1.假设:日志文件没有丢失
修改以上的测试条件。假设除日志文件外,其他文件均丢失。在完成restore database后,将日志文件复制到原路径,之后进行数据恢复测试。
版权声明:本文标题:Oracle实验六实验报告 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1703291512a445736.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论