empcard数据库备份恢复流程演练.docx

上传人:b****6 文档编号:4279790 上传时间:2022-11-28 格式:DOCX 页数:18 大小:440.04KB
下载 相关 举报
empcard数据库备份恢复流程演练.docx_第1页
第1页 / 共18页
empcard数据库备份恢复流程演练.docx_第2页
第2页 / 共18页
empcard数据库备份恢复流程演练.docx_第3页
第3页 / 共18页
empcard数据库备份恢复流程演练.docx_第4页
第4页 / 共18页
empcard数据库备份恢复流程演练.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

empcard数据库备份恢复流程演练.docx

《empcard数据库备份恢复流程演练.docx》由会员分享,可在线阅读,更多相关《empcard数据库备份恢复流程演练.docx(18页珍藏版)》请在冰豆网上搜索。

empcard数据库备份恢复流程演练.docx

empcard数据库备份恢复流程演练

empcard数据库备份恢复流程演练

1.复制数据库备份,控制文件备份,日志备份,Redo.log,

到备份目录E:

\OracleBackup\empcard\196BackupFile\

2.利用DataBaseConfigurationAssistant新建实例,

实例名称和SYS用户的密码保持和以前的一致。

注意设置rman的备份集的所在路径

更新rman的设置属性

3.关闭实例,连接到RMAN,执行SETDBID=原来的DBID,启动不要加载

从原来的rman备份的控制文件中取得数据库DBID

查看之前RMAN数据库备份控制文件命名中的DBID

E:

\OracleBackup\MYTEST\RmanBackupFile\

RMAN_BACKUP_CONTROLFILE_MYTEST_C-2483970197-20120607-00

DBID为文件名中的2483970197

rmantargetsys/abc123

showall;

shutdownimmediate;

setdbid=2484837015

startupnomount;

4.从备份文件中还原参数文件SPFILE

备份集中找不到SPfile,可能需要从依次里当前最接近的前一个控制文件的备份中恢复.

控制文件:

RMAN_BACKUP_CONTROLFILE_MYTEST_C-2483970197-20120607-00';

RMAN>

restorespfiletopfile'E:

\OracleBackup\EMPCARD\196BackupFile\EMPCARD_SPFILE.ORA'from'E:

\OracleBackup\empcard\196BackupFile\BACKUP_CONTROLFILE_EMPCARD_C-1714198115-20120610-00';

控制文件备份恢复参数文件成功

检查E:

\OracleBackup\MYTEST\RmanBackupFile\_SPFILE目录下已经有SPFILE存在

 

5.还原控制文件

从控制文件备份恢复控制文件

RMAN>

run

{

allocatechannelc1devicetypedisk;

restorecontrolfilefrom'E:

\OracleBackup\MYTEST\RmanBackupFile\RMAN_BACKUP_CONTROLFILE_MYTEST_C-2484823945-20120611-00';

}

查看SPfile内容,修改数据库路径,日志路径

 

恢复后的控制文件中的数据文件的路径不对,在后面需要修改。

 

RMAN>shutdownimmediate;

 

6.下面利用sqlplus来创建pfile文件:

你最好打开该参数文件,看一下路径是否都确实存在,或者是否正确。

用Sqlplus加载参数文件。

sqlplus/nolog

connsys/abc123assysdba;

startupnomount;

 

SQL>createpfile='E:

\OracleBackup\EMPCARD\196BackupFile\Initial_EMPCARD.ORA'fromspfile;

文件已创建。

编辑Initial_EMPCARD.ORA初始化参数文件:

下面可以启动数据库实例了:

SQL>shutdownimmediate;

SQL>startupmountpfile='E:

\OracleBackup\EMPCARD\196BackupFile\Initial_EMPCARD.ORA';

已连接到目标数据库(未启动)

Oracle例程已启动

RMAN-00571:

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

RMAN-00569:

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

RMAN-00571:

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

RMAN-03002:

failureofstartupcommandat06/07/201212:

48:

12

ORA-01991:

无效的口令文件'E:

\OraHome_1\DATABASE\PWDmytest.ORA'

修改密码,不需要重启

SQL>connsys/admin@hunterassysdba

Connected.

SQL>showuser;    

USERis"SYS"

SQL>alterusersysidentifiedbyadmin_123;

Useraltered.

重设口令文件,需要重启

先删除E:

\OraHome_1\DATABASE\PWDmytest.ORA

再重设

DelE:

\OraHome_1\DATABASE\PWD*.ORA

orapwdfile=E:

\OraHome_1\DATABASE\PWDEMPCARD.ORApassword=abc123entries=30

修改了SYS的口令,需要重启Oracle服务

重新启动oracle,windows服务控制台重启

sqlplus/nolog

connsys/abc123assysdba;

shutdownimmediate;

SQL>startupmountpfile='E:

\OracleBackup\EMPCARD\196BackupFile\Initial_EMPCARD.ORA';ORACLEinstancestarted.

7.还原数据文件

rmantargetsys/abc123

恢复管理器:

版本9.2.0.1.0-Production

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

连接到目标数据库:

MYTEST(DBID=2483970197)

注意此DBID,就是原来的备份前的数据库DBID

RMAN>listbackup;

RMAN>crosscheckbackup;

deletenopromptexpiredbackup;

RMAN>reportobsolete;

deletenopromptobsolete;

RMAN>listbackup;

RMAN>crosscheckbackup;

RMAN>RESTOREDATABASEVALIDATE;

RMAN>restoredatabase;

需要修改数据文件的路径

