Installing WCC 12.2.1.4 on OCI cloud with 19c Autonomous Database
At first I was convinced that this was going to be a easy
install, after all, Oracle on Oracle on Oracle? Should be just fine right.
Turns out that it does work quite well, provided you take care to do some specific
steps and that you use the correct information.
The procedure below is for you typical single node
development environment, but for bigger installs you can basically do the same
thing, except for creating multiple OCI instances to run WCC on.
Step 1: OCI machine.
Start by making an OCI Instance. Pick the right size of
image to run the load you want to handle, but here is a first precaution, when
you pick the shape and it’s sizing, do not select the Ampere shapes. The Middleware
base installers will fail on these shapes.
Make sure that you note down the IP addresses that have been
assigned to the machine.
On the OCI instance, to make your life easy, make sure that
as root you install the necessary OS level stuff.
sudo -i -u
root
dnf
groupinstall "Server with GUI"
yum -y install
oracle-database-preinstall-19c
yum install
jdk1.8.x86_64
Doing the groupinstall of “Server with GUI” will allow you
to have everything that you can possibly need to be able to run the installer with
the graphical interface. You will need this amongst others to run RCU. Once you
have this, use your preferred tooling to set up X11 forwarding over SSL.
Do not forget to create a user to install and run like for
example “oracle”.
Step 2: Database.
Provision your Autonomous Database.
I suggest you choose the “Data Warehouse” as workload type. When
setting up the DB, make sure that you set the following correctly:
-
Character
set: AL32UTF8
-
National
character set: AL16UTF16
For the network connection choose the Access type: “Allow
secure access from specified IPs and VCNs”
Note that you do not have the typical “sys” user in this
case. The administration user is ADMIN. Set a password for the user, following
the provided guidelines.
For the instance name, choose something that makes sense to
you like wccdb.
Once you DB is provisioned and running, there is 1 more step
to do, to avoid issues later on in the procedure.
-
From the “More Actions” menu select “Update Network
Access”
-
Use the “+ Access Control Rule” to add a rule:
o
IP Address based
o
As IP’s add a comma-separate list of the private
IP address(es) of your WCC OCI instance(s)
o
Don’t forget to click the “Update” button.
Step 3: Base installation.
Now proceed with the base installation of the Middleware
home and the WCC shiphome. Only use the 12.2.1.4 installation sources. Older
version will not work.
Once these base installs are done I suggest that you apply
all the necessary patches at once before continuing. At the time of this
article, we are at WCC Bundle patch 2022-10 so that is the one that is
included. You can select a newer one if it is available.
You need to start of by installing patch 6880880 to update
opatch itself to a newer version. If you do not do this, the installation of
some of the patches will fail.
Here is the list of patches you should install:
- p33591019: Coherence
- p33727616:
Weblogic infrastructure bundle patch
- p34487690: WCC bundle patch October 2022
- p30540494: patch for rcu connection issues to
Autonomous
- p30754186: patch for rcu connection issues to
Autonomous
- p31676526: patch for rcu connection issues to
Autonomous
Download all these patches to a directory on the server and
manually apply them 1 by one, or use the automated installation by using the
napply syntax for opatch
${ORACLE_HOME}/OPatch/opatch
napply -id 33727616,1221412,34487690,30540494,30754186,31676526 -silent
Step 4: Update ojdbc.
In $ORACLE_HOME/oracle_common/modules/oracle.jdbc you will
find the ojdbc.jar. but the version that you will find there is too old to work
correctly with Autonomous.
Download the latest driver from https://www.oracle.com/be/database/technologies/appdev/jdbc-downloads.html
What you are looking for is the ojdbc8-full.tar.gz file for
Oracle Database 19c. Download this to EVERY OCI instance where you want to run
WCC. Unzip the download, extract the files for the tar archive and make sure to
copy all the file in the archive to the $ORACLE_HOME/oracle_common/modules/oracle.jdbc
directory.
Step 5: Connection Wallet
For the following steps I will assume that you have created
the user oracle with a home directory set to /home/oracle.
In your cloud control environment, surf to the Autonomous DB
instance that you have created.
Click on the “DB Connection” button:
This will show you a screen with the connection information.
Make sure “Instance Wallet” is selected and click the
Download button.
This will download a file called Wallet_wccdb.zip to your laptop.
Upload this file to the WCC server(s) and unzip the files into the directory
/home/oracle/wallet (this can be elsewhere but make sure to persist with all
the changes correctly.
You will need to update some files to reflect the directory
where you have placed the files:
Edit sqlnet.ora and make sure that the TNS_ADMIN is set
correctly. In our sample the contents of this file will be:
WALLET_LOCATION
= (SOURCE = (METHOD = file) (METHOD_DATA =
(DIRECTORY="/home/oracle/wallet/")))
SSL_SERVER_DN_MATCH=yes
Edit ojdbc.properties. Add the end of the file, add the
following line:
SSL_SERVER_DN_MATCH=yes
Step 6: RCU
You are now ready to create your schema’s for WCC. And this
is where things will go wrong if you have skipped any of the steps above.
We just need to do a few more step regarding RCU itself
before starting.
First go to the following directory:
$ORACLE_HOME/oracle_common/rcu/config
Edit the file rcu.properties. At the end of the file, add
the following line:
WALLET_DIR=/home/oracle/wallet
Finally set the following shell variables before launching
rcu:
export
RCU_SSL_MODE=true
export
TNS_ADMIN=/home/oracle/wallet
Now you can start RCU. You just need to take into account
that the connection to the DB will be different than what you are used to.
Select the option to manually enter the connection string.
This will allow you to use the TNS configuration we have prepared in the previous
step
The connection string you will use is:
jdbc:oracle:thin:@wccdb_medium?TNS_ADMIN=/home/oracle/wallet/
The actual TNS name you select depends on the service you
want to get on the DB. For production environment you will want to use
wccdb_high, but for development systems wccdb_medium should be more that
sufficient.
As user you select “ADMIN” combined with the password you
choose while provisioning the DB. Note that the role is “Normal”
Proceed as you would normally do with RCU. Along the way you
will get a number of warnings. You can ignore them. First warning will be that
the DB version is too recent. The second warning that will show several times is
that the insufficient privileges warning. Just ignore it every time.
RCU will successfully create the necessary schema’s for your
WCC installation.
Step 7: Create you WCC domain.
You can now create you WCC domain just like you would always
do it. The only difference is once again when you come to the part where you
define the connection to the database.
Exactly like you did with RCU, select to manually enter the
connection URL and use the same connection string as for RCU:
jdbc:oracle:thin:@wccdb_medium?TNS_ADMIN=/home/oracle/wallet/
The installer will read the _STB schema to fetch the info on
the schema’s and from that point onwards, you can continue the normal WCC
domain creation procedure.