Oracle单实例数据库迁移到Oracle RAC 环境之(2)--实施篇

系统环境:

操作系统:RedHat EL55

Oracle : Oracle 11.2.0.1.0

集群软件:Oracle GI 11.2.0.1.0

本案例采用的是基于DataGuard的迁移方式

主库(bjdb):

1、修改初始化参数文件

[oracle@bjsrv dbs]$ cat initcuug.ora

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

*.audit_trail='db'

*.compatible='11.2.0.0.0'

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

*.db_block_size=8192

*.db_domain=''

*.db_name='cuug'

*.diagnostic_dest='/u01/app/oracle'

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

*.log_archive_format='arch_%t_%s_%r.log'

*.memory_target=419430400

*.open_cursors=300

*.processes=150

*.undo_tablespace='UNDOTBS1'

DB_UNIQUE_NAME=bjdb

LOG_ARCHIVE_CONFIG='DG_CONFIG=(bjdb,stddb)'

LOG_ARCHIVE_DEST_1='LOCATION=/dsk3/arch_cuug VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=bjdb'

LOG_ARCHIVE_DEST_2='SERVICE=stddb LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=stddb'

LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_DEST_STATE_2=ENABLE

REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

LOG_ARCHIVE_MAX_PROCESSES=3

DB_FILE_NAME_CONVERT='+dg1/stddb/datafile/','/u01/app/oracle/oradata/cuug/','+dg1/stddb/tempfile/','/u01/app/oracle/oradata/cuug/'

LOG_FILE_NAME_CONVERT='+dg1/stddb/onlinelog/','/dsk1/oradata/cuug','+rcy1/stddb/onlinelog/','/dsk2/oradata/cuug'

STANDBY_FILE_MANAGEMENT=AUTO

2、通过新的初始化参数文件启动Instance

16:54:57 SYS@ cuug>create spfile from pfile;

16:55:57 SYS@ cuug>show parameter name

NAME                                 TYPE        VALUE

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

db_file_name_convert                 string      +dg1/stddb/datafile, /u01/app/oracle/or                                                                                     adata/cuug/,+dg1/stddb/tempfile,/u01/app/oracle/oradata/cuug

db_name                              string      cuug

db_unique_name                       string      bjdb

global_names                         boolean     FALSE

instance_name                        string      cuug

log_file_name_convert                string      +dg1/stddb/onlinelog, /dsk1/oradata/cuug

, +rcy1/stddb/onlinelog, /dsk2/oradata/c

uug

service_names                        string      bjdb

3、对数据库进行冷备份并建立standby controlfile

数据库在mount状态下,进行冷备:

[oracle@bjsrv admin]$ rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Wed May 21 16:58:25 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

connected to target database: CUUG (DBID=1329392875, not open)

RMAN> backup database format '/dsk3/%d_%s.bak';

生成standby controlfile:

RMAN> backup current controlfile for standby format '/dsk3/std_control01.ctl';

4、启动NFS共享将存储库备份的文件系统共享

[root@bjsrv ~]# cat /etc/exports

/dsk3  *(rw,async,nohide,no_subtree_check)

[root@bjsrv ~]# exportfs -av

exporting *:/dsk3

5、拷贝实例初始化参数文件和口令文件到RAC主机

[oracle@bjsrv dbs]$ scp orapwcuug node1:$ORACLE_HOME/dbs/orapwstddb1

[oracle@bjsrv dbs]$ scp orapwcuug node2:$ORACLE_HOME/dbs/orapwstddb2

[oracle@bjsrv dbs]$ scp initcuug.ora node1:~/initstddb1.ora

6、配置listener和tnsnames

listener 采用系统默认listener即可

[oracle@bjsrv admin]$ cat tnsnames.ora

# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

STDDB=

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521))

(ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = stddb)

)

)

BJDB=

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = bjsrv)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = bjdb)

)

)

备库(stddb):

1、修改初始化参数文件

[oracle@node1 ~]$ cat initstddb1.ora

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

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='+dg1/stddb/controlfile/std_control01.ctl'

