oracle rman异机恢复 以及 RHEL6.3双机

合集下载

通过RMAN备份Oracle数据库恢复到其他服务器(案例)

通过RMAN备份Oracle数据库恢复到其他服务器(案例)

通过RMAN备份Oracle数据库恢复到其他服务器(案例)通过RMAN备份Oracle数据库恢复到其他服务器(案例)本节演示如何通过RMAN创建的备份集,将数据库恢复到其他服务器。

本小节执行的操作较多,一定要有一个清醒的大脑,因此赶紧把脑袋里那堆乱七八糟的东西清除清除,要不你一定会看晕的。

设定环境如下:源库192.168.100.100,SID:orcdb。

目录库192.168.100.101,已安装与源库相同版本的数据库软件(一定要相同版本哟)。

准备工作如下:记录下源数据库的DBID,DBID的获取方式上节已讲过。

创建完整备份集(含控制文件、数据文件、归档文件),源库为非归档模式也可以,只要确保创建的备份是一致备份,然后将备份集复制到目标服务器的相同路径下。

为简单起见,源端与目标端目录结构保持一致。

如果你在测试或正式操作时由于实际原因无法保持源端与目标端结构一致,在恢复过程中注意修改相关路径。

操作步骤如下:注意,下列操作如非特别注明,均是在目标端服务器上进行的。

1.在源库端创建数据库的完整备份Backup database;备份集创建成功之后,将其复制到目录端的相同路径下,强调一点,必须是相同路径。

复制方式灵活多样,Windows环境可以直接通过共享复制,Linux/UNIX下可以通过FTP。

2.在目标服务器上创建OracleService如果是Linux/UNIX环境,不需要执行本步骤,只要在连接数据库时指定ORACLE_SID环境变量即可。

如果是Windows服务器,需要通过ORADIM命令创建一个OracleService,创建的SID要与源库相同,操作如下:1. C:\Documents and Settings\Administrator>ORADIM -NEW -SID orcdb2. Instance created.上述命令创建了一个名为orcdb的OracleService。

Oracle RMAN异机恢复

Oracle RMAN异机恢复

Oracle RMAN异机恢复By 刘鹏松liups@ 环境:源库的控制文件信息:源库的数据文件信息:源库的在线重做日志信息:说明:由于此次异机恢复的数据文件、控制文件和在线重做日志文件的路径跟源主机的路径都不相同,所以要在恢复的时候进行一些相关操作。

本次异机恢复采用的是源主机上的l0备份,备份的脚本如下:备份文件信息如下:其中yqpt_l0_201107221603_c-755730391-20110722-03是控制文件和参数文件的备份集。

DBID是755730391。

将所有l0的备份文件copy到目标主机上,并放到跟源主机相同的路径下面,如果不一样可以采用软连接的方式实现。

1、创建空实例1.1.在目标主机上安装Oracle软件,不创建数据库1.2.创建相关目录1.3.创建密码文件2、异机恢复以下所有操作在目标主机上操作2.1设置DBID2.2 启动目标数据库到nomount状态这里会提示找不到参数文件,不用管,下一步进行恢复2.3 恢复参数文件如果要修改参数文件,比如sga、文件路径信息,现在要修改。

如果源主机和目标主机配置相同的话,这里的参数文件不需要修改由于我们的控制文件的路径不同,所以要修改,将控制文件修改为目标主机的路径,同时dump的路径也需要修改,修改成我们先前建立的目录。

2.4 用启动的参数文件将数据重新启动到nomount状态2.5 根据修改后的参数文件恢复控制文件这样的话,控制文件就被恢复到/data/yqpt/下面了。

2.6 将数据库启动到mount状态2.7 restore and recover database由于数据文件路径不一样,通过set newname for datafile file# 将数据文件恢复到新的路径下面3、重命名在线重做日志文件由于在目标在线重做日志文件的路径与源库的不相同,所以要重命名在线重做日志,目标库的在线重做日志不需要存在,在open database的时候会自动创建在线重做日志。

RMAN恢复操作

RMAN恢复操作

RMAN恢复操作RMAN(Recovery Manager)是Oracle 数据库提供的一种备份和恢复工具,它能够帮助数据库管理员进行数据库的全量备份、增量备份和恢复操作。

RMAN具有很强的自动化和并行处理功能,可以大大简化数据库备份和恢复的操作过程,提高数据库的可用性和数据的安全性。

在进行RMAN恢复操作前,首先需要进行备份恢复策略的制定。

策略包括备份类型(全量备份、增量备份、归档日志备份)、备份频率、备份保留周期和恢复时间目标等。

根据具体的需求,确定适合的备份和恢复策略。

RMAN支持多种备份方式,可以通过RMAN命令行工具或者企业管理器进行备份。

在进行备份操作时,可以选择全量备份、增量备份或归档日志备份。

全量备份是将整个数据库的数据和控制文件备份,可以用于初始化数据库或完全恢复数据库。

增量备份是将数据库的变化部分备份,可以显著减少备份时间和存储空间。

归档日志备份是将数据库的归档日志备份,用于数据库的恢复操作。

RMAN在进行备份操作时,会将备份集保存到磁盘或者磁带等存储介质上。

备份集包括数据文件备份、控制文件备份和归档日志备份。

备份集可以通过RMAN命令进行管理和检查,还可以进行压缩和加密操作,提高备份效率和保护备份数据的安全性。

在进行恢复操作时,可以选择完全恢复或部分恢复。

完全恢复是将数据库恢复到最近的完全备份点,然后通过应用归档日志将数据库恢复到指定的时间点。

部分恢复是将数据库恢复到一些指定的时间点或者指定的恢复点。

RMAN在进行恢复操作时,会自动应用备份和归档日志,进行数据的重建和恢复。

RMAN还支持增量恢复,可以在进行部分恢复时,只恢复已经发生变化的数据块。

增量恢复可以提高恢复效率,减少恢复时间。

RMAN还支持数据库的跨平台恢复和迁移。

通过RMAN可以实现不同操作系统平台之间的数据库迁移和恢复。

在进行跨平台恢复和迁移时,需要进行必要的参数调整和文件路径修改,保证数据库恢复和迁移的正确性。

RMAN 备份集在异机异路径下恢复过程详解

