Oracle 补丁和已知问题

以下是必须应用的 Oracle 补丁,以便在 Backup and DR 中使用 Oracle 时获得最佳效果。

Oracle 版本 需要补丁 由于存在这些 bug 备注
11.2.0.1 到 12.1.0.2。 19621704 ORA-00600 [723] [内存泄漏] 错误,泄漏的内存为“mbr 节点内存” Backup and DR 应用感知装载可能会失败
11.x 已在 12.x 及更高版本中修复 Bug 19874632 - ORA-15196: INVALID ASM BLOCK HEADER [KFC.C:26368] [OBJ_KFBL] [8] [529] [3 != 8] (Doc ID 19874632.8) 这需要 Oracle 版本 12.x 及更高版本。
12.1+ 已在 19.1.0 及更高版本中修复
如需了解 Oracle 版本(从 12.1 到 19.1)的补丁详情,请参阅 Oracle 文档 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 应用感知装载可能会失败
修复版本: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 失败,并显示以下任一错误:
ORA-01507: database not mounted
ORA-01219: database or pluggable database not open: queries allowed on fixed
ORA-00972: identifier is too long
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
ORA-01426: numeric overflow
ORA-01152: file 3 was not restored from a sufficiently old backup
ORA-01110: data file 3:
ORA-01109: database not open
ORA-01034: ORACLE not available
Backup and DR Oracle 备份可能会失败
12.1.0.2 18845653 如果在另一个会话中重命名 PDB,则从 PDB 关闭中出现 ORA-600 Backup and DR 应用感知型装载可能会失败。已在 12.2.0.1 及更高版本中修复
12.1.0.2 19075256 来自 PDB 重命名的 ORA-600 [kcfmis_internal: enq]
12.1.0.2 22809813 (Win)
19404068 (Linux)
针对创建的控制文件运行“RECOVER DATABASE”时出现 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 Backup and DR Oracle 数据库备份可能会失败。
在安装补丁之前的解决方法:取消设置可插拔数据库的参数 CREATE_FILE_DESTINATION。
18.10 及更高版本 请咨询 Oracle,了解早期版本的临时补丁。 Bug 29056767 - 待机:当媒体恢复正在运行时,待机数据库中的数据文件检查点未更新 (Doc ID 29056767.8) 备份和灾难恢复应用感知挂载可能会失败。
已在以下版本中修复:
19.4.0.0.190716 2019 年 7 月数据库 RU
18.8.0.0.191015 2019 年 10 月 DBRU
20.10。
19.14 34383066 Bug 34383066 - 升级到 19.14 后,RMAN 备份在发布渠道上挂起,不会返回到提示符。 Backup and DR Oracle 备份可能会挂起。

Oracle 已知问题

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

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

在 Backup and DR 备份期间,Backup and DR 代理会查询 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 文档 ID 370921.1)。

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

如果源数据库中的 max_string_size init 参数设置为 extended,则在更改此参数之前拍摄的数据库备份映像的感知应用装载或恢复,以及使用在此更改之后拍摄的日志备份进行前滚,将失败并显示以下错误:ORA-14694: database must be in UPGRADE mode to begin MAX_STRING_SIZE migration

解决方案 如果您在源数据库中将 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 文档 ID 370921.1)

具体取决于以下因素:

Oracle Database Enterprise Edition

对于 Oracle Database Enterprise Edition 版本 10.1.0.2 到 11.1.0.7 和 11.2.0.3,ASM 施加了以下限制:

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

  • 存储系统中的 ASM 磁盘数量上限为 10,000

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

  • 每个存储系统的最大存储空间为 40 EB

  • 每个磁盘组 100 万个文件

  • 每个文件的存储空间上限为 2.4 TB

Oracle Database12c

对于 Oracle Database12c,ASM 施加了以下限制:

  • 存储系统中的 511 个磁盘组(适用于 Oracle 数据库 12c 版本 1 或更高版本)

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

  • 每个磁盘组 100 万个文件

使用 Oracle Exadata Storage

对于所有 Oracle Exadata Storage,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 Storage,COMPATIBLE.ASM 或 COMPATIBLE.RDBMS 磁盘组属性 < 12.1

如果不使用任何 Oracle Exadata Storage,当 COMPATIBLE.ASM 或 COMPATIBLE.RDBMS 磁盘组属性设置为低于 12.1 时,Oracle ASM 的存储空间限制如下:

  • 每个 Oracle ASM 磁盘的最大存储空间为 2 TB

  • 存储系统的最大容量为 20 PB

如果不使用 Exadata Storage,COMPATIBLE.ASM 和 COMPATIBLE.RDBMS 磁盘组属性 > 12.1

如果不使用任何 Oracle Exadata Storage,当 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 指南