ORACLE11G RMAN备份恢复到异机数据库

合集下载

oracle11g还原数据库步骤__概述说明以及解释

oracle11g还原数据库步骤__概述说明以及解释

oracle11g还原数据库步骤概述说明以及解释引言部分的内容可以按照如下方式撰写:1. 引言1.1 概述引言部分将介绍本篇文章的主题,即Oracle 11g数据库还原步骤。

数据库还原是一项至关重要的任务,它可以帮助恢复丢失或损坏的数据,并确保系统的连续性和可靠性。

在本文中,我们将深入探讨Oracle 11g数据库还原的步骤和过程,以及执行还原操作前需要注意的准备工作。

1.2 文章结构在本文中,我们将按照以下顺序来讨论Oracle 11g数据库还原:- 首先,我们将介绍Oracle 11g数据库还原的重要性,阐述为什么必须进行数据库还原操作。

- 其次,我们将概述Oracle 11g数据库还原的步骤,并列出每个步骤的简要说明。

- 第三部分我们将详细描述执行数据库还原操作前所需进行的准备工作。

- 接下来,我们将提供执行数据库还原操作的详细步骤,包括必要时涉及到的命令和工具。

- 最后,我们将讨论完成数据库还原后进行验证和测试的方法与技巧。

1.3 目的本文旨在为读者提供有关Oracle 11g数据库还原的全面指南。

通过学习本文,读者将能够了解数据库还原的重要性、掌握进行数据库还原操作的步骤和技巧,并且能够有效地验证和测试还原后的数据库。

我们希望这篇文章能够帮助读者在数据库还原过程中避免常见错误,并提供相关提示和建议。

2. 正文:2.1 Oracle 11g数据库还原的重要性在数据库管理中,数据的安全性和完整性是至关重要的。

由于各种原因,比如硬件故障、用户误操作或者系统遭受攻击,数据库可能会丢失或损坏。

因此,在这些情况下,数据库还原变得非常重要。

Oracle 11g数据库还原是指恢复已经丢失或被损坏的数据到其先前可用状态的过程。

2.2 Oracle 11g数据库还原的步骤概述数据库还原通常包括以下主要步骤:- 备份介质准备:确定可用的备份介质,并确保其处于良好状态。

- 目标库环境准备:在目标库上创建必需的目录结构,并配置参数以适应还原操作。

Oracle 11g 备份恢复步骤

Oracle 11g 备份恢复步骤

Oracle 11g 备份恢复步骤备份步骤:1、进入命令行操作cmd2、连接数据库sqlplus lwuser/lwuser3、创建备份目录文件—创建后必须在E盘建立dmpbak文件夹sql> create directory sdmzykt as 'E:\dmpbak\dmp';4、可使用命令查询备份目录文件sql> select * from dba_directories;5、赋予权限sql> grant read,write on directory sdmzykt to lwuser;6、执行备份语句—使用命令行窗口expdp lwuser/lwuser directory=sdmzykt dumpfile=sdmzyktbak.dmp logfile= sdmzyktbak.log schemas= lwuser恢复步骤:1、命令窗口直接导入:impdp lwuser/lwuser directory= sdmzykt dumpfile= sdmzyktbak.dmp logfile= sdmzyktbak.log schemas= lwuserbat文件:@echo offrem set backupfile=f_database_%date:~0,4%-%date:~5,2%-%date:~8,2%.dmp rem set logfile=f_database_%date:~0,4%-%date:~5,2%-%date:~8,2%.log rem delete 30days filesforfiles /p "D:\temp\dmp" /d -30 /c "cmd /c echodeleting @file ... && del /f @path"cd D:\temp\dmprem backup schemasset backupfile=sshe_%date:~0,4%-%date:~5,2%-%date:~8,2%.dmpset logfile=sshe_%date:~0,4%-%date:~5,2%-%date:~8,2%.logexpdp sshe/sshe directory=DIR_DP dumpfile=%backupfile% logfile=%logfile% schemas=sshe parallel=4auto运行脚步:@ECHO OFFschtasks /create /tn SSHE数据库定时备份/tr "D:\temp\sshe_bak.bat" /sc daily /st 00:00:00 /ru "system" PAUSEEXIT。

通过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恢复数据库

☐RMAN概述RMAN是Oracle提供的使用程序Recovery Manager,即恢复管理器,使用RMAN可以轻松实现数据库的所有备份任务。

