2.3. 在基于模板的安装中使用 Oracle 数据库升级 3scale
本节介绍在 OpenShift 3.11 基于模板的安装中使用带有 Oracle 数据库的 3scale 系统镜像时,如何更新 Red Hat 3scale API 管理。
先决条件
带有 Oracle 数据库的 3scale 安装.请参阅使用 Oracle 数据库设置 3scale 系统镜像。
要在基于模板的安装中使用 Oracle 数据库升级 3scale 系统镜像,请执行以下步骤:
2.3.1. 使用 Oracle 19c 升级 3scale
此流程指导您从现有 3scale 2.11 安装中对 3scale 2.12 进行 3scale 2.12 的 Oracle 数据库 19c 更新过程。
重要:丢失与数据库的连接可能会损坏 3scale。在继续升级前进行备份。如需更多信息,请参阅 Oracle 数据库文档:Oracle 数据库备份和恢复用户指南。
先决条件
- 3scale 2.11 安装。
Oracle 数据库 19c 安装。
- 有关使用 Oracle 配置 3scale 的更多信息,请参阅 准备 Oracle 数据库。
流程
从 GitHub 存储库下载 3scale OpenShift 模板并提取存档:
tar -xzf 3scale-amp-openshift-templates-3scale-2.12.0-GA.tar.gz
-
将 Oracle Database Instant Client Package 文件放在
3scale-amp-openshift-templates-3scale-2.12.0-GA/amp/system-oracle/oracle-client-files
目录中。 使用
-f
选项运行oc process
命令并指定build.yml
OpenShift 模板:$ oc process -f build.yml | oc apply -f -
使用
-f
选项运行oc new-app
命令以指示amp.yml
OpenShift 模板,并使用-p
选项指定带有 OpenShift 集群域的WILDCARD_DOMAIN
参数:$ oc new-app -f amp.yml -p WILDCARD_DOMAIN=mydomain.com
注意以下步骤是可选的。如果在安装或系统升级后删除
ORACLE_SYSTEM_PASSWORD
,请使用它们。输入以下
oc patch
命令,将SYSTEM_PASSWORD
替换为您在准备 Oracle 数据库中设置的 Oracle Databasesystem
密码:$ oc patch dc/system-app -p '[{"op": "add", "path": "/spec/strategy/rollingParams/pre/execNewPod/env/-", "value": {"name": "ORACLE_SYSTEM_PASSWORD", "value": "SYSTEM_PASSWORD"}}]' --type=json $ oc patch dc/system-app -p '{"spec": {"strategy": {"rollingParams": {"post":{"execNewPod": {"env": [{"name": "ORACLE_SYSTEM_PASSWORD", "value": "SYSTEM_PASSWORD"}]}}}}}}'
输入以下命令,替换
DATABASE_URL
以指向在准备 Oracle 数据库中指定的 Oracle 数据库 :$ oc patch secret/system-database -p '{"stringData": {"URL": "DATABASE_URL"}}'
输入
oc start-build
命令以构建新系统镜像:$ oc start-build 3scale-amp-system-oracle --from-dir=.
等待构建完成。要查看构建的状态,请运行以下命令:
$ oc get build <build-name> -o jsonpath="{.status.phase}"
- 等待构建处于 Complete 状态。
使用 Oracle 数据库设置 3scale 系统镜像后,从
system-app
DeploymentConfig 中删除ORACLE_SYSTEM_PASSWORD
。在升级到新版本的 3scale 前,不需要再次执行它。$ oc set env dc/system-app ORACLE_SYSTEM_PASSWORD-
open_cursors
参数设置验证
您必须确认此数据库中的 open_cursors
参数设置为大于 1000
的值。
要做到这一点,以 SYSTEM 用户身份登录 Oracle 数据库并运行以下命令:
show parameter open_cursors;
返回值应至少为 1000
。如果没有,请在 Oracle 对 开放光标
的下面放置内容将参数更改为大于 1000
的值。
如果 open_cursors
参数之前配置为小于 1000
的一些限制,并且您不增加值,您可能会在其中一个 OpenShift system-app
pod 日志中看到以下错误:
ORA-01000: maximum open cursors exceeded
其他资源
有关 3scale 和 Oracle 数据库支持的更多信息,请参阅 Red Hat 3scale API 管理支持的配置。