Este conteúdo não está disponível no idioma selecionado.
Chapter 10. Setting up your 3scale system image with an Oracle Database
The 3scale operator does not support the Oracle Database. For more information about supported configurations, see the Red Hat 3scale API Management Supported Configurations page.
This section explains how a Red Hat 3scale API Management administrator sets up the 3scale system image with an Oracle Database. By default, 3scale 2.7 has a component called system that stores configuration data in a MySQL database. You can override the default database and store your information in an external Oracle Database. Follow the steps in this chapter to build a custom system container image with your own Oracle Database client binaries and deploy 3scale to OpenShift.
Prerequisites
A supported version of the following Oracle software components:
- Oracle Instant Client Package: Basic or Basic Light
- Oracle Instant Client Package: SDK
- Oracle Instant Client Package: ODBC
Example packages
- instantclient-basiclite-linux.x64-12.2.0.1.0.zip or instantclient-basic-linux.x64-12.2.0.1.0.zip
- instantclient-sdk-linux.x64-12.2.0.1.0.zip
- instantclient-odbc-linux.x64-12.2.0.1.0-2.zip
To set up your 3scale system image with and Oracle Database, perform the steps outlined in the following sections:
10.1. Preparing the Oracle Database
This section provides steps for preparing your Oracle Database.
Prerequisites
- A supported version of Oracle Database accessible from your OpenShift cluster
- Access to the Oracle Database system user for installation procedures
- 
						The 3scale 2.7 amp.ymltemplate
Procedure
- Create a new database. - The following settings are required for the Oracle Database to work with 3scale: - ALTER SYSTEM SET max_string_size=extended SCOPE=SPFILE; ALTER SYSTEM SET compatible='12.2.0.1' SCOPE=SPFILE; - ALTER SYSTEM SET max_string_size=extended SCOPE=SPFILE; ALTER SYSTEM SET compatible='12.2.0.1' SCOPE=SPFILE;- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Collect the database details. - Get the following information that will be needed for 3scale configuration: - Oracle Database URL
- Oracle Database service name
- Oracle Database system password - The - DATABASE_URLparameter must follow this format:- oracle-enhanced://${user}:${password}@${host}:${port}/${database}- Example - DATABASE_URL="oracle-enhanced://user:password@my-oracle-database.com:1521/threescalepdb" - DATABASE_URL="oracle-enhanced://user:password@my-oracle-database.com:1521/threescalepdb"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
 
Additional resources
- For information on creating a new database in Oracle Database, see the Oracle documentation.
10.2. Building the system image
This section provides steps to build the system image.
Prerequisites
- The Oracle Database must be configured. For more details, follow the steps in Preparing the Oracle Database.
Procedure
- Clone the 3scale API Management OpenShift Templates GitHub repository. Use the following command: - git clone --branch 2.7.1.GA https://github.com/3scale/3scale-amp-openshift-templates.git - $ git clone --branch 2.7.1.GA https://github.com/3scale/3scale-amp-openshift-templates.git- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
						Place your Oracle Database Instant Client Package files into the 3scale-amp-openshift-templates/amp/system-oracle/oracle-client-filesdirectory.
- Download the 3scale 2.7 amp.yml template.
- Run the - oc new-appcommand with the- -foption and specify the- build.ymlOpenShift template:- oc new-app -f build.yml - $ oc new-app -f build.yml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Run the - oc new-appcommand with the- -foption to indicate the- amp.ymlOpenShift template, and the- -poption to specify the- WILDCARD_DOMAINparameter with the domain of your OpenShift cluster:- 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 
- Enter the following - oc patchcommands, replacing- SYSTEM_PASSWORDwith the Oracle Database- systempassword you set up in Preparing the Oracle Database:- 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 
- Enter the following command, replacing - DATABASE_URLto point to the Oracle Database you specified in Preparing the Oracle Database:- 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 
- Link the pull secret to the builder with the following command: - oc secrets link builder threescale-registry-auth - $ oc secrets link builder threescale-registry-auth- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Enter the - oc start-buildcommand to build the new system image:- 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 
- For more information about 3scale and Oracle Database support, see Red Hat 3scale API Management Supported Configurations.