数据库备份与恢复测试(3)

文章作者 100test 发表时间 2007:09:06 12:57:07
来源 100Test.Com百考试题网


################################
# [1.5] 有trace,活动在线日志损坏
################################
################################
# [1.5.1] 有trace,活动在线日志损坏,正常shutdown或是当前的数据文件
################################
SQL> create table arch (status varchar(2)).
表已创建。
SQL> alter system switch logfile.
系统已更改。
SQL> insert into arch 0select ’’ok’’ from dba_objects.
已创建6166行。
SQL> commit.
提交完成。
SQL> insert into arch 0select ’’ok’’ from dba_objects.
已创建6166行。
SQL> commit.
提交完成。
SQL> alter system switch logfile.
系统已更改。
SQL> insert into arch 0select ’’no’’ from dba_objects.
已创建6166行。
SQL> commit.
提交完成。
SQL> 0select GROUP#,SEQUENCE#,archived, STATUS from v$log.
GROUP# SEQUENCE# ARC STATUS
---------- ---------- --- ----------------
1 2 YES ACTIVE
2 1 YES ACTIVE
3 3 NO CURRENT

SQL> shutdown --正常关闭数据库
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

此时模拟删除当前在线日志组3
SQL>
SQL>
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 101784276 bytes
Fixed Size 453332 bytes
Variable Size 75497472 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "testdb" RESETLOGS ARCHIVELOG
2 -- SET STANDBY TO MAXIMIZE PERFORMANCE
3 MAXLOGFILES 5
4 MAXLOGMEMBERS 3
5 MAXDATAFILES 100
6 MAXINSTANCES 1
7 MAXLOGHISTORY 226
8 LOGFILE
9 GROUP 1 ’’C:\ORACLE\ORADATA\testdb\REDO01.LOG’’ SIZE 100M,
10 GROUP 2 ’’C:\ORACLE\ORADATA\testdb\REDO02.LOG’’ SIZE 100M,
11 GROUP 3 ’’C:\ORACLE\ORADATA\testdb\REDO03.LOG’’ SIZE 100M
12 -- STANDBY LOGFILE
13 DATAFILE
14 ’’C:\ORACLE\ORADATA\testdb\SYSTEM01.DBF’’,
15 ’’C:\ORACLE\ORADATA\testdb\UNDOTBS01.DBF’’,
16 ’’C:\ORACLE\ORADATA\testdb\INDX01.DBF’’,
17 ’’C:\ORACLE\ORADATA\testdb\TOOLS01.DBF’’,
18 ’’C:\ORACLE\ORADATA\testdb\USERS01.DBF’’
19 CHARACTER SET ZHS16GBK
20 .
控制文件已创建
SQL> alter database open resetlogs.
数据库已更改。

SQL> 0select count(*),status from arch group by status.
COUNT(*) ST
---------- --
6166 no
12332 ok
>没有丢失任何数据,因为你的数据都已经写到数据文件里了
#########################################
# [1.5.2] 有trace,活动在线日志损坏,shutdown abort 或是非当前的数据文件
,当前在线日志文件损坏
#########################################
####################################################
[测试1] shutdown abort,备份控制文件或者resetlog的trace,
没有数据文件备份,采用强制打开数据库的方法
####################################################
SQL> create table arch (status varchar(2)).

表已创建。
SQL> alter system switch logfile.
系统已更改。
SQL> insert into arch 0select ’’ok’’ from dba_objects.
已创建6166行。
SQL> commit.
提交完成。
SQL> insert into arch 0select ’’ok’’ from dba_objects.
已创建6166行。
SQL> commit.
提交完成。
SQL> alter system switch logfile.
SQL> insert into arch 0select ’’no’’ from dba_objects.
已创建6166行。
SQL> commit.
提交完成。
SQL> 0select GROUP#,SEQUENCE#,archived, STATUS from v$log.
GROUP# SEQUENCE# ARC STATUS
---------- ---------- --- ----------------
1 2 YES ACTIVE
2 3 NO CURRENT
3 1 YES INACTIVE
SQL> insert into arch 0select ’’no’’ from dba_objects.
已创建6166行。
SQL> shutdown abort
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 101784276 bytes
Fixed Size 453332 bytes
Variable Size 75497472 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-00313: 无法打开日志组 1 (线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: ’’C:\ORACLE\ORADATA\TESTDB\REDO01.LOG’’
ORA-27047: 无法读取文件的标题块
OSD-04006: ReadFile() 失败, 无法读取文件
O/S-Error: (OS 38) 到达文件结尾。


相关文章


细化解析如何共享Oracle数据库身份空间
数据库备份与恢复测试(5)
数据库备份与恢复测试(4)
数据库备份与恢复测试(3)
数据库备份与恢复测试(2)
数据库备份与恢复测试(1)
大数据类型的操作之CLOB
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