本文只节选了操作方案的部分章节:

3.   操作步骤 3.1. 异机单实例Oracle数据库软件安装

在异机上进行单实例Oracle数据库软件安装。该步骤过程不再本文中重复描述,如果对安装过程存在疑问,可参考之前发布的《Oracle 11g R2数据库安装作业指导书》相关内容。注意:为了保障恢复的正确性,应该尽量保障该服务器上安装的数据库软件版本与Rac平台下的数据库版本一致(包括小版本)。

3.2. 在Rac环境下进行全库备份

在Rac环境下,通过RMAN数据库备份管理工具对数据库进行全库备份。具体操作流程可以参考如下:

Rman

RMAN>connect target

RMAN>连接到目标数据库: SCMIS (DBID=2125161875)

RMAN>backup database;

需要注意查看输出日志中备份文件输出的目录。

3.3. 将备份文件整体上传到单实例服务器

将备份出来的相关文件通过FTP软件上传到单实例服务器。(本例中存储的路径为:d:\rmandump\)

3.4. 修改新生成的initSCMIS.ora文件

将文件内容修改成符合我们单实例环境下的设置,本操作过程中修改前,修改后的文件展示如下,方便大家进行对比、理解。

修改前文件如下:

scmis2.__db_cache_size=268435456

scmis1.__db_cache_size=402653184

scmis1.__java_pool_size=16777216

scmis2.__java_pool_size=16777216

scmis1.__large_pool_size=16777216

scmis2.__large_pool_size=16777216

scmis1.__oracle_base='C:\app\Administrator'#ORACLE_BASE set from environment

scmis2.__oracle_base='C:\app\Administrator'#ORACLE_BASE set from environment

scmis1.__pga_aggregate_target=704643072

scmis2.__pga_aggregate_target=704643072

scmis1.__sga_target=1023410176

scmis2.__sga_target=1023410176

scmis1.__shared_io_pool_size=0

scmis2.__shared_io_pool_size=0

scmis2.__shared_pool_size=704643072

scmis1.__shared_pool_size=570425344

scmis1.__streams_pool_size=0

scmis2.__streams_pool_size=0

*.audit_file_dest='C:\app\Administrator\admin\SCMIS\adump'

*.audit_trail='db'

*.cluster_database=true

*.compatible='11.2.0.0.0'

*.control_files='+ASMDISK/scmis/controlfile/current.261.813766611','+ASMDISK/scmis/controlfile/current.260.813766613'

*.db_block_size=8192

*.db_create_file_dest='+ASMDISK'

*.db_domain=''

*.db_name='SCMIS'

*.db_recovery_file_dest='+ASMDISK'

*.db_recovery_file_dest_size=10737418240

*.diagnostic_dest='C:\app\Administrator'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=SCMISXDB)'

SCMIS2.instance_number=2

SCMIS1.instance_number=1

*.log_archive_format='ARC%S_%R.%T'

*.memory_target=1717567488

*.nls_language='SIMPLIFIED CHINESE'

*.nls_territory='CHINA'

*.open_cursors=300

*.processes=1000

*.recyclebin='ON'

*.remote_listener='SCAN:1521'

*.remote_login_passwordfile='exclusive'

*.sessions=1105

SCMIS2.thread=2

SCMIS1.thread=1

SCMIS2.undo_tablespace='UNDOTBS2'

SCMIS1.undo_tablespace='UNDOTBS1'

 

修改后文件如下:

*.audit_file_dest='d:\adump'

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='D:\ctl\CONTROL01.CTL','D:\ctl\CONTROL02.CTL'

*.db_block_size=8192

*.db_domain=''

*.db_name='SCMIS'

*.diagnostic_dest='d:\app\Administrator'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=SCMISXDB)'

*.log_archive_dest_1='LOCATION=d:\arch'

*.log_archive_format='%t_%s_%r.dbf'

*.memory_target=1717567488

*.nls_language='SIMPLIFIED CHINESE'

*.nls_territory='CHINA'

*.open_cursors=300

*.processes=1000

*.remote_login_passwordfile='exclusive'

*.sessions=1105

*.undo_tablespace='UNDOTBS1'

注意内容:需要注意在参数文件中相关设置路径的参数,要保障服务器上存在相应的路径结构。

3.5. 将单实例服务启动到nomount状态

使用新的参数文件,将数据库启动到nomount状态。请注意确认使用新的参数文件启动,如果必要,可以在启动的指令中指定读取的文件路径以及文件名。

SQL> startup nomount;

3.6. 通过RMAN还原参数文件

通过RMAN工具,从备份中将参数文件还原到单实例服务器,示范指令如下:

RMAN> restore spfile to pfile 'd:\initSCMIS.ora' from 'd:\rmandump\ CF_SCMIS_7_1 ';

3.7. 将数据库启动到MOUNT状态

