Oracle 异机恢复

2023-12-07 05:08
文章标签 oracle 恢复 异机

本文主要是介绍Oracle 异机恢复,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



注意事项:
1 此处实验环境为同平台,同字节序,同版本,源机器和目标机器相同的目录结构。
2 目标机器只需要安装oracle数据库软件即可。
3 第一次利用备份恢复测试环境,之后从源机器拷贝备份到目标机器并在控制文件中注册,再见行恢复测试。
 
一 拷贝参数文件备份、控制文件备份、数据文件备份、以及归档备份到新主机上
 
1 rman 连接到源数据库
 
[oracle@oracle dbs]$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on Tue Dec 11 19:02:05 2012
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
connected to target database: CRM (DBID=3601019238)
RMAN>
2  分别列出参数文件备份,控制文件备份,数据文件备份,以及归档备份的名字
 
参数文件备份如下:
RMAN> list backup of spfile;
BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
13      Full    7.11M      DISK        00:00:04     09-DEC-12     
        BP Key: 13   Status: AVAILABLE  Compressed: NO  Tag: TAG20121209T040058
        Piece Name: /oracle/app/db1/dbs/0dnsd96i_1_1
  SPFILE Included: Modification time: 09-DEC-12
控制文件备份如下:
RMAN> list backup of controlfile;
BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
13      Full    7.11M      DISK        00:00:04     09-DEC-12     
        BP Key: 13   Status: AVAILABLE  Compressed: NO  Tag: TAG20121209T040058
        Piece Name: /oracle/app/db1/dbs/0dnsd96i_1_1
  Control File Included: Ckp SCN: 2779528241   Ckp time: 09-DEC-12
数据文件备份如下:
RMAN> list backup of database;
BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
12      Full    599.38M    DISK        00:03:33     09-DEC-12     
        BP Key: 12   Status: AVAILABLE  Compressed: NO  Tag: TAG20121209T040058
        Piece Name: /oracle/app/db1/dbs/0cnsd8vq_1_1
  List of Datafiles in backup set 12
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  1       Full 2779528081 09-DEC-12 /oracle/test/system1.dbf
  2       Full 2779528081 09-DEC-12 /oracle/test/zxb.dbf
  3       Full 2779528081 09-DEC-12 /oracle/test/sysaux01.dbf
  4       Full 2779528081 09-DEC-12 /oracle/test/users01.dbf
  5       Full 2779528081 09-DEC-12 /oracle/test/zxa.dbf
  6       Full 2779528081 09-DEC-12 /oracle/test/test1.dbf
  7       Full 2779528081 09-DEC-12 /oracle/test/zxc.dbf
  8       Full 2779528081 09-DEC-12 /oracle/test/undotbs1.dbf
  9       Full 2779528081 09-DEC-12 /oracle/test/zxbig.dbf
 
列出归档备份如下:
RMAN> list backup of archivelog all;
注意:归档的备份应该包括当前联机日志文件。
3 copy 这些备份到新的主机
 
二 恢复参数文件及控制文件
 
 1 配置新主机上的ORACLE_SID
  export   ORACLE_SID=CRM
 
 2 在新主机上发起rman连接
 
[oracle@oracle dbs]$ rman target /
 
Recovery Manager: Release 10.2.0.1.0 - Production on Mon Dec 10 05:49:11 2012
 
Copyright (c) 1982, 2005, Oracle. All rights reserved.
 
connected to target database (not started)
 
3  设置dbid 并启动实例到nomount状态
   
RMAN> set dbid 3601019238
 
executing command: SET DBID
 
RMAN> startup nomount
 
startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/oracle/app/db1/dbs/initCRM.ora'
 
starting Oracle instance without parameter file for retrival of spfile
Oracle instance started
 
Total System Global Area     159383552 bytes
 
Fixed Size                     2019224 bytes
Variable Size                 67108968 bytes
Database Buffers              83886080 bytes
Redo Buffers                   6369280 bytes
注意:在rman下即使没有参数文件,默认也会启动一个DUMMY实例,以便能够恢复参数文件。
4  恢复spfile文件
 
RMAN> restore spfile to '/oracle/app/db1/dbs/spfileCRM.ora' from '/oracle/app/db1/dbs/0dnsd96i_1_1';
 
Starting restore at 10-DEC-12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=34 devtype=DISK
 
channel ORA_DISK_1: autobackup found: /oracle/app/db1/dbs/0dnsd96i_1_1
channel ORA_DISK_1: SPFILE restore from autobackup complete
Finished restore at 10-DEC-12
 
5 startup force nomount
 
RMAN> startup force nomount;
 
Oracle instance started
 
Total System Global Area     322961408 bytes
 
Fixed Size                     2020480 bytes
Variable Size                 96471936 bytes
Database Buffers             218103808 bytes
Redo Buffers                   6365184 bytes
 
6 恢复控制文件
 
RMAN> restore controlfile to '/oracle/CRM2/CRM/control01.ctl' from '/oracle/app/db1/dbs/0dnsd96i_1_1';
 
Starting restore at 10-DEC-12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=210 devtype=DISK
 
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:04
Finished restore at 10-DEC-12
 
 
cp /oracle/CRM2/CRM/control01.ctl /oracle/CRM2/CRM/control02.ctl
 
7 启动数据库到加载状态
RMAN> alter database mount;
 
database mounted
released channel: ORA_DISK_1
 
三  在新控制文件中注册数据文件备份和归档备份
 
RMAN> catalog start with '/backup/';    #取消是drop catalog
 
