ORACLE数据库常用恢复方法.docx

上传人:b****1 文档编号:2768807 上传时间:2023-05-04 格式:DOCX 页数:117 大小:39.13KB
下载 相关 举报
ORACLE数据库常用恢复方法.docx_第1页
第1页 / 共117页
ORACLE数据库常用恢复方法.docx_第2页
第2页 / 共117页
ORACLE数据库常用恢复方法.docx_第3页
第3页 / 共117页
ORACLE数据库常用恢复方法.docx_第4页
第4页 / 共117页
ORACLE数据库常用恢复方法.docx_第5页
第5页 / 共117页
ORACLE数据库常用恢复方法.docx_第6页
第6页 / 共117页
ORACLE数据库常用恢复方法.docx_第7页
第7页 / 共117页
ORACLE数据库常用恢复方法.docx_第8页
第8页 / 共117页
ORACLE数据库常用恢复方法.docx_第9页
第9页 / 共117页
ORACLE数据库常用恢复方法.docx_第10页
第10页 / 共117页
ORACLE数据库常用恢复方法.docx_第11页
第11页 / 共117页
ORACLE数据库常用恢复方法.docx_第12页
第12页 / 共117页
ORACLE数据库常用恢复方法.docx_第13页
第13页 / 共117页
ORACLE数据库常用恢复方法.docx_第14页
第14页 / 共117页
ORACLE数据库常用恢复方法.docx_第15页
第15页 / 共117页
ORACLE数据库常用恢复方法.docx_第16页
第16页 / 共117页
ORACLE数据库常用恢复方法.docx_第17页
第17页 / 共117页
ORACLE数据库常用恢复方法.docx_第18页
第18页 / 共117页
ORACLE数据库常用恢复方法.docx_第19页
第19页 / 共117页
ORACLE数据库常用恢复方法.docx_第20页
第20页 / 共117页
亲,该文档总共117页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

ORACLE数据库常用恢复方法.docx

《ORACLE数据库常用恢复方法.docx》由会员分享,可在线阅读,更多相关《ORACLE数据库常用恢复方法.docx(117页珍藏版)》请在冰点文库上搜索。

ORACLE数据库常用恢复方法.docx

ORACLE数据库常用恢复方法

 

ORACLE数据库备份和恢复手册

(草订版)

 

CINtelLunar

2002.10.21

 

目录

*热备过程5

*仅仅丢失一个普通用户数据文件的恢复A(联机恢复)8

准备工作8

shutdownabort关闭例程,模拟数据文件丢失10

Mount数据库10

使损坏的数据文件脱机10

打开数据库10

拷贝刚才热备的数据文件(USERS01.DBF)11

恢复损坏的数据文件11

使恢复完成的数据文件联机11

验证恢复的结果:

完全恢复11

说明:

12

*仅仅丢失一个普通用户数据文件的恢复B(脱机恢复)12

准备工作12

Shutdownimmediate,然后模拟数据文件丢失13

模拟数据文件丢失,然后用热备覆盖这个文件13

mount数据库13

使损坏的数据文件脱机14

恢复数据文件14

使恢复的数据文件联机16

打开数据库16

这时需要重新启动数据库,并完全恢复数据库17

重新启动数据库,17

用recoverdatabase再次恢复数据库17

重新使恢复的表空间联机18

验证恢复结果:

完全恢复18

说明:

18

*shutdownimmedate,恢复全部数据文件(不包括control和redo)19

复制全部热备的数据文件过来(完全恢复成功!

)19

mount数据库19

完全恢复数据库20

打开数据库20

验证恢复结果:

完全恢复21

说明:

21

*shutdownabort的情况,恢复全部数据文件(不包括control和redo)21

复制全部热备的数据文件过来(完全恢复成功!

)22

mount数据库22

完全恢复数据库22

打开数据库23

验证恢复结果:

完全恢复23

说明:

23

*shutdownimmediate,丢失全部控制文件(不包括数据文件和redo),A(完全恢复)24

用热备的控制文件恢复(把热备的控制文件拷贝回来)24

mount数据库24

完全恢复和untilcancelusingbackupcontrolfile都失败24

重建控制文件25

找到那个控制文件,然后编辑25

重建控制文件,并且恢复数据库(完全恢复成功!

)26

验证恢复结果:

完全恢复26

说明:

27

*shutdownabort的情况,恢复全部控制文件(不包括数据文件和redo)27

准备工作27

删除那个控制文件,把热备的控制文件拷贝过来29

mount数据库29

根据提示,重建口令文件29

用totrace;备份控制文件30

找到那个控制文件,然后编辑31

重建控制文件,并且恢复数据库(完全恢复成功!

)31

说明:

32

*shutdownimmediate的情况,丢失全部控制文件和数据文件(不包括redo),方法132

准备工作32