RMAN> mount database;

3.8. 将备份集注册进控制文件里

RMAN> catalog start with 'd:\rmandump\';

3.9. 确认数据文件、联机日志文件、临时文件路径

SQL> set pagesize 9999

SQL> col NAME for a65

SQL> select file#,name from v$datafile;

看到结果如下:

1 '+ASMDISK/scmis/onlinelog/group_1.262.813766617'

2 '+ASMDISK/scmis/onlinelog/group_1.263.813766619'

3 '+ASMDISK/scmis/onlinelog/group_2.264.813766621'

4 '+ASMDISK/scmis/onlinelog/group_2.265.813766625'

5 '+ASMDISK/scmis/onlinelog/group_3.268.813766997'

6 '+ASMDISK/scmis/onlinelog/group_3.269.813767001'

7 '+ASMDISK/scmis/onlinelog/group_4.270.813767003'

8 '+ASMDISK/scmis/onlinelog/group_4.271.813767007'

SQL> select name from v$tempfile;

+ASMDISK/scmis/tempfile/temp.261.781033565

3.10.   通过RMAN重命名数据文件和临时文件,进行还原

在RMAN下执行如下指令:

RUN {

SET NEWNAME FOR DATAFILE 1 to 'D:\datafile\system01.dbf';

SET NEWNAME FOR DATAFILE 2 to 'D:\datafile\sysaux01.dbf';

SET NEWNAME FOR DATAFILE 3 to 'D:\datafile\undotbs1.dbf';

SET NEWNAME FOR DATAFILE 4 to 'D:\datafile\users01.dbf';

SET NEWNAME FOR DATAFILE 5 to 'D:\datafile\undotbs2.dbf';

SET NEWNAME FOR DATAFILE 6 to 'D:\datafile\scmisx3_app01.dbf';

SET NEWNAME FOR DATAFILE 7 to 'D:\datafile\scmisx3_sys01.dbf';

SET NEWNAME FOR TEMPFILE 1 to 'D:\datafile\temp01.dbf';

RESTORE DATABASE;

SWITCH DATAFILE ALL;

SWITCH TEMPFILE ALL;

}

3.11.   修改联机日志文件的路径

在SQLPLUS下执行:

alter database rename file '+ASMDISK/scmis/onlinelog/group_1.262.813766617' to 'D:\redolog\redo1_1.log';

alter database rename file '+ASMDISK/scmis/onlinelog/group_1.263.813766619' to 'D:\redolog\redo1_2.log';

alter database rename file '+ASMDISK/scmis/onlinelog/group_2.264.813766621' to 'D:\redolog\redo2_1.log';

alter database rename file '+ASMDISK/scmis/onlinelog/group_2.265.813766625' to 'D:\redolog\redo2_2.log';

alter database rename file '+ASMDISK/scmis/onlinelog/group_3.268.813766997' to 'D:\redolog\redo3_1.log';

alter database rename file '+ASMDISK/scmis/onlinelog/group_3.269.813767001' to 'D:\redolog\redo3_2.log';

alter database rename file '+ASMDISK/scmis/onlinelog/group_4.270.813767003' to 'D:\redolog\redo4_1.log';

alter database rename file '+ASMDISK/scmis/onlinelog/group_4.271.813767007' to 'D:\redolog\redo4_2.log';

注意:以上每一行指令执行完成后都会被断开连接,只需要重新连接,继续逐行执行即可。

联机日志文件修改之后查看

SQL> set pagesize 9999

SQL> select member from v$logfile;

3.12.   恢复数据库

RMAN> recover database;

3.13.   RESETLOGS打开数据库

SQL> alter database open resetlogs;

3.14.   恢复结果检查

到这里RAC到单实例备份恢复已经完毕,我们可以简单检查下

SQL> select thread#,status,enabled from v$thread;

THREAD# STATUS       ENABLED

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

1 OPEN         PUBLIC

2 CLOSED       PUBLIC

SQL> select group#,thread#,archived,status from v$log;

GROUP#    THREAD# ARCHIV STATUS

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

1     1       1       YES   INACTIVE

2     2       1       NO   CURRENT

3     3       2       YES   ACTIVE

4     4       2       YES   UNUSED

SQL> archive log list;

数据库日志模式            存档模式

自动存档             启用

存档终点            d:\arch

最早的联机日志序列     3

下一个存档日志序列   4

当前日志序列           4

3.15.   抽查业务系统用户的数据

根据实际情况,使用业务系统所建立的用户,检查相关表空间,对象、数据的恢复情况。

