实验十一Oracle数据库备份与恢复

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

实验十一Oracle数据库备份与恢复

【实验目的与要求】

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

2.学会Oracle备份方案的制定

【实验内容与步骤】

1. Oracle物理备份与恢复

准备工作:

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

请给出查询的结果:

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

提示:

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

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

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

设置成自动归档

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

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

实验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_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;

SQL> create table test (id int,name varchar2(10)); 表已创建。

SQL> insert into test values(1001,’zhangfei’); 已创建 1 行。

SQL> insert into test values(1002,’guanyu’); 已创建 1 行。

SQL> commit; 提交完成。

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

SQL> shutdown abort

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

a. 启动服务

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

请给执行结果:

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

a. 执行以下命令

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

SQL> alter database open; SQL> select * from scott.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> 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;

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 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;

请给执行结果:

相关文档
最新文档