使用RMAN传输数据_创建可传输的表空间集(Creating Transportable Tablespace Sets)

news2024/9/25 11:18:19

传输数据比对相同的数据执行export/import或unload/load操作更快。因为对于用户定义的表空间,数据文件包含所有拷贝到目标位置的实际数据,你使用Data Pump只传输数据库对象的元数据到新数据库

本章阐述如何使用RMAN通过还原备份来创建可传输的表空间集。


1.创建可传输的表空间集概述

可以使用RMAN或可传输的表空间特性来创建可传输的表空间集。

本节阐述从RMAN备份中创建可传输的表空间集涉及的基本概念和任务。本章中的讨论假设你熟悉《Oracle Database Administrator’s Guide》中描述的transportable tablespace过程。本章中的过程是一个生成可传输的表空间集的备选技术。


1.1.创建可传输的表空间集的目的

可传输的表空间集包含一组表空间的数据文件和包含表空间组的结构元数据的export文件。export文件由Data Pump Export生成。

可传输的表空间集的一个用途是创建表空间仓库。例如,如果你有一个数据库含有某些用于季度报告的表空间,你可以为这些表空间创建可传输集存储在表空间仓库中。随后,可以从仓库中请求表空间的各个版本,附加到另外的数据库用于生成报告。

RMAN的TRANSPORT TABLESPACE命令的主要好处是它不需要访问要传输的表空间的活动的数据文件。相反,在《Oracle Database Administrator’s Guide》中描述的可传输的表空间技术要求要传输的表空间在传输期间是以只读方式打开的。因此,从备份中传输改善了数据库的可用性,特别是对于大的表空间,因为要传输的表空间可以在操作期间保持打开来写。同时,将表空间置于只读模式会花很长时间,取决于当前数据库的活动。

RMAN的TRANSPORT TABLESPACE命令让你可以指定在恢复窗口期间的目标时间点,SCN,或还原点,传输表空间在那个时间存在的数据。例如,如果你的备份保留策略保证一个星期的恢复窗口,如果你想基于数据库在每月的最后一天的内容创建可传输的表空间,那么RMAN可以在下个月的第一个星期期间的任何时间执行这个任务。


1.2.可传输的表空间集的基本概念

通过作为TARGET连接RMAN到源数据库,然后执行TRANSPORT TABLESPACE命令来创建可传输的表空间集。源数据库包含要传输的表空间。

你必须拥有RMAN可以用来恢复到指定时间点的所有需要的表空间和redo日志文件的备份来执行TRANSPORT TABLESPACE操作。Figure 27-1阐述了可传输的表空间创建的基本过程。

在这里插入图片描述

Figure 27-1中显示的过程按以下阶段发生:
1)RMAN启动一个辅助实例。
辅助实例在与源数据库相同的主机上由RMAN创建来执行还原和恢复表空间。RMAN自动为辅助实例创建初始化参数文件和以NOMOUNT模式启动。
2)RMAN还原源数据库控制文件的备份用作辅助实例的控制文件和挂载这个控制文件。
3)RMAN从源数据库的备份中还原辅助集和可传输集数据文件。
辅助集包括数据文件和其他表空间传输要求的文件,但它们本身不是可传输的表空间集的一部分。辅助集通常包括SYSTEM和SYSAUX表空间,临时文件和包含回滚或undo段的数据文件。辅助集实例有其他与它关联的文件,比如它自己的控制文件,参数文件和在线日志,但它们不是辅助集的一部分。

RMAN存储辅助集文件在选择的辅助集目的地。辅助集目的地是RMAN可以存储传输期间的辅助集文件比如参数文件,数据文件(不同于可传输集中的那些数据文件),控制文件和辅助实例的在线日志的磁盘位置。如果传输成功,那么RMAN删除这些文件。

RMAN存储可传输集的文件在表空间目的地。表空间目的地是一个缺省情况下当表空间传输命令完成时包含数据文件副本和其它输出文件的磁盘位置。

4)RMAN在辅助实例上执行数据库时间点恢复(DBPITR)。
恢复更新辅助和可传输集数据文件到它们在TRANSPORT TABLESPACE命令指定的目标时间时的内容,然后RMAN使用所有可用的redo恢复。RMAN从备份中还原必要的归档redo日志到辅助目的地(或其他位置),然后在应用它们之后删除它们。