*.db_block_size=8192

*.db_domain=''

*.db_name='cuug'

*.diagnostic_dest='/u01/app/oracle'

*.log_archive_format='arch_%t_%s_%r.log'

*.memory_target=419430400

*.open_cursors=300

*.processes=150

stddb1.instance_number=1

stddb2.instance_number=2

stddb2.thread=2

stddb1.thread=1

stddb1.undo_tablespace='UNDOTBS1'

stddb2.undo_tablespace='UNDOTBS2'

*.cluster_database=true

DB_UNIQUE_NAME=stddb

LOG_ARCHIVE_CONFIG='DG_CONFIG=(bjdb,stddb)'

LOG_ARCHIVE_DEST_1='LOCATION=+rcy1 VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=stddb'

LOG_ARCHIVE_DEST_2='SERVICE=bjdb LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=bjdb'

LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_DEST_STATE_2=ENABLE

REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

LOG_ARCHIVE_MAX_PROCESSES=3

FAL_SERVER=bjdb

DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/cuug/','+dg1/stddb/datafile/','/u01/app/oracle/oradata/cuug/','+dg1/stddb/tempfile'

LOG_FILE_NAME_CONVERT='/dsk1/oradata/cuug','+dg1/stddb/onlinelog','/dsk2/oradata/cuug','+rcy1/stddb/onlinelog'

STANDBY_FILE_MANAGEMENT=AUTO

2、建立相关目录

[oracle@node1 ~]$ mkdir -p /u01/app/oracle/admin/stddb/adump

[oracle@node2 dbs]$ mkdir -p /u01/app/oracle/admin/stddb/adump

3、通过pfile启动Instance到nomount

SQL> startup force nomount pfile='/home/oracle/initstddb1.ora'

ORACLE instance started.

Total System Global Area  418484224 bytes

Fixed Size                  1336932 bytes

Variable Size             260049308 bytes

Database Buffers          150994944 bytes

Redo Buffers                6103040 bytes

SQL> show parameter name

NAME                                 TYPE        VALUE

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

db_file_name_convert                 string      /u01/app/oracle/oradata/cuug/,

+dg1/stddb/datafile,/u01/app/oracle/oradata/cuug/,

+dg1/stddb/tempfile

db_name                              string      cuug

db_unique_name                       string      stddb

global_names                         boolean     FALSE

instance_name                        string      stddb1

log_file_name_convert                string      /dsk1/oradata/cuug, +dg1/stddb/onlinelog

, /dsk2/oradata/cuug, +rcy1/st

ddb/onlinelog

service_names                        string      stddb

4、创建spfile和pfile 文件

SQL> create spfile='+dg1/stddb/spfilestddb.ora' from pfile='/home/oracle/initstddb1.ora';

File created.

[oracle@node1 dbs]$ cat initstddb1.ora

spfile='+dg1/stddb/spfilestddb.ora'

[oracle@node2 dbs]$ cat initstddb2.ora

spfile='+dg1/stddb/spfilestddb.ora'

5、配置tnsnames

[oracle@node1 admin]$ cat tnsnames.ora

# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

STDDB =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521))

(ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = stddb)

)

)

BJDB =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = bjsrv)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = bjdb)

)

)

6、Mount主库主机共享到本地(注意:本地目录需和共享目录相同的路径和名称)

[root@node1 ~]# mount -orw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,actimeo=0,vers=3,timeo=600 bjsrv:/dsk3 /dsk3

7、在备库做数据库恢复(node1)

首先restore controlfile:

[oracle@node1 admin]$ rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Wed May 21 17:31:06 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

connected to target database: CUUG (not mounted)

RMAN> restore standby controlfile from '/dsk3/std_control01.ctl';

Starting restore at 21-MAY-14

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=1 device type=DISK

channel ORA_DISK_1: restoring control file

channel ORA_DISK_1: restore complete, elapsed time: 00:00:01

output file name=+DG1/stddb/controlfile/std_control01.ctl

Finished restore at 21-MAY-14

RMAN> alter database mount;