searching for all files that match the pattern /backup/
 
List of Files Unknown to the Database
=====================================
File Name: /backup/0ensd96n_1_1
File Name: /backup/0bnsd8vn_1_1
File Name: /backup/0cnsd8vq_1_1
 
Do you really want to catalog the above files (enter YES or NO)? yes
cataloging files...
cataloging done
 
List of Cataloged Files
=======================
File Name: /backup/0ensd96n_1_1
File Name: /backup/0bnsd8vn_1_1
File Name: /backup/0cnsd8vq_1_1
 
四  恢复整个库
 
1 RMAN> restore database;
 
Starting restore at 10-DEC-12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=209 devtype=DISK
 
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00001 to /oracle/test/system1.dbf
restoring datafile 00002 to /oracle/test/zxb.dbf
restoring datafile 00003 to /oracle/test/sysaux01.dbf
restoring datafile 00004 to /oracle/test/users01.dbf
restoring datafile 00005 to /oracle/test/zxa.dbf
restoring datafile 00006 to /oracle/test/test1.dbf
restoring datafile 00007 to /oracle/test/zxc.dbf
restoring datafile 00008 to /oracle/test/undotbs1.dbf
restoring datafile 00009 to /oracle/test/zxbig.dbf
channel ORA_DISK_1: reading from backup piece /oracle/app/db1/dbs/0cnsd8vq_1_1
channel ORA_DISK_1: restored backup piece 1
piece handle=/oracle/app/db1/dbs/0cnsd8vq_1_1 tag=TAG20121209T040058
channel ORA_DISK_1: restore complete, elapsed time: 00:02:56
Finished restore at 10-DEC-12
 

#restore archivelog all;
2 RMAN> recover database;
 
Starting recover at 10-DEC-12
using channel ORA_DISK_1
 
starting media recovery
 
archive log thread 1 sequence 16 is already on disk as file /oracle/CRM2/CRM/redo04b.log
archive log thread 1 sequence 17 is already on disk as file /oracle/CRM2/CRM/redo05.log
archive log filename=/oracle/CRM2/CRM/redo04b.log thread=1 sequence=16
archive log filename=/oracle/CRM2/CRM/redo05.log thread=1 sequence=17
media recovery complete, elapsed time: 00:00:05
Finished recover at 10-DEC-12
 
3 alter database open resetlogs 打开数据库
SQL> alter database open resetlogs;
 
Database altered.


总结:到此,库已经恢复完成,以后只需要把源机器数据备份、归档备份,或者归档文件,拷贝到目标机器上,并在控制文件中注册该备份(catalog start with ‘/backup/’)然后执行恢复即可。

如果异机异位置恢复的话,可以使用一下方式进行恢复;

run {
set newname for datafile 1 to '/data/orcl/datafile/system01.dbf';
set newname for datafile 2 to '/data/orcl/datafile/sysaux01.dbf';
set newname for datafile 3 to '/data/orcl/datafile/undotbs01.dbf';
set newname for datafile 4 to '/data/orcl/datafile/users01.dbf';
set newname for datafile 5 to '/data/orcl/datafile/bsskzy01.dbf';
set newname for datafile 6 to '/data/orcl/datafile/zyscm01.dbf';
set newname for datafile 7 to '/data/orcl/datafile/zyscm_index01.dbf';
set newname for datafile 8 to '/data/orcl/datafile//retbillmt01.dbf';
set newname for datafile 9 to '/data/orcl/datafile/retbillmt_index01.dbf';
set newname for datafile 10 to '/data/orcl/datafile/retgoodsdt01.dbf';
set newname for datafile 11 to '/data/orcl/datafile/retgoodsdt_index01.dbf';
set newname for datafile 12 to  '/data/orcl/datafile/rettypedt01.dbf';
set newname for datafile 13 to  '/data/orcl/datafile/retgoodsdt_index01.dbf';
restore database;
switch datafile all;
}



 


这篇关于Oracle 异机恢复的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/464576

相关文章

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

Oracle数据库执行计划的查看与分析技巧

《Oracle数据库执行计划的查看与分析技巧》在Oracle数据库中,执行计划能够帮助我们深入了解SQL语句在数据库内部的执行细节,进而优化查询性能、提升系统效率,执行计划是Oracle数据库优化器为... 目录一、什么是执行计划二、查看执行计划的方法(一)使用 EXPLAIN PLAN 命令(二)通过 S

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

Oracle type (自定义类型的使用)

oracle - type   type定义: oracle中自定义数据类型 oracle中有基本的数据类型,如number,varchar2,date,numeric,float....但有时候我们需要特殊的格式, 如将name定义为(firstname,lastname)的形式,我们想把这个作为一个表的一列看待,这时候就要我们自己定义一个数据类型 格式 :create or repla

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

Oracle Start With关键字

Oracle Start With关键字 前言 旨在记录一些Oracle使用中遇到的各种各样的问题. 同时希望能帮到和我遇到同样问题的人. Start With (树查询) 问题描述: 在数据库中, 有一种比较常见得 设计模式, 层级结构 设计模式, 具体到 Oracle table中, 字段特点如下: ID, DSC, PID; 三个字段, 分别表示 当前标识的 ID(主键), DSC 当

oracle分页和mysql分页

mysql 分页 --查前5 数据select * from table_name limit 0,5 select * from table_name limit 5 --limit关键字的用法:LIMIT [offset,] rows--offset指定要返回的第一行的偏移量,rows第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。   oracle 分页 --查前1-9