实践:Oracle 数据库基于 RMAN 备份至 腾讯云COS
简介
对象存储(COS)海量容量无上限,自动沉降归档存储类型和深度归档存储类型,媲美磁带的成本,特别适合备份归档场景。
当前,越来越多客户选择备份上云;而 Oracle 备份模块实现了和 腾讯云COS 的对接,基于 COS 来实现低成本的数据库备份和恢复成为优选。
OSB 对接腾讯云 COS
Oracle 的 Oracle Secure Backup Cloud Module 模块,是 Oracle Secure Backup(OSB) 产品家族的一员,实现与 腾讯云COS 的对接,将 Oracle 数据库备份上云,直接备份到腾讯云 COS。Oracle Secure Backup Cloud Module 模块并与 RMAN 功能实现整合,用户可以自定义 RMAN 脚本,高效将 Oracle 数据库直接备份到腾讯云 COS。
注意:目前腾讯云有COS特惠活动,新人1元起
安装 OSB
- 前往 Oracle 官网 获取最新版本,安装 OSB。
- 将下载的 osbws_installer.zip 压缩包解压,并根据实际 COS 服务的 SecretId、SecretKey、地域和 endpoint 参数配置,执行如下命令,安装 OSB。
注意:java -jar osbws_install.jar -AWSID <SecretId> -AWSKey <SecretKey> -walletDir $ORACLE_HOME/osbws_wallet -libDir $ORACLE_HOME/lib -location <地域> -awsEndPoint <endpoint> // 根据压缩包的存放目录进行替换
例如:
java -jar osbws_install.jar -AWSID AKIDxxxx -AWSKey XXXX -walletDir $ORACLE_HOME/osbws_wallet -libDir $ORACLE_HOME/lib -location ap-guangzhou -awsEndPoint cos.ap-guangzhou.myqcloud.com
说明:Oracle 12及以上版本自带了 OSB 模块,如果安装时长时间 download 无反应,可以考虑去官网下载最新 OSB 模块进行安装,或使用代理服务器进行安装。
RMAN 进行数据库备份到 COS
- 登录Oracle数据库,并执行如下命令,连接 RMAN。
rman target /
- 执行如下命令,将Oracle数据库备份到 COS 存储桶。其中
lib/libcos.so
和cosorcl.ora
部分与数据库名有关,请根据实际值进行修改。
run {
allocate channel ch1 type
sbt parms='SBT_LIBRARY=/u01/app/oracle/product/11.2.0/dbhome_1/lib/libcos.so,
SBT_PARMS=(OSB_WS_PFILE=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/cosorcl.ora)';
backup channel=ch1 database format='ora_%d_%I_%T_%s_%t_%c_%p.dbf' plus archivelog;
backup channel=ch1 current controlfile format='%d_%I_%T_%s_%t_%c_%p.conf';
backup channel=ch1 spfile format='ora_%d_%I_%T_%s_%t_%c_%p.spf' ;
release channel ch1;
}
RMAN 从 COS 恢复数据库
- 关闭Oracle数据库,并置于非挂载状态。
- 执行如下命令,关闭数据库:
shutdown immediate;
- 执行如下命令,使数据库至 nomount 状态:
startup nomount;
- 执行如下命令,关闭数据库:
- 通过 rman 命令 list backup 列举出所有的备份文件,选择需要恢复的备份文件,并记录下所选备份文件的句柄(Handle)名称和标记(TAG)值。
- 执行如下 restore 命令,关联备份文件。
关联句柄为 “ORACLE_1880733115_20190507_5_1007656283_1_1.conf” 的备份文件,通过 list backup 获取。其中lib/libcos.so
和cosorcl.ora
部分与数据库名有关,可根据实际值进行修改,且与备份时一致。
run {
allocate channel ch1 type
sbt parms='SBT_LIBRARY=/u01/app/oracle/product/11.2.0/dbhome_1/lib/libcos.so,
SBT_PARMS=(OSB_WS_PFILE=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/cosorcl.ora)';
restore controlfile from 'ORACLE_1880733115_20190507_5_1007656283_1_1.conf';
release channel ch1;
} - 执行如下 restore 命令,将数据库切换至 mount 状态 alter database mount。
run { allocate channel ch1 type
sbt parms='SBT_LIBRARY=/u01/app/oracle/product/11.2.0/dbhome_1/lib/libcos.so,
SBT_PARMS=(OSB_WS_PFILE=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/cosorcl.ora)';
restore database from tag='TAG20190507T163102';
recover database from tag='TAG20190507T163102';
release channel ch1;
}- 其中 TAG20190507T163102 的 tag 值相当于每个备份的 ID 号,通过 list backup 获取,需要确保与前面恢复的控制文件是一致的,即是句柄为 “ORACLE_1880733115_20190507_5_1007656283_1_1.conf” 备份文件的 tag。
- 其中
lib/libcos.so
和cosorcl.ora
部分与数据库名有关,根据实际值进行修改,且与备份时一致。
- 打开数据库,即可看到从 COS 上恢复的数据。
修改 RMAN 并发配置
说明:RMAN 默认无并发,需要手动修改。
登录 RMAN,修改并发参数配置,此处以并发数15为例:
run {
configure channel device type sbt parms='SBT_LIBRARY=/u01/app/oracle/product/11.2.0/dbhome_1/lib/libcos.so ENV=(OSB_WS_PFILE=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/cosorcl.ora)';
configure default device type to SBT;
configure device type SBT parallelism 15;
}
实践:Oracle 数据库基于 RMAN 备份至 腾讯云COS的更多相关文章
- oracle数据库恢复与备份
一.oracle数据库恢复 1.恢复刚才删除的一条数据 delete from emp e where e.empname='SMITH' select * from flashback_transa ...
- Oracle 12c 的RMAN备份
备份 rman只备份cdb 只备份CDB数据库需要具有SYSDBA或SYSBACKUP权限用户连接到CDB的root环境下,执行backupdatabase root命令即可完成对CDB的备份,方法如 ...
- Windows环境下Oracle数据库的自动备份脚本
批处理文件(.bat) @echo off echo ================================================ echo Windows环境下Oracle数据 ...
- Oracle数据库的自动备份脚本
@echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...
- Windows环境下Oracle数据库的自动备份脚本自动删除30天前的备份
@echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...
- 利用腾讯云COS云对象存储定时远程备份网站
版权声明:本文由张戈 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/942851001487125915 来源:腾云阁 h ...
- 腾讯云COS对象存储 Web 端直传实践(JAVA实现)
使用 腾讯云COS对象存储做第三方存储云服务,把一些文件都放在上面,这里主要有三中实现方式:第一种就是在控制台去设置好,直接上传文件.第二种就是走服务端,上传文件,就是说,上传文件是从服务端去上传上去 ...
- RAC数据库的RMAN备份异机恢复到单节点数据库
1.首先在rac环境用rman备份数据库.[oracle@rac1 admin]$ rman target /run{allocate channel c1 device type disk conn ...
- 测试oracle数据库的脱机备份和恢复
环境:windows7.Oracle11g 一.脱机备份 脱机备份是指在数据库关闭情况下的数据备份,也称为冷备份. 在书上学到的备份步骤: 1.记录所要备份数据库文件所在的操作系统路径: 2.关闭数据 ...
- mysql数据库及oracle数据库的定时备份
一.oracle数据库备份bat文件 @echo off md "%date:~0,10%" cd "%date:~0,10%" echo exp 用户名/密码 ...
随机推荐
- HTTP知识点
HTTP 请求/响应的步骤:(工作原理) 客户端连接到 Web 服务器 一个 HTTP 客户端,通常是浏览器,与 Web 服务器的 HTTP 端口(默认为 80)建立一个 TCP 套接字连接.例如,h ...
- 【面试必备】 【ES6】学Vue前必须掌握的内容(上)
变量声明 采用 let 和 const 分别声明变量和常量. 不用var所以不存在变量提升. 解构 ① 数组解构[ ] 等号左边允许存在默认值.变量的取值按照顺序. //之前的写法 var arr=[ ...
- JMeter压力测试之环境搭建、脚本调试及报错解决方法(Linux版)
一.环境部署 后续往服务器上传文件,本文中使用的是xftp,因其不是本文所要讲述的重点,这里不做详解. 第一步:安装所需要版本的JDK,本次使用的是JDK 1.8 下载地址:http://www.or ...
- Linux 搭建Apache(httpd)服务
简介:Apache HTTP Server是开源软件项目,基于标准的HTTP网络协议提供的网页浏览服务,http是Apache服务器的主程序,它是一个独立的后台进程. 1. 安装 A. 安装httpd ...
- C# 设置桌面为父窗口
#region 设置桌面为父窗口 IntPtr hDesktop; public const int GW_CHILD = 5; public IntPtr GetDesktopHandle(Desk ...
- node 版本管理器 nvs
node 总是在不断的升级,以前老项目在运行时可能会报错 我遇到了一个 PostCSS received undefined instead of CSS string 查了下可能是node-sass ...
- signalR从外部服务中推送消息和全局参数的设置
在前面的章节中,我们都是采用两方模式, 客户端 <-> 服务端,也就是说在这种情况下如果有第三方如果有通知的没有办法插足的,下面解决方案 1:和之前的代码一样,在index页面加一个客户端 ...
- TP开发项目时遇到的问题记录
1.下载功能. TP自带Http下载类,使用时new一个就行,示例代码: public function download(){ //接收公文id $id = I('get.fid'); //根据公文 ...
- 26 docker 安装 solr
准备一台已经安装过docker的服务器 获得solr镜像 #可以指定版本 docker pull solr:7.5.0docker pull solr:7.7.3 创建数据挂载文件夹 允许访问权限 s ...
- nginx(一) の 入门解析
OSI 模型的前三层 应用层: 每一个应用程序自定义的协议 表示层: 数据的压缩与解压缩.图片的编码与解码 会话层: 会话管理(session) 和 网络验证 .包括断点续传和服务器验证用户登录等.比 ...