5)RMAN使用RESETLOGS选项打开辅助数据库。
数据文件现在反映表空间的内容为表空间传输操作的目标SCN时的内容。

6)RMAN将辅助实例的可传输集表空间置于只读模式,RMAN也在可传输模式调用Data Pump Export来为可传输集创建export dump文件。

缺省情况下,dump文件位于表空间目的地。你可以为dump文件指定替代的位置。

RMAN也生成Data Pump import样本脚本在当插入可传输的表空间到目标数据库时使用。脚本的内容被写到表空间目的地中一个名称为impscript.sql的文件中。使用该脚本的命令也包含在RMAN命令输出中。

7)如果前面的步骤成功,那么RMAN关闭辅助实例和删除在TRANSPORT TABLESPACE操作期间创建的除了可传输集文件,Data Pump Export文件和样本导入脚本之外的所有文件。


1.3.创建可传输的表空间集的基本步骤

为创建可传输的表空间集,在辅助实例初始化参数文件中设置需要的参数,然后使用TRANSPORT TABLESPACE命令。

创建可传输表空间集的基本步骤如下:
1)启动RMAN客户端,连接到源数据库和恢复目录(如果使用的话)。

2)确保满足TRANSPORT TABLESPACE命令的前提条件。

3)如果必要,在辅助实例参数文件中设置额外的参数。

4)执行TRANSPORT TABLESPACE命令。

5)如果TRANSPORT TABLESAPCE命令失败,故障诊断问题,然后重试命令直到成功。

6)返回到《Oracle Database Administrator’s Guide》中描述的传输表空间过程。


2.为辅助实例自定义初始化参数

当RMAN创建辅助实例时,它创建一个初始化参数文件。缺省值对大部分TRANSPORT TABLESPACE情况有用,特别是如果在TRANSPORT TABLESPACE命令中指定AUXILIARY DESTINATION选项。
RMAN也可以使用包含额外初始化参数值的辅助实例参数文件。这些值覆盖在缺省初始化参数文件中定义的参数值。


2.1.关于为辅助实例设置初始化参数

RMAN为自动辅助实例定义某些基本的初始化参数用于传输表空间。

你可能由于以下原因使用辅助实例参数文件来包含额外的参数:
1)增加STREAMS_POOL_SIZE和SHARED_POOL_SIZE如果Data Pump Export需要。
2)管理辅助实例数据文件的位置。例如,你不想所有辅助实例数据文件存储在磁盘的相同位置中,但你不想单独指定每个文件的位置。
3)使用LOG_FILE_NAME_CONVERT指定在线redo日志的名称。

辅助实例参数文件不是想作为辅助实例的完整的初始化参数文件。任何指定的参数会增加到或覆盖辅助实例的缺省参数。没有必要指定初始化文件中你不打算覆盖的参数。

下表描述了辅助实例的初始化参数。

初始化参数
DB_NAME与源数据库相同的DB_NAME
COMPATIBLE与源数据库相同的兼容性设置
DB_UNIQUE_NAME基于DB_NAME生成的唯一值
DB_BLOCK_SIZE与源数据库相同的DB_BLOCK_SIZE
DB_FILES与源数据库相同的DB_FILES
SGA_TARGET280M建议值
DB_CREATE_FILE_DEST辅助目的地(只有如果设置了TRANSPORT TABLESPACE的AUXILIARY DESTINATION参数)。RMAN在这个位置创建Oracle管理的控制文件和在线日志。

使用不合适的值覆盖辅助实例参数文件中的基本的初始化参数会导致TRANSPORT TABLESPACE失败。如果你遇到问题,那么尝试回退初始化参数到它的缺省值。


2.2.设置辅助实例参数文件的位置

缺省情况下,RMAN在运行RMAN客户端的主机上操作系统相关的位置中查找辅助的初始化参数文件。这个位置可能不在运行辅助实例的主机上。对于UNIX系统,这个位置是?/rdbms/admin/params_auxint.ora,其中问号代表运行RMAN的主机的ORACLE_HOME。如果在缺省位置中找不到文件,那么RMAN不会产生错误。

