2015年Oracle认证考试辅导:数据库备份与恢复测验3)
发布时间:2010/3/15 15:53:19 来源:城市学习网 编辑:MOON
################################################
# [1.7] 数据文件损坏,且没有备份,没有备份控制文件,
# 且其他数据文件备份中都是在该数据文件创建后
# 的备份
################################################
################################################
# [测试1](resetlogs前创建的数据文件),数据文件丢失,没有备份,控制文件损坏,有备份控制文件,但备份控制文件后于该文件重建日期
# 使用resetlogs打开数据库,所以没有数据文件自创建以来所有的日志,
# 因为前面的日志被截取了,(所以resetlog后必须要有备份,
# 除非是resetlogs后创建的数据文件,可以通过create datafile来恢复)
# 当然如果有resetlogs后的控制文件及相关的数据,也可以完全恢复,参见1.12
#################################################
还原原来的数据文件和控制文件
然后SQL startup mount
ORACLE 例程已经启动。
Total System Global Area 101784276 bytes
Fixed Size 453332 bytes
Variable Size 75497472 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
SQL recover database using backup controlfile until cancel;
ORA-00279: 更改 1069386 (在 02/25/2005 15:47:59 生成) 对于线程 1 是必需的
ORA-00289: 建议: C:“ORACLE“ORA92“RDBMS“ARC00013.001
ORA-00280: 更改 1069386 对于线程 1 是按序列 # 13 进行的
指定日志:
auto 使用auto恢复也是成功
ORA-00308: 无法打开存档日志 ‘‘C:“ORACLE“ORA92“RDBMS“ARC00013.001‘‘
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
ORA-00308: 无法打开存档日志 ‘‘C:“ORACLE“ORA92“RDBMS“ARC00013.001‘‘
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
SQL recover database using backup controlfile until cancel; 这个cancel是表示每次应用一个日志时都提示一下,直到输入cancel后结束
ORA-00279: 更改 1069386 (在 02/25/2005 15:47:59 生成) 对于线程 1 是必需的
ORA-00289: 建议: C:“ORACLE“ORA92“RDBMS“ARC00013.001
ORA-00280: 更改 1069386 对于线程 1 是按序列 # 13 进行的
指定日志:
cancel 输入cancel恢复成功 cancel选项允许每次前滚一个日志文件,当需要停止恢复时,输入cancel
,在这种方式下不会自动运用联机日志文件.
介质恢复已取消。
SQL alter database open resetlogs;
数据库已更改。SQL select name,status from v$datafile;
NAME STATUS
-
C:“ORACLE“ORADATA“TESTDB“SYSTEM01.DBF SYSTEM
C:“ORACLE“ORADATA“TESTDB“UNDOTBS01.DBF ONLINE
C:“ORACLE“ORADATA“TESTDB“INDX01.DBF ONLINE
C:“ORACLE“ORADATA“TESTDB“TOOLS01.DBF ONLINE
C:“ORACLE“ORADATA“TESTDB“USERS01.DBF ONLINE
C:“ORACLE“ORADATA“TESTDB“TOOLS02.DBF ONLINE
已选择6行。
SQL create table arch (status varchar(2)) tablespace users;
表已创建。
SQL alter system switch logfile;
系统已更改。
SQL insert into arch select ‘‘ok‘‘ from dba_objects;
已创建6166行。
SQL commit;
提交完成。
SQL insert into arch select ‘‘ok‘‘ from dba_objects;
已创建6166行。
SQL commit;
提交完成。
SQL alter system switch logfile;
系统已更改。
SQL insert into arch select ‘‘no‘‘ from dba_objects;
已创建6166行。
SQL commit;
提交完成。
在数据库打开的状况下用ULTRAEDIT破坏文件USERS01.DBF
SQL shutdown abort
ORACLE 例程已经关闭。
SQL startup mount
ORACLE 例程已经启动。
Total System Global Area 101784276 bytes
Fixed Size 453332 bytes
Variable Size 75497472 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
ORA-01991: ?‘‘C:“oracle“ora92“DATABASE“PWDtestdb.ORA‘‘
SQL alter database datafile ‘‘C:“ORACLE“ORADATA“TESTDB“USERS01.DBF‘‘ offline;
数据库已更改。
SQL alter database create datafile ‘‘C:“ORACLE“ORADATA“TESTDB“USERS01.DBF‘‘ ;
alter database create datafile ‘‘C:“ORACLE“ORADATA“TESTDB“USERS01.DBF‘‘
*
ERROR 位于第 1 行:
ORA-01181: 5? RESETLOGS ?
ORA-01110:5: ‘‘C:“ORACLE“ORADATA“TESTDB“USERS01.DBF‘‘