RMAN 备份集在异机异路径下恢复过程详解
以下恢复数据文件
Startup nomount
DECLARE
devtype varchar2(256);
done boolean;
BEGIN
devtype:=sys.dbms_backup_restore.deviceAllocate (type=>'',ident=>'t1');
sys.dbms_backup_restore.restoreSetDatafile;
sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>03,toname=>'D:\ORACLE\PRODUCT.2.0\ORADATA\HRP270\SYSAUX01.DBF');
sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>04,toname=>'D:\ORACLE\PRODUCT.2.0\ORADATA\HRP270\USERS01.DBF');
sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>05,toname=>'D:\ORACLE\PRODUCT.2.0\ORADATA\HRP270\EXAMPLE01.DBF');
sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>06,toname=>'D:\ORACLE\PRODUCT.2.0\ORADATA\HRP270\HIS01');
sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>01,toname=>'D:\ORACLE\PRODUCT.2.0\ORADATA\HRP270\SYSTEM01.DBF');

oracle数据库rman备份计划及恢复

oracle数据库rman备份计划及恢复

oracle数据库rman备份计划及恢复1.rman完全恢复的前提条件:历史的datafile,controlfile和spfile备份,加上完整的archivelog和完好的redolog。

2.rman备份脚本: a.RMAN 0级备份命令:run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup incremental level 0 tag 'level0' format "E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\RFDB_level_0_%u_%s_%p" as compressed backupset database;sql "alter system archive log current";backup filesperset 3 format "E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\arch_%u_%s_%p_%c"archivelog all delete input; #备份归档可选,可以单独定期备份release channel c1;release channel c2;release channel c3;} b.RMAN 1级备份命令:run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup incremental level 1 tag 'level1' format 'E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\RFDB_level_1_%u_%s_%p' as compressed backupset database;sql 'alter system archive log current';backup filesperset 3 format 'E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\arch_%u_%s_%p'archivelog all delete input; #备份归档可选,可以单独定期备份release channel c1;release channel c2;release channel c3;} c.rman删除备份命令(在保留最近⼀天备份的情况下,删除其他备份):DELETE NOPROMPT OBSOLETE RECOVERY WINDOW OF 1 DAYS; d.操作系统层⾯运⾏rman备份或删除命令(windows/linux):rman target sys/rf4rfvbgt56yhn@rfdb nocatalog CMDFILE 'D:\app\rman\rman_file\level_0.txt' log=E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\log\rman_level_0.log export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=/u01/app/oracle/product/11.2.0/db1export ORACLE_SID=atestexport PATH=$ORACLE_HOME/bin:$PATHrman target sys/123456@atest nocatalog CMDFILE '/u01/rman/rman.sh' log=/u01/rman/rman.log00 02 * * 1 bash /u01/rman_file/run_rman_0.sh00 02 * * 3 bash /u01/rman_file/run_rman_0.sh00 02 * * 5 bash /u01/rman_file/run_rman_0.sh00 04 * * * bash /u01/rman_file/run_delete.sh34 11 * * * bash /u01/rman_file/run_rman_0.sh e.rman参数设置:RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE disk TO 2;RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE disk TO 2;3.rman恢复a.拷贝datafile,controlfile和spfile的rman备份,以及完整的archivelog和完好的redolog⽂件到新的数据库。

Oracle数据库RMAN恢复之数据文件的恢复详解

Oracle数据库RMAN恢复之数据文件的恢复详解

除了system表空间的数据文件(mount)之外,其它数据文件可以在open(mount也可以)状态下恢复。

open状态下恢复数据文件可以减少数据库停用的时间,所以应该在open状态下恢复这些数据文件。

示例一:数据文件被误删除数据库关闭状态下删除非系统表空间数据文件。

启动数据库到mount状态。

脱机丢失的数据文件,alter database datafile n offline。

打开数据库,alter database open。

转储数据文件,restore datafile n。

使用recover datafile n 应用归档日志。

联机数据文件,alter database datafile n online。

--数据库关闭状态下删除非系统表空间数据文件。

1.[oracle@localhost ~]$ rm $ORACLE_BASE/product/10.2.0/oradatabak/example01.dbf;2.SQL> select file#,error from v$recover_file;3.FILE# ERROR4.---------- -----------------------------------------------------------------5. 5 FILE NOT FOUND6.SQL> select file#,name from v$datafile where file#=5;7.FILE# NAME8.---------- --------------------------------------------------------------------------------9. 5 /oracle/10g/oracle/product/10.2.0/oradatabak/example01.dbf10.--恢复数据文件11.RMAN> run {12.startup force mount;13.sql 'alter database datafile 5 offline';14.sql 'alter database open';15.restore datafile 5;16.recover datafile 5;17.sql 'alter database datafile 5 online';18.8> }示例二:数据文件所在磁盘出现损坏数据库关闭状态下删除非系统表空间数据文件。

Oracle-Rac环境Rman备份与恢复

Oracle-Rac环境Rman备份与恢复

RMAN备份恢复——RAC环境数据库的备份一、RAC环境的备份、恢复和普通数据库的备份、恢复的区别RAC环境的备份、恢复和普通数据库的备份、恢复是有一些区别的。

这个区别主要体现在RAC 环境的特殊性上。

根据Oracle的RAC环境的不同,RMAN备份、恢复操作也是不同的。

如果RAC环境是建立在CLUSTER文件系统上的,或者是建立在ASM上的,那么备份和恢复过程可能会很简单,基本上和普通的数据库环境没有太多的区别。

如果RAC环境是建立在裸设备上的,由于归档日志无法存储在裸设备上,那么归档日志文件必须放在多个节点的本地硬盘上,这时备份和恢复就变得和普通的数据库环境有所差异。

这里先讨论一下ASM环境上建立的RAC数据库的备份。

如果将归档日志放在ASM上,那么两个节点都是可以备份的,这个时候,备份和普通的单实例数据库没有差别。

