配置环境
可以使用脚本自动执行某些步骤。这些脚本不会自动执行完整设置,因此您必须完成这些任务,并且可以在参考这些脚本时使用它们。
转到下载代码以获得链接,下载本文档中引用的脚本。
在主数据中心中准备 WebLogic 数据源
TNS 别名在主和辅助中是相同的名称;因此,数据源使用相同的 db 连接字符串。它使用不复制到备用数据库的 tnsnames.ora
文件进行解析,因此每个站点中可以有不同的 tnsnames.ora
内容。您可以将其与 WebLogic 域配置单独放置在不在站点之间复制的文件系统中。或者,鉴于它是配置的一部分,您还可以将其存储在域配置下的文件夹中。在这种情况下,请确保在将域配置从主数据库复制到备用数据库时排除该文件夹。每个站点都将使用每个站点中的相应连接字符串解析 TNS 别名,仅指向本地数据库。例如:
Connect string in data sources in primary site:
jdbc:oracle:thin:@soapdb
The tnsnames.ora file in primary contains:
SOAPDB =
(DESCRIPTION=
(ADDRESS_LIST=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=prmy-scan)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=soapdb.example.com))
)
Connect string in data sources in secondary site:
jdbc:oracle:thin:@soapdb
The tnsnames.ora file in secondary:
SOAPDB =
(DESCRIPTION=
(ADDRESS_LIST=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=stby-scan)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=soapdb.example.com))
)
以下是使用 TNS 别名的优点:
- 由于在 WebLogic 域
config
中使用相同的 db 连接字符串,因此在将config
从主数据库复制到备用数据库之后,无需更改 WebLogic 配置。 - 由于每个站点都仅指向本地数据库,因此不存在从中间层到远程数据库的交叉连接风险。
如果您尚未在主 SOA 系统中使用此方法,请执行以下步骤在数据源中使用 TNS 别名。
配置网络
配置 Oracle Data Guard
关于数据库版本和补丁程序级别
内部部署数据库和 OCI 上的备用数据库中的 Oracle 主目录版本和补丁程序级别必须相同。您可以通过以下方法来实现这一点:
- 在 OCI 中的数据库系统预配期间选择数据库软件映像时,选择显示所有版本,然后选择与内部部署数据库相同的数据库版本和补丁程序集级别。
- 如果源数据库的 Oracle 主目录版本在 OCI 中不再可用于预配,则必须将源环境打补丁到与云环境中的数据库主目录相同的数据库补丁程序级别。
以下方案是一个真正的参考示例。内部部署数据库主目录为 19.6,OCI DB 主目录为 19.11。
- 运行
$ORACLE_HOME/OPatch/opatch lspatches
命令以确定在源和目标环境中安装的补丁程序。$ORACLE_HOME/OPatch/opatch lspatches
下面是此示例中的输出:
数据库 Oracle 主目录补丁程序本地 OCI 上的数据库 Oracle 主目录补丁程序 30676209;LNX64-20.1-RAC Asm 命中 ORA-07445 遇到核心转储 [Ksxposdifqry()+556] 异常
30613937;Ipcor Topo 服务修复 Ip 类型 Bug (在 Ip 选择中)
30484981;Ojvm 发行版更新:19.6.0.0.200114 (30484981)
30489227;Ocw 发行版更新 19.6.0.0.0 (30489227)
30557433;数据库发行版本更新:19.6.0.0.200114 (30557433)
29780459;增加 _lm_res_hash_bucket 并从错误 29416368 修复中取消更改
30310195;Dbsat 报告为 Gsmadmin_internal.shard_ts 上的分片 STS_CHUNKS 的已禁用约束条件
32327201;Rdbms - DSTV36 Update - TZDATA2020E
31335037;Rdbms - DSTV35 Update - TZDATA2020A
30432118;针对错误 28852325 29997937 的 19.0.0.0.0 上的合并请求
31732095;19C 数据库 Oracle 主目录中的更新权限到 V5.32
32490416;JDK 捆绑补丁程序 19.0.0.0.210420
32399816;Ojvm 发行版更新:19.11.0.0.210420 (32399816)
32579761;Ocw 发行版更新 19.11.0.0.0 (32579761)
32545013;数据库发行版本更新:19.11.0.0.210420 (32545013)
- 分析现有修补程序:确定哪些修补程序是一次性修补程序,检查它们是否已在新 RU 修补程序中修复,或者是否需要新的重叠修补程序,确定必须卸载哪些修补程序,找到 RU 的相应修补程序文件,依此类推。
- 根据分析,在安装 RU 更新之前卸载新 RU 中已修复的一次性补丁程序(否则,它们会导致冲突)。在此示例中,在 19.11 中修复了关闭的修补程序,因此必须回退这些修补程序,然后才能安装 19.11 RU。
30676209;LNX64-20.1-RAC ASM HIT ORA-07445 EXCEPTION ENCOUNTERED CORE DUMP [KSXPOSDIFQRY()+556] 30613937;IPCOR TOPO SERVICE FIX IP TYPE BUG IN IP SELECTION
- 找到、下载和安装 RU 修补程序。在此示例中,19.11 RU 修补程序位于组合修补程序 32578973:COMBO OF OJVM RU COMPONENT 19.11.0.0.210420 + GI RU 19.11.0.0.210420 中,如下所示:
32399816;OJVM RELEASE UPDATE: 19.11.0.0.210420 (32399816) 32579761;OCW RELEASE UPDATE 19.11.0.0.0 (32579761) 32545013;Database Release Update : 19.11.0.0.210420 (32545013)
- 找到、下载和安装 OCI 数据库主目录位于 RU 之上的叠加、一次性补丁程序和其他补丁程序。例如:
29780459;INCREASE _LM_RES_HASH_BUCKET AND BACK OUT CHANGES FROM THE BUG 29416368 FIX 30310195;DBSAT REPORTED DISABLED CONSTRAINTS FOR SHARDING STS_CHUNKS ON GSMADMIN_INTERNAL.SHARD_TS 30432118;MERGE REQUEST ON TOP OF 19.0.0.0.0 FOR BUGS 28852325 (DSTV33 update) 29997937 (DSTV34 update) 31335037;RDBMS - DSTV35 UPDATE - TZDATA2020A 32327201;RDBMS - DSTV36 UPDATE - TZDATA2020E 32490416;JDK BUNDLE PATCH 19.0.0.0.210420 31732095;UPDATE PERL IN 19C DATABASE ORACLE HOME TO V5.32
- 对 GI 补丁程序执行类似的分析。
注:
- 从 Oracle Data Guard 的角度来看,在主数据库和备用数据库中使用相同的 GI 版本并不是绝对必要的:Oracle Data Guard 完全独立于数据库中的任何内容,因此您可以跨不同站点运行不同版本的操作系统、Oracle Clusterware、硬件或存储软件,而不会对版本或时间有任何限制。(文档 ID 1265700.1 )
- 无论 Oracle Data Guard 是什么,在 RAC 数据库的 GI 和 RDBMS 版本中不需要具有相同版本:从 18c 开始,Oracle Grid Infrastructure (GI) /集群件 (CRS) 版本必须始终等于或最高版本,直至可能的组合中的第一个数字。例如:网格基础结构可以位于 18.1.0.0,数据库可以位于 18.3.0.0。(文档 ID 337737.1 )
最好在数据库主目录所在的级别为 GI 打补丁。在必须将数据库主目录补丁程序到较新的发行版本更新 (RU) 后,许多补丁程序是数据库和 GI 公用的,您可以同时对两个主目录使用 OPatchAuto
。