热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

基于RMAN的异机数据库克隆(rmanduplicate)-mysql教程

实现这个功能我们可以借助rmanduplicate方式以及其简单的方式来完成。duplicate方式不同于OS级别的备份,它会为辅助数据库(克隆

实现这个功能我们可以借助rman duplicate方式以及其简单的方式来完成。duplicate方式不同于OS级别的备份,它会为辅助数据库(克隆

对于基于生产环境下的数据库的版本升级或者测试新的应用程序的性能及其影响,备份恢复等等,我们可以采取从生产环境以克隆的方式将其克隆到本地而不影响生产数据库的正常使用。实现这个功能我们可以借助rman duplicate方式以及其简单的方式来完成。duplicate方式不同于OS级别的备份,它会为辅助数据库(克隆出来的数据库)生成一个新的dbid,而能够同时将目标数据库(原数据库)与辅助数据库注册到同一个恢复目录。本文描述了使用rman duplicate实现异机数据库克隆。

1、RMAN支持的duplicate类型

支持基于备份的duplicate方式,其中该方式又分为连接到target DB与不连接target DB,不连接target DB又分为连接到catalog与不连接catalog

支持基于活动数据库的duplicate方式。更多关于duplicate的描述及duplicate步骤,请参考:基于RMAN的同机数据库克隆

这两种方式可以使用下面的图示简要描述。

基于RMAN的异机数据库克隆(rman duplicate)

2、RMAN异机恢复示意图

下面的图示是没有连接到target DB,也没有连接到recover catalog方式。基于这种方式实现duplicate,应指定备份文件所在的位置。

本文下面所演示的试验也是基于该方式,在演示的过程中,磁盘路径,目录,数据文件使用了相同的位置与文件名。

对于不同位置的duplicate情形,需要对文件位置进行转换,可参考: RMAN 数据库克隆文件位置转换方法

基于RMAN的异机数据库克隆(rman duplicate)

3、实战RMAN异机克隆

--环境:
--目标数据库: 192.168.7.25/sybo3 /u01/database/sybo3 主机名:linux3
--辅助数据库: 192.168.7.26/sybo3 /u01/database/sybo3 主机名:linux4 目标数据库与辅助数据库使用相同的文件位置
--说明:
--本次演示使用了备份文件,没有连接到catalog,也没有连接到target DB。
--对于下面描述过程中,如创建参数文件,密码文件,监听等等有不甚了解的,可参考下面链接中有关文章的描述。

Oracle 联机重做日志文件(ONLINE redo LOG FILE) 详述

RMAN 还原归档日志(restore archivelog)

基于 RMAN 的同机数据库克隆

Oracle RMAN 清除归档日志

Oracle 基于 RMAN 的不完全恢复(incomplete recovery by RMAN)

RMAN 提示符下执行SQL语句

[oracle@linux3 database]$ cat /etc/issue
Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
Kernel \r on an \m

SQL> select * from v$version where rownum<2;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production


a、备份及ftp目标数据库
--目标数据库存在的表及其内容,用于后续验证
SQL> select * from t;

NAME ACTION
---------- --------------------
Robinson Transfer DB
Jackson Transfer DB by rman

--下面备份目标数据库并ftp到辅助数据库所在的主机
$ export ORACLE_SID=sybo3
$ rman target /
RMAN> backup database include current controlfile plus archivelog delete input;
$ scp -r fra 192.168.7.26:/u01/database/sybo3/ -->如果有必要将将备份文件打包,此处fra目录是闪回区

--Author : Robinson
--Blog :

--ftp参数文件,如果没有pfile文件,可从target db生成。 create pfile from spfile;
$ scp $ORACLE_HOME/dbs/initsybo3.ora 192.168.7.26:$ORACLE_HOME/dbs


b、创建相应的dump文件夹
[oracle@linux4 database]$ more sybo3.sh
#!/bin/sh
mkdir -p /u01/database
mkdir -p /u01/database/sybo3/adump
mkdir -p /u01/database/sybo3/controlf
mkdir -p /u01/database/sybo3/fra
mkdir -p /u01/database/sybo3/oradata
mkdir -p /u01/database/sybo3/redo
mkdir -p /u01/database/sybo3/dpdump
mkdir -p /u01/database/sybo3/pfile
[oracle@linux4 database]$ ./sybo3.sh


c、配置辅助实例参数文件
--由于auxiliary DB与target DB不存在文件位置转换,因此无需作任何修改。下面是target DB 复制到auxiliary的参数文件内容
[oracle@linux4 ~]$ more /u01/oracle/db_1/dbs/initsybo3.ora
sybo3.__db_cache_size=113246208
sybo3.__java_pool_size=4194304
sybo3.__large_pool_size=4194304
sybo3.__oracle_base='/u01/oracle'#ORACLE_BASE set from environment
sybo3.__pga_aggregate_target=150994944
sybo3.__sga_target=226492416
sybo3.__shared_io_pool_size=0
sybo3.__shared_pool_size=96468992
sybo3.__streams_pool_size=0
*.audit_file_dest='/u01/database/sybo3/adump/'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/database/sybo3/controlf/control01.ctl','/u01/database/sybo3/controlf/control02.ctl'
*.db_block_size=8192
*.db_domain='orasrv.com'
*.db_name='sybo3'
*.db_recovery_file_dest='/u01/database/sybo3/fra'
*.db_recovery_file_dest_size=4039114752
*.dg_broker_config_file1='/u01/database/sybo3/db_broker/dr1sybo3.dat'
*.dg_broker_config_file2='/u01/database/sybo3/db_broker/dr2sybo3.dat'
*.dg_broker_start=FALSE
*.diagnostic_dest='/u01/database/sybo3'
*.log_archive_dest_1=''
*.memory_target=374341632
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'

d、生成辅助实例密码文件
--直接使用orapwd命令完成
$ orapwd file=/u01/oracle/db_1/dbs/orapwsybo3 password=oracle entries=10

推荐阅读
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文详细介绍如何使用arm-eabi-gdb调试Android平台上的C/C++程序。通过具体步骤和实用技巧,帮助开发者更高效地进行调试工作。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 构建基于BERT的中文NL2SQL模型:一个简明的基准
    本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文由瀚高PG实验室撰写,详细介绍了如何在PostgreSQL中创建、管理和删除模式。文章涵盖了创建模式的基本命令、public模式的特性、权限设置以及通过角色对象简化操作的方法。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了HTML中标签的使用方法和作用。通过具体示例,解释了如何利用标签为网页中的缩写和简称提供完整解释,并探讨了其在提高可读性和搜索引擎优化方面的优势。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
author-avatar
风语飘散
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有