SQL> SHOW PARAMETER LOG_ARCHIVE_DEST_1NAME TYPE VALUE------------------------------------ ----------- ------------------------------ log_archive_dest_1 string LOCATION=+DISK/testrac/log_archive_dest_10 string$ rman target /恢复管理器: Release 10.2.0. - Production on星期三 4月 25 17:23:01 2007 Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到目标数据库: TESTRAC (DBID=84))RMAN> configure channel device type disk format '/data1/backup/%U';使用目标数据库控制文件替代恢复目录旧的 RMAN配置参数:CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/data/backup/testrac/%U';新的 RMAN配置参数:CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/data1/backup/%U';已成功存储新的 RMAN 配置参数RMAN> backup database plus archivelog delete all input;启动 backup于 25-4月-07当前日志已存档分配的通道: ORA_DISK_1通道 ORA_DISK_1: sid=312实例=testrac1 devtype=DISK通道 ORA_DISK_1:正在启动存档日志备份集通道ORA_DISK_1:正在指定备份集中的存档日志输入存档日志线程 =1序列 =134记录 ID=220时间戳=8输入存档日志线程 =1序列 =135记录 ID=221时间戳=1输入存档日志线程 =2序列=56记录 ID=219时间戳=1输入存档日志线程 =2序列 =57记录 ID=222时间戳=2通道ORA_DISK_1:正在启动段 1于 25-4月-07通道 ORA_DISK_1:已完成段 1于 25-4月-07段句柄=/data1/backup/08ig2nhv_1_1标记=TAGT172413注释=NONE通道 ORA_DISK_1:备份集已完成,经过时间:00:00:07通道 ORA_DISK_1:正在删除存档日志存档日志文件名=+DISK/testrac/记录 ID=220时间戳=8存档日志文件名 =+DISK/testrac/记录 ID=221时间戳=1存档日志文件名 =+DISK/testrac/记录 ID=219时间戳=1存档日志文件名=+DISK/testrac/记录 ID=222时间戳=2完成 backup于 25-4月 -07启动 backup于 25-4月-07使用通道ORA_DISK_1通道 ORA_DISK_1:启动全部数据文件备份集通道 ORA_DISK_1:正在指定备份集中的数据文件输入数据文件fno=00006name=+DISK/testrac/datafile/输入数据文件fno=00007 name=+DISK/testrac/datafile/输入数据文件fno=00009 name=+DISK/testrac/datafile/输入数据文件fno=00011name=+DISK/testrac/datafile/输入数据文件fno=00012 name=+DISK/testrac/datafile/输入数据文件fno=00014 name=+DISK/testrac/datafile/输入数据文件fno=00008name=+DISK/testrac/datafile/输入数据文件fno=00002 name=+DISK/testrac/datafile/输入数据文件fno=00004 name=+DISK/testrac/datafile/输入数据文件fno=00010name=+DISK/testrac/datafile/输入数据文件fno=00013 name=+DISK/testrac/datafile/输入数据文件fno=00001 name=+DISK/testrac/datafile/输入数据文件fno=00003name=+DISK/testrac/datafile/输入数据文件fno=00005 name=+DISK/testrac/datafile/通道 ORA_DISK_1:正在启动段 1于 25-4月-07通道 ORA_DISK_1:已完成段 1于 25-4月-07段句柄=/data1/backup/09ig2ni9_1_1标记=TAGT172424注释=NONE通道 ORA_DISK_1:备份集已完成,经过时间:00:15:05通道 ORA_DISK_1:启动全部数据文件备份集通道ORA_DISK_1:正在指定备份集中的数据文件备份集中包括当前控制文件在备份集中包含当前的SPFILE通道 ORA_DISK_1:正在启动段 1于 25-4月-07通道 ORA_DISK_1:已完成段 1于25-4月-07段句柄=/data1/backup/0aig2oej_1_1标记=TAGT172424注释=NONE通道ORA_DISK_1:备份集已完成,经过时间:00:00:03完成 backup于 25-4月 -07启动 backup于 25-4月-07当前日志已存档使用通道ORA_DISK_1通道 ORA_DISK_1:正在启动存档日志备份集通道 ORA_DISK_1:正在指定备份集中的存档日志输入存档日志线程 =1序列 =136记录 ID=223时间戳=6输入存档日志线程 =2序列 =58记录 ID=224时间戳=6通道ORA_DISK_1:正在启动段 1于 25-4月-07通道 ORA_DISK_1:已完成段 1于 25-4月-07段句柄=/data1/backup/0big2oes_1_1标记=TAGT173940注释=NONE通道 ORA_DISK_1:备份集已完成,经过时间:00:00:02通道 ORA_DISK_1:正在删除存档日志存档日志文件名=+DISK/testrac/记录 ID=223时间戳=6存档日志文件名 =+DISK/testrac/记录 ID=224时间戳=6完成 backup于 25-4月 -07数据库的恢复也很简单,先修改一些数据:SQL> CONN TEST/TEST已连接。

RMAN的备份与恢复步骤详解

RMAN的备份与恢复步骤详解

RMAN的备份与恢复步骤详解RMAN(Recovery Manager)是Oracle数据库备份和恢复技术的核心工具,提供了一种集中管理和自动化备份和恢复操作的方式。

下面将详细介绍RMAN的备份与恢复步骤。

备份步骤:1.配置RMAN环境:确定RMAN备份目标、备份库、目标库的连接信息,并设置环境变量。

2.创建RMAN备份目标:使用CREATECATALOG命令创建RMAN备份目标,以存储备份信息和恢复目标的元数据。

3.创建备份策略:确定备份类型(完全备份、增量备份、增量备份级别等),备份周期(每日、每周)、备份级别(全局备份、局部备份)以及备份介质(磁盘、磁带)等。

4.执行备份命令:使用BACKUP命令执行备份操作。

根据备份策略选择相应的备份类型,并指定备份集的存储位置。

可以使用全量备份、增量备份或归档日志备份等方式进行备份。

5.备份验证和测试:使用RESTORE命令验证备份集是否可恢复。

可以恢复到测试库中,检查数据的完整性以及备份恢复的过程和时间。

恢复步骤:1.准备恢复环境:确定系统状态,关闭数据库、归档日志模式,备份控制文件,以备份增量恢复,恢复目标数据库的连接信息,并设置环境变量。

2.恢复控制文件:将备份的控制文件还原到指定位置,以获取数据库的结构信息。

3.恢复数据库文件:使用RESTORE命令恢复需要的数据文件。

可以选择完全恢复(使用全量备份和归档日志进行恢复)、增量恢复(使用增量备份和归档日志进行恢复)或点恢复(使用时间点或SCN号进行恢复)的方式。

