《实验十一-Oracle数据库备份与恢复(共7页).docx》由会员分享,可在线阅读,更多相关《实验十一-Oracle数据库备份与恢复(共7页).docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上实验十一 Oracle数据库备份与恢复【实验目的与要求】n1.常见数据备份与恢复的方法n2.学会Oracle备份方案的制定【实验内容与步骤】1.Oracle物理备份与恢复准备工作:(1) 查看数据库是否运行于归档模式下:请给出查询的结果:(2)关闭数据库,做一个完全的冷备份。提示:a.使用shutdown命令关闭数据库; b.复制数据文件、日志文件和控制文件到安全地方(3)把数据库改为归档模式设置成自动归档SQLaltersystemsetlog_archive_start=truescope=spfile;注意:本实验中的很多命令路径参数需根据自己的实现环境做出修改
2、!实验11-1数据库系统数据文件和回退段遭破坏的情况下的恢复。此时数据库的状态是关闭的。(1) 先启动数据库,创建新用户scott,并用scott用户建立test表,并插入两条数据。创建表空间的四个步骤:/*分为四步 */*第1步:创建临时表空间 */create temporary tablespace user_temp tempfile D: user_temp.dbf size 50m autoextend on next 50m maxsize 20480m extent management local; /*第2步:创建数据表空间 */create tablespace user
3、_data logging datafile D: user_data.dbf size 50m autoextend on next 50m maxsize 20480m extent management local; /*第3步:创建用户并指定表空间 */create user scott identified by tiger default tablespace user_data temporary tablespace user_temp; /*第4步:给用户授予权限 */grant connect,resource,dba to scott;SQLcreatetabletest
4、(idint,namevarchar2(10);表已创建。SQLinsertinto testvalues(1001,zhangfei);已创建1行。SQLinsertinto testvalues(1002,guanyu);已创建1行。SQLcommit;提交完成。(2)模拟数据库遭意外被迫关闭,并且系统数据文件丢失。SQLshutdownabort (3)启动服务,启动数据库a.启动服务b.启动数据库,肯定出错SQLstartup请给执行结果:(4)把备份的SYSTEM01.dbf和UNDOTBS01.DBF文件复制回去a.执行以下命令然后就可以打开数据库,查看scott用户的test表。
5、SQLalterdatabaseopen;SQLselect*fromscott.test;请给执行结果:实验11-2数据库是打开的,这时损坏的文件是用户的数据文件而不是system和undo文件。 (1)用scott用户在users表空间建立test1表SQL create table scott.test1(id int) 2 tablespace users; 表已创建。 (2) 插入两条数据SQL insert into scott.test1 values(1); 已创建 1 行。SQL insert into scott.test1 values(2); 已创建 1 行。SQL c
6、ommit; 提交完成。 (3)当前日志归档SQL alter system archive log current; 系统已更改。(4)现在破坏users表空间,使其离线,然后移除users01.dbf到一个指定文件夹(备份) SQL alter tablespace users offline; 表空间已更改。移除users01.dbf到一个指定文件夹(备份)执行:SQL alter tablespace users online;请给执行结果:此时出现错误,users表空间不能在线了。这时把备份的users01.DBF还原回去。然后,执行:SQLrecovertablespaceuser
7、s; SQL recover tablespace users;(5)完成介质恢复。SQL alter tablespace users online; 表空间已更改。SQL select * from scott.test1;请给执行结果:实验11-3:数据文件没有备份(不能使system和undo文件)的恢复。(1)创建表空间testspace在SQL Plus中依次执行以下语句,给出最后的执行结果:SQL create tablespace testspace datafileC:oracleproduct10.1.0db_1TestDBtestspace.dbf size 10m;SQ
8、L create table scott.test3(id int,name varchar2(10) tablespace testspace; SQL commit;SQL alter system switch logfile;SQL insert into scott.test3 values(1003,songjian); SQL commit;SQL alter tablespace testspace offline; SQL select * from scott.test3;请给执行结果:(2)由于没有备份数据文件,需重新创建一个SQL alter database crea
9、te datafileC:oracleproduct10.1.0db_1TestDBtestspace.dbf; SQL recover tablespace testspace;(3) 完成恢复SQL alter tablespace testspace online; 表空间已更改。SQL select * from scott.test3;请给执行结果:【实验练习题】本练习将对数据库进行物理备份,并执行基于更改的不完全恢复,以恢复被用户误删除的数据。按以下步骤完成实验过程,并给出实验结果: 1) 以SYSDBA身份连接数据库。2) 确定数据库运行在归档模式下。3) 切换表空间USER为脱机状态。4) 复制Oracle目录中的USERS01.DBF文件,然后设置表空间USERS为ONLINE状态。5) 删除STUDENT表中存储的学生信息,并归档当前的日志信息。6) 关闭数据库,切换数据库到MOUNT状态。专心-专注-专业