database mounted

released channel: ORA_DISK_1

再restore database:

RMAN> restore database;

Starting restore at 21-MAY-14

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=36 device type=DISK

channel ORA_DISK_1: starting datafile backup set restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

channel ORA_DISK_1: restoring datafile 00001 to +DG1/stddb/datafile/system01.dbf

channel ORA_DISK_1: restoring datafile 00002 to +DG1/stddb/datafile/sysaux01.dbf

channel ORA_DISK_1: restoring datafile 00003 to +DG1/stddb/datafile/undotbs01.dbf

channel ORA_DISK_1: restoring datafile 00004 to +DG1/stddb/datafile/users01.dbf

channel ORA_DISK_1: restoring datafile 00005 to +DG1/stddb/datafile/example01.dbf

channel ORA_DISK_1: reading from backup piece /dsk3/CUUG_1.bak

channel ORA_DISK_1: piece handle=/dsk3/CUUG_1.bak tag=TAG20140521T165858

channel ORA_DISK_1: restored backup piece 1

channel ORA_DISK_1: restore complete, elapsed time: 00:01:35

Finished restore at 21-MAY-14

8、在mount状态下做Database Recovery

SQL> recover managed standby database disconnect from session;

Media recovery complete.

9、查看主库传送的归档日志

SQL> select name from v$archived_log where name is not null;

NAME

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

+RCY1/stddb/archivelog/2014_05_21/thread_1_seq_9.265.848168007

+RCY1/stddb/archivelog/2014_05_21/thread_1_seq_8.264.848168007

+RCY1/stddb/archivelog/2014_05_21/thread_1_seq_11.267.848168007

......

10、打开数据库

SQL> recover managed standby database cancel;

Media recovery complete.

SQL> alter database open;

Database altered.

查看据库角色:

SQL> select name,dbid,database_role,protection_mode,switchover_status from v$database;

NAME            DBID DATABASE_ROLE    PROTECTION_MODE      SWITCHOVER_STATUS

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

CUUG      1329392875 PHYSICAL STANDBY MAXIMUM PERFORMANCE  NOT ALLOWED

查看数据是否和主库同步:

SQL> select count(*) from scott.dept;

COUNT(*)

----------

4

SQL> select count(*) from scott.emp1;

COUNT(*)

----------

14

在主库查看数据库角色:

8:18:00 SYS@ cuug>select name,dbid,database_role,protection_mode,switchover_status from v$database;

NAME            DBID DATABASE_ROLE    PROTECTION_MODE      SWITCHOVER_STATUS

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

CUUG      1329392875 PRIMARY          MAXIMUM PERFORMANCE  TO STANDBY

Elapsed: 00:00:00.04

@至此,物理的DataGuard构建成功,下一步将进行主备库switchover,将RAC database切换成主库,完成数据迁移。

