大型数据库技术(Oracle)10

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验10Oracle数据库备份与恢复

姓名:计算机科学与技术学号:

专业:班级:

同组人:无实验日期:

【实验目的与要求】

⏹常见数据备份与恢复的方法

⏹学会Oracle备份方案的制定

【实验内容与步骤】

10.1.Oracle物理备份与恢复

.0.准备工作:

(1)查看数据库是否运行于归档模式下:

请给出查询的结果:

(2)干净的关闭数据库,做一个完全的冷备份。

提示:a.使用shutdown命令关闭数据库;

b.复制数据文件、日志文件和控制文件到安全地方

(3)把数据库改为归档模式

SQL> startup mount

SQL> alter database archivelog;

SQL> alter database open;

设置成自动归档

SQL> alter system set log_archive_start = true scope=spfile;

注意:本实验中的很多命令路径参数需根据自己的实现环境作出修改!!

1.实验1:

数据库系统数据文件和回退段遭破坏的情况下的恢复。此时数据库的状态是关闭的。

(1) 先启动数据库,用scott用户建立test表,并插入两条数据。

SQL> create table scott.test (id int,name varchar2(10));

表已创建。

SQL> insert into scott.test values(1001,’zhangfei’);

已创建1 行。

SQL> insert into scott.test values(1002,’guanyu’);

已创建1 行。

SQL> commit;

提交完成。

(2)模拟数据库遭意外被迫关闭,并且系统数据文件丢失。

SQL> shutdown abort

把oracle服务停掉,移除SYSTEM01.dbf和UNDOTBS01.DBF文件(即将这两个文件移到其他文件夹下)。

(3)启动服务,启动数据库

a. 启动服务

b. 启动数据库,肯定出错

SQL> startup

请给执行结果:

(4)把备份的SYSTEM01.dbf和UNDOTBS01.DBF文件复制回去

a. 执行以下命令:

请给执行结果:

然后就可以打开数据库,查看scott用户的test表。

SQL> alter database open;

SQL> select * from scott.test;

请给执行结果:

2.实验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> commit;

提交完成。

(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还原回去。

然后,执行:SQL> recover tablespace users;

(5)完成介质恢复。

SQL> alter tablespace users online;

表空间已更改。

SQL> select * from scott.test1;

请给执行结果:

3. 实验3:数据文件没有备份(不能使system和undo文件)的恢复。(1)创建表空间testspace

在SQL Plus中依次执行以下语句,给出最后的执行结果:

SQL> create tablespace testspace datafile

'C:\oracle\product\10.1.0\db_1\TestDB\testspace.dbf' size 10m;

SQL> 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 create datafile

'C:\oracle\product\10.1.0\db_1\TestDB\testspace.dbf';

SQL> recover tablespace testspace;

(3) 完成恢复

SQL> alter tablespace testspace online;

表空间已更改。

SQL> select * from scott.test3;

请给执行结果:

相关文档
最新文档