如果你为辅助实例使用缺省的初始化参数,那么在运行TRANSPORT TABLESPACE之前检查辅助实例参数文件是否存在。

为了给辅助实例参数文件指定一个不同的位置,你可以在RUN块中在TRANSPORT TABLESPACE命令之前使用RMAN的SET AUXILIARY INSTANCE PARAMETER FILE命令。如辅助实例参数文件的缺省位置一样,使用SET AUXILIARY INSTANCE PARAMETER FILE命令指定的路径是客户端路径。

以下示例描述如何在TRANSPORT TABLESPACE中使用初始化参数文件。

在运行RMAN客户端的主机上创建名称为/tmp/auxinstparams.ora的文件。这个文件包含以下初始化参数:
SHARED_POOL_SIZE=150M;

文件中的SHARED_POOL_SIZE覆盖RMAN创建辅助实例时使用的SHARED_POOL_SIZE的缺省值。

以下命令在创建可传输表空间时使用初始化参数文件:
RUN
{
 SET AUXILIARY INSTANCE PARAMETER FILE TO ‘/tmp/auxinstparams.ora’;
 TRANSPORT TABLESPACE tbs_2
  TABLESPACE DESTINATION ‘/disk1/transportdest’
  AUXILIARY DESTINATION ‘/disk1/auxdest’;
}


3.创建可传输的表空间集

这个过程描述在大部分基本和自动情况中使用TRANSPORT TABLESPACE。

假设已经满足TRANSPORT TABLESPACE命令要求的前提条件(参考《Oracle Database Backup and Recovery Reference》)。它也假设已经满足《Oracle Database Administrator’s Guide》中描述的以下要求:
1)确认表空间传输在源和目的地平台之间被支持
2)确认自包含的表空间集包括在可传输集中

创建可传输的表空间集:
1)启动RMAN客户端,连接到源数据库和恢复目录数据库(如果有使用)。

2)在RMAN中运行TRANSPORT TABLESPACE命令。

在大部分基本情况中,你指定AUXILIARY DESTINATION子语句,它是可选的但是建议的。RMAN使用对大部分情况有效的缺省值。如果你不指定辅助位置,那么确保为所有辅助实例文件指定位置。

以下示例创建包括表空间tbs_2和tbs_3的可传输表空间集。
TRANSPORT TABLESPACE tbs_2, tbs_3
 TABLESPACE DESTINATION ‘/disk1/transportdest’
 AUXILIARY DESTINATION ‘/disk1/auxdest’;

在命令成功完成之后,注意以下结果:
a.可传输集数据文件使用它们原始的名称留在位置/disk1/transportdest。可传输的表空间集数据文件不会通过TRANSPORT TABLESPACE命令自动转换为目的地数据库的endian格式。如果必要,在创建可传输集之后使用CONVERT命令转换数据文件为目的地数据库的endian格式。
b.可传输集的Data Pump export dump文件命名为dmpfile.dmp,export日志命名为explog.log,样本import脚本被命名为impscrpt.sql。
所有文件创建在/disk1/transportdest中。如果有与export dump文件名称相同的文件在表空间目的地中存在,那么TRANSPORT TABLESPACE调用Data Pump Export时失败。如果你重复先前的TRANSPORT TABLESPACE操作,删除先前的输出文件,包括export dump文件。
c.辅助集文件会从/disk1/auxdest中移除。

3)如果必要,编辑样本import脚本。
样本import脚本假设用于import表空间到目的地数据库的文件存储在通过TRANSPORT TABLESPACE命令创建它们时所在的相同位置。如果文件在插入之前被移动到新的磁盘位置,那么必须在使用脚本插入传输表空间之前使用文件的新位置更新样本脚本。

4)返回到《Oracle Database Administrator’s Guide》中描述的传输表空间过程。


4.创建可传输的表空间集场景

4.1.创建在指定时间或SCN的可传输表空间集

可以使用TRANSPORT TABLESPACE命令指定目标时间或SCN。在表空间传输操作期间,RMAN在辅助实例上使用目标时间之前的备份还原表空间和在辅助数据库上执行时间点恢复到指定的时间点。时间点恢复需要的备份和归档redo日志必须可用。