4.打开数据库:使用OPENRESETLOGS命令打开数据库,恢复数据库文件到最新的状态。

5.检查恢复结果:验证恢复后数据库的完整性和一致性。

使用相应的SQL语句检查数据的正确性、索引的可用性和对象的有效性。

常见问题处理:1.恢复失败的处理:RMAN提供了很多失败后的处理命令,比如RECOVER命令来恢复损坏的数据文件,CROSSCHECK命令来检查备份文件的完整性等。

Oracle单实例迁移到RAC实例--使用RMAN异机恢复

Oracle单实例迁移到RAC实例--使用RMAN异机恢复

Oracle单实例迁移到RAC实例--使⽤RMAN异机恢复Oracle 官⽹有关单实例迁移到RAC的⼀个步骤说明:How to Convert 10g Single-Instance database to 10g RAC using Manual Conversion procedure [ID 747457.1]RMAN 备份异机恢复并创建新DBID⼀. ⼤致操作步骤如下:1. 安装Clusterware 和 ASM 实例2. 备份源库,并将备份集copy到rac 节点上3. 在RAC 上还原并修改初始化参数⽂件,还原控制⽂件和数据⽂件4. 增加undo 表空间和redo log 线程组,创建密钥⽂件5. 配置RAC监听6. 将数据库等资源添加到CRS注意:迁移的2个db版本版本要⼀致。

包括⼩版本。

⽐如10.2.0.4.0.我这个测试的时候是从10.2.0.1.0 迁移到10.2.0.4.0. 结果在open resetlogs的时候报错了,必须要先升级后,才能打开。

Redhat 5.4 Orcle RAC 数据库从10.2.0.1升级到 10.2.0.4⼆. 具体操作步骤2.1 安装Clusterware 和ASM 实例这个参考Blog:Redhat 5.4 Oracle 10g RAC Openfiler+Multipath + RAW+ ASM 安装⽂档安装之后的进程如下:[oracle@rac1 u01]$ sh crs_stat.shName Target State Host------------------------------ ---------- --------- -------ora.rac1.ASM1.asm ONLINE ONLINE rac1ora.rac1.gsd ONLINE ONLINE rac1ora.rac1.ons ONLINE ONLINE rac1ora.rac1.vip ONLINE ONLINE rac1ora.rac2.ASM2.asm ONLINE ONLINE rac2ora.rac2.gsd ONLINE ONLINE rac2ora.rac2.ons ONLINE ONLINE rac2ora.rac2.vip ONLINE ONLINE rac22.2 在源库⽤RMAN 备份,并将备份⽂件copy到rac上相关备份脚本,参考Blog:Linux 平台下 RMAN 全备和增量备份 shell 脚本Nocatalog 下的RMAN 增量备份 shell脚本源库实例名:anqing,为了确认迁移成功,我们现在源库上创建⼀个表dave,并插⼊⼀条记录。

oraclerman管理方式下的热备份及恢复

oraclerman管理方式下的热备份及恢复
• 总结词:数据丢失可能是由于硬件故障、软件故 障等原因导致。
数据丢失问题及解决方案
硬件故障
如硬盘故障、存储设备故障等,可能导致数据丢失。
软件故障
如数据库崩溃、软件错误等,也可能导致数据丢失。
数据丢失问题及解决方案
• 人为错误:如误删除数据、误修改数据等,也可能导致数据丢失。
数据丢失问题及解决方案
配置通道,设置备份设备 (例如磁盘、磁带等)和 相关参数。
创建RMAN备份
使用RMAN命令行工具执行 备份操作。
选择要备份的数据库、表空 间、数据文件等。
02
01
指定备份类型(完全、增量
等)。
03
设置备份文件的存储位置和 名称。
04
05
执行备份命令,监控备份过 程,确保备份成功完成。
监控备份过程
解决方案
建立数据恢复计划,以便在 数据丢失时能够快速恢复。
定期进行数据备份,确保数 据安全。
加强系统监控和安全措施, 防止人为错误导致的数据丢 失。
THANKS FOR WATCHING
感谢您的观看
01 在RMAN客户端中查看备份进度和状态。
02
检查备份日志文件,了解备份过程中的任 何错误或警告信息。
03
定期检查备份文件的完整性,确保备份数 据可用。
04
根据需要,可以设置自动备份计划,定期 自动执行备份操作。
03 Oracle RMAN热恢复操 作
恢复数据库
数据库恢复
在RMAN中,可以使用RESTORE命令来恢复数据库。RESTORE命令用于将数据库文件从备份中提取出来,并将其放 置在数据库的原始位置或指定的新位置。
方案
01 Oracle RMAN热备份介 绍

RMAN地备份与恢复步骤详解

RMAN地备份与恢复步骤详解

RMAN地备份与恢复步骤详解RMAN(Recovery Manager)是Oracle数据库中用于备份和恢复数据的工具。

RMAN提供了一种灵活、高效的备份和恢复机制,可以帮助数据库管理员有效地管理数据库的备份和恢复工作。

在本文中,我们将详细介绍RMAN备份与恢复的步骤和操作方法。

备份步骤:1.配置RMAN环境:在开始进行RMAN备份之前,首先需要配置RMAN环境。

这包括设置RMAN的环境变量、创建RMAN的配置文件以及配置RMAN的连接信息等操作。

您可以使用RMAN命令行或者RMAN配置助手来完成这些操作。

2.创建备份任务:在配置好RMAN环境之后,可以通过RMAN命令行或者RMAN配置助手来创建备份任务。

您可以选择全量备份、增量备份或者归档日志备份等不同类型的备份任务。

3. 执行备份任务:一旦创建了备份任务,就可以使用RMAN命令来执行备份任务。

您可以使用“backup database”命令来执行全量备份任务,使用“backup incremental”命令来执行增量备份任务,使用“backup archivelog”命令来执行归档日志备份任务等。

4. 监控备份过程:在执行备份任务的过程中,可以使用RMAN命令来监控备份的进度和状态。

您可以使用“show”命令来查看备份任务的进度、使用“list”命令来列出备份文件的信息等。

5. 完成备份任务:一旦备份任务执行完毕,可以使用RMAN命令来验证备份文件的完整性和一致性。

