博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle11g 在azure云中使用rman进行实例迁移
阅读量:6307 次
发布时间:2019-06-22

本文共 9892 字,大约阅读时间需要 32 分钟。

1,開始备份

备份脚本rman_full_backup.sh内容例如以下

#!/bin/shexport DATE=`date +%F`export BACK_DIR='/backupdisk/backup/data'su - oracle -c "mkdir -p $BACK_DIR/$DATErman log=$BACK_DIR/$DATE/rman_backup.log target / <
> /tmp/oracle_fullback.log#cp -r $BACK_DIR/$DATE /home/pdbcakupecho "end to copy the backup to pd server." >> /tmp/oracle_fullback.log

备份步骤例如以下所看到的:

[root@test_90 ~]# bash -x /oracle/backup/scripts/rman_full_backup.sh++ date +%F+ export DATE=2016-03-17+ DATE=2016-03-17+ export BACK_DIR=/oracle/backup/data+ BACK_DIR=/oracle/backup/data+ su - oracle -c 'mkdir -p /oracle/backup/data/2016-03-17rman log=/oracle/backup/data/2016-03-17/rman_backup.log target / <
2> 3> 4> 5> 6> 7> RMAN> RMAN> RMAN> RMAN> RMAN> RMAN> + su - oracle -c 'chmod 775 /oracle/backup/data/2016-03-17/*'+ echo 'begin to copy the backup to pd servers.'+ echo 'end to copy the backup to pd server.'[root@test_90 ~]# ll
2,查看备份的文件文件夹
RMAN> list backup of controlfile;using target database control file instead of recovery catalogList of Backup Sets===================BS Key  Type LV Size       Device Type Elapsed Time Completion Time------- ---- -- ---------- ----------- ------------ ---------------6       Full    1.05M      DISK        00:00:01     17-MAR-16              BP Key: 6   Status: AVAILABLE  Compressed: YES  Tag: TAG20160317T202130        Piece Name: /oracle/backup/data/2016-03-17/full_POWERDES_20160317_15.bak  Control File Included: Ckp SCN: 31576216     Ckp time: 17-MAR-16RMAN> list backup of spfile;List of Backup Sets===================BS Key  Type LV Size       Device Type Elapsed Time Completion Time------- ---- -- ---------- ----------- ------------ ---------------6       Full    1.05M      DISK        00:00:01     17-MAR-16              BP Key: 6   Status: AVAILABLE  Compressed: YES  Tag: TAG20160317T202130        Piece Name: /oracle/backup/data/2016-03-17/full_POWERDES_20160317_15.bak  SPFILE Included: Modification time: 17-MAR-16  SPFILE db_unique_name: POWERDESRMAN> [oracle@test_90 ~]$ rlwrap sqlplus / as sysdbaSQL*Plus: Release 11.2.0.1.0 Production on Thu Mar 17 21:08:32 2016Copyright (c) 1982, 2009, Oracle.  All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> SQL> create pfile='/oracle/pfile_20160317.ora' from spfile;File created.SQL>

原blog地址: ,未经过原作者mchdba(黄杉)允许。谢绝转载。

3,传输
[oracle@test_90 ~]$ scp -P50390 -r /oracle/pfile_20160317.ora 2016-03-17 192.168.237.46:/oracle/backup/The authenticity of host '[192.168.237.46]:50390 ([192.168.237.46]:50390)' can't be established.RSA key fingerprint is c0:1c:30:8a:bd:8c:90:b2:af:57:1d:29:ab:1f:90:f9.Are you sure you want to continue connecting (yes/no)?

yes Warning: Permanently added '[192.168.237.46]:50390' (RSA) to the list of known hosts. oracle@192.168.237.46's password: pfile_20160317.ora 100% 1008 1.0KB/s 00:00 [oracle@test_90 ~]$ [oracle@test_90 data]$ scp -P50390 -r 2016-03-17 192.168.237.46:/oracle/backup/ oracle@192.168.237.46's password: full_POWERDES_20160317_14.bak 100% 1914MB 4.7MB/s 06:49 full_POWERDES_20160317_15.bak 100% 1088KB 1.1MB/s 00:00 arch_POWERDES_20160317_16.bak 100% 180KB 179.5KB/s 00:00 rman_backup.log 100% 6331 6.2KB/s 00:00 [oracle@test_90 data]$

