This post is also available in:
Series: Oracle RAC 12.2 — Complete Installation on VMware Workstation
📌 About this series: This guide covers Oracle RAC 12c, which is out of support. The goal is to document learning and revisit concepts — not to recommend this version for production. Read the full context in the series overview →
📋 This series — Oracle RAC 12.2 on VMware Workstation:
⚙️ Prerequisite: Post 3 completed — Grid Infrastructure installed and cluster with two active nodes (
crsctl stat res -tclean).
In Post 3 we installed Grid Infrastructure and the cluster is up with two active nodes. Now we’ll install the Oracle Database software and create the RAC database using DBCA.
💡 In practice: DBCA in Advanced mode has many screens with choices that permanently affect database behavior — character set and block size cannot be changed later. This post documents every decision with the technical reasoning behind it.
Install Oracle Database Software 12.2
Prepare the Installer
cd /u01/stage
unzip -q /u01/stage/linuxx64_12201_database.zipAfter unzipping, the /u01/stage/database/ directory is created with the installer.
orclrac2 doesn’t need to unzip — the OUI copies the binaries automatically over SSH.
Run the Database OUI
ssh -X oracle@192.168.15.170
su - oracle
db_env
cd /u01/stage/database
./runInstallerScreen sequence:
Step 1 — Configure Security Updates
- Uncheck update notifications — click Next and confirm
Step 2 — Installation Option
- Install database software only
Step 3 — Grid Installation Options
- Oracle Real Application Clusters database installation
Step 4 — Nodes Selection
- Check:
orclrac1andorclrac2
Step 5 — Database Edition
- Enterprise Edition
Step 6 — Installation Location
| Field | Value |
|---|---|
| Oracle Base | /u01/app/oracle |
| Software Location | /u01/app/oracle/product/12.2.0/dbhome_1 |
Step 7 — Operating System Groups
| Group | Value |
|---|---|
| OSDBA | dba |
| OSOPER | oper |
| OSBACKUPDBA | backupdba |
| OSDGDBA | dgdba |
| OSKMDBA | kmdba |
| OSRACDBA | racdba |
Step 8 — Prerequisite Checks
- Resolve any errors before proceeding
Step 9 — Summary → Install
Run root.sh
Can be run on both nodes simultaneously:
/u01/app/oracle/product/12.2.0/dbhome_1/root.shCreate the RAC Database (DBCA)
ssh -X oracle@192.168.15.170
su - oracle
db_env
dbcaInstalation
Step 1 — Database Operation
- Create a database
Step 2 — Creation Mode
- Advanced Configuration
Step 3 — Deployment Type
| Field | Value |
|---|---|
| Database type | Oracle Real Application Clusters (RAC) database |
| Configuration type | Admin Managed |
| Template | Custom Database |
Admin Managed: the DBA controls which nodes run the database. Policy Managed is for large environments where Clusterware decides automatically.
Custom Database: fully manual configuration — more educational. General Purpose comes pre-configured. Data Warehouse is optimized for analytical workloads.
Step 4 — Nodes Selection
- Check:
orclrac1andorclrac2
Step 5 — Database Identification
| Field | Value |
|---|---|
| Global database name | orcl |
| SID Prefix | ORCL |
| Create as Container database | unchecked |
The SID Prefix automatically generates
ORCL1on orclrac1 andORCL2on orclrac2. Container Database is the 12c multitenant architecture — we leave it unchecked for a traditional non-CDB database.
Step 6 — Storage Option
| Field | Value |
|---|---|
| Database files storage type | Automatic Storage Management (ASM) |
| Database files location | +DATA/{DB_UNIQUE_NAME} |
| Use Oracle-Managed Files (OMF) | ✅ checked |
OMF automatically manages file naming and location — datafiles, redo logs, and control files.
Step 7 — Fast Recovery Option
| Field | Value |
|---|---|
| Specify Fast Recovery Area | ✅ checked |
| Recovery files storage type | ASM |
| Fast Recovery Area | +FRA |
| Fast Recovery Area size | 34000 MB |
| Enable archiving | ✅ checked |
Archive Log Mode is required for backup and recovery.
Step 8 — Database Options
| Component | Lab |
|---|---|
| Oracle JVM | ✅ Keep |
| Oracle Text | ✅ Keep |
| Oracle Multimedia | Optional |
| Oracle OLAP | Optional |
| Oracle Spatial | Optional |
| Oracle Label Security | Not needed |
| Oracle Application Express | Optional |
| Oracle Database Vault | Not needed |
Install only what the application actually uses. Unused components increase the attack surface, consume space, and add complexity to patching and upgrade processes.
Step 9 — Configuration Options
Memory tab:
| Field | Value |
|---|---|
| Management | Automatic Shared Memory Management (ASMM) |
| SGA Size | 2388 MB |
| PGA Size | 797 MB |
Do not use Automatic Memory Management (AMM) in RAC — AMM uses HugePages inefficiently in environments with multiple instances.
Sizing tab:
| Field | Value |
|---|---|
| Block size | 8192 bytes (8 KB) |
| Processes | 320 |
Block size cannot be changed after database creation.
Character sets tab:
| Field | Value |
|---|---|
| Database character set | AL32UTF8 |
| National character set | AL16UTF16 |
AL32UTF8 is mandatory for new databases — it supports all languages. Cannot be changed after database creation without rebuilding or migrating the database.
Connection mode tab:
- Dedicated Server Mode
Dedicated is the recommended standard for RAC. Shared Server only makes sense with thousands of short-lived connections without a connection pool.
Sample schemas tab:
- Add sample schemas: unchecked
Step 10 — Management Options
| Option | Value |
|---|---|
| Run CVU checks periodically | ✅ checked |
| Configure Enterprise Manager (EM) database express | unchecked |
| Register with EM Cloud Control | unchecked |
In production, monitoring is done through Oracle Enterprise Manager Cloud Control — not through the EM Express embedded in the database.
Step 11 — User Credentials
- Use the same administrative password for all accounts
- Password:
Welcome1
In production, always use separate, complex passwords for SYS, SYSTEM, and DBSNMP.
Step 12 — Creation Option
| Option | Value |
|---|---|
| Create database | ✅ checked |
| Save as a database template | unchecked |
| Generate database creation scripts | unchecked |
Step 13 — Prerequisite Checks
Review errors — see the Known Errors section.
Step 14 — Summary → Finish
Step 15 — Progress Page
- Wait for creation to complete
Step 16 — Finish → Close
Known Errors
resolv.conf overwritten after reboot
Symptom: The resolv.conf Integrity check fails in the Database OUI after a reboot.
Cause: NetworkManager overwrites /etc/resolv.conf on boot.
Fix:
lsattr /etc/resolv.conf
chattr +i /etc/resolv.confOr via NetworkManager:
echo "dns=none" >> /etc/NetworkManager/NetworkManager.conf
systemctl restart NetworkManager
cat > /etc/resolv.conf << 'EOF'
search oracle.local
nameserver 192.168.15.170
EOFNext Up
In Post 5 we’ll configure RAC-specific parameters in the SPFILE, enable archive log mode, and validate the full environment.
