RMAN备份恢复之SPFILE的恢复.docx

上传人:b****1 文档编号:14786494 上传时间:2023-06-27 格式:DOCX 页数:18 大小:20.84KB
下载 相关 举报
RMAN备份恢复之SPFILE的恢复.docx_第1页
第1页 / 共18页
RMAN备份恢复之SPFILE的恢复.docx_第2页
第2页 / 共18页
RMAN备份恢复之SPFILE的恢复.docx_第3页
第3页 / 共18页
RMAN备份恢复之SPFILE的恢复.docx_第4页
第4页 / 共18页
RMAN备份恢复之SPFILE的恢复.docx_第5页
第5页 / 共18页
RMAN备份恢复之SPFILE的恢复.docx_第6页
第6页 / 共18页
RMAN备份恢复之SPFILE的恢复.docx_第7页
第7页 / 共18页
RMAN备份恢复之SPFILE的恢复.docx_第8页
第8页 / 共18页
RMAN备份恢复之SPFILE的恢复.docx_第9页
第9页 / 共18页
RMAN备份恢复之SPFILE的恢复.docx_第10页
第10页 / 共18页
RMAN备份恢复之SPFILE的恢复.docx_第11页
第11页 / 共18页
RMAN备份恢复之SPFILE的恢复.docx_第12页
第12页 / 共18页
RMAN备份恢复之SPFILE的恢复.docx_第13页
第13页 / 共18页
RMAN备份恢复之SPFILE的恢复.docx_第14页
第14页 / 共18页
RMAN备份恢复之SPFILE的恢复.docx_第15页
第15页 / 共18页
RMAN备份恢复之SPFILE的恢复.docx_第16页
第16页 / 共18页
RMAN备份恢复之SPFILE的恢复.docx_第17页
第17页 / 共18页
RMAN备份恢复之SPFILE的恢复.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

RMAN备份恢复之SPFILE的恢复.docx

《RMAN备份恢复之SPFILE的恢复.docx》由会员分享,可在线阅读,更多相关《RMAN备份恢复之SPFILE的恢复.docx(18页珍藏版)》请在冰点文库上搜索。

RMAN备份恢复之SPFILE的恢复.docx

RMAN备份恢复之SPFILE的恢复

1RMAN备份恢复之SPFILE的恢复

(一)

缺少初始化文件,数据库是无法启动的。

如果通过RMAN备份了初始化参数,那么可以通过RMAN对初始化参数进行恢复。

这篇文章简单介绍CATALOG方式下初始化参数的恢复问题。

初始化参数的丢失和损坏,并不会造成太严重的问题,即使是最坏的情况,导致无法进行恢复,也是可以通过手工编辑一个新的PFILE文件,来启动实例的。

而且,在数据库的alert文件中包含了每次数据库启动使用的所有非默认值初始化参数,因此重新编写一个初始化参数并不困难。

不过,既然对SPFILE进行了备份,那么完全可以采用恢复的方式来还原SPFILE。

对于CATALOG方式,SPFILE的恢复相对简单很多。

不过Oracle文档上对于SPFILE的恢复的描述有些小问题:

SETDBID这个步骤是不能省略的,否则会报错。

$rmantarget/catalog"rman/rman@testcen"

RecoveryManager:

Release9.2.0.4.0-Production

Copyright(c)1995,2002,OracleCorporation.Allrightsreserved.

connectedtotargetdatabase(notstarted)

connectedtorecoverycatalogdatabase

RMAN>startupforcenomount;

startupfailed:

ORA-01078:

failureinprocessingsystemparameters

LRM-00109:

couldnotopenparameterfile'/opt/ora9/product/9.2/dbs/inittestdata.ora'

tryingtostarttheOracleinstancewithoutparameterfiles...

Oracleinstancestarted

TotalSystemGlobalArea97588504bytes

FixedSize451864bytes

VariableSize46137344bytes

DatabaseBuffers50331648bytes

RedoBuffers667648bytes

RMAN>restorespfile;

Startingrestoreat27-6月-07