以下示例使用SCN指定目标时间(在当前转生或它的祖先):
TRANSPORT TABLESPACE tbs_2
 TABLESPACE DESTINATION ‘/disk1/transportdest’
 AUXILIARY DESTINATION ‘/disk1/auxdest’
 UNTIL SCN 11379;

以下示例指定还原点作为创建可传输的表空间集的目标时间:
TRANSPORT TABLESPACE tbs_2
 TABLESPACE DESTINATION ‘/disk1/transportdest’
 AUXILIARY DESTINATION ‘/disk1/auxdest’
 TO RESTORE POINT ‘before_upgrade’;

以下示例指定结束时间作为创建可传输的表空间集的目标时间:
TRANSPORT TABLESPACE tbs_2
 TABLESPACE DESTINATION ‘/disk1/transportdest’
 AUXILIARY DESTINATION ‘/disk1/auxdest’
 UNTIL TIME ‘SYSDATE-1’;


4.2.指定Data Pump文件的位置

可以更改可传输集的Data Pump export dump文件的名称,在目标数据库上使用的样本import脚本,Data Pump Export生成的日志文件和这些文件写到的目录。

缺省情况下,这些文件存储在表空间目的地里,名称如下:
1)Data Pump export dump文件的名称为dmpfile.dmp。
2)export日志文件的名称为explog.log。
3)样本import脚本的名称为impscrpt.sql。

可以使用TRANSPORT TABLESPACE命令的DATAPUMP DIRECTORY子语句传入数据库目录对象的名称。DATAPUMP DIRECTORY使用的数据库目录对象不是实际的文件系统目录的路径,这个传入的值对应Data Pump Export的命令行参数DIRECTORY

可以使用TRANSPORT TABLESPACE命令的DUMP FILE,EXPORT LOG和IMPORT SCRIPT子语句重命名这些文件。文件名称不能包含目录名称的全文件路径。如果DUMP FILE或EXPORT LOG文件名称指定文件路径,那么TRANSPORT TABLESPACE失败当它尝试生成export dump文件时。使用DATAPUMP DIRECTORY子语句指定数据库目录对象来定位Data Pump Export输出的位置

以下场景阐述使用命令TRANSPORT TABLESPACE的DATAPUMP DIRECTORY,DUMP FILE,EXPORT LOG,IMPORT SCRIPT子语句指定文件名称。假设你创建一个如下的数据库目录对象给Data Pump Export使用:
CREATE OR REPLACE DIRECTORY mypumpdir as ‘/datapumpdest’;

以下示例显示TRANSPORT TABLESPACE命令和可选的指定输出文件位置的参数。
TRANSPORT TABLESPACE tbs_2
 TABLESPACE DESTINATION ‘/transportdest’
 AUXILIARY DESTINATION ‘/auxdest’
 DATAPUMP DIRECTORY mypumpdir
 DUMP FILE ‘mydumpfile.dmp’
 IMPORT SCRIPT ‘myimportscript.sql’
 EXPORT LOG ‘myexportlog.log’;

在成功运行之后,RMAN清除辅助目的地,创建Data Pump export dump文件和export日志在DATAPUMP DIRECTORY指向的目录中(/datapumpdest/mydumpfile.dmp和/datapumpdest/myexportlog.log),存储可传输集数据文件在/transportdest。


4.3.指定辅助文件位置

在传输期间创建的辅助示例文件的位置。

如果RMAN确认由任何指定辅助文件位置的方法指明的辅助文件包含一个适合用于传输操作的期望的时间点的数据文件副本,那么使用数据文件副本而不是还原数据文件。任何数据文件副本是当前的但不适合这个传输操作,因为它们比请求的时间点更近,或不能识别为目标数据库的一部分,会在还原数据文件时被覆盖。

最简单的技术时使用TRANSPORT TABLESPACE命令的AUXILIARY DESTINATION子语句,让RMAN自动管理所有文件位置。

下表按RMAN使用的优先顺序列出了当迁移某些或所有辅助实例文件时指定文件位置的技术,具体使用方法可以参考“执行RMAN表空间时间点恢复”章节。