您可以使用“crosscheck”命令来验证备份文件的状态,使用“delete”命令来删除过期的备份文件等。

恢复步骤:1.配置RMAN环境:在开始进行RMAN恢复之前,需要先配置好RMAN的环境。

确保RMAN的环境变量、配置文件和连接信息都已经设置好。

2. 恢复数据库:如果数据库遇到了故障或者数据丢失的情况,可以使用RMAN命令来恢复数据库。

您可以使用“restore database”命令来还原数据库的备份文件,使用“recover database”命令来恢复数据库的数据文件。

oracle备份如何到异机还原

oracle备份如何到异机还原

oracle备份如何到异机还原作者:ocpyang情景描述:有朋友问,MSSQLSERVER将数据库备份还原到其它机器很方便,基本就是傻瓜式操作,oracle有控制文件、参数文件一堆东西,觉得还原很复杂;其实不然,我抽出了点时间,简单演示下案例,朋友们,参考下!为了简单快速,我才用RMAN备份和还原--说明:(1).RMAN备份到异机恢复的时候,db_name需要相同。

如果说要想改成其他的实例名,可以在恢复成功后,用nid命令修改。

实例名的信息会记录到控制文件里,所以如果在恢复的时候,如果实例名不一致,恢复的时候会报错。

(2).恢复的路径和源库不一致时,就需要在restore命令中使用set 命令指定新位置,并且使用switch datafile all将变更信息更新的到控制文件中。

测试环境:源数据库服务器A,安装在E,备份目录已在E盘;源数据库服务器B,安装在F盘.------------------------------------一、源数据库准备工作--------------------------------------1. 查询DBIDSQL> select name,dbid from v$database;NAME DBID--------- ----------ORCL 1320546556--2. 备份源数据DBrun {configure retention policy to recovery window of 14 days;configure controlfileautobackup on; --自动开启控制文件备份configure controlfileautobackup format for device type disk to'E:\backup\controlfile\bak_%F';allocate channel c1 device type disk format 'E:\backup\data\bak_%u'; allocate channel c2 device type disk format 'E:\backup\data\bak_%u'; sql 'alter system archive log current';backup incremental level=0 database skip inaccessibleplus archivelogfilesperset 20delete all input;release channel c1;release channel c2;}allocate channel for maintenance device type disk;crosscheck backupset;delete noprompt obsolete;--或run {configure retention policy to recovery window of 14 days;allocate channel c1 device type disk format 'E:\backup\data\bak_%u'; allocate channel c2 device type disk format 'E:\backup\data\bak_%u'; sql 'alter system archive log current';backup incremental level=0 database skip inaccessibleplus archivelogfilesperset 20delete all input;--手动直接指明备份文件名和路径backup current controlfile tag='bak_ctrollfile'format='E:\backup\controlfile\bak_ctl_file_%U_%T';backup spfile tag='bak_spfile' format='E:\backup\controlfile\bak_spfile_%U_%T'; release channel c1;release channel c2;}allocate channel for maintenance device type disk;crosscheck backupset;delete noprompt obsolete;--3.手动备份spfilecreatepfile='E:\backup\inittest.ora' from spfile;------------------------------------二、目标库准备工作:---------------------------------------步骤1. 创建口令文件--如果有就不需要新建.orapwd file=F:\app\Administrator\product\11.2.0\dbhome_1\database\PWDorcl.ora password=password--步骤2.恢复参数文件--方法1.源数据库spfile并拷贝到B数据库服务器\\192.168.2.25\e$\backup\inittest.ORA复制到E:\bk\inittest.ORA--步骤3.编辑参数文件中的文件路径如路径和原来一样,则不需修改eg:- *_DUMP_DEST- LOG_ARCHIVE_DEST*- CONTROL_FILES---实例:orcl.__db_cache_size=939524096orcl.__java_pool_size=16777216orcl.__large_pool_size=16777216orcl.__oracle_base='F:\app\Administrator'#修改路径orcl.__pga_aggregate_target=855638016orcl.__sga_target=2550136832orcl.__shared_io_pool_size=0orcl.__shared_pool_size=1526726656orcl.__streams_pool_size=16777216*.audit_file_dest='F:\app\Administrator\admin\orcl\adump' #修改路径*.audit_trail='db'*.compatible='11.2.0.0.0'#修改路径*.control_files='F:\app\Administrator\oradata\orcl\control01.ctl','F:\app\Administrator\orada ta\orcl\control02.ctl','F:\app\Administrator\oradata\orcl\control03.ctl'*.db_block_size=8192*.db_domain=''*.db_name='orcl'*.db_recovery_file_dest='F:\arch' #修改路径*.db_recovery_file_dest_size=6442450944*.diagnostic_dest='F:\app\Administrator' #修改路径*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'*.log_archive_dest_1='location=f:\arch' #修改路径*.nls_date_format='yyyy-mm-ddhh:mi:ss'*.open_cursors=300*.optimizer_capture_sql_plan_baselines=TRUE*.pga_aggregate_target=845152256*.processes=150*.remote_login_passwordfile='EXCLUSIVE'*.sga_target=2536505344*.skip_unusable_indexes=TRUE*.undo_tablespace='UNDOTBS1'--步骤4.重启实例,使用已编辑好的参数文件将用pfile将B数据库服务器启动到nomout状态rman target /startupnomountpfile='e:\bk\inittest.ora'--步骤5.恢复控制文件,装载数据库rman target /setdbid 1320546556restorecontrolfile from 'e:\bk\controlfile\BAK_CTL_FILE_6LO6SON4_1_1_20130412';启动restore 于2013-04-11 13:58:58使用目标数据库控制文件替代恢复目录分配的通道: ORA_DISK_1通道ORA_DISK_1: SID=129 设备类型=DISK通道ORA_DISK_1: 正在还原控制文件通道ORA_DISK_1: 还原完成, 用时: 00:00:01输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL完成restore 于2013-04-11 13:59:00--步骤6.将DB启动到mout状态alter database mount;数据库已装载释放的通道: ORA_DISK_1--加载备份目录CATALOG START WITH 'E:\bk';搜索与样式E:\bk 匹配的所有文件数据库未知文件的列表====================================文件名: E:\bk\controlfile\BAK_C-1320546556-20130411-03文件名: E:\bk\controlfile\BAK_CTL_FILE_65O6QILO_1_1_20130411 文件名: E:\bk\controlfile\BAK_SPFILE_66O6QILQ_1_1_20130411文件名: E:\bk\data\BAK_60O6QIGV文件名: E:\bk\data\BAK_61O6QIGV文件名: E:\bk\data\BAK_62O6QIH1文件名: E:\bk\data\BAK_63O6QIH1文件名: E:\bk\data\BAK_64O6QILM是否确实要将上述文件列入目录(输入YES 或NO)? yes正在编制文件目录...目录编制完毕已列入目录的文件的列表======================文件名: E:\bk\controlfile\BAK_C-1320546556-20130411-03文件名: E:\bk\controlfile\BAK_CTL_FILE_65O6QILO_1_1_20130411 文件名: E:\bk\controlfile\BAK_SPFILE_66O6QILQ_1_1_20130411文件名: E:\bk\data\BAK_60O6QIGV文件名: E:\bk\data\BAK_61O6QIGV文件名: E:\bk\data\BAK_62O6QIH1文件名: E:\bk\data\BAK_63O6QIH1文件名: E:\bk\data\BAK_64O6QILM--步骤7.restore 数据库7.1 恢复目录不同的情况:到Target 库查询一下:SQL> select trim(file_id),trim(file_name) from dba_data_files ORDER BY FILE_ID ASC;1 E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF2 E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF3 E:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF4 E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF6 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY02.DBF7 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY03.DBF8 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY04.DBF9 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY05.DBF11 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY06.DBF12 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY07.DBF13 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY08.DBF14 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY09.DBF15 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY10.DBF16 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY01.DBF17 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY11.DBF18 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY12.DBF19 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY13.DBF20 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY14.DBF21 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY15.DBF22 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY16.DBF23 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY17.DBF24 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY18.DBF25 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY19.DBF26 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY20.DBFSQL>select trim(file_id),trim(file_name) from dba_temp_files;1 E:\APP\ADMINISTRATOR\ORADATA\ORCL\TEMP01.DBFselect 'SET NEWNAME FOR DATAFILE'|| ' '||file_id||' '||'TO'|| ' '||''''||trim(file_name)||'''' ||';' from dba_data_files ORDER BY FILE_ID ASC;---如下实例:RUN{# rename the datafilesSET NEWNAME FOR DATAFILE 1 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF'; SET NEWNAME FOR DATAFILE 2 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF'; SET NEWNAME FOR DATAFILE 3 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF'; SET NEWNAME FOR DATAFILE 4 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF'; SET NEWNAME FOR DATAFILE 6 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY02.DBF'; SET NEWNAME FOR DATAFILE 7 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY03.DBF'; SET NEWNAME FOR DATAFILE 8 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY04.DBF'; SET NEWNAME FOR DATAFILE 9 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY05.DBF'; SET NEWNAME FOR DATAFILE 11 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY06.DBF'; SET NEWNAME FOR DATAFILE 12 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY07.DBF'; SET NEWNAME FOR DATAFILE 13 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY08.DBF'; SET NEWNAME FOR DATAFILE 14 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY09.DBF'; SET NEWNAME FOR DATAFILE 15 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY10.DBF'; SET NEWNAME FOR DATAFILE 16 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY01.DBF'; SET NEWNAME FOR DATAFILE 17 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY11.DBF';SET NEWNAME FOR DATAFILE 18 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY12.DBF';SET NEWNAME FOR DATAFILE 19 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY13.DBF';SET NEWNAME FOR DATAFILE 20 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY14.DBF';SET NEWNAME FOR DATAFILE 21 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY15.DBF';SET NEWNAME FOR DATAFILE 22 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY16.DBF';SET NEWNAME FOR DATAFILE 23 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY17.DBF';SET NEWNAME FOR DATAFILE 24 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY18.DBF';SET NEWNAME FOR DATAFILE 25 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY19.DBF';SET NEWNAME FOR DATAFILE 26 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY20.DBF';SQL "ALTER DATABASE RENAME FILE''E:\app\Administrator\oradata\orcl\REDO01.LOG''TO ''F:\app\Administrator\oradata\orcl\REDO01.LOG'' ";SQL "ALTER DATABASE RENAME FILE''E:\app\Administrator\oradata\orcl\REDO02.LOG''TO ''F:\app\Administrator\oradata\orcl\REDO02.LOG'' ";SQL "ALTER DATABASE RENAME FILE''E:\app\Administrator\oradata\orcl\REDO03.LOG''TO ''F:\app\Administrator\oradata\orcl\REDO03.LOG'' ";RESTORE DATABASE;SWITCH DATAFILE ALL;}对switch datafile all的说明:--对于nocatalog模式下,rman备份的信息是保存在控制文件里的,包括文件的路径信息。

