通過rman實現單實例到rac環境數據庫遷移

 環境

wKiom1UkyAmD_Yr6AAGcCPEAVY8383.jpg

遷移準備

  1. 開啓數據庫歸檔模式

檢查數據庫是否已經開啓歸檔模式

SQL>select log_mode from v$database;


LOG_MODE

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

ARCHIVELOG

(如果爲非歸檔模式需要開啓歸檔模式)

  1. 在源庫中創建backup表並插入一條數據,以便確認遷移是否成功

SQL>create table backup(id number,name varchar2(100));


Tablecreated.


SQL>insert into backup values(1,'Bianca');


1row created.


SQL>commit;


Commit complete.

  1. 使用nocatalog模式進行完全備份

  2. u  源端創建rman備份集目錄

[oracle@test ~]$ mkdir/u01/app/backup

  • nocatalog模式連接數據庫 (記錄dbid

[oracle@test~]$ rman target / nocatalog


RecoveryManager: Release 11.2.0.4.0 - Production on Thu Apr 2 10:14:17 2015


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


connectedto target database: YAYI (DBID=501826307)

using target databasecontrol file instead of recovery catalog

  • 修改參數

RMAN> show all

CONFIGURE RETENTION POLICY TOREDUNDANCY 2;

CONFIGURE CONTROLFILEAUTOBACKUP ON;

  CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FORDEVICE TYPE DISK TO

2> '/u01/app/backup/%F';

  • 完全備份數據庫

RMAN> backup databaseformat '/u01/app/backup/full_%d_%T_%s_P.bak';

RMAN> backup archivelogall format '/u01/app/backup/arch_%d_%T_%s_%p.bak' DELETE INPUT;  

  • 備份後檢查信息

RMAN> list backup summary;



List of Backups

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

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

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

1       B F  A DISK        31-MAR-15       1      1       NO       

TAG20150331T164644

2       B F  A DISK        31-MAR-15       1      1       NO       

TAG20150331T164901

3       B F  A DISK        02-APR-15       1      1       NO       

TAG20150402T102243

4       B F  A DISK        02-APR-15       1      1       NO       

TAG20150402T102705

5       B A  A DISK        02-APR-15       1      1       NO       

TAG20150402T105917

6      B  F  ADISK        02-APR-15       1      1       NO       

TAG20150402T105927


 rac環境中進行數據恢復

  1. 將備份集傳到rac環境中

[oracle@rac1~]$ mkdir /u01/app/backup

[oracle@testapp]$ cd backup/

 [oracle@test backup]$ scp *[email protected]:/u01/app/backup/

[email protected]'spassword:

arch_YAYI_20150402_6_1.bak                  100%   86MB  3.4MB/s   00:25

c-501826307-20150402-00                       100% 9600KB   9.4MB/s 00:01   

full_YAYI_20150402_4_P.bak                    100% 1038MB   2.6MB/s   06:35   

  1. 還原並修改初始化文件

還原spfile

[oracle@rac1~]$ rman target /


RecoveryManager: Release 11.2.0.4.0 - Production on Thu Apr 2 10:48:02 2015


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


connectedto target database (not started)


RMAN>startup nomount;


startupfailed: ORA-01078: failure in processing system parameters

LRM-00109:could not open parameter file

'/u01/app/oracle/product/11.2.0/db_1/dbs/inityayi1.ora'


startingOracle instance without parameter file for retrieval of spfile

Oracleinstance started


TotalSystem Global Area    1068937216 bytes


FixedSize                     2260088 bytes

VariableSize                281019272 bytes

DatabaseBuffers             780140544 bytes

RedoBuffers                   5517312 bytes

 

RMAN>restore spfile to '/u01/app/oracle/product/11.2.0/db_1/dbs/spfileyayi1.ora'from '/u01/app/backup/c-501826307-20150402-01';

查看asm實例中相關參數

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

[grid@rac1~]$ sqlplus / as sysdba


SQL*Plus:Release 11.2.0.4.0 Production on Thu Apr 2 14:21:48 2015


Copyright(c) 1982, 2013, Oracle.  All rightsreserved.



Connectedto:

OracleDatabase 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

Withthe Real Application Clusters and Automatic Storage Management options

 

SQL>select state,redundancy,total_mb,free_mb,name,failgroup from v$asm_disk;


STATE      REDUNDANCY              TOTAL_MB    FREE_MB NAME          

FAILGROUP

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

NORMAL     UNKNOWN                    20473      20077 GRID_0000     

GRID_0000


SQL>select group_number,name,state,total_mb,free_mb from v$asm_diskgroup;


GROUP_NUMBERNAME            STATE        TOTAL_MB    FREE_MB

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

           1 GRID            MOUNTED         20473      20077


使用asmcmd 命令


[grid@rac1~]$ asmcmd

ASMCMD>ls

GRID/

ASMCMD>cd GRID

ASMCMD>ls

rac-cluster/

ASMCMD>

 

創建pfile 修改相關參數

SQL>create pfile from spfile='/u01/app/oracle/product/11.2.0/db_1/dbs/spfileyayi1.ora';


Filecreated.

yayi2.__db_cache_size=381681664

yayi1.__db_cache_size=398458880

yayi2.__java_pool_size=4194304

yayi1.__java_pool_size=4194304

yayi2.__large_pool_size=8388608

yayi1.__large_pool_size=8388608

yayi1.__oracle_base='/u01/app/oracle'#ORACLE_BASEset from environment

yayi2.__oracle_base='/u01/app/oracle'#ORACLE_BASEset from environment

yayi2.__pga_aggregate_target=209715200

yayi1.__pga_aggregate_target=209715200

yayi2.__sga_target=633339904

yayi1.__sga_target=633339904

yayi2.__shared_io_pool_size=0

yayi1.__shared_io_pool_size=0

yayi2.__shared_pool_size=226492416

yayi1.__shared_pool_size=209715200

yayi2.__streams_pool_size=0

yayi1.__streams_pool_size=0

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

*.audit_trail='db'

*.cluster_database=true

*.compatible='11.2.0.4.0'

*.control_files='GRID/yayi/controlfile/current.287.875093245'

*.db_block_size=8192

*.db_create_file_dest='GRID'

*.db_domain=''

*.db_name='yayi'

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

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

*.fal_client='yayi'

*.fal_server='DB11G'

yayi1.instance_number=1

yayi2.instance_number=2

*.log_archive_dest_1='LOCATION=+ARCHDISKVALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=yayi'

*.log_archive_dest_2='SERVICE=db11gASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)  DB_UNIQUE_NAME=db11g'

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

*.pga_aggregate_target=209715200

*.processes=300

*.remote_listener='scan:1521'

*.remote_login_passwordfile='exclusive'

*.sga_target=631242752

*.standby_file_management='AUTO'

yayi2.thread=2

yayi1.thread=1

yayi2.undo_tablespace='UNDOTBS2'

yayi1.undo_tablespace='UNDOTBS1'

 

恢復數據庫

創建spfile到共享存儲下

SQL> createspfile='+GRID/yayi/spfileyayi.ora' frompfile='/u01/app/oracle/product/11.2.0/db_1/dbs/inityayi1.ora';

 

File created.

 

修改pfile指向spfile

SPFILE='+GRID/yayi/spfileyayi.ora'

 

並創建審計文件文件夾

 

啓動到nomount狀態

startupnomount

 

恢復控制文件

RMAN>restore controlfile from '/u01/app/backup/c-501826307-20150402-01';

 

啓動到mount狀態

alter databasemount

 

恢復數據文件

(需要先在制定目錄下創建oradata目錄)

RMAN>restore database;

RMAN>recoverdatabase;

 

以resetlogs機制打開數據庫

alter databaseopen resetlogs

 

 

  1. 3.  檢測

查詢之前插入的數據,確認遷移成功

SQL> select * from backup;

SQL> select* from backup;

 

        ID NAME

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

          1 Bianca


本文爲第一次遷移時生成的文檔,可能還有很多不太完善或者不太準確的地方,以後逐步完善,也請各位大神多提意見,幫助改正,謝謝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章