RMAN-00571:

===========================================================

RMAN-00569:

===============ERRORMESSAGESTACKFOLLOWS===============

RMAN-00571:

===========================================================

RMAN-03002:

failureofrestorecommandat06/27/200710:

36:

46

RMAN-12010:

automaticchannelallocationinitializationfailed

RMAN-06004:

ORACLEerrorfromrecoverycatalogdatabase:

RMAN-20001:

targetdatabasenotfoundinrecoverycatalog

正确的方式如下:

$rmantarget/catalog"rman/rman@testcen"

RecoveryManager:

Release9.2.0.4.0-Production

Copyright(c)1995,2002,OracleCorporation.Allrightsreserved.

connectedtotargetdatabase:

DUMMY(notmounted)

connectedtorecoverycatalogdatabase

RMAN>setdbid2270762593;

executingcommand:

SETDBID

RMAN>startupforcenomount

startupfailed:

ORA-01078:

failureinprocessingsystemparameters

LRM-00109:

couldnotopenparameterfile'/opt/ora9/product/9.2/dbs/inittestdata.ora'

tryingtostarttheOracleinstancewithoutparameterfiles...

Oracleinstancestarted

TotalSystemGlobalArea97588504bytes

FixedSize451864bytes

VariableSize46137344bytes

DatabaseBuffers50331648bytes

RedoBuffers667648bytes

RMAN>restorespfile;

Startingrestoreat27-6月-07

allocatedchannel:

ORA_DISK_1

channelORA_DISK_1:

sid=9devtype=DISK

allocatedchannel:

ORA_DISK_2

channelORA_DISK_2:

sid=10devtype=DISK

allocatedchannel:

ORA_DISK_3

channelORA_DISK_3:

sid=11devtype=DISK

channelORA_DISK_1:

startingdatafilebackupsetrestore

channelORA_DISK_1:

restoringSPFILE

outputfilename=/opt/ora9/product/9.2/dbs/spfiletestdata.ora

channelORA_DISK_1:

restoredbackuppiece1

piecehandle=/data1/backup/testdata/c-2270762593-20070626-01tag=nullparams=NULL

channelORA_DISK_1:

restorecomplete

Finishedrestoreat27-6月-07

RMAN>startupforce

Oracleinstancestarted

databasemounted

databaseopened

TotalSystemGlobalArea1175525576bytes

FixedSize452808bytes

VariableSize335544320bytes

DatabaseBuffers838860800bytes

RedoBuffers667648bytes

startingfullresyncofrecoverycatalog

fullresynccomplete

SETDBID这个步骤是必须的。

对于CATALOG模式,如果不知道数据库的ID,可以通过CATALOG用户登陆到CATALOG数据库中进行查询:

$sqlplusrman/rman@testcen

SQL*Plus:

Release9.2.0.4.0-Productionon星期三6月2715:

36:

302007

Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.

Connectedto:

Oracle9iEnterpriseEditionRelease9.2.0.4.0-Production

WiththePartitioning,OLAPandOracleDataMiningoptions

JServerRelease9.2.0.4.0-Production

Sessionaltered.

SQL>selectdbidfromrc_databasewherename='TESTDATA';

DBID

----------

2270762593

恢复之后,重启数据库实例,使得SPFILE生效。

2RMAN备份恢复之SPFILE的恢复

(二)

缺少初始化文件,数据库是无法启动的。

如果通过RMAN备份了初始化参数,那么可以通过RMAN对初始化参数进行恢复。

这篇文章简单介绍NOCATALOG方式下初始化参数的恢复问题。

前面介绍了CATALOG方式下的SPFILE的恢复问题,这里讨论NOCATALOG的恢复方式。

对于NOCATALOG,如果开启了AUTOBACKUP,那么恢复数据库的SPFILE也是很简单的问题。

首先检查alert文件,确定最近的自动备份的名称。

$tail-200/opt/ora9/admin/testdata/bdump/alert_testdata.log|grepc-

handle'/data1/backup/testdata/c-2270762593-20070629-00'