Oracle RAC备份异机单实例恢复演练的更多相关文章

  1. 12c RAC 用Rman 恢复到异机单实例

    准备工作 原服务器软件部署:Redhat 6.6 + Oracle 12.2.0.1 rac Oracle12c单实例安装 1.创建恢复服务器,设置大于原库数据大小的磁盘容量.设置相同的服务器主机名参 ...

  2. 使用不同用户对Oracle数据库进行异机恢复,失败,错误:Backup file not found in NetBackup catalog

    最近做某数据库恢复演练,数据库版本是10.2.0.4,恢复控制文件一直报错,报错如下,经过反复折腾,原来恢复机上oracle用户不是oracle导致(我的是oraclev4),查看源库oracle用户 ...

  3. Oracle 11.2.0.4单实例打PSU,OJVM PSU补丁快速参考

    写在前面: 1.Oracel打每个补丁的操作有时存在差异,所以不管多熟悉,都应该在打任何补丁之前阅读新补丁中附带的readme. 2.Oracle每季度都会更新一个最新的PSU,本文最新指的是当前最新 ...

  4. Asianux 7.3安装Oracle 11.2.0.4单实例体验

    环境:Asianux 7.3 需求:安装Oracle 11.2.0.4 单实例 背景:系统使用默认的最小安装部署,Oracle安装额外需要的包统一使用yum安装. 查看当前系统相关信息: [root@ ...

  5. Linux平台Oracle 12.1.0.2 单实例安装部署

    主题:Linux平台Oracle 12.1.0.2 单实例安装部署 环境:RHEL 6.5 + Oracle 12.1.0.2 需求:安装部署OEM 13.2需要Oracle 12.1.0.2版本作为 ...

  6. Oracle 11.2.0.4单实例打补丁

    Oracle 11.2.0.4单实例打PSU,OJVM PSU补丁快速参考 写在前面: ·         1.Oracel打每个补丁的操作有时存在差异,所以不管多熟悉,都应该在打任何补丁之前阅读新补 ...

  7. RMAN - 备份异机恢复

    OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ...

  8. RMAN 备份异机恢复 并创建新DBID

    测试平台信息: Oracle:11gR2 操作系统:Redhat 5.5 Target DB:dave   几点说明: (1)RMAN 异机恢复的时候,db_name必须相同. 如果说要想改成其他的实 ...

  9. Oracle - 通过dg,完成单实例到rac的迁移

    一.概述 本文将介绍如何给单实例搭建一个rac dg,以及如何对其进行角色转换,完成从单实例到rac的迁移.预先具备的知识(rac搭建,单实例-单实例dg搭建) 二.实验环境介绍 主库(已有数据库实例 ...

随机推荐

  1. iOS开发几年了,你清楚OC中的这些东西么1

    前言 几年前笔者是使用Objective-C进行iOS开发, 不过在两年前Apple发布swift的时候,就开始了swift的学习, 在swift1.2发布后就正式并且一直都使用了swift进行iOS ...

  2. c/c++将整数转换为字符串

    #include <iostream> using namespace std; int main(int argc, char **argv) { ; iint i,j; ],e[]; ...

  3. [转]windows下安装Object-C开发环境

    本文转自:http://hi.baidu.com/jeremylai/item/f40b9116cb3c5d582b3e22f5 在Windows下搭建Objective C开发环境,需要到GNUst ...

  4. js数组求和

    array1.reduce(callbackfn[, initialValue]) callback : 函数执行在数组中每个值 initialValue : 对象作为第一个参数回调的第一次调用使用 ...

  5. uiautomator的坑和AAPT命令方式启动一个应用程序

    最近在使用UIautomator完成公司的一个主流程的自动化,因为不适用H5和IOS所以会放弃这个工具的使用,现在记录在使用uiautomator的一些问题: 案列1:使用命令去启动要运用的apk包 ...

  6. GitHub这么火,程序员你不学学吗? 超简单入门教程 干货

    本GitHub教程旨在能够帮助大家快速入门学习使用GitHub. 本文章由做全栈攻城狮-写代码也要读书,爱全栈,更爱生活.原创.如有转载,请注明出处. GitHub是什么? GitHub首先是个分布式 ...

  7. react 全局面包屑

    renderBreadcrumb() { const {routes} = this.props; const items = routes.map((route, idx) => { let ...

  8. 转:『代码』JS封装 Ajax级联下拉列表

    在博客园看到一篇不错的AJAX级联下拉列表,觉得不错,特地拿下来 :转载来自:『大雪无痕』 ,原文地址 //当一个 下拉列表 改变时,触发所有联动:(警告:各下拉列表之间 请不要出现 循环依赖) // ...

  9. sqlserver的增删改查

    select*from shuiguo  查询表 且小于等于7的范围) select distinct name from shuiguo--去除重复,只针对一列 select * from shui ...

  10. 纯代码添加约束条件(Auto Layout)

    Auto Layout 是一种基于约束的.描述性的布局系统.也就是使用约束条件来描述布局,View的Frame会根据这些描述来进行计算. 在iOS6.0以后加入了一个新类: NSLayoutConst ...