新建oracle数据库 环境查询,Oracle单实例数据库迁移到Oracle RAC 环境之(2)--实施篇...相关推荐

  1. oracle安装卡在create inventory_滴滴云服务器上安装Oracle12cR2单实例数据库

    一.相关说明 Oracle数据库是由美国甲骨文公司推出的一款优秀的关系型数据库.当前最新版为Database 19c.本文简述Oracle Database 12cR2在滴滴云主机上的安装过程.如需更 ...

  2. 滴滴云服务器上安装Oracle12cR2单实例数据库

    一.相关说明 Oracle数据库是由美国甲骨文公司推出的一款优秀的关系型数据库.当前最新版为Database 19c.本文简述Oracle Database 12cR2在滴滴云主机上的安装过程.如需更 ...

  3. ORACLE 19C 单实例数据库安装

    目录 环境信息 安装前准备 开始安装 安装程序 配置监听 安装数据库 安装后 本地连接数据库 总结 本文涉及的安装包下载: 链接:https://pan.baidu.com/s/1cXxAUTvWE6 ...

  4. oracle备份还原到本地_Oracle 11g R2 RAC数据库备份通过RMAN恢复到单实例数据库实现...

    Oracle 11g R2 RAC数据库备份通过RMAN恢复到单实例数据库实现 下面是我的一次从Oracle 11g R2 RAC到单实例间通过RMAN恢复备份集的过程,记录在此. 有些人以此方法作为 ...

  5. window oracle 只有bak文件怎么恢复_Oracle 11g R2 RAC数据库备份通过RMAN恢复到单实例数据库实现...

    Oracle 11g R2 RAC数据库备份通过RMAN恢复到单实例数据库实现 下面是我的一次从Oracle 11g R2 RAC到单实例间通过RMAN恢复备份集的过程,记录在此. 有些人以此方法作为 ...

  6. 如何将 Oracle 单实例数据库转换为RAC数据库?

    墨墨导读:本文来自墨天轮用户投稿,文章详述安装一套RAC环境,并把单实例数据库通过通过rman还原到这个环境(通常如果是生产环境,我们会搭建从RAC到单实例数据库的ADG,以减少停机时间). 单实例数 ...

  7. 抢鲜体验:Oracle 19C单实例数据库安装步骤详解

    抢鲜体验:Oracle 19C单实例数据库安装步骤详解 原创: 李宏达 数据和云 今天 作者:李宏达,云和恩墨北区交付工程师. 大家一直期待的 Oracle Database 19c 今天已经提供公开 ...

  8. 单实例数据库迁移到rac环境(四)上

    在前面的3个小节中,分别介绍了使用expdp,传输表空间以及rman的异机恢复等方式实现单实例数据库向rac环境的迁移,本节中将介绍下使用physical dataguard实现这一过程,核心思想是构 ...

  9. oracle进入rman报错,Oracle 11g单实例RMAN恢复到Oracle 11g RAC

    一.环境说明 操作系统版本: RHEL 6.5 x64 1. 源数据库服务器 Oracle版本: Oracle 11g 11.2.0.4 64位(单机) Oracle_SID: orcl db_nam ...

最新文章

  1. 崩溃!双十一第 4 天,某互联网公司黄了?
  2. 表单标签form、label、input、textarea、select
  3. 郭天祥:我的大学六年
  4. 微软旷视人脸识别100%失灵!北京十一学校校友新研究「隐身衣」,帮你保护照片隐私数据...
  5. linux c 获取进程 cpu占用率 内存占用情况
  6. 二十一、Hadoop学记笔记————kafka的初识
  7. android studio开关控件,Android studio实现滑动开关
  8. 耐克人脸识别_狄耐克智能交通再结一位“老铁”——与力高地产达成战略合作协议!...
  9. HDU 6611 K Subsequence(Dijkstra优化费用流 模板)题解
  10. 65.Linux/Unix 系统编程手册(下) -- 附录
  11. 【jszip3.2.1 解压文件乱码】
  12. 分枝定界法,例题梳理
  13. Cisco(思科)无线路由器
  14. c++ 问题:查找预编译头时遇到意外的文件结尾
  15. 解决无法在设置线程模式后对其加以更改问题:2147549446(0x80010106)
  16. 【集合论】二元关系 ( 特殊关系类型 | 空关系 | 恒等关系 | 全域关系 | 整除关系 | 大小关系 )
  17. centos 调教日记
  18. Nokia 手机 号码 同 HTC 同步
  19. [转载]2017 中国电信(美洲)公司CTExcel US电话卡使用攻略_拔剑-浆糊的传说_新浪博客
  20. 静态页面引入看板娘live2d

热门文章

  1. WIN8系统中 任务管理器 性能栏 显示CPU利用率(已暂停)怎么回事?
  2. zendstudio for mac破解版
  3. Alfred Remote初体验
  4. Cocos2d-x——导入Cocostudio资源
  5. [代码]获取源页的控件值
  6. [转载] 基于Python, Selenium, Phantomjs无头浏览器访问页面
  7. [转载] Python数据分析与可视化学习笔记(一)数据分析与可视化概述
  8. [转载] Java——System.exit()用法及个人理解
  9. SDR与DDR的区别
  10. LODOP打印当前日期时间的方法