配置环境
可以使用脚本自动执行某些步骤。这些脚本不会自动执行完整设置,因此您必须完成这些任务,并且可以在参考这些脚本时使用它们。
转到下载代码以获得链接,下载本文档中引用的脚本。
在主数据中心中准备 WebLogic 数据源
TNS 别名在主和辅助中是相同的名称;因此,数据源使用相同的 db 连接字符串。它使用不复制到备用数据库的 tnsnames.ora
文件进行解析,因此每个站点中可以有不同的 tnsnames.ora
内容。您可以将其与 WebLogic 域配置单独放置在不在站点之间复制的文件系统中。或者,鉴于它是配置的一部分,您还可以将其存储在域配置下的文件夹中。在这种情况下,请确保在将域配置从主数据库复制到备用数据库时排除该文件夹。每个站点都将使用每个站点中的相应连接字符串解析 TNS 别名,仅指向本地数据库。例如:
Connect string in data sources in primary site:
jdbc:oracle:thin:@mypdbservice
The tnsnames.ora file in primary contains:
MYPDBSERVICE =
(DESCRIPTION=
(ADDRESS_LIST=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=prmy-scan)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=mypdbservice.example.com))
)
Connect string in data sources in secondary site:
jdbc:oracle:thin:@mypdbservice
The tnsnames.ora file in secondary:
MYPDBSERVICE =
(DESCRIPTION=
(ADDRESS_LIST=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=stby-scan)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=mypdbservice.example.com))
)
以下是使用 TNS 别名的优点:
- 由于在 WebLogic 域
config
中使用相同的 db 连接字符串,因此在将config
从主数据库复制到备用数据库之后,无需更改 WebLogic 配置。 - 由于每个站点仅指向本地数据库,因此不存在从中间层到远程数据库的交叉连接风险。
如果您尚未在主 WebLogic Server 系统中使用此方法,请执行以下步骤在数据源中使用 TNS 别名。
配置网络
配置 Oracle Data Guard
关于数据库版本和补丁程序级别
内部部署数据库中的 Oracle 主目录和 OCI 上的备用数据库必须具有相同的版本和相同的补丁程序级别。您可以使用以下方法来实现这一点:
- 在 OCI 中的数据库系统预配期间选择数据库软件映像时,选择显示所有版本,然后选择与内部部署数据库相同的数据库版本和补丁程序集级别。
- 如果源数据库的 Oracle 主目录版本在 OCI 中不再可用于预配,则必须将源环境打补丁到与云环境中的数据库主目录相同的数据库补丁程序级别。
以下情景是供参考的真实示例。内部部署 DB 主目录为 19.6,OCI DB 主目录为 19.11。
- 运行命令
$ORACLE_HOME/OPatch/opatch lspatches
以标识在源环境和目标环境中安装的修补程序。$ORACLE_HOME/OPatch/opatch lspatches
下面是此示例中的输出:
本地部署的 DB Oracle 主目录补丁程序 OCI 上的数据库 Oracle 主目录补丁程序 30676209;LNX64-20.1-RAC ASM 命中 ORA-07445 出现核心转储异常 [KSXPOSDIFQRY()+556]
30613937;IPCOR TOPO 服务修复 IP 选择中的 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 报告的用于分片的已禁用约束条件 STS_CHUNKS,位于 GSMADMIN_INTERNAL.SHARD_TS
32327201;RDBMS-DSTV36 更新 -TZDATA2020E
31335037;RDBMS - DSTV35 UPDATE - TZDATA2020A
30432118;在错误 28852325 29997937 的 19.0.0.0.0 顶部合并请求
31732095;将 19C 数据库中的 PERL 更新为 ORACLE HOME,更新为 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),许多补丁程序对于 DB 和 GI 是通用的,您可以同时对两个主目录使用 OPatchAuto
。