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
tar -xzf 3scale-amp-openshift-templates-3scale-2.12.0-GA.tar.gz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将 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 -
$ oc process -f build.yml | oc apply -f -
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
-f
选项运行oc new-app
命令以指示amp.yml
OpenShift 模板,并使用-p
选项指定带有 OpenShift 集群域的WILDCARD_DOMAIN
参数:oc new-app -f amp.yml -p WILDCARD_DOMAIN=mydomain.com
$ oc new-app -f amp.yml -p WILDCARD_DOMAIN=mydomain.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意以下步骤是可选的。如果在安装或系统升级后删除
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"}]}}}}}}'
$ 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"}]}}}}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令,替换
DATABASE_URL
以指向在准备 Oracle 数据库中指定的 Oracle 数据库 :oc patch secret/system-database -p '{"stringData": {"URL": "DATABASE_URL"}}'
$ oc patch secret/system-database -p '{"stringData": {"URL": "DATABASE_URL"}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入
oc start-build
命令以构建新系统镜像:oc start-build 3scale-amp-system-oracle --from-dir=.
$ oc start-build 3scale-amp-system-oracle --from-dir=.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 等待构建完成。要查看构建的状态,请运行以下命令:
oc get build <build-name> -o jsonpath="{.status.phase}"
$ oc get build <build-name> -o jsonpath="{.status.phase}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 等待构建处于 Complete 状态。
使用 Oracle 数据库设置 3scale 系统镜像后,从
system-app
DeploymentConfig 中删除ORACLE_SYSTEM_PASSWORD
。在升级到新版本的 3scale 前,不需要再次执行它。oc set env dc/system-app ORACLE_SYSTEM_PASSWORD-
$ oc set env dc/system-app ORACLE_SYSTEM_PASSWORD-
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
open_cursors
参数设置验证
您必须确认此数据库中的 open_cursors
参数设置为大于 1000
的值。
要做到这一点,以 SYSTEM 用户身份登录 Oracle 数据库并运行以下命令:
show parameter open_cursors;
show parameter open_cursors;
返回值应至少为 1000
。如果没有,请在 Oracle 对 开放光标
的下面放置内容将参数更改为大于 1000
的值。
如果 open_cursors
参数之前配置为小于 1000
的一些限制,并且您不增加值,您可能会在其中一个 OpenShift system-app
pod 日志中看到以下错误:
ORA-01000: maximum open cursors exceeded
ORA-01000: maximum open cursors exceeded
其他资源
有关 3scale 和 Oracle 数据库支持的更多信息,请参阅 Red Hat 3scale API 管理支持的配置。