根据得到的信息不但可以确定自动备份的名称和位置,还可以得到数据库的DBID,当前的例子中,2270762593就是数据库的DBID。

下面就可以利用RMAN进行恢复了,仍然必须SETDBID,然后利用RMAN的默认参数进行启动:

$rmantarget/

RecoveryManager:

Release9.2.0.4.0-Production

Copyright(c)1995,2002,OracleCorporation.Allrightsreserved.

connectedtotargetdatabase(notstarted)

RMAN>setdbid2270762593

executingcommand:

SETDBID

RMAN>startupforcenomount

startupfailed:

ORA-01078:

failureinprocessingsystemparameters

LRM-00109:

couldnotopenparameterfile'/opt/ora9/product/9.2/dbs/inittestdata.ora'

tryingtostarttheOracleinstancewithoutparameterfiles...

Oracleinstancestarted

TotalSystemGlobalArea97588504bytes

FixedSize451864bytes

VariableSize46137344bytes

DatabaseBuffers50331648bytes

RedoBuffers667648bytes

RMAN>run

2>{

3>setcontrolfileautobackupformatfordevicetypediskto'/data1/backup/testdata/%F';

4>allocatechannelc1devicetypedisk;

5>restorespfilefromautobackup;

6>}

executingcommand:

SETCONTROLFILEAUTOBACKUPFORMAT

allocatedchannel:

c1

channelc1:

sid=9devtype=DISK

Startingrestoreat29-6月-07

channelc1:

lookingforautobackuponday:

20070629

channelc1:

autobackupfound:

/data1/backup/testdata/c-2270762593-20070629-00

channelc1:

SPFILErestorefromautobackupcomplete

Finishedrestoreat29-6月-07

releasedchannel:

c1

对于不存在autobackup的情况,问题就比较复杂了。

首先第一个问题就是要找到DBID,第二个还要确定目前的备份集中哪个是包含SPFILE的。

对于第一个问题,如果对数据文件的格式有一定了解的,可以直接从数据文件头中获取,这里就不介绍具体的方法了。

对于第二个问题,最差的方法不过是挨个尝试所有的备份集。

如果两个问题就可以解决,那么没有AUTOBACKUP,恢复SPFILE也是很容易的:

RMAN>restorespfilefrom'/data1/backup/testdata/2kilbkkg_1_1';

Startingrestoreat29-6月-07

allocatedchannel:

ORA_DISK_1

channelORA_DISK_1:

sid=9devtype=DISK

channelORA_DISK_1:

autobackupfound:

/data1/backup/testdata/2kilbkkg_1_1

channelORA_DISK_1:

SPFILErestorefromautobackupcomplete

Finishedrestoreat29-6月-07

3RMAN备份恢复之SPFILE的恢复(三)

缺少初始化文件,数据库是无法启动的。

如果通过RMAN备份了初始化参数,那么可以通过RMAN对初始化参数进行恢复。

RMAN备份恢复之SPFILE的恢复

(一):

基于UNIONALL的分页查询执行计划问题

(二):

这篇文章简单介绍NOCATALOG方式下另外一种恢复方法。

前面介绍对于不存在autobackup的情况,SPFILE的恢复问题比较复杂。

如果仅仅是SPFILE丢失,控制文件仍然存在的话,那么还有一种相对简单的恢复方法。

首先手工编辑一个初始化参数文件,指明数据库名称和控制文件位置。

相对于上一篇文章的DBID而言,这些信息是很容易得到的。

[oracle@demo2oracle]$viinit.ora

db_name=testdata

instance_name=testdata

control_files='/data/oradata/testdata/control01.ctl'

db_block_size=8192

注意,如果DB_BLOCK_SIZE的值可以通过alert文件中查到,如果alert文件丢失,可以尝试多次,当发现下面的错误时,关闭实例,重新修改INIT.ORA文件,再次启动。

RMAN>startupmountpfile=/home/oracle/init.ora

Oracleinstancestarted

RMAN-00571:

===========================================================

RMAN-00569:

===============ERRORMESSAGESTACKFOLLOWS===============

