ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 非归档模式下恢复数据库两例

非归档模式下恢复数据库两例

原创 Linux操作系统 作者:husthxd 时间:2004-10-23 00:00:00 0 删除 编辑

加了一天班,现在在等着hp的工程师完工,心血来潮做了两个实验。

1.非归档模式下丢失所有的联机日志、有控制文件和数据文件备份的情况下恢复数据库

2.非归档模式使用数据文件冷备份执行不完全恢复


1. 非归档模式下丢失所有的联机日志、有控制文件和数据文件备份的情况下恢复数据库

这几天看了个帖子,内容是在存储除重做日志外的其他文件的冷备份的情况下如何恢复数据库,今天做了一个实验,在把控制文件、数据文件还原后直接openresetlogs即可;

 

SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup mount

ORACLE 例程已经启动。

 

Total System Global Area  171966464 bytes

Fixed Size                   787988 bytes

Variable Size             145488364 bytes

Database Buffers           25165824 bytes

Redo Buffers                 524288 bytes

数据库装载完毕。

SQL> alter database noarchivelog;

 

数据库已更改。

 

SQL> alter database open;

 

数据库已更改。

 

SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL>

SQL>

 

n       做冷备份

 

n       删除所有的控制文件/数据文件/联机重做日志

 

SQL> startup

ORACLE instance started.

 

Total System Global Area  171966464 bytes

Fixed Size                   787988 bytes

Variable Size             145488364 bytes

Database Buffers           25165824 bytes

Redo Buffers                 524288 bytes

ORA-00205: error in identifying controlfile, check alert log for more info

 

 

SQL>

 

-- alert.log中的错误:

ALTER DATABASE   MOUNT

Sat Oct 23 16:14:10 2004

ORA-00202: ????: 'F:ORACLEPRODUCT10.1.0ORADATATESTCONTROL01.CTL'

ORA-27041: ??????

OSD-04002: 无法打开文件

O/S-Error: (OS 2) 系统找不到指定的文件。

 

Sat Oct 23 16:14:10 2004

Controlfile identified with block size 0

Sat Oct 23 16:14:13 2004

ORA-205 signalled during: ALTER DATABASE   MOUNT...

 

n       把数据文件、控制文件还原

n       重启数据库

 

SQL> shutdown immediate;

ORA-01507: database not mounted

 

 

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

 

Total System Global Area  171966464 bytes

Fixed Size                   787988 bytes

Variable Size             145488364 bytes

Database Buffers           25165824 bytes

Redo Buffers                 524288 bytes

Database mounted.

ORA-00313: open failed for members of log group 1 of thread 1

ORA-00312: online log 1 thread 1:

'F:ORACLEPRODUCT10.1.0ORADATATESTREDO01.LOG'

 

SQL>

 

SQL>

SQL>

SQL> recover database until cancel;

Media recovery complete.

SQL> alter database open resetlogs;

 

Database altered.

 

SQL> archive log list;

Database log mode              No Archive Mode

Automatic archival             Disabled

Archive destination            e:archivetest

Oldest online log sequence     1

Current log sequence           1

SQL>

 

 

2.非归档模式使用数据文件冷备份执行不完全恢复

 

SQL> set time on

18:08:15 SQL> set timing on

18:08:17 SQL> startup

ORACLE 例程已经启动。

 

Total System Global Area  171966464 bytes

Fixed Size                   787988 bytes

Variable Size             145488364 bytes

Database Buffers           25165824 bytes

Redo Buffers                 524288 bytes

数据库装载完毕。

数据库已经打开。

18:08:39 SQL> archive log list

数据库日志模式             非存档模式

自动存档             禁用

存档终点            e:archivetest

最早的联机日志序列     1

当前日志序列           2

 

18:08:43 SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

18:09:21 SQL>

 

n       这里执行冷备份

n       输入测试数据

 

18:09:21 SQL> startup

ORACLE 例程已经启动。

 

Total System Global Area  171966464 bytes

Fixed Size                   787988 bytes

Variable Size             145488364 bytes

Database Buffers           25165824 bytes

Redo Buffers                 524288 bytes

数据库装载完毕。

数据库已经打开。

18:14:46 SQL>

18:14:54 SQL>

18:14:55 SQL> conn test/test

已连接。

18:15:00 SQL> create table t1 (c1 number);

 

表已创建。

 

已用时间:  00: 00: 00.23

18:15:58 SQL> insert into t1 values(1);

 

已创建 1 行。

 

已用时间:  00: 00: 00.03

18:16:03 SQL> commit;

 

提交完成。

 

已用时间:  00: 00: 00.01

18:16:08 SQL>

18:16:43 SQL>

18:17:11 SQL> drop table t1;

 

表已删除。

 

已用时间:  00: 00: 00.15

18:17:17 SQL> conn / as sysdba

已连接。

18:17:24 SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

18:17:52 SQL>

 

n       还原数据文件冷备份(不还原控制文件和联机重做日志)

n       进行不完全恢复

 

18:17:52 SQL>

18:23:39 SQL> startup mount

ORACLE 例程已经启动。

 

Total System Global Area  171966464 bytes

Fixed Size                   787988 bytes

Variable Size             145488364 bytes

Database Buffers           25165824 bytes

Redo Buffers                 524288 bytes

数据库装载完毕。

18:23:52 SQL> recover database until time '2004-10-23 18:17:00';

完成介质恢复。

18:24:27 SQL> alter database open resetlogs;

 

数据库已更改。

 

已用时间:  00: 00: 21.57

18:24:55 SQL> conn test/test

已连接。

18:25:01 SQL> select *From t1;

 

        C1

----------

         1

 

已用时间:  00: 00: 00.07

18:25:06 SQL>

 

恢复成功。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/6906/viewspace-21602/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
ITPUB数据库版块资深版主,对Oracle、PostgreSQL有深入研究。现就职于广州云图数据技术有限公司,系统架构师。

注册时间:2007-12-28

  • 博文量
    1387
  • 访问量
    3837552