sqlplus/nolog

connsys/abc123assysdba;

修改数据文件的路径:

@E:

\OracleBackup\empcard\script\change_datafile_path.sql;

恢复失败,找不到

从备份集恢复数据文件

用DBMS包恢复,首先查看每个备份集包含的数据文件

listbackup;

sqlplus/nolog

connsys/abc123assysdba;

从备份片中恢复数据文件:

注意恢复出来的文件名要与备份集内的数据文件名一致。

@E:

\OracleBackup\empcard\script\restore_datafile_from_baupPiece.sql;

查看目录下恢复出来的数据文件

8.还原归档日志

rmantargetsys/abc123

listbackup;

crosscheckbackup;

Restorearchivelog all;

找不到日志,则从备份集用DBMS恢复

sqlplus/nolog

connsys/abc123assysdba;

从备份片中恢复数据文件:

@E:

\OracleBackup\empcard\script\restore_archivelog_from_baupPiece.sql;

 查看已恢复的归档日志。

9.修改控制文件中文件路径

查看控制文件路径

.查看控制文件位置

SQL>showparametercontrol_files;

select*fromv$controlfile;

 控制文件路径正确,不需要修改

查看数据文件路径:

selectfile#,ts#,status,namefromv$datafile;

修改数据文件路径

sqlplus/nolog

connsys/abc123assysdba;

修改数据文件的路径:

@E:

\OracleBackup\empcard\script\change_datafile_path.sql;

查看归档路径:

selectdest_name,destination,status,errorfromv$archive_dest;

修改归档路径:

altersystemsetLOG_ARCHIVE_DEST_1="location=E:

\OraHome_1\ORADATA\EMPCARD\archive"scope=spfile;

查看以前所有的归档日志路径

select*fromv$archived_log;

查看归档日志格式:

showparameterlog_archive_format;

 

查看连接重做日志路径

select*fromv$logfile;

SELECTGROUP#,SEQUENCE#,MEMBERS,BYTES,STATUS,ARCHIVEDFROMV$LOG;

   状态列(status)所显示常用状态的含义:

∙      inactive:

表示实例恢复已不再需要这组联机重做日志组了。

∙       active:

表示该组是活动的但不是当前组,实例恢复时需要这组日志。

∙       current:

表示该组日志是当前组,该联机重做日志组是活动的。

∙       unused:

表示该日志组从未写过,是重做日志刚刚添加到状态。

将原来的重做日志文件拷贝过去

目录E:

\OracleBackup\empcard\196BackupFile下的redo.log复制到数据库文件位置

E:

\OraHome_1\oradata\mytest目录,覆盖日志文件

修改重做日志路径:

修改数据文件的路径:

@E:

\OracleBackup\empcard\script\change_redo_log_path.sql;

查看连接重做日志路径

select*fromv$logfile;

SELECTGROUP#,SEQUENCE#,MEMBERS,BYTES,STATUS,ARCHIVEDFROMV$LOG;

查看数据库的参数文件的默认位置E:

\OraHome_1\database下的SPFILE

中的路径是否正确SPFILEEMPCARD.ORA

查看修改后控制文件的内容是否正确

alterdatabasebackupcontrolfiletotrace;

然后在E:

\OraHome_1\admin\EMPCARD\udump目录中查看新生成的trace文件

如有路径不对的再进行修改。

再通过这个查看alterdatabasebackupcontrolfiletotrace;

注意这个trace记录都在同一个文件,可以查看生成的时间来判断那个是刚生成的。

 

shutdownimmediate;

startupmount;

再查看一下控制文件,数据文件,归档日志,重做文件的信息

select*fromv$controlfile;

select*fromv$datafile;

select*fromv$archived_log;

selectdest_name,destination,status,errorfromv$archive_dest;

select*fromv$logfile;

SELECTGROUP#,SEQUENCE#,MEMBERS,BYTES,STATUS,ARCHIVEDFROMV$LOG;

10.恢复数据库

rmantargetsys/abc123

RMAN>recoverdatabase;

alterdatabaseopenRESETLOGS;

11.查询原来的表,发现数据已经恢复。

sqlplus/nolog

connsys/abc123assysdba;

SQL>selectcount(*)fromLOG_USER.INTERFACE_LOG;

12.执行完全备份

Resetlog打开之后必须马上备份,因此以前的备份在resetlog之后全部失效

rmantargetsys/abc123

listbackup;

crosscheckbackup;

reportobsolete;

13.Rman备份过程测试

向数据库每间隔5秒钟插入一条记录到数据库,然后一直循环此过程,在此过程中,同时进行rman数据库备份。

备份结束后,停止插入记录

1每隔5秒向test表插入一条记录,在此过程中rman备份

02012-6-140:

00:

00.000ThuJun1413:

18:

19CST2012testinsert

备份结束后,数据库已由50条记录

502012-6-140:

00:

00.000ThuJun1413:

22:

36CST2012testinsert

即数据库共有51条记录

14.数据库恢复测试

直接killoracle进程,

然后用服务器控制台重启Oracle数据库,因此Kill前数据库是打开状态,所以启动后oracle会自动将redo记录恢复到数据库

sqlplus/nolog

connsys/abc123assysdba;

此时记录不变。

然后再插入记录

然后关闭数据库,再重启加载,恢复,再打开

再循环一直插入,然后直接killoracle进程。

数据库挂掉,插入记录进程异常

用服务控制台重启oracle

重启后再查询,发现数据还在,oracle自动完成在线恢复

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

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1