RMAN-00571:

===========================================================

RMAN-03002:

failureofstartupcommandat07/05/200720:

32:

11

ORA-00209:

controlfileblocksizemismatch,checkalertlogformoreinfo

下面用RMAN将数据库启动到MOUNT状态,就可以利用控制文件中保存的备份信息去恢复SPFILE了。

[oracle@demo2oracle]$rmantarget/

RecoveryManager:

Release9.2.0.4.0-Production

Copyright(c)1995,2002,OracleCorporation.Allrightsreserved.

connectedtotargetdatabase(notstarted)

RMAN>startupmountpfile=/home/oracle/init.ora

Oracleinstancestarted

databasemounted

TotalSystemGlobalArea97588504bytes

FixedSize451864bytes

VariableSize46137344bytes

DatabaseBuffers50331648bytes

RedoBuffers667648bytes

RMAN>listbackupofspfile;

usingtargetdatabasecontrolfileinsteadofrecoverycatalog

ListofBackupSets

===================

BSKeyTypeLVSizeDeviceTypeElapsedTimeCompletionTime

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

1154Full0DISK00:

00:

0106-7月-07

BPKey:

2042Status:

AVAILABLETag:

TAG20070706T130211

PieceName:

/data1/backup/testdata/4dim5buh_1_1

SPFILEIncluded:

Modificationtime:

27-2月-07

BSKeyTypeLVSizeDeviceTypeElapsedTimeCompletionTime

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

1156Full0DISK00:

05:

0906-7月-07

BPKey:

2044Status:

AVAILABLETag:

TAG20070706T130423

PieceName:

/data1/backup/testdata/4jim5c2n_1_1

SPFILEIncluded:

Modificationtime:

27-2月-07

RMAN>restorespfile;

Startingrestoreat06-7月-07

allocatedchannel:

ORA_DISK_1

channelORA_DISK_1:

sid=9devtype=DISK

allocatedchannel:

ORA_DISK_2

channelORA_DISK_2:

sid=10devtype=DISK

channelORA_DISK_1:

startingdatafilebackupsetrestore

channelORA_DISK_1:

restoringSPFILE

outputfilename=/opt/ora9/product/9.2/dbs/spfiletestdata.ora

channelORA_DISK_1:

restoredbackuppiece1

piecehandle=/data1/backup/testdata/4jim5c2n_1_1tag=TAG20070706T130423params=NULL

channelORA_DISK_1:

restorecomplete

Finishedrestoreat06-7月-07

RMAN>startupforce;

Oracleinstancestarted

databasemounted

databaseopened

TotalSystemGlobalArea1175525576bytes

FixedSize452808bytes

VariableSize335544320bytes

DatabaseBuffers838860800bytes

RedoBuffers667648bytes

使用这种方式,只需要指定DBNAME,控制文件的位置,并确保控制文件没有丢失就可以了。

不再需要控制文件的AUTOBACKUP,以及DBID的值,也不需要挨个备份集尝试去恢复SPFILE。

4RMAN-6172错误RMAN从AUTOBACKUP中恢复SPFILE报

在使用RMAN从AUTOBACKUP中恢复SPFILE,可能会碰到这个错误,这里简单总结一下。

在RMAN恢复SPFILE过程中,可能遇到下面的错误:

RMAN>restorespfilefromautobackup;

Startingrestoreat27-6月-07

usingtargetdatabasecontrolfileinsteadofrecoverycatalog

allocatedchannel:

ORA_DISK_1

channelORA_DISK_1:

sid=9devtype=DISK

channelORA_DISK_1:

lookingforautobackuponday:

20070627

channelORA_DISK_1:

lookingforautobackuponday:

20070626

channelORA_DISK_1:

lookingforautobackuponday:

20070625

channelORA_DISK_1:

lookingforautobackuponday:

20070624

channelORA_DISK_1:

lookingforautobackuponday:

20070623

channelORA_DISK_1:

lookingforautoba

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

当前位置:首页 > 经管营销 > 经济市场

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

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