Oracle RMAN恢复机制

Oracle  RMAN恢复机制

Oracle RMAN 恢复机制RMAN 完全恢复是指当数据文件出现介质故障后,通过RMAN 使用备份信息将数据文件恢复到失败点。

图15-6显示了完全恢复的过程,从图中可以看出,对数据库进行恢复大致分为两个步骤。

备份数据文件1SCN=200数据文件2SCN=200数据文件3SCN=200数据文件1SCN=200数据文件2SCN=200数据文件3SCN=100数据文件1SCN=200数据文件2SCN=200数据文件3SCN=200数据文件1SCN=200数据文件2SCN=200数据文件3SCN=200归档日志修复数据文件应用归档重做日志恢复数据被损坏的数据文件修复后的数据文件恢复后的数据文件事务恢复回退记录图15-6 归档模式下的完全恢复(1)当发生介质故障后,利用备份修复被损坏或丢失的数据文件,在图中假设数据文件3被损坏。

(2)修复数据文件3后,因为被修复的数据文件与其他数据文件相比要“旧”,所认这时数据库中的数据文件并不同步(文件头部信息中的检查点号SCN 不同)。

由于数据文件之间不一致,数据库仍然无法打开,这时就需使用归档日志对数据库进行恢复。

恢复过程又包含两个主要步骤:缓存恢复和事务恢复。

在缓存恢复完成后,数据库即可打开;但此时数据库中可能含有提交的事务,因此,在事务恢复后,将提交所有的事务,使数据库进入一致状态。

