关于在不同版本和平台之间进行还原或复制的常见问题 (文档 ID 1526162.1)
来源:互联网 发布:澳门银河网络平台 编辑:程序博客网 时间:2024/05/17 08:51
适用于:
Oracle Database - Enterprise Edition - 版本 9.0.1.0 和更高版本
Oracle Database - Standard Edition - 版本 9.0.1.0 和更高版本
本文档所含信息适用于所有平台
用途:
本文档回答了有关如何使用 RMAN 从旧版本以及具有不同字长的系统中还原备份的常见问题。下面列出了一些常与Oracle 软件升级相关的情形。
问题和答案:
注意:以下部分中的还原是指用户管理的(非RMAN)还原或 RMAN 还原。复制(Duplicate)是只有 RMAN 才具有的一种功能,但在提到复制时,它也适用于用户管理的数据库克隆。
1) 我能用更高版本的 Oracle还原或复制旧版本的数据库吗?
RMAN 可将在较旧的数据库版本上进行的备份还原到较新的版本中。旧的备份必须是在9.2 或更高版本的数据库中进行的。
此方法可用作异地(out-of-place) 数据库升级的一部分,其中,旧的备份被还原到新版本数据库中,然后升级脚本照常运行。由于旧的数据库在升级过程中可以保持连线状态,因此这种方法相对于就地(in-place) 升级更为可取,在就地升级中数据库必须保持离线状态。
例如,我希望使用在 10.2 数据库上进行的备份将数据库升级到 11.2。11.2 数据库将驻留在新的主机上。
步骤如下:
1. 在新主机上安装11.2 数据库软件和最新的补丁程序集,并按照本 文档 中的说明准备 11.2 Oracle 主目录。
2. 允许从新主机访问磁盘和/或磁带备份
3. 将备份还原到11.2 数据库,并按照本 文档 中的说明将数据库恢复到一致的时间点。
Database Backup and Recovery User's Guide
20 Performing RMAN Recovery: Advanced Scenarios
... Restoring a Database on a New Host'
此时不要打开数据库。
4. 将10.2 数据库手动升级至 11.2,参考文档
Database Upgrade Guide
2 Preparing to Upgrade Oracle Database
... ManualUpgrade
请确保您完成了相关升级文档(如下所列)中列出的各种数据库组件的升级前/升级后过程:
Note837570.1 CompleteChecklist for Manual Upgrades to 11gR2
Note1503653.1 CompleteChecklist for Manual Upgrades to Oracle Database 12c Release 1 (12.1)
注意:上面的过程适用于还原从未升级至 11.2 的 10.2 数据库。如果数据库已经升级,而您需要通过升级之前的备份(版本10.2)还原数据库,则您只需要进行还原和恢复,介质回复将重现由升级完成的一切内容。
不支持 RMAN“复制”,因为该功能会在恢复之后尝试自动打开数据库时失败(第 3 步)。
从12c开始DUPLICATE TARGETDATABASE增加新选项NOOPEN,这个选项更适合数据库恢复。
.
NOOPEN
指定duplicate数据库是不打开数据库。
默认RMAN创建duplicate数据库后以RESETLOGS方式打开。
.
参考:
http://docs.oracle.com/database/121/RCMRF/rcmsynta020.htm#i1011578
Oracle? Database Backup and Recovery Reference
12c Release 1 (12.1)
E50791-03
.
DUPLICATE
.
dupOptionList
3) 我能在同一操作系统的不同版本之间进行还原或复制吗?
例如,我能将在运行 Solaris 9 的主机上进行的 9.2.0.1.0 RMAN 备份还原到已安装 9.2.0.1.0 但其主机却运行 Solaris 10 的其他机器吗?
如果可以使用相同的 OracleServer 安装 CD(介质包)在 Solaris 9 和 Solaris 10 上安装9.2.0.1.0,则将支持这类还原。
4) Oracle 的位(bit)级别(32位或 64 位)不匹配时,可以进行还原或复制吗?
例如,可以将我的9.2 版64位数据库还原或复制到9.2.32 位安装吗?
执行还原/恢复时,最好保持相同的位版本。但是,除使用复制命令外,使用相同的操作系统平台应该允许在Oracle 位级别(32位或64 位)之间进行还原/恢复。请注意,这可能只适用于特定的操作系统,若有与此相关的任何问题,应向Oracle Support 报告。
如果您要使用32 位软件运行64 位数据库(或反之),则在恢复结束之后必须要使用utlirp.sql 转换数据库位版本。
有关在位之间进行切换的详细信息,请参阅以下文档:
Note 62290.1 Changing between 32-bit and 64-bit Word Sizes
如果不运行utlirp.sql,将会出现以下错误(不限于):
ORA-06553: PLS-801: INTERNAL ERROR [56319]
5) 可以将更高版本的备份还原到较早版本的Oracle吗?
例如,您准备从 10.2 升级至 11.2。在成功升级并在 11.2 上运行几天之后,您对 11.2 数据库进行了新的备份。您想知道,如果 11.2 中出现问题,是否能够将 11.2 备份还原到其他主机上,该主机安装了 10.2 数据库软件,(或在同一主机上重新安装 10.2,然后还原 11.2 备份)。
如果在升级后从未增加 COMPATIBLE 参数,则可以进行此类还原。在本示例中,如果 11.2 数据库始终是在 COMPATIBLE 为 10.2 的情况下运行,则可以将11.2 数据库的备份还原到 10.2 实例中,然后执行降级过程。
如果数据库已经在 COMPATIBLE 为 11.2 的情况下打开,则不能进行此类还原。另一种维护HA 和旧版本数据库(如果需要回滚)的好方法是,使用 Data Guard 滚动(rolling)升级法,该方法涉及临时逻辑备用数据库(只是在升级期间临时把主数据库变成逻辑备用数据库)。将备用数据库升级至新版本后(主数据库仍然在旧版本上运行),您可以进行切换并验证升级后的数据库是否运作正常。如果运作不正常,您可以切换回到旧的版本。
6) 我能在两个不同的平台之间还原或复制我的RMAN备份吗,例如Solaris到Linux?
通常,您不能在两个不同的平台之间进行还原或复制。
注意:请参阅 Note 1079563.1 ,其中列出了 Oracle 支持的跨平台复制/还原/恢复的平台和 Oracle 版本。
在10g 之前的版本中,从一个平台迁移至另一个平台的唯一方法是使用导出/导入。在 10g 中,通过 RMAN 转换(convert)命令,您可以使用10g 跨平台可传输表空间(Cross-PlatformTransportable Tablespaces)选项跨越各个平台。有关更多详细信息,请参阅以下文档:
Note 243304.1 TransportableTablespaces Across Different Platforms
以及:
http://www.oracle.com/technetwork/database/features/availability/thehartfordprofile-xtts-133180.pdf
在 10.2 及更高版本中,如果源 OS 和目标 OS 具有相同的字节序(endian),您可以发出“CONVERT DATABASE”命令,以便转换数据文件并使其准备好传输到目标机器。有关“CONVERTDATABASE”的更多详细信息,请参阅:
Oracle Database Backup and Recovery Advanced User's Guide
10g Release 2 (10.2)
Chapter 15, RMAN Cross-Platform Transportable Databases and Tablespaces
注意:请参阅 Note 732053.1 ,了解在版本10.2 和 11.1 中,如何在可传输数据库(transportabledatabase)期间跳过不包含UNDO信息的数据文件。该过程可大大减少总体完成时间。此外,请注意,为了实现这一目的,11.2还针对 CONVERT DATABASE 提供了 SKIP UNNECESSARY DATAFILES 选项。
如果是从32 位到64 位,还必须按照Note 62290.1 中的说明改变字长。
此外,在平台之间进行迁移时,可使用第三方应用程序,例如VERITAS Storage Foundation 便捷式数据容器:
http://eval.veritas.com/mktginfo/products/White_Papers/Storage_Server_Management/Portable_Data_Containers_for_Oracle.pdf
(有关VERITAS Storage Foundation 便捷式数据容器的信息,请联系Veritas)
- 关于在不同版本和平台之间进行还原或复制的常见问题 (文档 ID 1526162.1)
- 关于在不同版本和平台之间进行还原或复制的常见问题
- 关于在不同版本和平台之间进行还原或复制的常见问题
- 关于在不同版本和平台之间进行还原或复制的常见问题
- 在两个不同的vim之间进行复制粘贴
- vim在不同文件之间进行复制
- hadoop不同版本之间的集群复制
- 文件在不同硬盘之间的复制
- 如何在两个不同的vim文件之间进行复制粘贴
- 关于在一台主机上安装2个不同版本的Oracle服务端
- 关于在一套复制环境中使用不同版本OGG的问题
- 关于在一套复制环境中使用不同版本OGG的问题
- 关于在一套复制环境中使用不同版本OGG的问题.
- 在 Oracle 数据库中,通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法:
- 两台服务器上两个数据库结构不同的表之间数据复制解决办法!!!
- 两台服务器上两个数据库结构不同的表之间数据复制解决办法!!! .
- 不同OpenCV版本和不同VS版本之间进行配置的注意事项
- Oracle Copy命令中SQL*Plus的Copy命令操作(在不同的表(同一服务器或是不同服务器)之间复制数据或移动数据)
- 简单编程题目连载(十一)——0-1背包问题
- Android主题与Toolbar样式之间的关系
- Activity的一些特点(1)
- 【LeetCode】 395. Longest Substring with At Least K Repeating Characters
- LeetCode 112. Path Sum
- 关于在不同版本和平台之间进行还原或复制的常见问题 (文档 ID 1526162.1)
- Linux Grub、Linux运行级别、终端模式登陆
- h5弹层之后阻止页面滚动
- 分布式框架学习
- [LeetCode]219 Contains Duplicate II
- UVa 11212 - Editing a Book
- Python爬虫包 BeautifulSoup 学习(九) 正则表达式与Lambda表达式
- android Fragment 中IllegalStateException异常问题
- Srvctl Does Not Work After the Grid infrastructure upgrade from 11gr2 to 12c (文档 ID 2132856.1)