4,去目标库上nomount方式启动数据库
SQL> shutdown immediateORA-01507: database not mountedORACLE instance shut down.SQL> startup nomount pfile='/oracle/backup/pfile_20160317.ora';ORACLE instance started.Total System Global Area 1603411968 bytesFixed Size		    2213776 bytesVariable Size		 1023412336 bytesDatabase Buffers	  570425344 bytesRedo Buffers		    7360512 bytesSQL>
5,恢复控制文件
RMAN> restore controlfile to '/oracle/app/oracle/orclstu/control01.ctl' from '/oracle/backup/2016-03-17/full_POWERDES_20160317_15.bak';Starting restore at 17-MAR-16using channel ORA_DISK_1channel ORA_DISK_1: restoring control filechannel ORA_DISK_1: restore complete, elapsed time: 00:00:01Finished restore at 17-MAR-16RMAN>
6,将数据库状态改成mount:
RMAN> alter database mount2> ;database mountedreleased channel: ORA_DISK_1RMAN>
7,注冊备份文件
RMAN> catalog start with '/oracle/backup/2016-03-17';Starting implicit crosscheck backup at 17-MAR-16allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=134 device type=DISKCrosschecked 4 objectsFinished implicit crosscheck backup at 17-MAR-16Starting implicit crosscheck copy at 17-MAR-16using channel ORA_DISK_1Finished implicit crosscheck copy at 17-MAR-16searching for all files in the recovery areacataloging files...no files catalogedsearching for all files that match the pattern /oracle/backup/2016-03-17List of Files Unknown to the Database=====================================File Name: /oracle/backup/2016-03-17/rman_backup.logFile Name: /oracle/backup/2016-03-17/arch_POWERDES_20160317_16.bakFile Name: /oracle/backup/2016-03-17/full_POWERDES_20160317_15.bakFile Name: /oracle/backup/2016-03-17/full_POWERDES_20160317_14.bakDo you really want to catalog the above files (enter YES or NO)? YEScataloging files...cataloging doneList of Cataloged Files=======================File Name: /oracle/backup/2016-03-17/arch_POWERDES_20160317_16.bakFile Name: /oracle/backup/2016-03-17/full_POWERDES_20160317_15.bakFile Name: /oracle/backup/2016-03-17/full_POWERDES_20160317_14.bakList of Files Which Where Not Cataloged=======================================File Name: /oracle/backup/2016-03-17/rman_backup.log  RMAN-07517: Reason: The file header is corruptedRMAN>
8。開始运行restore恢复操作。将数据从备份集写入到磁盘上的数据文件中面,还原已经备份的数据文件

RMAN> restore database;Starting restore at 17-MAR-16using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: SID=133 device type=DISKchannel ORA_DISK_1: starting datafile backup set restorechannel ORA_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_DISK_1: restoring datafile 00001 to /data/oracle/orclstu/system01.dbfchannel ORA_DISK_1: restoring datafile 00002 to /data/oracle/orclstu/sysaux01.dbfchannel ORA_DISK_1: restoring datafile 00003 to /data/oracle/orclstu/undotbs01.dbfchannel ORA_DISK_1: restoring datafile 00004 to /data/oracle/orclstu/users01.dbfchannel ORA_DISK_1: restoring datafile 00005 to /data/oracle/orclstu/orclstuk01.dbfchannel ORA_DISK_1: restoring datafile 00006 to /data/oracle/orclstu/plas01.dbfchannel ORA_DISK_1: restoring datafile 00007 to /data/oracle/orclstu/plcrm01.dbfchannel ORA_DISK_1: restoring datafile 00008 to /data/oracle/orclstu/pl01.dbfchannel ORA_DISK_1: restoring datafile 00009 to /data/oracle/orclstu/help01.dbfchannel ORA_DISK_1: reading from backup piece /oracle/backup/2016-03-17/full_POWERDES_20160317_14.bakchannel ORA_DISK_1: piece handle=/oracle/backup/2016-03-17/full_POWERDES_20160317_14.bak tag=TAG20160317T202130channel ORA_DISK_1: restored backup piece 1channel ORA_DISK_1: restore complete, elapsed time: 00:14:25Finished restore at 17-MAR-16RMAN>

