Oracle RMAN Migrate Database to RAC from Netbackup Tape by LAN-FREE

来源:互联网 发布:淘宝售后客服语言技巧 编辑:程序博客网 时间:2024/05/22 00:19
源数据库与目标数据库均为RAC,数据库备份通过LAN-FREE备份在带库,通过LAN-FREE迁移恢复到RAC。

####################
恢复测试记录
####################
1,NBU服务器上查询备份集信息
c:\Program Files\Veritas\NetBackup\bin>bplist -C lsh51 -t 4 -R /|more

2,找到最新的spfile及控制文件备份
c:\Program Files\Veritas\NetBackup\bin>bplist -C lsh51 -t 4 -R /|more
c-1627203985-20140421-02:\
cntrl_124857_1_845502373:\
c-1627203985-20140421-01:\
al_124855_1_845502164:\
al_124854_1_845502148:\
al_124853_1_845502051:\
al_124852_1_845501975:\
al_124851_1_845501808:\
al_124850_1_845501722:\
al_124849_1_845501626:\
al_124848_1_845501539:\
al_124847_1_845501433:\
al_124846_1_845501326:\
al_124845_1_845501170:\
al_124844_1_845501054:\
al_124843_1_845500967:\
al_124842_1_845500881:\
al_124841_1_845500704:\
al_124840_1_845500608:\
al_124839_1_845500451:\
al_124838_1_845500335:\
al_124837_1_845500229:\
al_124836_1_845500152:\
al_124835_1_845500056:\
al_124834_1_845499869:\
al_124833_1_845499773:\
al_124832_1_845499586:\
al_124831_1_845499586:\
c-1627203985-20140421-00:\
bk_124829_1_845498096:\
bk_124828_1_845497500:\
bk_124827_1_845496704:\
bk_124825_1_845495938:\
bk_124826_1_845495938:\
c-1627203985-20140420-02:\
cntrl_124823_1_845413945:\
c-1627203985-20140420-01:\
al_124821_1_845413680:\
al_124820_1_845413614:\
al_124819_1_845413578:\
al_124818_1_845413511:\
al_124817_1_845413335:\
-- More  --

我们确定最新的spfile和控制文件在c-1627203985-20140421-02里。

3,恢复spfile,我们在LSHNC51上进行操作下面的步骤。
export ORACLE_SID=lshdb1
export NB_ORA_CLIENT=lsh51

手动创建pfilelshdb.ora
db_name='lshdb'

sqlplus / as sysdba
startup nomount pfile='/backup/restore/pfilelshdb.ora';
exit

rman target /
run{
allocate channel t1 type 'SBT_TAPE'
parms="ENV=(NB_ORA_SERV=lshmbjbk,NB_ORA_CLIENT=lsh51)";
restore spfile to '/backup/restore/spfilelshdb002.ora' from 'c-1627203985-20140421-02';
release channel t1;
}

将/backup/restore/spfilelshdb002.ora的内容重定向到initlshdb.ora
strings spfilelshdb002.ora > initlshdb1.ora

创建initlshdb1.ora中需要的目录
LSHNC51
LSHNC52
cd /opt/oracle/product/10.2/db/admin
mkdir lshdb
cd lshdb
mkdir adump
mkdir bdump
mkdir cdump
mkdir udump

添加LISTENERS_LSHDB到tnsnames.ora
LISTENERS_LSHDB =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = LSHNC51-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = LSHNC52-vip)(PORT = 1521))
  )

sqlplus / as sysdba
shutdown immediate;
startup nomount pfile='/backup/restore/initlshdb1.ora';
SQL> create spfile='+DATA/LSHDB/spfilelshdb.ora' from pfile='/backup/restore/initlshdb1.ora';
shutdown immediate;

LSHNC51,LSHNC52创建$ORACLE_HOME/dbs/initlshdb1.ora
SPFILE='+DATA/LSHDB/spfilelshdb.ora'

创建密码文件
orapwd file=orapwlshdb1 password=Oracl3sys
orapwd file=orapwlshdb2 password=Oracl3sys

startup nomount;
SQL> show parameter spfile;

run
{
allocate channel t1 type 'SBT_TAPE'
parms="ENV=(NB_ORA_SERV=lshmbjbk,NB_ORA_CLIENT=lsh51)";
restore controlfile to '/backup/restore/ControlfileLSHDB.ctl' from 'c-1627203985-20140421-02';
release channel t1;
}

run
{
allocate channel t1 type 'SBT_TAPE'
parms="ENV=(NB_ORA_SERV=lshmbjbk,NB_ORA_CLIENT=lsh51)";
restore controlfile from 'c-1627203985-20140421-02';
release channel t1;
}

startup mount;
SQL> select file#,name from v$datafile;

     FILE# NAME