☐RMAN在数据库服务器的帮助下实现数据库文件,控制文件,数据库文件和控制文件的映像副本,以及归档日志文件,数据库服务器参数文件的备份。

☐RMAN也允许使用脚本文件实现数据的备份与恢复,而且这些脚本保存在数据库内,而不需要编写基于OS的脚本文件。

☐RMAN备份的文件自动保存在一个系统指定的目录下,文件的名称也由RMAN 自己维护,当实现数据恢复操作时,恢复指令简洁。

☐RMAN自动寻找需要的文件实现数据恢复。

减少了在传统的导出导出程序中人为错误的发生。

☐RMAN特点☐使用RMAN的优点如下所示。

✓支持增量备份:在传统的备份工具中如EXP或EXPDP,只能实现一个完整备份而不能增量备份,RMAN采用被备份级别实现增量备份,在一个完整备份的基础上,采用增量备份,和传统地备份方式相比,这样可以减少备份的数据量。

✓自动管理备份文件:RMAN备份的数据是RMAN自动管理的,包括文件名字,备份文件存储目录,以及识别最近的备份文件,搜索恢复时需要的表空间、模式或数据文件等备份文件。

✓自动化备份与恢复:在备份和恢复操作时,使用简单的指令就可以实现备份与恢复,且执行过程完全由RMAN自己维护。

✓不产生重做信息:与用户管理的联机备份不同,使用RMAN的联机备份不产生重做信息。

☐RMAN的系统结构组成☐介绍RMAN的系统结构组成。

☐RMAN可执行程序:它是一个客户端工具,用来启动与数据库服务器的连接,从而实现备份与恢复的各种操作。

☐RMAN客户端:一旦建立了与数据库服务器的会话连接,RMAN可执行程序就创建一个客户端,通过客户端完成与数据库服务器之间的通信,完成各种备份与恢复操作的指令。

RMAN客户端可以连接通过Oracle Net连接到可访问的任何主机上。

☐服务器进程:在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 11g 基于RMAN的备份与恢复

Oracle 11g 基于RMAN的备份与恢复

Oracle 11g 基于RMAN的备份与恢复备份整个数据库C:\Users\huangluxiang>rman target/RMAN> backup database;RMAN> exit (退出)(1)重做日志损坏SQL> conn /as sysdba已连接到空闲例程。

SQL> startup mount;ORACLE 例程已经启动。

Total System Global Area 1071333376 bytesFixed Size 1375792 bytesVariable Size 729809360 bytesDatabase Buffers 335544320 bytesRedo Buffers 4603904 bytes数据库装载完毕。

SQL> recover database until cancel;完成介质恢复。

SQL> alter database open resetlogs;数据库已更改。

SQL> archive log list;数据库日志模式存档模式自动存档启用存档终点USE_DB_RECOVERY_FILE_DEST最早的联机日志序列 1下一个存档日志序列 1当前日志序列 1备注:恢复Oracle数据库,应该备份整个数据库(2)数据库丢失数据文件,控制文件,重做日志文件C:\Users\huangluxiang>rman target/RMAN> restore controlfile from autobackup;RMAN>alter database mount;RMAN> restore database;SQL> conn /as sysdba已连接。

SQL> recover database using backup controlfile until cancel;ORA-00279: 更改990116 (在12/13/2013 14:06:05 生成) 对于线程1 是必需的ORA-00289: 建议:C:\APP\HUANGLUXIANG\FLASH_RECOVERY_AREA\DLNU\ARCHIVELOG\2013_12_13\ O1_MF_1_5_%U_.ARCORA-00280: 更改990116 (用于线程1) 在序列#5 中指定日志: {<RET>=suggested | filename | AUTO | CANCEL}cancel介质恢复已取消。

Oracle11g数据库热备份恢复的方法

Oracle11g数据库热备份恢复的方法最近发现多个客户使用的Oracle11g数据库,数据备份恢复会有数据异常丢失的问题、用原先exp 和imp导入导出命令会发现,ecology系统当中的部分表和视图不能被导出。

且exp的导出命令不会出现错误日志。

后来查资料找到了另一种解决数据备份恢复的方法:用expdp和impdp命令导出导入数据则没有上述问题。

完整的从服务器创建数据库备份恢复到本机测试环境的脚本如下:注,红色部分可能环境不同需要调整的变量。