优先顺序辅助文件命名技术
1SET NEWNAME FOR DATAFILES
SET NEWNAME FOR TABLESPACE
SET NEWNAME FOR DATABASE
2CONFIGURE AUXNAME
3TRANSPORT TABLESPACE命令的AUXILIARY DESTINATION子语句
4初始化参数文件中的LOG_FILE_NAME_CONVERT和DB_FILE_NAME_CONVERT参数

示例1:
RUN
{
 SET NEWNAME FOR DATAFILE ‘/oracle/dbs/tbs_12.f’
TO ‘/bigdrive/auxdest/tbs_12.f’;
 SET NEWNAME FOR DATAFILE ‘/oracle/dbs/tbs_11.f’
TO ‘/bigdrive/auxdest/tbs_11.f’;
 TRANSPORT TABLESPACE tbs_2
  TABLESPACE DESTINATION ‘/disk1/transportdest’
  AUXILIARY DESTINATION ‘/disk1/auxdest’;
}


示例2:

CONFIGURE AUXNAME FOR DATAFILE ‘/oracle/dbs/tbs_12.f’
TO ‘/disk1/auxdest/tbs_12.f’;

TRANSPORT TABLESPACE tbs_11
 AUXILIARY DESTINATION ‘/myauxdest’
 TABLESPACE DESTINATION ‘/disk1/transportdest’;




来源:《Oracle Database Backup and Recovery User’s Guide,19c》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/127511.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Dockfile是什么

目录 1. Dockfile是什么 2. Dockerfile的基本组成 2.1 FROM 2.2 MAINTAINER 2.3 RUN 2.4 COPY 2.5 ADD 2.6 EXPOSE 2.7 WORKDIR 2.8 ONBUILD 2.9 USER 2.10 VOLUME 2.11 CMD 2.12 ENTRYPOINT 3. dockerfile示例 3.1 准备 3.2 将该目录上传至linux 3.3 构建镜像…

2022年「博客之星」参赛博主:一个处女座的测试

我正在参加年度博客之星评选,请大家帮我投票打分,您的每一分都是对我的支持与鼓励。 五星必回,诚信互评,(如果)今日已满,明天必回,言出必行,感谢支持! 我正在…

【深度探讨】数据存储进化论,区块链才是未来

发表时间:2022年5月23日 信息来源:bsvblockchain.org 需要一个适于处理这种日渐普及的资源的基础设施。 2022年2月,在沙特愿景2030区块链峰会上,BSV区块链协会创始主席Jimmy Nguyen就数据的价值这一话题发表了一场令人叹为观止的…

nodejs+vue+element+eachers构建开源项目大型连续剧(2)安装mysql数据库,在nodejs服务器中操作数据库数据

太长时间没更新了,然后,理由是什么呢?是因为阳了,真没想到,吃嘛嘛香的我忽然阳了,果然阳的初期症状就是嘴硬。然后,开始我们连续剧的第二集。 一、进行mysql的安装 学习第一步,从安…

[极客大挑战 2019]BuyFlag1(BUUCTF)

前言: 这篇文章还是是为了帮助一些 像我这样的菜鸟 找到简单的题解 题目描述 解题工具: 我爱用edit this cookie2和hackerbar, 当然也可以burpsuite和fiddler抓包 解题过程: 看到他说flag要100000000 MONEY, 还要是Cuits students, …

GCC嵌入汇编特性

前言 在C语言编程中,使用汇编指令有两种方式,一种是使用单独的汇编源文件,在最后编译的时候和其它C工程文件编译到一起,这种方式能够做到汇编函数和C函数的互相调用,但是如果希望在C语言中直接调用汇编表达式就不是那…

kibana在linux环境安装实战遇到的问题汇总

kibana在linux环境安装实战遇到的问题汇总: 1、找不到主节点的错误: savedobjects-service] Unable to connect to Elasticsearch. Error: [master_not_discovered_exception] null 原因是找不到es的主节点,意思是es没有配置主节点。 解决…

【Spring】Spring @Cacheable 官方学习及demo