然后单独开启一个实例,再shutdownimmediate34

拷贝热备的所有控制文件和数据文件34

mount数据库34

根据提示,重建口令文件35

用totrace备份控制文件35

shutdownimmediate关闭数据库35

找到那个控制文件,然后编辑:

36

重建控制文件,并且恢复数据库36

关闭数据库37

重新mount,作完全恢复(recoverdatabase;)37

打开数据库39

验证恢复结果:

完全恢复40

说明:

40

*shutdownimmediate的情况,丢失全部控制文件和数据文件(不包括redo),方法241

准备工作41

把热备的控制文件和数据文件拷贝过来42

mount数据库42

根据提示,重建口令文件42

尝试恢复数据库(现在恢复是不可以的)43

试图打开数据库(现在打开是不可以的)43

重新mount数据库44

备份控制文件44

找到那个控制文件,并且编辑它44

重建控制文件,并自动完全恢复数据库45

验证恢复结果:

完全恢复46

说明:

46

*shutdownabort的情况,恢复全部控制文件和数据文件(不包括redo)47

准备工作47

单开一个session,用来shutdowabort48

拷贝所有的控制文件和数据文件(不包括redo)48

mount数据库,按照提示重建口令文件48

这时,试图完全恢复数据库是不成功的49

用totrace备份控制文件49

找到并且编辑控制文件49

重建控制文件50

shutdownimmediate,然后重新恢复数据库51

完全恢复数据库51

打开数据库53

说明:

54

*shutdownabort后,丢失全部文件(除了archivelog和init.ora)54

准备工作54

新开一个session,进行shutdownabort56

把热备的数据文件和控制文件拷贝过来56

mount数据库56

根据提示重建口令文件57

用totrace备份控制文件57

找到这个跟踪文件并编辑它57

重建控制文件(这种丢失的状态重建控制文件是错误的)58

Mount数据库59

用usingbackupcontrolfile进行恢复59

用OpenResetlog打开数据库62

验证恢复结果:

不完全恢复,redo里面的数据丢失了63

说明:

63

*丢失非系统非当前活动回滚段表空间中的一个数据文件64

首先是做一次热备(因为上次已经做了不完全恢复resetlogs)64

数据准备工作167

以上改动后需要作一次热备或者冷备,否则数据文件丢失后不能恢复(增加表空间,数据文件都要备份数据库)69

数据准备工作272

Shutdowabort,然后删除test01.dbf,模拟数据文件丢失72

删除test01.dbf,把备份的数据文件test01.dbf拷贝过来73

Mount数据库73

恢复数据文件(把最近的热备的文件拷贝过来)73

打开数据库73

验证恢复结果:

完全恢复74

*丢失系统表空间(SYSTEM)74

*丢失一个非当前的redologgroup74

*丢失一个当前的redologgroup74

*丢失一个非当前非唯一的redologmember75

*丢失一个非当前的唯一的redologmember75

*丢失一个当前的非唯一的redologmember75

*丢失一个当前的唯一的redologmember75

*丢失一个非唯一的控制文件75

*丢失当前回滚段75

*丢失某个非系统表空间的一个数据文件76

附录:

76

Forwindowx的数据库备份脚本76

备份脚本(aa.sql)76

生成的用于实际做备份的脚本(backup_ts.sql)78

备份过程的日志(backup.log)81

备份ops的脚本83

备份脚本(createbackup.sh)83

生成的用于实际做备份的脚本(dobackup.sql)85

用于调用这个生成的实际需要调用的脚本(dobackup.sh)89

备份过程的日志(backup.log)89

备份unix或者linux单台实例的数据库脚本91

备份脚本(createbackup.sh)91

生成的用于实际做备份的脚本(dobackup.sql)94

用于调用这个生成的实际需要调用的脚本(dobackup.sh)94

备份过程的日志(backup.log)94

*热备过程

E:

\>sqlplusinternal

SQL*Plus:

Release8.1.7.0.0-Productionon星期日10月2020:

36:

502002

(c)Copyright2000OracleCorporation.Allrightsreserved.

连接到:

Oracle8iEnterpriseEditionRelease8.1.7.0.0-Production

WiththePartitioningoption

JServerRelease8.1.7.0.0-Production

SQL>@e:

\backupdb\other\aa

