Oracle 补丁和已知问题

以下是必须应用的 Oracle 补丁,以便在备份和灾难恢复中获得最佳 Oracle 效果。

Oracle 版本 需要补丁 由于存在这些 bug 备注
11.2.0.1 到 12.1.0.2。 19621704 ORA-00600 [723] [内存泄漏]“mbr 节点内存”的内存泄漏错误 Backup and DR Application Aware 挂载操作可能会失败
11.x 已在 12.x 及更高版本中修复 bug 19874632 - ORA-15196:无效的 ASM 块标头 [KFC.C:26368] [OBJ_KFBL] [8] [529] [3 != 8](文档 ID 19874632.8) 这需要 Oracle 12.x 及更高版本。
12.1 及更高版本 在 19.1.0 及更高版本中已修正
如需了解 12.1 到 19.1 版 Oracle 的补丁详情,请参阅 Oracle Doc ID 27424405.8
RMAN:恢复大于 32G 的文件可能会导致 ORA-8103、ORA-600 [3020]
RMAN 可能不会备份来源中的所有块。
恢复和恢复可能会失败并返回 ORA-600。
12.1.0.2 22709877 ORA-00600: 内部错误代码,参数:[KCVFDB_PDB_SET_CLEAN_SCN: CLEANCKPT] Backup and DR Application Aware mount 可能会失败
修复版本:12.2.0.1 及更高版本
12.1.0.2 到 19c 26978857 CONTROLFILE BACKUP TO TRACE REFERS PDB DATAFILE OFFLINE IN CDB$ROOT CONTEXT 备份和灾难恢复应用感知挂载可能会失败。
12.1.0.2 23019710 RMAN LIST BACKUP SUMMARY FAILS 出现以下任一错误:
ORA-01507:数据库未挂载
ORA-01219:数据库或可插拔数据库未打开:允许对固定数据库进行查询
ORA-00972:标识符过长
ORA-01589:必须使用 RESETLOGS 或 NORESETLOGS 选项打开数据库
ORA-01426:数字溢出
ORA-01152:未从足够旧的备份恢复文件 3
ORA-01110:数据文件 3:
ORA-01109:数据库未打开
ORA-01034:ORACLE 不可用
Backup and DR Oracle 备份可能会失败
12.1.0.2 18845653 如果在其他会话中重命名 PDB,则 PDB 关闭时会出现 ORA-600 备份和灾难恢复应用感知挂载可能会失败。已在 12.2.0.1 及更高版本中修复
12.1.0.2 19075256 PDB RENAME 中的 ORA-600 [kcfmis_internal: enq]
12.1.0.2 22809813(Win)
19404068(Linux)
在为创建的控制文件恢复数据库时出现 ORA-1610 备份和灾难恢复应用感知挂载可能会失败。
12.2 到 19c 30045273 PDB:使用新控制文件从 RMAN 映像副本恢复数据库后,出现 ORA-00600 [KDSGRP1] / 块不一致 备份和灾难恢复应用感知挂载可能会失败。
12.2.0.2 31718134 ORA-00304:请求的 INSTANCE_NUMBER 处于忙碌状态 首次在未挂载状态下重启新数据库实例可能会失败
18c 和 19c 30419450 ORA-65250:为文件指定的路径无效 - /act/mnt/Staging_631487/datafile/24v0gutb_1_1 备份和灾难恢复 Oracle 数据库备份可能会失败。
在安装补丁之前的解决方法:取消设置可插拔数据库的 CREATE_FILE_DESTINATION 参数。
18.10 及更高版本 请与 Oracle 联系,获取适用于早期版本的中期补丁。 bug 29056767 - STANDBY:在媒体恢复运行时,备用数据库中的数据文件检查点未更新(文档 ID 29056767.8) 备份和灾难恢复应用感知挂载可能会失败。
已在以下版本中修复:
2019 年 7 月 19.4.0.0.190716 DB RU
2019 年 10 月 18.8.0.0.191015 DBRU
20.10
19.14 34383066 bug 34383066 - 升级到 19.14 后,RMAN 备份在发布渠道上挂起,且不会返回提示。 Backup and DR Oracle 备份可能会挂起。

Oracle 的已知问题

为了获得最佳性能,请务必查看并解决以下 Oracle 已知问题。

对 DBA_FREE_SPACE 的查询速度缓慢(文档 ID 271169.1)

在备份和灾难恢复备份期间,备份和灾难恢复代理会查询 dba_free_space Oracle 元数据表,以确定数据库分配和可用空间。有时,对 dba_free_space 的 SQL 查询会变得非常耗时。这是 Oracle 已知问题文档 ID 271169.1(对 DBA_FREE_SPACE 的查询速度缓慢)。您可以通过从命令行运行 ps -ef | grep -i dbFreeSize.sql 在挂起的系统上观察到这一点。

