`
helloyesyes
  • 浏览: 1306678 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

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

阅读更多

Oracle 官网有关单实例迁移到RAC的一个步骤说明:

How to Convert 10g Single-Instance database to 10g RAC using Manual Conversion procedure [ID 747457.1]

http://blog.csdn.net/tianlesoftware/archive/2010/12/09/6065903.aspx

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

http://blog.csdn.net/tianlesoftware/archive/2011/03/11/6240983.aspx

. 大致操作步骤如下:

1. 安装Clusterware ASM 实例

2. 备份源库,并将备份集copyrac 节点上

3. RAC 上还原并修改初始化参数文件,还原控制文件和数据文件

4. 增加undo 表空间和redo log 线程组,创建密钥文件

5. 配置RAC监听

6. 将数据库等资源添加到CRS

注意: 迁移的2db版本版本要一致。包括小版本。 比如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

http://blog.csdn.net/tianlesoftware/archive/2010/09/16/5888069.aspx

. 具体操作步骤

2.1 安装Clusterware ASM 实例

这个参考Blog

Redhat 5.4 Oracle 10g RAC Openfiler+Multipath + RAW+ ASM 安装文档

http://blog.csdn.net/tianlesoftware/archive/2010/12/01/6048792.aspx

安装之后的进程如下:

[oracle@rac1 u01]$ sh crs_stat.sh

Name Target State Host

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

ora.rac1.ASM1.asm ONLINE ONLINE rac1

ora.rac1.gsd ONLINE ONLINE rac1

ora.rac1.ons ONLINE ONLINE rac1

ora.rac1.vip ONLINE ONLINE rac1

ora.rac2.ASM2.asm ONLINE ONLINE rac2

ora.rac2.gsd ONLINE ONLINE rac2

ora.rac2.ons ONLINE ONLINE rac2

ora.rac2.vip ONLINE ONLINE rac2

2.2 在源库用RMAN 备份,并将备份文件copyrac

相关备份脚本,参考Blog

Linux 平台下 RMAN 全备 增量备份 shell 脚本

http://blog.csdn.net/tianlesoftware/archive/2010/07/16/5740630.aspx

Nocatalog 下的RMAN 增量备份 shell脚本

http://blog.csdn.net/tianlesoftware/archive/2011/01/26/6164931.aspx

源库实例名:anqing,为了确认迁移成功,我们现在源库上创建一个表dave,并插入一条记录。

SQL> create table dave(id number,hometown varchar2(100));

Table created.

SQL> insert into dave values(1,'安徽省安庆市怀宁县');

1 row created.

SQL> commit;

Commit complete.

nocatalog 方式进行0级备份。

备份之后的信息如下:

RMAN> list backup summary;

using target database control file instead of recovery catalog

List of Backups

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

Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag

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

1 B 0 A DISK 23-MAY-12 1 1 NO ANQING_LEV0

2 B 0 A DISK 23-MAY-12 1 1 NO ANQING_LEV0

5 B 0 A DISK 23-MAY-12 1 1 NO ANQING_LEV0

6 B 0 A DISK 23-MAY-12 1 1 NO ANQING_LEV0

7 B A A DISK 23-MAY-12 1 1 NO ARC_BAK

8 B A A DISK 23-MAY-12 1 1 NO ARC_BAK

9 B F A DISK 23-MAY-12 1 1 NO BAK_CTLFILE

10 B F A DISK 23-MAY-12 1 1 NO SPFILE

注:我虚拟机上的系统时间没改,所以这里显示的时间是2012523日。

将备份文件SCP RAC 服务器:

[oracle@singledb backup]$ scp * 192.168.2.42:/u01/backup

oracle@192.168.2.42's password:

anqing_lev0_01nbo3f3_1_1_20120523 100% 350MB 1.8MB/s 03:14

anqing_lev0_02nbo3f3_1_1_20120523 100% 142MB 2.7MB/s 00:53

anqing_lev0_03nbo3f3_1_1_20120523 100% 21MB 3.1MB/s 00:07

anqing_lev0_04nbo3f4_1_1_20120523 100% 376KB 376.0KB/s 00:00

anqing_spfile_0anbo3jl_1_1_20120523 100% 96KB 96.0KB/s 00:00

arch_07nbo3je_1_1_20120523 100% 28MB 3.1MB/s 00:09

arch_08nbo3je_1_1_20120523 100% 2560 2.5KB/s 00:00

ctl_file_09nbo3jk_1_1_20120523 100% 6944KB 3.4MB/s 00:02

2.3 还原并修改初始化文件

2.3.1 还原spfile pfile

[oracle@rac1 ~]$ export ORACLE_SID=anqing1

[oracle@rac1 ~]$ rman target /

Recovery Manager: Release 10.2.0.4.0 - Production on Wed May 18 22:54:27 2011

Copyright (c) 1982, 2007, Oracle. All rights reserved.

connected to target database (not started)

RMAN> startup nomount

startup failed: ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file '/u01/app/oracle/product/10.2.0/db_1/dbs/initanqing1.ora'

starting Oracle instance without parameter file for retrival of spfile

Oracle instance started

Total System Global Area 159383552 bytes

Fixed Size 1266344 bytes

Variable Size 58723672 bytes

Database Buffers 96468992 bytes

Redo Buffers 2924544 bytes

RMAN> restore spfile to pfile '/u01/app/oracle/product/10.2.0/db_1/dbs/initanqing1.ora'

2> from '/u01/backup/anqing_spfile_0anbo3jl_1_1_20120523';

Starting restore at 18-MAY-11

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=33 devtype=DISK

channel ORA_DISK_1: autobackup found: /u01/backup/anqing_spfile_0anbo3jl_1_1_20120523

channel ORA_DISK_1: SPFILE restore from autobackup complete

Finished restore at 18-MAY-11

RMAN>

看一下我们刚才恢复的参数文件:

[oracle@rac1 backup]$ cd /u01/app/oracle/product/10.2.0/db_1/dbs/

[oracle@rac1 dbs]$

[oracle@rac1 dbs]$ ls

ab_+ASM1.dat hc_anqing.dat hc_dave1.dat initanqing.ora init.ora orapw+ASM1

ab_+ASM2.dat hc_+ASM1.dat hc_rac1.dat init+ASM1.ora init.ora.4122011215823 snapcf_dave1.f

core_10447 hc_+ASM2.dat hc_rac2.dat initdw.ora initrac1.ora spfilerac1.ora

[oracle@rac1 dbs]$ cat initanqing.ora

anqing.__db_cache_size=96468992

anqing.__java_pool_size=4194304

anqing.__large_pool_size=4194304

anqing.__shared_pool_size=58720256

anqing.__streams_pool_size=0

*.audit_file_dest='/u01/app/oracle/admin/anqing/adump'

*.background_dump_dest='/u01/app/oracle/admin/anqing/bdump'

*.compatible='10.2.0.1.0'

*.control_files='/u01/app/oracle/oradata/anqing/control01.ctl','/u01/app/oracle/oradata/anqing/control02.ctl','/u01/app/oracle/oradata/anqing/control03.ctl'

*.core_dump_dest='/u01/app/oracle/admin/anqing/cdump'

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='anqing'

*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'

*.db_recovery_file_dest_size=2147483648

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

*.job_queue_processes=10

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

*.open_cursors=300

*.pga_aggregate_target=16777216

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=167772160

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='/u01/app/oracle/admin/anqing/udump'

这里面都是单实例的参数,我们需要把这个改成RAC的参数。

2.3.2 查看ASM 实例的相关目录信息

[oracle@rac1 ~]$ export ORACLE_SID=+ASM1

[oracle@rac1 ~]$ sqlplus / as sysdba;

SQL*Plus: Release 10.2.0.4.0 - Production on Wed May 18 23:09:32 2011

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production

With the Partitioning, Real Application Clusters, OLAP, Data Mining

and Real Application Testing options

SYS@+ASM1(rac1)> col state format a10

SYS@+ASM1(rac1)> col name format a15

SYS@+ASM1(rac1)> col failgroup format a20

SYS@+ASM1(rac1)> set line 200

SYS@+ASM1(rac1)> select state,redundancy,total_mb,free_mb,name,failgroup from v$asm_disk;

STATE REDUNDA TOTAL_MB FREE_MB NAME FAILGROUP

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

NORMAL UNKNOWN 11993 10088 DATA DATA

NORMAL UNKNOWN 7993 38 FRA_0000 FRA_0000

SYS@+ASM1(rac1)> select group_number,name,state,type,total_mb,free_mb,unbalanced from v$asm_diskgroup;

GROUP_NUMBER NAME STATE TYPE TOTAL_MB FREE_MB U

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

1 DATA MOUNTED EXTERN 11993 10088 N

2 FRA MOUNTED EXTERN 7993 38 N

使用ASMCMD命令:

[oracle@rac1 ~]$ export ORACLE_SID=+ASM1

[oracle@rac1 ~]$ asmcmd

ASMCMD> help

asmcmd [-p] [command]

The environment variables ORACLE_HOME and ORACLE_SID determine the

instance to which the program connects, and ASMCMD establishes a

bequeath connection to it, in the same manner as a SQLPLUS / AS

SYSDBA. The user must be a member of the SYSDBA group.

Specifying the -p option allows the current directory to be displayed

in the command prompt, like so:

ASMCMD [+DATAFILE/ORCL/CONTROLFILE] >

[command] specifies one of the following commands, along with its

parameters.

Type "help [command]" to get help on a specific ASMCMD command.

commands:

--------

cd

du

find

help

ls

lsct

lsdg

mkalias

mkdir

pwd

rm

rmalias

ASMCMD> ls

DATA/

FRA/

-- 这个是我们的两个磁盘组

ASMCMD> cd DATA

ASMCMD> ls

DAVE/

DB_UNKNOWN/

RAC/

-- 每个实例都对应一个目录,如果我们在创建参数的时候,没有这个目录,可以手工的先创建一下这个目录

ASMCMD> cd ..

ASMCMD> ls

DATA/

FRA/

ASMCMD> cd FRA

ASMCMD> ls

DAVE/

RAC/

ASMCMD>

2.3.3 修改初始话参数

注意事项:

1RMAN 异机恢复的db_name 必须和备份的一致,如果说想改成其他名称,可以等还原之后,在用nid 命令修改。

2)控制文件需要指定到共享设备上

3)检查audit_file_destbackground_dump_dest core_dump_destlog_archive_dest_1user_dump_dest等参数的位置。 如果2个节点和共享位置没有对应的目录,先把目录建好。

[oracle@rac1 admin]$ pwd

/u01/app/oracle/admin

[oracle@rac1 admin]$ mkdir anqing

[oracle@rac1 admin]$ ls

anqing +ASM rac

[oracle@rac1 admin]$ cd anqing

[oracle@rac1 anqing]$ mkdir adump

[oracle@rac1 anqing]$ mkdir bdump

[oracle@rac1 anqing]$ mkdir cdump

[oracle@rac1 anqing]$ mkdir dpdump

[oracle@rac1 anqing]$ mkdir hdump

[oracle@rac1 anqing]$ mkdir pfile

[oracle@rac1 anqing]$ mkdir udump

[oracle@rac1 anqing]$ ll

total 28

drwxr-xr-x 2 oracle oinstall 4096 May 18 23:40 adump

drwxr-xr-x 2 oracle oinstall 4096 May 18 23:40 bdump

drwxr-xr-x 2 oracle oinstall 4096 May 18 23:40 cdump

drwxr-xr-x 2 oracle oinstall 4096 May 18 23:41 dpdump

drwxr-xr-x 2 oracle oinstall 4096 May 18 23:41 hdump

drwxr-xr-x 2 oracle oinstall 4096 May 18 23:41 pfile

drwxr-xr-x 2 oracle oinstall 4096 May 18 23:41 udump

之前一个RAC 环境的ASM 目录如下,我们可以参考这个目录来建:

ASMCMD> ls

DATA/

FRA/

ASMCMD> cd DATA

-- 看下DATA目录下的目录层级

ASMCMD> ls

RAC/

ASMCMD> cd RAC

ASMCMD> ls

CONTROLFILE/

DATAFILE/

TEMPFILE/

ONLINELOG/

PARAMETERFILE/

spfilerac.ora

ASMCMD> cd CONTROLFILE

ASMCMD> ls

Current.260.746634201

ASMCMD> cd ..

ASMCMD> cd DATAFILE

ASMCMD> ls

SYSAUX.257.746634087

SYSTEM.256.746634087

UNDOTBS1.258.746634089

UNDOTBS2.264.746634255

USERS.259.746634089

ASMCMD> cd ..

ASMCMD> cd TEMPFILE

ASMCMD> ls

TEMP.263.746634229

ASMCMD> cd ..

ASMCMD> ls

CONTROLFILE/

DATAFILE/

TEMPFILE/

spfilerac.ora

ASMCMD> cd ..

ASMCMD> cd ..

ASMCMD> ls

DATA/

FRA/

ASMCMD> cd FRA

--看下FRA 目录下的层级

ASMCMD> ls

RAC/

ASMCMD> cd RAC

ASMCMD> ls

1_95_746989315.arc

1_96_746989315.arc

CONTROLFILE/

--归档文件因为我指定到这个目录了,所以限制在这里,这里可以在建一个目录,专门存放归档文件

ASMCMD> cd CONTROLFILE

ASMCMD> ls

Current.256.746634203

ASMCMD>

官网文档说明需要添加如下参数:

*.cluster_database = TRUE

*.cluster_database_instances = 2

*.undo_management=AUTO

<SID1>.undo_tablespace=undotbs (undo tablespace which already exists)

<SID1>.instance_name=<SID1>

<SID1>.instance_number=1

<SID1>.thread=1

<SID1>.local_listener=<LISTENERNAME>_<HOSTNAME1>

<SID2>.instance_name=<SID2> </sp

分享到:
评论

相关推荐

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

    总结起来,Oracle 11.2.0.3单实例迁移到11gR2 RAC的异机恢复过程是一项技术性强且步骤繁多的任务,涉及到RMAN的备份恢复、新环境的配置、数据库和应用的适应性调整等多个环节。正确执行这些步骤,可以实现平滑迁移,...

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

    本案例将详细讲解如何利用Recovery Manager (RMAN)工具在不同机器上进行异机恢复,从而实现Oracle 11.2.0.3单实例到11gR2 RAC的迁移。 首先,了解RMAN的基本概念。RMAN是Oracle提供的一种备份和恢复工具,它可以...

    Oracle单机通过rman迁移到RAC集群.zip

    Oracle数据库是企业级广泛使用的数据库管理系统,而将一个Oracle单机环境迁移到RAC(Real Application Clusters,实时应用集群)集群,是为了提高系统的可用性和性能。RAC允许多个实例共享同一个物理数据库,从而...

    单实例迁移到Oracle RAC最佳实践

    本文将详细探讨从单实例迁移到Oracle RAC环境的最佳实践。 一、环境预览 1.1. 配置预览 在迁移之前,了解目标和源环境是至关重要的。这包括数据库的版本、网络配置和服务配置。以下是详细的配置步骤: 1.1.1. ...

    Oracle RAC恢复到单机方案-仅有一个全备

    ### Oracle RAC恢复到单机方案—仅有一个全备 #### 概述 在Oracle Real Application Clusters (RAC)环境中,当面临只有历史全备(热备)且无增量备份和归档备份的情况下,若需要将数据恢复到单机环境,会面临一定...

    rac rman异机恢复

    标题“rac rman异机恢复”指在Oracle RAC (Real Application Clusters)环境中使用RMAN (Recovery Manager)工具进行的数据恢复过程,特别指出是将RAC环境中的备份恢复到非集群(即单机)环境中。 #### 描述解析 描述...

    单实例转RAC-数据库迁移.doc

    Oracle 数据库从单实例到 RAC 的迁移是将单个数据库实例迁移到 Oracle Real Application Clusters (RAC) 环境中,以提高数据库的高可用性和扩展性。本文将详细介绍单实例到 RAC 的迁移步骤和注意事项。 一、迁移前...

    oracle10g rac环境Rman备份恢复至单机方案

    Oracle 10g RAC 环境下的RMAN(Recovery Manager)备份恢复至单机环境是一项复杂但重要的任务,特别是在灾难恢复或系统迁移的场景中。以下将详细阐述这个过程的关键步骤和注意事项。 首先,RMAN是Oracle数据库管理...

    ORACLE 10G单机转RAC

    Oracle 10G单机转RAC的过程是一个复杂的操作,涉及到数据库架构的转换、网络配置、存储设置等多个方面。在进行这种转换时,首先要确保原始单机环境的稳定性和数据完整性,然后再逐步构建RAC环境。 1. **单机环境...

    异机迁移oracle 11.2.0.4单机至12cR2 RAC

    异机迁移Oracle数据库是一个复杂的过程,特别是从Oracle 11.2.0.4单机环境迁移到12c Release 2 (12.2.0.1)的Real Application Clusters (RAC)环境。这个过程涉及到多个步骤,包括备份、恢复、参数配置以及系统升级。...

    Oracle 11g RMAN备份异机恢复 迁移数据 案例.

    Rman的异机恢复的作用很多,比如数据库迁移,数据库恢复,基于数据库架构调整的还原恢复(比如从RAC--&gt;&gt;单实例,ASM--&gt;&gt;文件系统),有时候搭建测试环境也会用到,不过,这种情况下相信选择数据库复制方式比较方便。...

    Oracle升级迁移实战文章和方案文档汇总-共168篇.xlsx

    Oracle11g单实例迁移到RAC架构方案v1.1 如何利用 RMAN 可传输表空间迁移数据库到不同字节序的平台 (Doc ID 1983639.1) 如何利用 RMAN 可传输表空间迁移数据库到不同字节序的平台 (Doc ID 1983639.1) 跨 OS 平台迁移 ...

    rac恢复到单机

    从提供的文件信息来看,主题是关于Oracle RAC(Real Application Clusters)数据库如何恢复到单实例数据库的过程。RAC是Oracle数据库的一种高可用性配置选项,它允许多个实例同时访问同一个数据库。在特定情况下,...

    【数据迁移2】Oracle 10gR2 rman异机恢复实验(FS-FS)(截图).pdf

    根据提供的文档信息,本文将详细解析Oracle 10g R2 使用RMAN工具进行异机恢复(即从一个文件系统到另一个文件系统的恢复过程,简称FS-FS)的关键步骤及注意事项。 ### 一、环境说明 #### Oracle源主机 - **主机...

    9i 单实例 转rac

    - 开始切换过程,将应用连接从单实例迁移到 RAC 集群。 这些步骤是将 Oracle 9i 单实例转换为 RAC 的基本流程,但实际操作可能因环境而异,可能需要根据具体情况进行调整和优化。在整个过程中,确保数据的安全性、...

    oracle数据库迁移实例01

    - **用途**:在安装、创建新数据库、数据控制文件、数据库结构修改以及备份恢复等过程中均会使用到。 - **查询方法**: - 执行SQL:`SELECT name, dbid FROM v$database;` - 查看参数文件:`initSID.ora`中的`*....

    单实例数据库转换为 Oracle RAC 10g

    ### 单实例数据库转换为 Oracle RAC 10g 实际操作步骤详解 #### 概述 本篇文章旨在详细介绍如何将一个单实例的Oracle数据库转换为Oracle RAC 10g集群环境。这一过程通常涉及多个步骤,包括准备工作、数据库移植、...

    单实例数据库迁移到RAC环境.pdf

    3. **RMAN备份与恢复**:RMAN(Recovery Manager)是Oracle数据库的备份工具,用于异机恢复时,需要数据库名保持一致。因此,在目标RAC环境中,首先需要删除原有的db11g数据库及其数据文件,通过`srvctl`命令停止并...

Global site tag (gtag.js) - Google Analytics