--按win+R键打开运行、输入cmd进入命令行--输入Oralce命令行命令:sqlplus /nolog--sysdba身份登录Oracle数据库conn sys/Oracle1234$@orcl as sysdba--更改oracle配置参数alter system set "_allow_level_without_connect_by"=true;--创建临时报空间create temporary tablespace ecology_temp tempfile'D:\Developer\oracle\oradata\orcl\ecology_temp.dbf' size 32M autoextend on next 32M maxsize 2048M extent management local;--创建报空间create tablespace ecology logging datafile 'D:\Developer\oracle\oradata\orcl\ecology.dbf' size 32M autoextend on next 32M maxsize 2048M extent management local;--创建备份输出目录(如果此目录在服务上不存在,则需要手动创建)create directory dmpdir as 'D:\ecology_data';--创建用户create user ecology identified by ecology default tablespace ecology temporary tablespace ecology_temp;--给ecology用户授权grant connect, resource, exp_full_database, imp_full_database to ecology;grant create session to ecology;grant create table to ecology;grant create tablespace to ecology;grant create view to ecology;grant resource, connect, RECOVERY_CATALOG_OWNER to ecology;--授权与ecology用户,解决用户数据导出的问题grant execute on SYS.DBMS_DEFER_IMPORT_INTERNAL to ecology;grant execute on SYS.DBMS_EXPORT_EXTENSION TO ecology;--授权与ecology用户读写备份目录的权限grant read, write on directory dmpdir to ecology;--提交数据commit;--Oracle数据库导出命令expdp ecology/ecology@orcl dumpfile=data0324.dmp(导出的文件) directory=dmpdir schemas=ecology(要导出的用户)--Oralce数据库导入命令impdp ecology/ecology@orcl directory=dmpdir dumpfile=data0324.dmp(要导入的文件,必须和服务器在同一目录下) schemas=ecology(要导入的用户)。

oracle rman将a机备份还原到b机

