logo资料库

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

第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
资料共38页,剩余部分请下载后查看
单实例迁移至 RAC 环境 单实例迁移至 RAC 环境 -------By phoenix(276493290) 1
单实例迁移至 RAC 环境 目录 一、 环境预览 ........................................................................................................................... 3 1.1. 配置预览 ....................................................................................................................... 3 1.1.1、 前期准备工作 ....................................................................................................... 3 1.1.2、 网络服务配置 ....................................................................................................... 3 1.1.2.1、单实例端配置 .................................................................................................... 3 1.1.2.1.2、RAC 端配置 ..................................................................................................... 4 二、克隆方式迁移 ........................................................................................................................... 5 2.1、克隆方式迁移 .................................................................................................................. 5 2.1.1、迁移思路 ............................................................................................................... 5 2.1.2、切换到 RAC 模式 ................................................................................................ 16 2.2、rman 方式迁移 .............................................................................................................. 25 2.2.1、迁移思路 ............................................................................................................. 25 2.2.2、恢复数据库 ......................................................................................................... 26 2.2.3、切换到 RAC 模式 ................................................................................................ 32 2
单实例迁移至 RAC 环境 一、 环境预览 1.1. 配置预览 1.1.1、 前期准备工作 单实例数据库: 数据库版本:11.2.0.3 RAC 数据库: 数据库版本:11.2.0.3 1.1.2、 网络服务配置 1.1.2.1、单实例端配置 tnsnames.ora 配置如下: ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.21)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) target = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.12)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) (UR = A) 3
单实例迁移至 RAC 环境 ) ) 1.1.2.1.2、RAC 端配置 1):修改 grid 用户下的 listener.ora 文件 增加如下内容,增加该内容是为了源端在进行 duplicate 命令时需要重启目标端的数据库, 如果不增加以下内容,那么在启动目标端数据库时会报错,说找不到监听中表述的连接符。 增加以下内容是为了能静态注册数据库,不论数据库是否启动监听总是注册数据库服务名 Su – grid Vi $ORACLE_HOME/network/admin/listener.ora SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = /oracle/product/11.2.1.2) (SID_NAME = orcl) ) ) 注意: 该内容是增加到集群监听文件中,不是 oracle 用户下的监听文件中 4
单实例迁移至 RAC 环境 二、单实例迁移至 RAC 2.1、克隆方式迁移 2.1.1、迁移思路 1. 配置目标端的监听文件,使源端可以连接到目标端。 2. 配置源端的 tnsnames 文件。 3. 源端创建 pfile 文件,根据实际情况修改必要参数并传输到目标端用于启动数据库。 4. 目标端根据修改的参数文件启动数据库。 5. 源端传输密码文件至目标端,防止 rman 在连接目标端时报无权限的错误。 6. 根据修改的参数文件启动目标端。 7. 克隆数据库。 8. 待目标端数据库 open 以后增加第二节点的 undo 和 redo 并开启第二节点。 9. 目标端拷贝一个 RAC 环境的 pfile 文件过来,修改必要参数。 10. 目标端以 RAC 环境的 pfile 文件启动。 11. 目标端根据 pfile 文件创建 spfile 文件(spfile 文件放到共享存储上)。 12. 目标端修改或者而添加 init$ORACLE_SID 文件。 13. 注册数据库到集群。 14. 测试集群能否启停数据库。 2.1.1.1、源端配置(单实例) 1):source 端(192.168.1.10) 创建 pfile 文件并传输到 target(192.168.1.10)端 [oracle@dan ~]$ sqlplus / as sysdba SQL> create pfile='/home/oracle/pfile.ora' from spfile; 2):传输到 target 端 [oracle@dan ~]$ scp pfile.ora oracle@192.168.1.10:/home/oracle/ 3):传输密码文件至 RAC01 节点 [oracle@dan dbs]$ scp orapworcl oracle@192.168.1.10:/oracle/product/11.2.1.2/dbs 2.1.1.2、配置目标端(RAC) 1):修改 pifle 参数文件 [oracle@RAC01 ~]$ cat pfile.ora orcl.__db_cache_size=230686720 5
单实例迁移至 RAC 环境 orcl.__java_pool_size=4194304 orcl.__large_pool_size=4194304 orcl.__oracle_base='/oracle'#ORACLE_BASE set from environment orcl.__pga_aggregate_target=251658240 orcl.__sga_target=369098752 orcl.__shared_io_pool_size=0 orcl.__shared_pool_size=121634816 orcl.__streams_pool_size=0 *.audit_file_dest='/oracle/admin/orcl/adump' *.audit_trail='db' *.compatible='11.2.0.0.0' *.control_files='/oracle/oradata/orcl/control01.ctl','/oracle/oradata/orcl/control02.ctl' *.db_block_size=8192 *.db_domain='' *.db_name='orcl' *.db_recovery_file_dest='/oracle/fast_recovery_area' *.db_recovery_file_dest_size=4322230272 *.diagnostic_dest='/oracle' *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)' *.log_archive_format='%t_%s_%r.dbf' *.memory_target=618659840 *.open_cursors=300 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.undo_tablespace='UNDOTBS1' --修改标红的目录位置,如果没有则创建并且增加以下参数文件 DB_FILE_name_CONVERT=('/oracle/oradata/orcl ','+datavg01/orcl') LOG_FILE_NAME_CONVERT=( '/oracle/oradata/orcl ','+datavg01/orcl ') 该参数的作用是转换数据文件路径 2):创建相应目录 节点 1: [oracle@RAC01 ~]$ mkdir -p /oracle/admin/orcl1/adump [grid@RAC01 ~]$ asmcmd ASMCMD> lsdg ASMCMD> ls ASMCRS/ DATAVG01/ ASMCMD> cd datavg01 ASMCMD> mkdir orcl ASMCMD> 节点 2: [oracle@RAC01 ~]$ mkdir -p /oracle/admin/orcl2/adump 6
单实例迁移至 RAC 环境 2.1.1.3、目标端启动数据库 1):以修改过的 pfile 参数文件启动目标端数据库 SQL> startup nomount pfile=pfile.ora ORACLE instance started. Total System Global Area 617975808 bytes Fixed Size 2230872 bytes Variable Size 381683112 bytes Database Buffers 230686720 bytes Redo Buffers 3375104 bytes [oracle@RAC01 ~]$ lsnrctl status LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 08-OCT-2014 16:12:15 Copyright (c) 1991, 2011, Oracle. All rights reserved. Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production Start Date 08-OCT-2014 15:49:24 Uptime 0 days 0 hr. 22 min. 52 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /grid/asm/network/admin/listener.ora Listener Log File /grid/base/diag/tnslsnr/RAC01/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.10)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.12)(PORT=1521))) Services Summary... Service "+ASM" has 1 instance(s). Instance "+ASM1", status READY, has 1 handler(s) for this service... Service "orcl" has 2 instance(s). Instance "orcl", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully 7
单实例迁移至 RAC 环境 因为数据库没有 mount 所以现在监听是 blocked 状态 2.1.1.4、源端克隆数据库 单实例端执行 [oracle@dan dbs]$ rman target / auxiliary sys/oracle@target Recovery Manager: Release 11.2.0.3.0 - Production on Wed Oct 8 15:29:59 2014 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: ORCL (DBID=1388190232) connected to auxiliary database: ORCL (not mounted) RMAN> duplicate target database to 'orcl' from active database nofilenamecheck; Starting Duplicate Db at 08-OCT-14 using target database control file instead of recovery catalog allocated channel: ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: SID=33 device type=DISK contents of Memory Script: { sql clone "create spfile from memory"; } executing Memory Script sql statement: create spfile from memory contents of Memory Script: { shutdown clone immediate; startup clone nomount; } executing Memory Script Oracle instance shut down connected to auxiliary database (not started) Oracle instance started 8
分享到:
收藏