---------- ----------------------------------------------------------------------------------------------------
         1 +DATA/lshdb/datafile/system.275.732386265
         2 +DATA/lshdb/datafile/undotbs1.277.732386265
         3 +DATA/lshdb/datafile/sysaux.276.732386265
         4 +DATA/lshdb/datafile/users.278.732386265
         5 +DATA/lshdb/datafile/undotbs2.283.732386345
         6 +DATA/ncdb/datafile/nnc_data01.dbf
         7 +DATA/ncdb/datafile/nnc_data02.dbf
         8 +DATA/ncdb/datafile/nnc_data03.dbf
         9 +DATA/ncdb/datafile/nnc_index01.dbf
        10 +DATA/ncdb/datafile/nnc_index02.dbf
        11 +DATA/ncdb/datafile/nnc_index03.dbf

     FILE# NAME
---------- ----------------------------------------------------------------------------------------------------
        12 +DATA/ncdb/datafile/iufo.dbf
        13 +DATA/ncdb/datafile/nnc_data01_01.dbf
        14 +DATA/ncdb/datafile/nnc_data01_02.dbf
        15 +DATA/lshdb/datafile/system_02
        16 +DATA/lshdb/datafile/sysaux_02
        17 +DATA/lshdb/datafile/sysaux_03
        18 +DATA/lshdb/datafile/nnc_data03.297.750692883
        19 +DATA/lshdb/datafile/nnc_index03.298.754486381
        20 +DATA/lshdb/datafile/nchistory.299.765797795
        21 +DATA/lshdb/datafile/nnc_index01.300.766146285
        22 +DATA/lshdb/datafile/nnc_data01.301.772739603

     FILE# NAME
---------- ----------------------------------------------------------------------------------------------------
        23 +DATA/lshdb/datafile/nnc_index01.302.779049527

23 rows selected.


run
{
allocate channel t1 type 'SBT_TAPE'
parms="ENV=(NB_ORA_SERV=lshmbjbk,NB_ORA_CLIENT=lsh51)";
allocate channel t2 type 'SBT_TAPE'
parms="ENV=(NB_ORA_SERV=lshmbjbk,NB_ORA_CLIENT=lsh51)";
SET NEWNAME FOR DATAFILE 1 TO '+DATA';
SET NEWNAME FOR DATAFILE 2 TO '+DATA';
SET NEWNAME FOR DATAFILE 3 TO '+DATA';
SET NEWNAME FOR DATAFILE 4 TO '+DATA';
SET NEWNAME FOR DATAFILE 5 TO '+DATA';
SET NEWNAME FOR DATAFILE 6 TO '+DATA';
SET NEWNAME FOR DATAFILE 7 TO '+DATA';
SET NEWNAME FOR DATAFILE 8 TO '+DATA';
SET NEWNAME FOR DATAFILE 9 TO '+DATA';
SET NEWNAME FOR DATAFILE 10 TO '+DATA';
SET NEWNAME FOR DATAFILE 11 TO '+DATA';
SET NEWNAME FOR DATAFILE 12 TO '+DATA';
SET NEWNAME FOR DATAFILE 13 TO '+DATA';
SET NEWNAME FOR DATAFILE 14 TO '+DATA';
SET NEWNAME FOR DATAFILE 15 TO '+DATA';
SET NEWNAME FOR DATAFILE 16 TO '+DATA';
SET NEWNAME FOR DATAFILE 17 TO '+DATA';
SET NEWNAME FOR DATAFILE 18 TO '+DATA';
SET NEWNAME FOR DATAFILE 19 TO '+DATA';
SET NEWNAME FOR DATAFILE 20 TO '+DATA';
SET NEWNAME FOR DATAFILE 21 TO '+DATA';
SET NEWNAME FOR DATAFILE 22 TO '+DATA';
SET NEWNAME FOR DATAFILE 23 TO '+DATA';
SET NEWNAME FOR TEMPFILE 1 TO '+DATA';
restore database;
SWITCH DATAFILE ALL;
SWITCH TEMPFILE ALL;
release channel t1;
release channel t2;
}

set lines 171
select * from v$log;
col member for a100
select group#,member from v$logfile;

set lines 171
SQL> col first_change# for 999,999,999,999
SQL> col next_change# for 999,999,999,999
select thread#,sequence#,first_change#,next_change#,archived,deleted from v$archived_log order by 1,2;
select thread#,sequence#,first_change#,next_change#,archived,deleted from v$archived_log where sequence# in ('250792','250793','410639','410640');
select thread#,sequence#,first_change#,next_change#,archived,BACKUP_COUNT,deleted from v$archived_log where sequence# in ('250792','250793','410639','410640');

set until sequence 410640 thread 2;
set until scn 17343455468;

run
{
allocate channel t1 type 'SBT_TAPE'
parms="ENV=(NB_ORA_SERV=lshmbjbk,NB_ORA_CLIENT=lsh51)";
allocate channel t2 type 'SBT_TAPE'
parms="ENV=(NB_ORA_SERV=lshmbjbk,NB_ORA_CLIENT=lsh51)";
set until sequence 410640 thread 2;
recover database;
release channel t1;
release channel t2;
}

alter database open resetlogs;

注册数据库与实例到CRS,即可。
0 0
原创粉丝点击