#闪回区路进
*.db_recovery_file_dest='/oracle/db_1/flash_recovery_area'
#归档日志路径
*.log_archive_dest_1='LOCATION=/archivelog'
#日志导出
*.user_dump_dest='/oracle/db_1/admin/udump'
SQL> shutdown immediate;
SQL> startup;
5、使用修改后的pfile启动数据库
STARTUP FORCE NOMOUNT PFILE='/oradata/test/initDB1.ora';
6、还原控制文件
run{
set controlfile autobackup format for device type disk to '/home/oracle/backup/controlfile_%F.bkf';#设置自动备份文件位置
#由于未复制联机日志文件,此时提示需要seqence 143388,scn 608805162
#在sqlplus提示符下继续介质恢复
SQL> conn / as sysdba
Connected.
idle> recover database until cancel;
#ORA-01110: data file 1: '/oradata/db1/system01.dbf'
run{
allocate channel diska device type disk format '/home/oracle/backup/all_%U.bkf';

[Oracle数据库]使用RMAN备份与还原数据库原理

使用RMAN备份与还原Oracle数据库原理一、数据库备份概念对于Oracle数据库,备份方式包括物理备份和逻辑备份。

1、物理备份将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,通常是从磁盘到磁带。

该方法实现数据库的完整恢复,但数据库必须运行在归档模式下(业务数据库在非归档模式下运行),且需要极大的外部存储设备,例如磁带库,具体包括冷备份和热备份。

冷备份和热备份是物理备份(也称低级备份),它涉及到组成数据库的文件,但不考虑逻辑内容。

使用RMAN备份与还原ORACLE数据库的方式,属于物理备份方法。

2、逻辑备份利用SQL语言从数据库中抽取数据并存于二进制文件的过程。

业务数据库采用此种方式,此方法不需要数据库运行在归档模式下,不但备份简单,而且可以不需要外部存储设备,包括导出/导入(EXPORT/IMPORT)。

这种方法包括读取一系列的数据库日志,并写入文件中,这些日志的读取与其所处位置无关。

二、RMAN备份方式使用RMAN备份Oracle数据库,包括以下三种备份概念。

1、完全备份(Full Backup)与增量备份(Incremental Backup)完全备份与增量备份是针对数据文件而言,控制文件和归档日志文件不能进行增量备份。

当然,后两者可以做备份优化。

2、打开备份(Open Backup)或关闭备份(Closed Backup)数据库打开状态下进行备份即是打开备份,数据库关闭状态下(加载状态)进行的备份即关闭备份。

3、一致备份(Consistent Backup)与不一致备份(Inconsistent Backup)数据库打开状态或不干净关闭状态(shutdown abort)进行的备份是不一致备份,利用不一致的备份修复数据库后还需要做数据库的恢复。

在数据库干净关闭状态进行的备份是一致备份,利用一致备份修复数据库后不需要做数据库的恢复。

三、备份策略由于数据库占据物理空间较大,每次都进行全库备份,对存储介质要求比较高,也会造成空间的冗余浪费,故而在实际的数据备份过程中,通常采用增量备份的方法。

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备份的信息是保存在控制文件里的,包括文件的路径信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ORACLE11G RMAN备份恢复到异机数据库1. 主数据库环境操作系统版本 : Centos6.7 x64数据库版本 : Oracle 11.2.0.4 x64数据库名 : prb数据库SID : prbdb_unique_name : prbinstance_name : prbIP : 10.0.8.1002. 备库环境操作系统版本 : Centos6.7 x64数据库版本 : Oracle 11.2.0.4 x64 (只安装oracle数据库软件,no netca dbca)数据库名 : prb数据库SID : prbdb_unique_name: prbinstance_name : prbIP:10.0.8.101将参数文件备份、控制文件备份、数据文件备份、以及归档备份到目标主机1 此处实验环境为同平台,同字节序,同版本,源机器和目标机器相同的目录结构。

2 目标机器只需要安装oracle只安装oracle数据库软件,no netca dbca3 第一次利用备份恢复测试环境,之后从源机器拷贝备份到目标机器并在控制文件中注册,再见行恢复测试。

备份数据库backup format '/u01/prb/rmanbk/fulldb_%d_%U' database include current controlfile plus archivelog delete input;orapwd file='/u01/app/oracle/product/11.2.0.4/db_1/dbs/orapwprb' password=oracle entries=10 force=y1rman 连接到源数据库prd-db1-> rman target /Recovery Manager: Release 11.2.0.4.0 - Production on Wed Aug 17 19:23:27 2016 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: PRB (DBID=1906641159)RMAN>2 分别列出参数文件备份,控制文件备份,数据文件备份,以及归档备份的名字参数文件备份如下:RMAN> list backup of spfile;using target database control file instead of recovery catalogList of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time------- ---- -- ---------- ----------- ------------ -------------------3 Full 9.36M DISK 00:00:01 2016/08/17 16:47:34BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20160817T164718 Piece Name: /u01/prb/rmanbk/fulldb_PRB_04rdg8d5_1_1SPFILE Included: Modification time: 2016/08/17 16:30:57SPFILE db_unique_name: PRB控制文件备份如下:RMAN> list backup of controlfile;List of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time------- ---- -- ---------- ----------- ------------ -------------------3 Full 9.36M DISK 00:00:01 2016/08/17 16:47:34BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20160817T164718 Piece Name: /u01/prb/rmanbk/fulldb_PRB_04rdg8d5_1_1Control File Included: Ckp SCN: 972048 Ckp time: 2016/08/17 16:47:33数据文件备份如下:RMAN> list backup of database;List of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time------- ---- -- ---------- ----------- ------------ -------------------2 Full 1.08G DISK 00:00:15 2016/08/17 16:47:33BP Key: 2 Status: AVAILABLE Compressed: NO Tag: TAG20160817T164718 Piece Name: /u01/prb/rmanbk/fulldb_PRB_03rdg8cm_1_1List of Datafiles in backup set 2File LV Type Ckp SCN Ckp Time Name---- -- ---- ---------- ------------------- ----1 Full 972030 2016/08/17 16:47:18 /u01/app/oracle/oradata/prb/system01.dbf2 Full 972030 2016/08/17 16:47:18 /u01/app/oracle/oradata/prb/sysaux01.dbf3 Full 972030 2016/08/17 16:47:18 /u01/app/oracle/oradata/prb/undotbs01.dbf4 Full 972030 2016/08/17 16:47:18 /u01/app/oracle/oradata/prb/users01.dbf列出归档备份如下:RMAN> list backup of archivelog all;List of Backup Sets===================BS Key Size Device Type Elapsed Time Completion Time------- ---------- ----------- ------------ -------------------1 68.93M DISK 00:00:01 2016/08/17 16:47:17BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20160817T164716 Piece Name: /u01/prb/rmanbk/fulldb_PRB_02rdg8ck_1_1List of Archived Logs in backup set 1Thrd Seq Low SCN Low Time Next SCN Next Time---- ------- ---------- ------------------- ---------- ---------1 4 955212 2016/08/17 16:26:15 966337 2016/08/17 16:28:09 1 5 966337 2016/08/17 16:28:09 971912 2016/08/17 16:45:39 1 6 971912 2016/08/17 16:45:39 972019 2016/08/17 16:47:16 BS Key Size Device Type Elapsed Time Completion Time------- ---------- ----------- ------------ -------------------4 13.00K DISK 00:00:00 2016/08/17 16:47:35BP Key: 4 Status: AVAILABLE Compressed: NO Tag: TAG20160817T164735 Piece Name: /u01/prb/rmanbk/fulldb_PRB_05rdg8d7_1_1List of Archived Logs in backup set 4Thrd Seq Low SCN Low Time Next SCN Next Time---- ------- ---------- ------------------- ---------- ---------1 7 972019 2016/08/17 16:47:16 972053 2016/08/17 16:47:35 目标主机创建相应的目录mkdir -p /u01/app/oracle/admin/prb/{adump,dpdump,pfile,scripts}mkdir -p /u01/app/oracle/oradata/prbmkdir -p /u01/app/oracle/fast_recovery_area/prbmkdir -p /u01/prb/rmanbkmkdir -p /u01/archivelog3 将备份文件、密码文件copy到目标主机scp /u01/prb/rmanbk/* oracle@prd-db2:/u01/prb/rmanbk/scp /u01/app/oracle/product/11.2.0.4/db_1/dbs/orapwprb oracle@prd-db2:/u01/app/oracle/product/11.2.0.4/db_1/dbs/恢复参数文件及控制文件1 配置新主机上的ORACLE_SIDecho 'db_name=prb' > $ORACLE_HOME/dbs/initprb.oraexport ORACLE_SID=prbsqlplus / as sysdba@prbstartup nomount pfile='/u01/app/oracle/product/11.2.0.4/db_1/dbs/initprb.ora' 目标主机上发起rman连接prd-db2-> rman target /Recovery Manager: Release 11.2.0.4.0 - Production on Wed Aug 17 18:36:34 2016 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database (not started)设置dbid 并启动实例到nomount状态RMAN> set dbid 3601019238executing command: SET DBIDRMAN> startup nomount;Oracle instance startedTotal System Global Area 217157632 bytesFixed Size 2251816 bytesVariable Size 159384536 bytesDatabase Buffers 50331648 bytesRedo Buffers 5189632 bytes恢复spfile文件RMAN> restore spfile to '/u01/app/oracle/product/11.2.0.4/db_1/dbs/spfileprb.ora' from '/u01/prb/rmanbk/fulldb_PRB_04rdg8d5_1_1';Starting restore at 2016/08/17 18:37:40allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=19 device type=DISKchannel ORA_DISK_1: restoring spfile from AUTOBACKUP /u01/prb/rmanbk/fulldb_PRB_04rdg8d5_1_1channel ORA_DISK_1: SPFILE restore from AUTOBACKUP completeFinished restore at 2016/08/17 18:37:41startup force nomountRMAN> startup force nomount;Oracle instance startedTotal System Global Area 584568832 bytesFixed Size 2255432 bytesVariable Size 226493880 bytesDatabase Buffers 352321536 bytesRedo Buffers 3497984 bytes恢复控制文件RMAN> restore controlfile to '/u01/app/oracle/oradata/prb/control01.ctl' from '/u01/prb/rmanbk/fulldb_PRB_04rdg8d5_1_1';Starting restore at 2016/08/17 18:38:26allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=19 device type=DISKchannel ORA_DISK_1: restoring control filechannel ORA_DISK_1: restore complete, elapsed time: 00:00:01Finished restore at 2016/08/17 18:38:27启动数据库到加载状态RMAN> alter database mount;RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of alter db command at 08/17/2016 18:38:39ORA-00205: error in identifying control file, check alert log for more infoprd-db2-> export ORACLE_SID=prbprd-db2-> sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Wed Aug 17 18:42:04 2016Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> shutdown immediate;ORA-01507: database not mountedORACLE instance shut down.SQL> startup mount;ORACLE instance started.Total System Global Area 584568832 bytesFixed Size 2255432 bytesVariable Size 226493880 bytesDatabase Buffers 352321536 bytesRedo Buffers 3497984 bytesORA-00205: error in identifying control file, check alert log for more info 解决办法:scp /u01/app/oracle/oradata/prb/control01.ctl prd-db2:/u01/app/oracle/oradata/prb/ scp /u01/app/oracle/fast_recovery_area/prb/ control02.ctlprd-db2:/u01/app/oracle/fast_recovery_area/prb/启动到mount状态正常SQL> startup mountORACLE instance started.Total System Global Area 584568832 bytesFixed Size 2255432 bytesVariable Size 226493880 bytesDatabase Buffers 352321536 bytesRedo Buffers 3497984 bytesDatabase mounted.三 在新控制文件中注册数据文件备份和归档备份prd-db2-> rman target /Recovery Manager: Release 11.2.0.4.0 - Production on Wed Aug 17 18:52:34 2016 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: PRB (DBID=1906641159, not open)RMAN> catalog start with '/u01/prb/rmanbk/';using target database control file instead of recovery catalogsearching for all files that match the pattern /u01/prb/rmanbk/no files found to be unknown to the database恢复整个库RMAN> restore database;Starting restore at 2016/08/17 18:53:42allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=18 device type=DISKchannel ORA_DISK_1: starting datafile backup set restorechannel ORA_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/prb/system01.dbfchannel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/prb/sysaux01.dbfchannel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/prb/undotbs01.dbfchannel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/prb/users01.dbfchannel ORA_DISK_1: reading from backup piece /u01/prb/rmanbk/fulldb_PRB_03rdg8cm_1_1channel ORA_DISK_1: piece handle=/u01/prb/rmanbk/fulldb_PRB_03rdg8cm_1_1 tag=TAG20160817T164718channel ORA_DISK_1: restored backup piece 1channel ORA_DISK_1: restore complete, elapsed time: 00:00:15Finished restore at 2016/08/17 18:53:57RMAN> recover database;Starting recover at 2016/08/17 18:54:12using channel ORA_DISK_1starting media recoverychannel ORA_DISK_1: starting archived log restore to default destination channel ORA_DISK_1: restoring archived logarchived log thread=1 sequence=7channel ORA_DISK_1: reading from backup piece /u01/prb/rmanbk/fulldb_PRB_05rdg8d7_1_1channel ORA_DISK_1: piece handle=/u01/prb/rmanbk/fulldb_PRB_05rdg8d7_1_1 tag=TAG20160817T164735channel ORA_DISK_1: restored backup piece 1channel ORA_DISK_1: restore complete, elapsed time: 00:00:01archived log file name=/u01/app/oracle/fast_recovery_area/PRB/archivelog/2016_08_17/o1_mf_1_7_cv8 jlo4y_.arc thread=1 sequence=7RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of recover command at 08/17/2016 18:54:14ORA-00283: recovery session canceled due to errorsRMAN-11003: failure during parse/execution of SQL statement: alter database recover logfile'/u01/app/oracle/fast_recovery_area/PRB/archivelog/2016_08_17/o1_mf_1_7_cv8jlo4 y_.arc'ORA-00283: recovery session canceled due to errorsORA-00313: open failed for members of log group 2 of thread 1ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/prb/redo02.log'ORA-27037: unable to obtain file statusLinux-x86_64 Error: 2: No such file or directoryAdditional information: 3缺失归档日志情况下的恢复prd-db2-> export ORACLE_SID=prbprd-db2-> sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Wed Aug 17 19:03:52 2016Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> shutdown immediate;ORA-01109: database not openDatabase dismounted.ORACLE instance shut down.SQL> startup mount;ORACLE instance started.Total System Global Area 584568832 bytesFixed Size 2255432 bytesVariable Size 226493880 bytesDatabase Buffers 352321536 bytesRedo Buffers 3497984 bytesDatabase mounted.SQL> alter database open ;alter database open*ERROR at line 1:ORA-01589: must use RESETLOGS or NORESETLOGS option for database openSQL> alter database open noresetlogs;alter database open noresetlogs*ERROR at line 1:ORA-01588: must use RESETLOGS option for database openSQL> alter database open resetlogs;Database altered.SQL> select max(sequence#) from v$archived_log;MAX(SEQUENCE#)--------------7数据库正常启动prd-db2-> export ORACLE_SID=prbprd-db2-> sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Wed Aug 17 19:11:49 2016Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> startupORACLE instance started.Total System Global Area 584568832 bytesFixed Size 2255432 bytesVariable Size 226493880 bytesDatabase Buffers 352321536 bytesRedo Buffers 3497984 bytesDatabase mounted.Database opened.。

相关文档
最新文档