归档模式下用户管理的完全恢复

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

os:winxp

oracle:9.2.0.1.0

sid:xianhe

一:准备工作

把数据库改为归档模式

SQL startup mount

ORACLE 例程已经启动。

Total System Global Area

126950220 bytes

Fixed Size

453452 bytes

Variable Size

109051904 bytes

Database Buffers

16777216 bytes

Redo Buffers

667648 bytes

数据库装载完毕。

SQL alter database archivelog;

数据库已更改。

SQL alter database open;

数据库已更改。

SQL

设置成自动归档

SQL alter system set log_archive_start = true scope=spfile;

系统已更改。

确定数据库在归档模式下并是自动存档的

SQL archive log list

数据库日志模式

存档模式

自动存档

启用

存档终点

D:oracleora92RDBMS

最早的概要日志序列

2

下一个存档日志序列

4

当前日志序列

4

SQL

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

二:开始实验

实验1:描述如下。

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

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

SQL create table scott.test

2

(id int);

表已创建。

SQL insert into scott.test values(1);

已创建 1 行。

SQL insert into scott.test values(2);

已创建 1 行。

SQL commit;

提交完成。

假设数据库遭意外被迫关闭,并且系统数据文件丢失。

SQL shutdown abort

ORACLE 例程已经关闭。

把oracle服务停掉,删除SYSTEM01.dbf和UNDOTBS01.DBF文件

启动服务

启动数据库, 提示如下错误

SQL startup

ORACLE 例程已经启动。

Total System Global Area

126950220 bytes

Fixed Size

453452 bytes

Variable Size

109051904 bytes

Database Buffers

16777216 bytes

Redo Buffers

667648 bytes

数据库装载完毕。

ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件

ORA-01110: 数据文件 1: 'D:ORACLEORADATAXINAHESYSTEM01.DBF'

把备份的SYSTEM01.dbf文件还原回去

然后recover database 或 recover datafile 'D:ORACLEORADATAXINAHESYSTEM01.DBF'

SQL recover datafile 'D:ORACLEORADATAXINAHESYSTEM01.DBF';

完成介质恢复。

打开数据库有提示

SQL alter database open;

alter database open

*

ERROR 位于第 1 行:

ORA-01157: 无法标识/锁定数据文件 2 - 请参阅 DBWR 跟踪文件

ORA-01110: 数据文件 2: 'D:ORACLEORADATAXINAHEUNDOTBS01.DBF'

把备份的UNDOTBS01.DBF文件还原回去,执行recover database 或 recover datafile 'D:ORACLEORADATAXINAHEUNDOTBS01.DBF'

SQL recover datafile 'D:ORACLEORADATAXINAHEUNDOTBS01.DBF';

完成介质恢复。

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

SQL alter database open;

数据库已更改。

SQL select * from scott.test;

ID

----------

1

2

SQL

完成。

实验2:描述如下

数据库是打开的,这是损坏的文件是用户的数据文件而不是system和undo文件。

用scott用户在users表空间建立test1表

SQL create table scott.test1(id int)

2

tablespace users;

表已创建。

插入两条数据

SQL insert into scott.test1 values(1);

已创建 1 行。

SQL insert into scott.test1 values(2);

已创建 1 行。

SQL commit;

提交完成。

当前日志归档

SQL alter system archive log current;

系统已更改。

现在破坏users表空间,使其离线,然后删除users01.dbf

SQL alter tablespace users offline;

表空间已更改。

SQL alter tablespace users online;

alter tablespace users online

*

ERROR 位于第 1 行:

ORA-01157: 无法标识/锁定数据文件 9 - 请参阅 DBWR 跟踪文件

ORA-01110: 数据文件 9: 'D:ORACLEORADATAXINAHEUSERS01.DBF'

此时出现错误,users表空间不能在线了。这时把备份的users01.DBF还原回去。

然后

SQL recover tablespace users;

ORA-00279: 更改 292331 (在 03/18/2005 16:36:05 生成) 对于线程 1 是必需的

ORA-00289: 建议: D:ORACLEORA92RDBMSARC00004.001

ORA-00280: 更改 292331 对于线程 1 是按序列 # 4 进行的

指定日志: {<RET=suggested | filename | AUTO | CANCEL}

auto

ORA-00279: 更改 292907 (在 03/18/2005 16:45:43 生成) 对于线程 1 是必需的

ORA-00289: 建议: D:ORACLEORA92RDBMSARC00005.001

ORA-00280: 更改 292907 对于线程 1 是按序列 # 5 进行的

ORA-00278: 此恢复不再需要日志文件 'D:ORACLEORA92RDBMSARC00004.001'

已应用的日志。

完成介质恢复。

SQL alter tablespace users online;

表空间已更改。

SQL select * from scott.test1;

ID

----------

1

2

完成。

实验3:描述如下

数据文件没有备份(不能使system和undo文件)的恢复。

创建表空间testspace

SQL create tablespace testspace

2

datafile 'd:oracleoradataxinahetestspace.dbf' size 10m;

表空间已创建。

SQL create table scott.test3(id int)

2

tablespace testspace;

表已创建。

SQL commit;

提交完成。

SQL alter system switch logfile;

系统已更改。

SQL insert into scott.test3 values(1);

已创建 1 行。

SQL commit;

提交完成。

SQL alter tablespace testspace offline;

表空间已更改。

SQL select * from scott.test3;

select * from scott.test3

*

ERROR 位于第 1 行:

ORA-00376: 此时无法读取文件 11

ORA-01110: 数据文件 11: 'D:ORACLEORADATAXINAHETESTSPACE.DBF'

由于没有备份数据文件,我重新创建一个

SQL alter database create datafile

2

'D:ORACLEORADATAXINAHETESTSPACE.DBF';

数据库已更改。

SQL recover tablespace testspace;

完成介质恢复。

SQL alter tablespace testspace online;

表空间已更改。

SQL select * from scott.test3;

ID

----------

1

完成。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航