9,应用归档日志恢复数据文件
RMAN> recover database;Starting recover at 17-MAR-16using channel ORA_DISK_1starting media recoverychannel ORA_DISK_1: starting archived log restore to default destinationchannel ORA_DISK_1: restoring archived logarchived log thread=1 sequence=1428channel ORA_DISK_1: reading from backup piece /oracle/backup/2016-03-17/arch_POWERDES_20160317_16.bakchannel ORA_DISK_1: piece handle=/oracle/backup/2016-03-17/arch_POWERDES_20160317_16.bak tag=TAG20160317T202918channel ORA_DISK_1: restored backup piece 1channel ORA_DISK_1: restore complete, elapsed time: 00:00:03archived log file name=/oracle/app/oracle/flash_recovery_area/POWERDES/archivelog/2016_03_17/o1_mf_1_1428_cgog3ons_.arc thread=1 sequence=1428channel default: deleting archived log(s)archived log file name=/oracle/app/oracle/flash_recovery_area/POWERDES/archivelog/2016_03_17/o1_mf_1_1428_cgog3ons_.arc RECID=2 STAMP=906760822unable to find archived logarchived log thread=1 sequence=1429RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of recover command at 03/17/2016 22:00:29RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 1429 and starting SCN of 31576222RMAN>
须要将缺失的归档日志从原始备份库copy到微软云azure的oracle服务器上 ,或者直接恢复到SCN点上:
RMAN> recover database until scn 31576222;Starting recover at 17-MAR-16using channel ORA_DISK_1starting media recoverymedia recovery complete, elapsed time: 00:00:00Finished recover at 17-MAR-16RMAN>
10,打开数据库
RMAN> alter database open resetlogs;database openedRMAN>
11,验证数据库
[oracle@yueworldoracle_crm admin]$ more tnsnames.ora # tnsnames.ora Network Configuration File: /oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora# Generated by Oracle configuration tools.POWERDES =  (DESCRIPTION =    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))    (CONNECT_DATA =      (SERVER = DEDICATED)      (SERVICE_NAME = orclstu)    )  )CRM390 =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.158.3.91)(PORT = 1521))    )    (CONNECT_DATA =      (SERVICE_NAME = orclstu)    )  )[oracle@yueworldoracle_crm admin]$ [oracle@yueworldoracle_crm admin]$ rlwrap sqlplus orclstuk/pa1624390@CRM390;SQL*Plus: Release 11.2.0.1.0 Production on Thu Mar 17 22:15:41 2016Copyright (c) 1982, 2009, Oracle.  All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> create table z_te(id number);Table created.SQL> insert into z_te(id)values(1);1 row created.SQL> commit;Commit complete.SQL> select * from z_te;	ID----------	 1SQL> drop table z_te;Table dropped.SQL> select * from z_te;select * from z_te              *ERROR at line 1:ORA-00942: table or view does not existSQL>
你可能感兴趣的文章
云服务正在吞噬世界!
查看>>
阅读Android源码的一些姿势
查看>>
Web语义化标准解读
查看>>
一份代码构建移动、桌面、Web全平台应用
查看>>
高性能 Lua 技巧(译)
查看>>
区分指针、变量名、指针所指向的内存
查看>>
异步编程的世界
查看>>
最近话题火爆的四件事你知道不?
查看>>
SpringBoot整合MyBatis
查看>>
云计算产业如何率先推行信用管理?
查看>>
Android 类库书签更新(一)
查看>>
Unity3D Input按键系统
查看>>
简单的一条SQL,不简单的做事思维 NOT IN 、NOT EXISTS、LEFT JOIN用法差别 ...
查看>>
DataWorks:任务未运行自助排查
查看>>
ionic/cordova热部署
查看>>
「镁客早报」特斯拉裁员,马斯克解释没有办法;微软推出Azure DevOps赏金计划...
查看>>
Flink入坑指南第五章 - 语法糖 view
查看>>
centos 7.4 使用 pgxc_ctl 安装与使用
查看>>
Redis 单key值过大 优化方式
查看>>
【数据库】表分区
查看>>