简介

对象存储(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

  1. 前往 Oracle 官网 获取最新版本,安装 OSB。
  2. 将下载的 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

  1. 登录Oracle数据库,并执行如下命令,连接 RMAN。

     
    rman target / 
  2. 执行如下命令,将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 恢复数据库

  1. 关闭Oracle数据库,并置于非挂载状态。

    • 执行如下命令,关闭数据库:

       
      shutdown immediate;
    • 执行如下命令,使数据库至 nomount 状态:
       
      startup nomount;
  2. 通过 rman 命令 list backup 列举出所有的备份文件,选择需要恢复的备份文件,并记录下所选备份文件的句柄(Handle)名称和标记(TAG)值。
  3. 执行如下 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;
    }
  4. 执行如下 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 部分与数据库名有关,根据实际值进行修改,且与备份时一致。
  5. 打开数据库,即可看到从 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的更多相关文章

  1. oracle数据库恢复与备份

    一.oracle数据库恢复 1.恢复刚才删除的一条数据 delete from emp e where e.empname='SMITH' select * from flashback_transa ...

  2. Oracle 12c 的RMAN备份

    备份 rman只备份cdb 只备份CDB数据库需要具有SYSDBA或SYSBACKUP权限用户连接到CDB的root环境下,执行backupdatabase root命令即可完成对CDB的备份,方法如 ...

  3. Windows环境下Oracle数据库的自动备份脚本

    批处理文件(.bat) @echo off echo ================================================ echo  Windows环境下Oracle数据 ...

  4. Oracle数据库的自动备份脚本

    @echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...

  5. Windows环境下Oracle数据库的自动备份脚本自动删除30天前的备份

    @echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...

  6. 利用腾讯云COS云对象存储定时远程备份网站

    版权声明:本文由张戈 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/942851001487125915 来源:腾云阁 h ...

  7. 腾讯云COS对象存储 Web 端直传实践(JAVA实现)

    使用 腾讯云COS对象存储做第三方存储云服务,把一些文件都放在上面,这里主要有三中实现方式:第一种就是在控制台去设置好,直接上传文件.第二种就是走服务端,上传文件,就是说,上传文件是从服务端去上传上去 ...

  8. RAC数据库的RMAN备份异机恢复到单节点数据库

    1.首先在rac环境用rman备份数据库.[oracle@rac1 admin]$ rman target /run{allocate channel c1 device type disk conn ...

  9. 测试oracle数据库的脱机备份和恢复

    环境:windows7.Oracle11g 一.脱机备份 脱机备份是指在数据库关闭情况下的数据备份,也称为冷备份. 在书上学到的备份步骤: 1.记录所要备份数据库文件所在的操作系统路径: 2.关闭数据 ...

  10. mysql数据库及oracle数据库的定时备份

    一.oracle数据库备份bat文件 @echo off md "%date:~0,10%" cd "%date:~0,10%" echo exp 用户名/密码 ...

随机推荐

  1. centos7端口转发工具rinetd

    1.下载软件 wget http://li.nux.ro/download/nux/misc/el7/x86_64/rinetd-0.62-9.el7.nux.x86_64.rpm 2.安装软件 yu ...

  2. golang流程控制if,switch分支

    if 分支 if 单分支 if 条件表达式 { 逻辑代码 } package main import "fmt" func main() { //var a int = 9 //i ...

  3. 解决多行文本超出显示省略号webpack打包后失效的问题

    开发环境没问题: 但是在打包部署后就失效了: 经过对比后发现是因为: 缺少了 -webkit-box-orient: vertical;  导致 解决方案 : /* ! autoprefixer: o ...

  4. webpack5的基本用法

    webpack的基本使用 webpack 本身功能有限: 开发模式: 仅能编译JS中的ES Module 语法 生产模式: 能编译ES Module 语法, 还能压缩JS代码 添加实例文件 npm i ...

  5. Java Development Kit下载地址

    Java Development Kit下载地址 官网下载 一般最新版本无需登录即可下载,其他历史版本需要登录Oracle账户才可以下载. 最新版下载地址: https://www.oracle.co ...

  6. tomcat 闪退 tomcat就是 找不到jre_home 

    Java环境变量 已经配置好了, 但是tomcat就是 找不到jre_home 所有就在 startup.bat 设置启动参数 SET JAVA_HOME=C:\Program Files\Java\ ...

  7. Servlet中使用request转发页面引发的500空指针异常

    多余的不说如果你出现了我下面这张图的异常错误,可以继续看下去: 上面的错误是因为我们使用的转发地址错误引起的,这样他转发的地址不存在,则会出现空指针异常. register.jsp在我的Tomcat的 ...

  8. springcloud day01

    单体架构:业务所有功能都在一个项目中开发,打成一个包部署 优点是架构简单 部署成本低 缺点是 耦合度高 分布式架构:根据业务功能对系统做拆分,每个业务功能模块作为一个独立的项目开发,也称为一个服务 优 ...

  9. vue学习之-----组件递归调用

    1.关键点 2.父组件 <template> <div> <div class="btn-title"> <el-button @clic ...

  10. 08.JSP技术

    一.什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态资源.它与html页面的作用是相同的,显示数据和获取数据.JSP文件的扩展名是.jsp. JSP = htm ...