Oracle DB Upgrade & Migrate from Single 11.1.0.7 to Oracle 11.2.0.3 RAC by rconfig

来源:互联网 发布:程序员试用期个人总结 编辑:程序博客网 时间:2024/05/01 04:45
Oracle 11.1.0.7 Single migarate to Oracle 11.2.0.2 RAC
源   库: Linux 5.5 x64 + Oracle 11.1.0.7 Enterprise x64 Single
目标库: Linux 5.5 x64 + Oracle 11.2.0.3 Enterprise x64 RAC

迁移准备

迁移前,具备RAC安装grid和oracle,并且具有ASM实例和监听(普通监听+scan监听),无需创建RDBMS数据库实例。

升级步骤

1,数据库11.1.0.6升级到11.1.0.7(我自己安装的该补丁和升级)

2,数据库11.1.0.7克隆到RAC节点1,版本为11.1.0.7

3,数据库11.1.0.7在RAC节点1升级到11.2.0.3,使用dbua升级。

4,数据库11.2.0.3 Single迁移到11.2.0.3 RAC

迁移步骤

1,修改init文件,将Single的init文件修改成RAC的init文件,并利用修改后的init文件在ASM中创建新的spfile。

a, 进入节点1的oracle(这里我使用的是oraprod账户)环境变量,确保ORACLE_SID, ORACLE_HOME正确。

SQL> create spfile='+DATADG/PROD/PARAMETERFILE/spfileprod.ora' from pfile='/home/oraprod/migrate/initprod.ora';

b, 修改2个节点在$ORACLE_HOME/dbs下的initprod.ora

SPFILE='+DATADG/PROD/PARAMETERFILEspfileprod.ora'

2,在2个节点上创建与单实例相同的一些目录,迁移时需要用到这些目录,等迁移成功后再将这些目录修改掉。

比如:audit_file_dest,background_dump_dest,core_dump_dest,user_dump_dest,log_archive_dest_1等涉及到一些目录。

3,使用rconfig进行迁移,在源库环境变量下进行。

rconfig官方文档

http://docs.oracle.com/cd/E11882_01/install.112/e24660/cvrt2rac.htm#RILIN1159

ConvertToRAC.xml

<?xml version="1.0" encoding="UTF-8"?><n:RConfig xmlns:n="http://www.oracle.com/rconfig"           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"           xsi:schemaLocation="http://www.oracle.com/rconfig rconfig.xsd">    <n:ConvertToRAC>   <!-- Verify does a precheck to ensure all pre-requisites are met, before the conversion is attempted. Allowable values are: YES|NO|ONLY --><n:Convert verify="ONLY"><!--Specify current OracleHome of non-rac database for SourceDBHome -->      <n:SourceDBHome>/prod/oracle/product/11.2.0/db_1</n:SourceDBHome><!--Specify OracleHome where the rac database should be configured. It can be same as SourceDBHome -->      <n:TargetDBHome>/prod/oracle/product/11.2.0/db_1</n:TargetDBHome><!--Specify SID of non-rac database and credential. User with sysdba role is required to perform conversion -->              <n:SourceDBInfo SID="prod">        <n:Credentials>          <n:User>sys</n:User>          <n:Password>amaxgs</n:Password>          <n:Role>sysdba</n:Role>        </n:Credentials>      </n:SourceDBInfo><!--Specify the list of nodes that should have rac instances running for the Admin Managed Cluster Database. LocalNode should be the first node in this nodelist. -->      <n:NodeList>                <n:Node name="q1ebsdb01"/>        <n:Node name="q1ebsdb02"/>      </n:NodeList><!--Specify RacOneNode along with servicename to convert database to RACOne Node -->              <!--n:RacOneNode  servicename="salesrac1service"/--><!--Instance Prefix tag is optional starting with 11.2. If left empty, it is derived from db_unique_name.-->      <n:InstancePrefix>prod</n:InstancePrefix><!-- Listener details are no longer needed starting 11.2. Database is registered with default listener and SCAN listener running from Oracle Grid Infrastructure home. --><!--Specify the type of storage to be used by rac database. Allowable values are CFS|ASM. The non-rac database should have same storage type. ASM credentials are no needed for conversion. -->      <n:SharedStorage type="ASM"><!--Specify Database Area Location to be configured for rac database.If this field is left empty, current storage will be used for rac database. For CFS, this field will have directory path. -->        <n:TargetDatabaseArea>+DATADG</n:TargetDatabaseArea><!--Specify Fast Recovery Area to be configured for rac database. If this field is left empty, current recovery area of non-rac database will be configured for rac database. If current database is not using recovery Area, the resulting rac database will not have a recovery area. -->        <n:TargetFlashRecoveryArea>+FRADG</n:TargetFlashRecoveryArea>      </n:SharedStorage>        </n:Convert>    </n:ConvertToRAC></n:RConfig>

[oraprod@q1ebsdb01 migrate]$ pwd/home/oraprod/migrate[oraprod@q1ebsdb01 migrate]$ set|grep ORAORACLE_BASE=/prod/oracleORACLE_HOME=/prod/oracle/product/11.2.0/db_1ORACLE_SID=prodORACLE_TERM=xtermORA_NLS10=/prod/oracle/product/11.2.0/db_1/nls/data/9idata[oraprod@q1ebsdb01 migrate]$[oraprod@q1ebsdb01 migrate]$ rconfig ConvertToRAC_readonly.xml<?xml version="1.0" ?><RConfig version="1.1" ><ConvertToRAC>    <Convert>      <Response>        <Result code="0" >          Operation Succeeded        </Result>      </Response>      <ReturnValue type="object">There is no return value for this step     </ReturnValue>    </Convert>  </ConvertToRAC></RConfig>[oraprod@q1ebsdb01 migrate]$ rconfig ConvertToRAC_yes.xmlConverting Database "prod" to Cluster Database. Target Oracle Home: /prod/oracle/product/11.2.0/db_1. Database Role: PRIMARY.Setting Data Files and Control FilesAdding Database InstancesAdding Redo LogsEnabling threads for all Database InstancesSetting TEMP tablespaceAdding UNDO tablespacesAdding Trace filesSetting Fast Recovery AreaUpdating OratabCreating Password file(s)Configuring ListenersConfiguring related CRS resourcesStarting Cluster Database<?xml version="1.0" ?><RConfig version="1.1" ><ConvertToRAC>    <Convert>      <Response>        <Result code="0" >          Operation Succeeded        </Result>      </Response>      <ReturnValue type="object"><Oracle_Home>         /prod/oracle/product/11.2.0/db_1       </Oracle_Home>       <Database type="ADMIN_MANAGED"  >         <InstanceList>           <Instance SID="prod1" Node="q1ebsdb01"  >           </Instance>           <Instance SID="prod2" Node="q1ebsdb02"  >           </Instance>         </InstanceList>       </Database>     </ReturnValue>    </Convert>  </ConvertToRAC></RConfig>
4,修改2中提到的一些目录,因为这些跟踪文件迁移时保留原来的路径,当迁移完成时,再进行修改成新的目录(否则在做rconfig检查时会报错)。
SQL> alter system set diagnostic_dest='/prod/oracle' scope=both sid='*';
SQL> alter system set audit_file_dest='/prod/oracle/admin/prod/adump' scope=spfile sid='*';
System altered.
SQL> show parameter audit_file_dest
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest                      string      /u01/app/oracle/admin/prod/adump
SQL> alter system set log_archive_dest_1='LOCATION=+FRADG' scope=both sid='*';
System altered.                                                
需要重启数据库后者才能生效。
原创粉丝点击