Oracle 建议从数据库中清除回收站:

  1. 以 sysdba 身份登录数据库:

    ```sh
    sqlplus / as sysdba
    SQL>purge dba_recyclebin;
    SQL>exit;
    ```
    
  2. 最好对固定对象运行统计信息。此过程可能需要几分钟的时间。

    以 sysdba 身份登录数据库:

    ```sh
    sqlplus / as sysdba
    SQL>exec dbms_stats.GATHER_FIXED_OBJECTS_STATS
    SQL>exit;
    ```
    

另请参阅 ASM 可伸缩性和限制(Oracle Doc ID 370921.1)。

max_string_size=extended 参数对应用感知挂载、恢复和切换恢复的影响

如果在源数据库中将 max_string_size init 参数设置为 extended,则对此参数更改之前创建的数据库备份映像进行应用感知的挂载或恢复,以及使用此更改之后创建的日志备份进行滚动更新都会失败,并返回以下错误:ORA-14694:数据库必须处于升级模式才能开始 MAX_STRING_SIZE 迁移

解决方法:如果您在源数据库中将 max_string_size init 参数设置为 extended,请运行新的按需级别 1(完整)数据库备份作业 1,并使用新映像进行应用感知的挂载或恢复操作。

在 Windows 环境中,SQLNET.AUTHENTICATION_SERVICES 必须设置为 nts

在 Windows 上,Oracle 数据库 sqlnet.ora 的配置为 SQLNET.AUTHENTICATION_SERVICES = (none)。这会限制数据库连接使用 Windows 操作系统身份验证。这需要提供有效的数据库用户名和密码才能连接到数据库,否则恢复作业可能会失败。

解决方案:将 SQLNET.AUTHENTICATION_SERVICES 设为 (nts)

ASM 可伸缩性和限制(来自 Oracle Doc ID 370921.1)

具体取决于以下因素:

Oracle Database Enterprise Edition

对于 Oracle Database 企业版 10.1.0.2 到 11.1.0.7 和 11.2.0.3 版,ASM 会强制执行以下限制:

  • 存储系统中的 63 个磁盘组

  • 存储系统中的 10,000 个 ASM 磁盘

  • 每个 ASM 磁盘的存储空间上限为 2 TB(Bug 6453944 允许更大的大小,但会导致问题,请参阅备注 736891.1“ORA-15196 WITH ASM DISKS LARGER THAN 2TB”)

  • 每个存储系统的存储空间上限为 40 艾字节

  • 每个磁盘组 100 万个文件

  • 每个文件的存储空间上限为 2.4 兆字节

Oracle Database12c

对于 Oracle Database12c,ASM 会强制执行以下限制:

  • Oracle Database 12c Release 1 或更高版本的存储系统中的 511 个磁盘组

  • 存储系统中的 10,000 个 Oracle ASM 磁盘

  • 每个磁盘组 100 万个文件

使用 Oracle Exadata 存储

对于所有 Oracle Exadata 存储空间,Oracle ASM 都具有以下存储空间限制:

  • 每个 Oracle ASM 磁盘的存储空间上限为 4 PB,AU 大小为 1 MB

  • 每个 Oracle ASM 磁盘的存储空间上限为 8 PB,AU 大小为 2 MB

  • 每个 Oracle ASM 磁盘的存储空间上限为 16 PB,AU 大小为 4 MB

  • 每个 Oracle ASM 磁盘的存储空间上限为 32 PB,AU 大小为 8 MB

  • 存储系统的最大存储量为 320 EB

未使用 Exadata 存储空间,COMPATIBLE.ASM 或 COMPATIBLE.RDBMS 磁盘组属性小于 12.1

如果没有任何 Oracle Exadata 存储空间,并且 COMPATIBLE.ASM 或 COMPATIBLE.RDBMS 磁盘组属性设置为低于 12.1,则 Oracle ASM 具有以下存储空间限制:

  • 每个 Oracle ASM 磁盘的存储空间上限为 2 兆字节 (TB)

  • 存储系统的最大存储空间为 20 PB

不使用 Exadata 存储空间时,COMPATIBLE.ASM 和 COMPATIBLE.RDBMS 磁盘组属性大于 12.1

如果未使用任何 Oracle Exadata 存储空间,并且 COMPATIBLE.ASM 和 COMPATIBLE.RDBMS 磁盘组属性设置为 12.1 或更高版本,则 Oracle ASM 具有以下存储空间限制:

  • 每个 Oracle ASM 磁盘的最大存储空间为 4 PB,且分配单元 (AU) 大小为 1 MB

  • 每个 Oracle ASM 磁盘的存储空间上限为 8 PB,AU 大小为 2 MB

  • 每个 Oracle ASM 磁盘的存储空间上限为 16 PB,AU 大小为 4 MB

  • 每个 Oracle ASM 磁盘的存储空间上限为 32 PB,AU 大小为 8 MB

  • 存储系统的最大存储空间为 320 艾字节 (EB)

Oracle DBA 指南