正是由于归档日志中记录了数据库的所有修改操作,从而保证了在数据库出现介质故障后,使用归档日志和备份就可以将数据库恢复到最近的状态。

在RMAN 中使用RESTORE 命令修复数据库时,RMAN 将启动一个服务器进程来完成将磁盘中的备份集或镜像副本修复数据文件、控制文件以及归档重做日志文件。

在使用RMAN 进行数据库修复时,可以根据出现的故障,选择修复整个数据库、单独的表空间、单独的数据文件、控制文件以归档重做日志文件。

例如,如果需要修复表空间USERS ,RMAN 将从备份集或镜像副本中查找USERS 表空间的备份,然后将它复制到控制文件指定的位置。

ORACLE RMAN备份及还原

ORACLE RMAN备份及还原

ORACLE RMAN备份及还原RMAN可以进行增量备份:数据库,表空间,数据文件只有使用过的block可以被备份成backup set表空间与数据文件对应关系:dba_data_files / v$datafile_header在noarchivelog模式下,可以使用RMAN备份read-only和offline的表空间ORACLE RMAN停机备份:备份RMAN连接上ORACLE,WINDOWS下在命令模式下RMAN TARGET /连接本地数据库用的是本地认证模式。

RMAN连接数据库必须在dedicate模式下。

因此在share模式下的数据库应配置一个dedicate 的连接用于RMAN连接。

如果要把控制文件、参数文件也一起备份configure controfile autobackup on;//打开autobackupconfigure controfile autobackup off;//关闭autobackup关闭数据库RMAN>shutdown immediatemount 数据库RMAN的备份必须在MOUNT模式下,这也就是控制文件备份的重要。

RMAN>startup mount最简单的备份RMAN>backup database这样的备份,备份集在数据库默认位置。

%oracle_home%/ora92/database当然你也可以用run来灵活的定义你的备份。