TO_CHAR(SYSDATE,'''YY

---------------------

'2002-10-2008:

10:

51'

SQL>

SQL>@e:

\backupdb\other\backup_ts.sql

SQL>--settermoutoff;

SQL>setechooffheadofffeedbackoffpagesize0;

20-10月-02

BEGININGARCHIVELOGNUMBERIS:

数据库日志模式存档模式

自动存档启用

存档终点d:

\BACKUPDB\archive

最早的概要信息日志序列0

下一个存档日志序列1

当前日志序列1

BeginBackupTablespaceSYSTEM.'D:

\BACKUPDB\SYSTEM01.DBF'...

已复制1个文件。

SuccessedEndBackupThisFile.

BeginBackupTablespaceRBS.'D:

\BACKUPDB\RBS01.DBF'...

已复制1个文件。

SuccessedEndBackupThisFile.

BeginBackupTablespaceUSERS.'D:

\BACKUPDB\USERS01.DBF'...

已复制1个文件。

SuccessedEndBackupThisFile.

BeginBackupTablespaceTEMP.'D:

\BACKUPDB\TEMP01.DBF'...

已复制1个文件。

SuccessedEndBackupThisFile.

BeginBackupTablespaceTOOLS.'D:

\BACKUPDB\TOOLS01.DBF'...

已复制1个文件。

SuccessedEndBackupThisFile.

BeginBackupTablespaceINDX.'D:

\BACKUPDB\INDX01.DBF'...

已复制1个文件。

SuccessedEndBackupThisFile.

BeginBackupCONTROLFILE'D:

\BACKUPDB\CONTROL01.CTL'...

SuccessedEndBackupTheCONTROLFILE.

BeginBackupCONTROLFILEToTrace...

SuccessedEndBackupTheCONTROLFILE.

BeforeSwitchLog,TheCurrentLogis:

数据库日志模式存档模式

自动存档启用

存档终点d:

\BACKUPDB\archive

最早的概要信息日志序列0

下一个存档日志序列1

当前日志序列1

BeginBackupSwitchCurrentLog...

SuccessedEndSwitchLog.

AfterSwitchLog,TheEndingArchiveLogNumberIs:

数据库日志模式存档模式

自动存档启用

存档终点d:

\BACKUPDB\archive

最早的概要信息日志序列1

下一个存档日志序列2

当前日志序列2

20-10月-02

SQL>--settermouton;

SQL>

SQL>selectto_char(sysdate,'''yyyy-mm-ddhh:

mm:

ss''')fromdual;

'2002-10-2008:

10:

15'

已选择1行。

SQL>

*仅仅丢失一个普通用户数据文件的恢复A(联机恢复)

(例如,丢失D:

\BACKUPDB\USERS01.DBF)

准备工作

通过下面的工作,如果完全恢复,应该可以看到;insertintotest1values

(2);

SQL>connlunar/lunar

已连接。

SQL>select*fromtab;

TESTBACKUP3TABLE

已选择1行。

SQL>createtabletest1

2(anumber);

表已创建。

SQL>insertintotest1values

(1);

已创建1行。

SQL>altersystemswitchlogfile;

系统已更改。

SQL>commit;

提交完成。

SQL>altersystemswitchlogfile;

系统已更改。

SQL>insertintotest1values

(2);

已创建1行。

SQL>commit;

提交完成。

SQL>altersystemswitchlogfile;

系统已更改。

SQL>conninternal

已连接。

SQL>archiveloglist

数据库日志模式存档模式

自动存档启用

存档终点d:

\BACKUPDB\archive

最早的概要信息日志序列3

下一个存档日志序列5

当前日志序列5

SQL>

shutdownabort关闭例程,模拟数据文件丢失

SQL>shutdownabort

ORACLE例程已经关闭。

Mount数据库

SQL>startupmount

ORACLE例程已经启动。

TotalSystemGlobalArea25856028bytes

FixedSize75804bytes

VariableSize8925184bytes

DatabaseBuffers16777216bytes

RedoBuffers77824bytes

数据库装载完毕。

使损坏的数据文件脱机

SQL>alterdatabasedatafile'D:

\BACKUPDB\USERS01.DBF'offline;

数据库已更改。

打开数据库

SQL>alterdatabaseopen;

数据库已更改。

SQL>

拷贝刚才热备的数据文件(USERS01.DBF)

恢复损坏的数据文件

SQL>recoverdatafile'D:

\BACKUPDB\USERS01.DBF';

ORA-00279:

?

?

424116(?

10/20/200220:

42:

04?

?

)?

?

?

?

1?

?

?

?

ORA-00289:

?

?

:

D:

\BACKUPDB\ARCHIVE\BACKUPT001S00001.ARC

ORA-00280:

?

?

424116?

?

?

?

1?

?

?

?

#1?

?

?

指定日志:

{=suggested|filename|AUTO|CANCEL}

auto

ORA-00279:

?

?

424125(?

10/20/200220:

44:

14?

?

)?

?

?

?

1?

?

?

?

ORA-00289:

?

?

:

D:

\BACKUPDB\ARCHIVE\BACKUPT001S00002.ARC

ORA-00280:

?

?

424125?

?

?

?

1?

?

?

?

#2?

?

?

ORA-00278:

?

?

?

?

?

?

?

?

?

?

?

'D:

\BACKUPDB\ARCHIVE\BACKUPT001S00001.ARC'

ORA-00279:

?

?

424135(?

10/20/200221:

55:

35?

?

)?

?

?

?

1?

?

?

?

ORA-00289:

?

?

:

D:

\BACKUPDB\ARCHIVE\BACKUPT001S00003.ARC

ORA-00280:

?

?

424135?

?

?

?

1?

?

?

?

#3?

?

?

ORA-00278:

?

?

?

?

?

?

?

?

?

?

?

'D:

\BACKUPDB\ARCHIVE\BACKUPT001S00002.ARC'

已应用的日志。

完成介质恢复。

SQL>

使恢复完成的数据文件联机

SQL>alterdatabasedatafile'D:

\BACKUPDB\USERS01.DBF'online;

Databasealtered.

验证恢复的结果:

完全恢复

SQL>select*fromtab;

TNAMETABTYPECLUSTERID

-----------------------------------------------

TEST1TABLE

TESTBACKUP3TABLE

SQL>select*fromtest1;

A

----------

1

2

说明:

1.shutdownabort关闭例程,模拟数据文件丢失

2.Mount数据库

3.使损坏的数据文件脱机

4.打开数据库

5.拷贝刚才热备的数据文件(USERS01.DBF)

6.恢复损坏的数据文件

7.使恢复完成的数据文件联机

*仅仅丢失一个普通用户数据文件的恢复B(脱机恢复)

准备工作

按照下面的输入,如果全部恢复,应该可以看到insertintotest1values(13),因为insertintotest1values(14)没提交。

SQL>connlunar/lunar

Connected.

SQL>insertintotest1values(13);

1rowcreated.

SQL>commit;

Commitcomplete.

SQL>insertintotest1values(14);

1rowcreated.

Shutdownimmediate,然后模拟数据文件丢失

单开一个session,执行shutdownimmediate(保证insertintotest1values(14);没有被隐士提交)

MicrosoftWindows2000[Version5.00.2195]

(C)版权所有1985-2000MicrosoftCorp.

E:

\>sqlplusinternal

SQL*Plus:

Release8.1.7.0.0-Productionon星期一10月2102:

36:

072002

(c)Copyright2000OracleCorporation.Allrightsreserved.

连接到:

Oracle8iEnterpriseEditionRelease8.1.7.0.0-Production

WiththePartitioningoption

JServerRelease8.1.7.0.0-Production

SQL>shutdownimmediate

数据库已经关闭。

已经卸载数据库。

ORACLE例程已经关闭。

SQL>

模拟数据文件丢失,然后用热备覆盖这个文件

mount数据库

E:

\>sqlplusinternal

SQL*Plus:

Release8.1.7.0.0-ProductiononMonOct2102:

42:

472002

(c)Copyright2000OracleCorporation.Allrightsreserved.

Connectedtoanidleinstance.

SQL>shutdownimmediate

ORA-01034:

ORACLEnotavailable

ORA-27101:

sharedmemoryrealmdoesnotexist

SQL>startupmount

ORACLEinstancestarted.

TotalSystemGlobalArea25856028bytes

FixedSize75804bytes

VariableSize8925184bytes

DatabaseBuffers16777216bytes

RedoBuffers77824bytes

Databasemounted.

SQL>

使损坏的数据文件脱机

SQL>alterdatabasedatafile'D:

\BACKUPDB\USERS01.DBF'offline;

Databasealtered.

恢复数据文件

SQL>recoverdatafile'D:

\BACKUPDB\USERS01.DBF';

ORA-00279:

change424116generatedat10/20/200220:

42:

04neededforthread1

ORA-00289:

suggestion:

D:

\BACKUPDB\ARCHIVE\BACKUPT001S00001.ARC

ORA-00280:

change424116forthread1isinsequence#1

Specifylog:

{=suggested|filename|AUTO|CANCEL}

auto

ORA-00279:

change424125generatedat10/20/200220:

44:

14neededforthread1

ORA-00289:

suggestion:

D:

\BACKUPDB\ARCHIVE\BACKUPT001S00002.ARC

ORA-00280:

change424125forthread1isinsequence#2

ORA-00278:

logfile'D:

\BACKUPDB\ARCHIVE\BACKUPT001S00001.ARC'nolongerneeded

forthisrecovery

ORA-00279:

change424135generatedat10/20/200221:

55:

35neededforthread1

ORA-00289:

suggestion:

D:

\BACKUPDB\ARCHIVE\BACKUPT001S00003.ARC

ORA-00280:

change424135forthread1isinsequence#3

ORA-00278:

logfile'D:

\BACKUPDB\ARCHIVE\BACKUPT001S00002.ARC'nolongerneeded

forthisrecovery

ORA-00279:

change424139generatedat10/20/2002

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2