文章目录前言Cacheable 的来源应用场景集成Redis的思路代码及验证后记前言 Spring 有很多声明式的编程风格,Transactional 是,Cacheable 也是。说起 Transactional,复杂的事务情况下,这个注解也有局限,需要用到编程式…

奇安信病毒检测中心 2022年第二季度App收集个人信息检测报告 学习笔记 附下载地址

奇安信 2022年第二季度App收集个人信息检测报告 下载地址 2022年第二季度 APP收集个人信息 检测报告 奇安信 病毒响应中心 研究背景 随着互联网和移动设备的发展,手机已成为人人都拥有的设备,其中各式各样的APP更是丰富了人们的生活,从社交…

现在考系统集成项目管理工程师有用吗?

有用! 现在考系统集成项目管理工程师还是挺有用的哈,虽然它资质评定国务院取消了,但它是由国家人力资源和社会保障部、工业和信息化部领导下的国家级考试,并且是职业资格考试、职称资格考试和水平考试。 系统集成项目管理工程师…

sql-labs靶场环境搭建及搭建过程遇到的问题

sql-labs是github上的一个开源项目,通过闯关的方式训练自己的SQL注入。 下载php-study 进入官网 php-study 下载sql-labs 进入github sql-labs 将sql-labs下载到php-study的WWW\目录下,解压。 配置sql-llibs 记事本打开sqli-labs-master\sql-conn…

用python采集四大电商平台商品数据进行对比

前言 大家早好、午好、晚好吖 ❤ ~ 环境介绍: python 3.8 越稳定越好 pycharm 2021专业版 一、考拉 模块使用: requests >>> pip install requests parsel >>> pip install parsel 代码展示 导入模块 # import 导入模块 import requests # 第三方…

这届黑客不讲武德

编者按 腾讯安全2022年典型攻击事件复盘第七期,希望帮助企业深入了解攻击手法和应对措施,完善自身安全防御体系。 本篇讲述了某物流公司遭遇不明黑客攻击,腾讯安全服务团队和客户通力合作,排查溯源,最后揪出黑客的尾…

十、HashMap详解

文章目录小结底层源码框架特点源码详解小结 Map接口的常用实现类:HashMap、Hashtable和Properties.HashMap是Map接口使用频率最高的实现类。HashMap是以 key-val对的方式来存储数据(HashMap$Node类型)key不能重复,但是值可以重复,允许使用null键和null值。如果添加…

Android设计模式详解之组合模式

前言 组合模式也称为部分整体模式,结构型设计模式之一; 定义:将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性; 使用场景: 表示对象的部分-整体的层…

屏幕录制为什么没声音?检查这2项,轻松解决

相信很多人在录制视频的时候都会遇到各种各样的问题,比如录制的视频没有声音。屏幕录制为什么没声音?今天小编就和大家分享一下如何录制音画同步视频的具体操作方法。如果你有录制的视频没有声音,你可以试试这个方法。 一、检查是否打开电脑系…

amCharts 5: Maps 附加组件

amCharts 5: Maps 附加组件 将reverseGeodata设置添加到MapPolygonSeries。如果设置为true,将反转GeoJSON数据中多边形角的方向。 向MapLine添加了新的linechanged事件。 amCharts 5:地图 amCharts:Maps是amCharts:Charts的附加组件。使用它可以将完整的…

Java学习笔记【7】面向对象

⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ 🌀 个人首页:🏠 星空之路Star 🏠 🌀 所属专栏:📖 Java知识点总结 📖 🌀 大家好🤝 我是 👉老孙👈 &…

操作系统期末考试必会题库5——文件管理

1、画出文件系统的层次模型,并描述各层的功能。 2、某文件系统为一级目录,文件的数据一次性写入磁盘,已经写入的文件不可修改,但可以多次创建新文件,请回答: (1) 采用哪种文件物理结构形式更适合&#xff…

hnu计网实验二-网络基础编程实验(JAVA\Python3)

前言:这次实验用的是python语言,但是本人的python也不是很强,所以代码大部分也是借鉴别人的。实验本身还是很有趣的 一、实验目的 通过本实验,学习采用Socket(套接字)设计简单的网络数据收发程序&#xf…