当前位置: 首页 > news >正文

oracle11g 在azure云中使用rman进行实例迁移




1,開始备份

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

#!/bin/sh
export DATE=`date +%F`
export BACK_DIR='/backupdisk/backup/data'
su - oracle -c "
mkdir -p $BACK_DIR/$DATE
rman log=$BACK_DIR/$DATE/rman_backup.log target / <<EOF
run{
        backup as compressed backupset database
                format '$BACK_DIR/$DATE/full_%d_%T_%s.bak'
        plus archivelog 
                format '$BACK_DIR/$DATE/arch_%d_%T_%s.bak' delete input;
        sql 'alter system archive log current';
}
crosscheck backup;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt expired archivelog all;
delete noprompt obsolete;
exit
EOF
"
su - oracle -c "
chmod 775 $BACK_DIR/$DATE/*
"

#cd /home/pdbcakup/
echo "begin to copy the backup to pd servers." >>  /tmp/oracle_fullback.log
#cp -r $BACK_DIR/$DATE /home/pdbcakup
echo "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-17
rman log=/oracle/backup/data/2016-03-17/rman_backup.log target / <<EOF
run{
        backup as compressed backupset database
                format '\''/oracle/backup/data/2016-03-17/full_%d_%T_%s.bak'\''
        plus archivelog 
                format '\''/oracle/backup/data/2016-03-17/arch_%d_%T_%s.bak'\'' delete input;
        sql '\''alter system archive log current'\'';
}
crosscheck backup;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt expired archivelog all;
delete noprompt obsolete;
exit
EOF
'
RMAN> 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 catalog


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
  Control File Included: Ckp SCN: 31576216     Ckp time: 17-MAR-16


RMAN> 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: POWERDES


RMAN> 


[oracle@test_90 ~]$ rlwrap sqlplus / as sysdba


SQL*Plus: Release 11.2.0.1.0 Production on Thu Mar 17 21:08:32 2016


Copyright (c) 1982, 2009, Oracle.  All rights reserved.




Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> 
SQL> create pfile='/oracle/pfile_20160317.ora' from spfile;


File created.


SQL>


原blog地址: http://blog.csdn.net/mchdba/article/details/50990181,未经过原作者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 immediate
ORA-01507: database not mounted




ORACLE instance shut down.
SQL> startup nomount pfile='/oracle/backup/pfile_20160317.ora';
ORACLE instance started.


Total System Global Area 1603411968 bytes
Fixed Size		    2213776 bytes
Variable Size		 1023412336 bytes
Database Buffers	  570425344 bytes
Redo Buffers		    7360512 bytes
SQL> 



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-16
using channel ORA_DISK_1


channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 17-MAR-16


RMAN> 



6,将数据库状态改成mount:
RMAN> alter database mount
2> ;


database mounted
released channel: ORA_DISK_1


RMAN> 



7,注冊备份文件
RMAN> catalog start with '/oracle/backup/2016-03-17';


Starting implicit crosscheck backup at 17-MAR-16
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=134 device type=DISK
Crosschecked 4 objects
Finished implicit crosscheck backup at 17-MAR-16


Starting implicit crosscheck copy at 17-MAR-16
using channel ORA_DISK_1
Finished implicit crosscheck copy at 17-MAR-16


searching for all files in the recovery area
cataloging files...
no files cataloged


searching for all files that match the pattern /oracle/backup/2016-03-17


List of Files Unknown to the Database
=====================================
File Name: /oracle/backup/2016-03-17/rman_backup.log
File Name: /oracle/backup/2016-03-17/arch_POWERDES_20160317_16.bak
File Name: /oracle/backup/2016-03-17/full_POWERDES_20160317_15.bak
File Name: /oracle/backup/2016-03-17/full_POWERDES_20160317_14.bak


Do you really want to catalog the above files (enter YES or NO)? YES
cataloging files...
cataloging done


List of Cataloged Files
=======================
File Name: /oracle/backup/2016-03-17/arch_POWERDES_20160317_16.bak
File Name: /oracle/backup/2016-03-17/full_POWERDES_20160317_15.bak
File Name: /oracle/backup/2016-03-17/full_POWERDES_20160317_14.bak


List of Files Which Where Not Cataloged
=======================================
File Name: /oracle/backup/2016-03-17/rman_backup.log
  RMAN-07517: Reason: The file header is corrupted


RMAN> 




8。開始运行restore恢复操作。将数据从备份集写入到磁盘上的数据文件中面,还原已经备份的数据文件

RMAN> restore database;


Starting restore at 17-MAR-16
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=133 device type=DISK


channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /data/oracle/orclstu/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /data/oracle/orclstu/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /data/oracle/orclstu/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /data/oracle/orclstu/users01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /data/oracle/orclstu/orclstuk01.dbf
channel ORA_DISK_1: restoring datafile 00006 to /data/oracle/orclstu/plas01.dbf
channel ORA_DISK_1: restoring datafile 00007 to /data/oracle/orclstu/plcrm01.dbf
channel ORA_DISK_1: restoring datafile 00008 to /data/oracle/orclstu/pl01.dbf
channel ORA_DISK_1: restoring datafile 00009 to /data/oracle/orclstu/help01.dbf
channel ORA_DISK_1: reading from backup piece /oracle/backup/2016-03-17/full_POWERDES_20160317_14.bak
channel ORA_DISK_1: piece handle=/oracle/backup/2016-03-17/full_POWERDES_20160317_14.bak tag=TAG20160317T202130
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:14:25
Finished restore at 17-MAR-16


RMAN>



9,应用归档日志恢复数据文件
RMAN> recover database;


Starting recover at 17-MAR-16
using channel ORA_DISK_1


starting media recovery


channel ORA_DISK_1: starting archived log restore to default destination
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=1428
channel ORA_DISK_1: reading from backup piece /oracle/backup/2016-03-17/arch_POWERDES_20160317_16.bak
channel ORA_DISK_1: piece handle=/oracle/backup/2016-03-17/arch_POWERDES_20160317_16.bak tag=TAG20160317T202918
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
archived log file name=/oracle/app/oracle/flash_recovery_area/POWERDES/archivelog/2016_03_17/o1_mf_1_1428_cgog3ons_.arc thread=1 sequence=1428
channel 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=906760822
unable to find archived log
archived log thread=1 sequence=1429
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 03/17/2016 22:00:29
RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 1429 and starting SCN of 31576222


RMAN> 


须要将缺失的归档日志从原始备份库copy到微软云azure的oracle服务器上 ,或者直接恢复到SCN点上:
RMAN> recover database until scn 31576222;


Starting recover at 17-MAR-16
using channel ORA_DISK_1


starting media recovery
media recovery complete, elapsed time: 00:00:00


Finished recover at 17-MAR-16


RMAN> 




10,打开数据库
RMAN> alter database open resetlogs;


database opened


RMAN> 




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 2016


Copyright (c) 1982, 2009, Oracle.  All rights reserved.




Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> 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
----------
	 1


SQL> 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 exist




SQL> 


转载于:https://www.cnblogs.com/llguanli/p/7294618.html

相关文章:

  • Python三种排序算法
  • 最纯粹的直播技术实战02-Camera的处理以及推流
  • 一、MyBatis基本用法——3-Mapper XML映射文件
  • @Autowired和@Resource装配
  • ES6--ArrayBuffer
  • HDU 6078 Wavel Sequence
  • java io
  • 1.spring、mybatis、mysql整合需要的包
  • html行内元素和块级元素及其居中问题
  • 贝叶斯来理解高斯混合模型GMM
  • 键盘输入字符、数字,并判断数是否是2的阶次方数
  • [noip2015 d1t2] 信息传递
  • 【模板】一坨数学算法
  • 单词首字母变大写-vue
  • HDU 5402 Travelling Salesman Problem(棋盘染色 构造 多校啊)
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • Effective Java 笔记(一)
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • k个最大的数及变种小结
  • LeetCode18.四数之和 JavaScript
  • Median of Two Sorted Arrays
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Object.assign方法不能实现深复制
  • React系列之 Redux 架构模式
  • 简单实现一个textarea自适应高度
  • 力扣(LeetCode)357
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 跳前端坑前,先看看这个!!
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • (145)光线追踪距离场柔和阴影
  • (30)数组元素和与数字和的绝对差
  • (4)logging(日志模块)
  • (AngularJS)Angular 控制器之间通信初探
  • (NSDate) 时间 (time )比较
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转) Android中ViewStub组件使用
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • 、写入Shellcode到注册表上线
  • ./configure,make,make install的作用(转)
  • ./configure、make、make install 命令
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET 4.0中的泛型协变和反变
  • .Net Core和.Net Standard直观理解
  • .Net IE10 _doPostBack 未定义
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .Net 代码性能 - (1)
  • .net程序集学习心得