RMAN>run{>allocate chennel d1 type disk; //分配通道>backup full database //全备份数据库>include current controlfile //包括当前的controlfile>format 'e:\oracle\orders\db_%d_%s_%p_%t_%T'; //备份文件位置和文件名格式>release channel d1;//释放通道恢复1、数据文件损坏,而控制文件是好,或者已经恢复RMAN连上数据库startup mountrestore databaserecover database noredo;alter database open resetlogs;recover database noredo该命令指示RMAN执行最后的恢复操作以准备打开这个数据库。

RMAN 异机恢复

RMAN 异机恢复

NBU Rman异机恢复Oracle2009-05-12 00:30背景:HostA上oracle通过NBU进行RMAN备份至带库,从HostB上恢复该库;目的:在丢失了一部分数据的情况下,但因为没有足够的空间不能做整库恢复,只想恢复部分表;so假设:源主机HostA,目标主机HostB,NBUMaster主机Po,Oracle_sid均为test,Oracle用户均为ora。

步骤:1、增加Po主机上文件[Po:root]#touch /usr/openv/netbackup/db/altnames/No.Restrictions//取消nbu的异机恢复限制2、修改Po主机上文件,修改参数[Po:root]#vi /usr/openv/netbackup/bp.confFORCE_RESTORE_MEDIA_SERVER = HostA HostB这步需要重启netbackup下面开始恢复步骤(均为ora用户操作)3、copy spfile在HostA上test数据库的pfile(create pfile from spfile)ftp至HostB中的$ORACLE_HOME/db下4、HostB上,密码文件、相应的dump目录[HostB:ora]#orapwd file=<fname> password=<password> entries=<users>[HostB:ora]#mkdir $admin/test/*dump5、启动数据库至nomount[HostB:ora]#sqlplus / as sysdbaConnected to an idle instance.SQL> startup nomountORACLE instance started.Total System Global Area 1526726656 bytesFixed Size 2191720 bytesVariable Size 1430245016 bytesDatabase Buffers 83886080 bytesRedo Buffers 10403840 bytes6、登录catalog,进行rman恢复[HostB:ora]#rman target / catalog user/pwd@rmanconnected to target database: TEST (not mounted)connected to recovery catalog database7、set dbid(HostA上test库的dbid)RMAN> set dbid=2091611406executing command: SET DBIDdatabase name is "TEST" and DBID is 20916114068、恢复control fileRMAN> RUN {2> ALLOCATE CHANNEL D1 TYPE 'sbt_tape';3> send 'NB_ORA_SERV=Po,NB_ORA_CLIENT=HostA'; //一定需要NB_ORA_CLIENT,否则找不到介质4> RESTORE CONTROLFILE;5> RELEASE CHANNEL D1;6> }allocated channel: D1channel D1: sid=166 devtype=SBT_TAPEchannel D1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)sent command to channel: D1Starting restore at 2009-05-11:21:24:58channel D1: starting datafile backupset restorechannel D1: restoring control filechannel D1: reading from backup piece c-3381955389-20090511-02channel D1: restored backup piece 1piece handle=c-3381955389-20090511-02 tag=TAG20090511T170809channel D1: restore complete, elapsed time: 00:01:47output filename=/test/control01.ctloutput filename=/test/control02.ctloutput filename=/test/control03.ctlFinished restore at 2009-05-11:21:26:56released channel: D19、控制文件修复成功,将库alter至mount状态RMAN> alter database mount;database mounted10、恢复数据库RMAN> run {2> ALLOCATE CHANNEL D1 TYPE 'SBT_TAPE';3> send 'NB_ORA_SERV=Po,NB_ORA_CLIENT=HostA';4> restore database skip tablespace users;//屏蔽不想恢复的users表空间6> recover database SKIP FOREVER TABLESPACE users;5> RELEASE CHANNEL D1;7> }allocated channel: D1channel D1: sid=44 devtype=SBT_TAPEchannel D1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)sent command to channel: D1Starting restore at 2009-05-11:21:46:50channel D1: starting datafile backupset restorechannel D1: specifying datafile(s) to restore from backup setrestoring datafile 00003 to /test/sysaux01.dbfchannel D1: reading from backup piece bk_2_1_686595521channel D1: restored backup piece 1piece handle=bk_2_1_686595521 tag=HOT_DB_BK_LEVEL0channel D1: restore complete, elapsed time: 00:02:26channel D1: starting datafile backupset restorechannel D1: specifying datafile(s) to restore from backup setrestoring datafile 00001 to /test/system01.dbfchannel D1: reading from backup piece bk_1_1_686595521channel D1: restored backup piece 1piece handle=bk_1_1_686595521 tag=HOT_DB_BK_LEVEL0channel D1: restore complete, elapsed time: 00:02:57channel D1: starting datafile backupset restorechannel D1: specifying datafile(s) to restore from backup setrestoring datafile 00002 to /test/undotbs01.dbfchannel D1: reading from backup piece bk_3_1_686595521channel D1: restored backup piece 1piece handle=bk_3_1_686595521 tag=HOT_DB_BK_LEVEL0channel D1: restore complete, elapsed time: 00:01:55Finished restore at 2009-05-11:21:54:23Starting recover at 2009-05-11:21:54:24starting media recoverychannel D1: starting archive log restore to default destinationchannel D1: restoring archive logarchive log thread=1 sequence=5channel D1: reading from backup piece al_8_1_686595863channel D1: restored backup piece 1piece handle=al_8_1_686595863 tag=TAG20090511T170423channel D1: restore complete, elapsed time: 00:01:57archive log filename=/oracle10/app/oracle/product/10.2.0/dbs/arch1_5_686569151.dbf thread=1 sequence=5unable to find archive logarchive log thread=1 sequence=6released channel: D1RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of recover command at 05/11/2009 21:56:39RMAN-06054: media recovery requesting unknown log: thread 1 seq 6 lowscn 608603recover成功,因为没有恢复归档,所以会报一些错,这里忽略。

使用RMAN恢复数据库到不同主机

使用RMAN恢复数据库到不同主机

使用RMAN恢复数据库到不同主机2009-05-20 14:33当未使用catalog方式进行rman备份时,将备份集转移到其他主机时,除非目录结构相同,否则控制文件将无法识别路径不同的备份集,针对这类问题,可以使用dbms_backup_restore包进行文件回复;但是从Oracle 10g开始,Oracle终于简化了这类问题的处理,现在通过rman可以很容易地处理不同主机的rman备份集恢复。

一、获得源数据库的参数文件,修改后传送至目标数据库,修改后的参数文件可以用于数据库启动,主要修改的参数应该包括:*_dmpb_dest、control_files、db_recovery_file_dest、db_create_file_dest等。

二、建立相应的文件夹如:admin下建立cinwa及里面对应的文件夹(adump,bdump,cdump,dpdump,pfile,udump),oradata下建立cinwa,flash_recovery_area下建立cinwa三、在window平台下,可以通过oradim创建一个服务启动oracle环境C:\>oradim -new -sid cinwa实例已创建。

注意:记得启动服务。

四、通过rman来启动数据库到nomount状态C:\>set oracle_sid=cinwaC:\>rman target /RMAN> startup nomount pfile ='D:\oracle\product\10.2.0\admin\cinwa\pfile\init.ora';通过参数文件启动到noumount状态,参数文件所在位置在$ORACLE_HOME/database,$ORACLE_HOME/dbs,$ORACLE_BASE/admin/pfile相应目录下,记录了各种启动所必须得参数,如果现在所在的数据库的安装目录与源数据库不同,则需要更改路径.五、通过备份的控制文件恢复出控制文件RMAN> restore controlfile from 'D:\oracle\product\10.2.0\\backupC-515068080-20090518-02.BKP';然后根据参数文件的control_files设置,复制相应的副本。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=4070572032
创建相应的目录
#######################################
File created.
SQL> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
ORA-19870: error while restoring backup piece /backup/control_bak_20120808
ORA-19504: failed to create file "/u01/oradata/orcl/control01.ctl"
ORA-27040: file create error, unable to create file
ORA-00845: MEMORY_TARGET not supported on this system
修改上面参数文件的内存值
########################################################
SQL> startup nomount pfile='/u01/oradata/pfile.ora';
Starting restore at 10-AUG-12
using channel ORA_DISK_1
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
1.安装好同版本的oracle
###############################################
############################################################################################
orcl.__db_cache_size=1258291200
orcl.__java_pool_size=16777216
orcl.__large_pool_size=16777216
orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
#################################################
3.恢复参数文件
##################################################
RMAN> startup nomount force;
startup failed: ORA-01078: failure in processing system parameters
恢复控制文件
#######################################
RMAN> restore controlfile from '/backup/control_bak_20120808';
Starting restore at 10-AUG-12
using target database control file instead of recovery catalog
#####################################################
*.undo_tablespace='UNDOTBS1'
#################################################
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup nomount pfile='/u01/oradata/pfile.ora';
orcl.__pga_aggregate_target=1325400064
orcl.__sga_target=1979711488
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=654311424
orcl.__streams_pool_size=0
######################################
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 534462464 bytes
Fixed Size 2215064 bytes
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.memory_target=536870912
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
[oracle@ora6311gr2 backup]$ ls
ARC_0oni2f44_1_1_20120807 control_bak_20120808 full_level0_0sni49k9_1_1_20120808
ARC_0tni49kc_1_1_20120808 full_level0_0rni49jq_1_1_20120808 SPFILE_0vni49kf_1_1_20120808
ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated
ORA-01262: Stat failed on a file destination directory
Linux-x86_64 Error: 2: No such file or directory
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/oradata/orcl/control01.ctl','/u01/app/oracle/flash_recovery_area/orcl/control02.ctl'
Connected.
SQL> create pfile='/u01/oradata/pfile.ora' from spfile;
File created.
vi /u01/oradata/pfile.ora
符合现有环境
[oracle@ora6311gr2 oradata]$ vi pfile.ora
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=5 device type=DISK
channel ORA_DISK_1: restoring spfile from AUTOBACKUP /backup/SPFILE_0vni49kf_1_1_20120808
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora'
starting Oracle instance without parameter file for retrieval of spfile
output file name=/u01/oradata/orcl/control01.ctl
output file name=/u01/app/oracle/flash_recovery_area/orcl/control02.ctl
Finished restore at 10-AUG-12
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 08/10/2012 17:47:54
Variable Size 327156584 bytes
Database Buffers 197132288 bytes
Redo Buffers 7958528 bytes
#######################################
相关文档
最新文档