Oracle-Base: DB 19c RAC installation on Oracle Linux 8 (VirtualBox)
Keep every Oracle installation as uniform as possible (easier automation). The points below are all required.
Example migration: previous install RAC ONE NODE SE (Grid 19.0.0 + udev/ASM, DB 12.2.0.1) → new RAC Active/Active EE (Grid 19.3 + AFD/ASM, DB 19.10).
1grep oracle /etc/passwd # oracle:x:1521:1521:Oracle User For Database Binaries:/home/oracle:/bin/bash
2grep oinstall /etc/group # oinstall:x:1521:oracle
3grep dba /etc/group # dba:x:1522:oracle
/u01 — a dedicated 100G filesystem (binaries ~25G + full install ~15G)./tmp — minimum 4G.DATA — ~60G raw devices / disks.FRA — minimum 4 disks × 20G (or 40G), raw devices / disks.VOT — minimum one 5G disk for the voting disk.1DEVICE TYPE CONNECTION
2ens192 ethernet Admin
3ens224 ethernet Interconnect
4ens256 ethernet Backup
One network interface for backups is required to mount an NFS share.
1ORACLE_HOME = /u01/app/oracle/product/XX.X.X/dbhome_1
2ORACLE_BASE = /u01/app/oracle/
3CRS_HOME = /u01/grid/19c/
db_unique_name will differ from the SID).OPTIMIZER_MODE=FIRST_ROWSprocesses=300undo_retention=10800NLS_SORT=BINARYparallel_min_servers=0 (recommended) / parallel_max_servers=10 (recommended)DATAFRA (archivelogs)VOT (voting disk + OCR)Activate OMF (see the Tablespace page). Install only the minimum modules:
1SELECT comp_name FROM dba_registry;
2-- Oracle Database Catalog Views
3-- Oracle Database Packages and Types
4-- Oracle Real Application Clusters
5-- Oracle XML Database
6-- Oracle Workspace Manager
1SET LINES 200 PAGES 2000
2SELECT * FROM nls_database_parameters;
1# from the Grid package
2cd /backup/INSTALL/GRID/cv/rpm
3CVUQDISK_GRP=oinstall; export CVUQDISK_GRP
4rpm -iv cvuqdisk-1.0.10-1.rpm
Pre-check:
1cd /u01/oracle/base/product/19.0.0/grid
2./runcluvfy.sh stage -pre crsinst -n node1,node2 -verbose | tee /home/oracle/check_cluster.log
1mkdir /u01/oracle_bin
2chown -R oracle:oinstall /u01
3
4mkdir -p /u01/oracle/base/product/19.0.0/grid
5unzip LINUX.X64_193000_grid_home.zip -d /u01/oracle/base/product/19.0.0/grid
Apply a patch (PSU) then launch:
1/u01/oracle/base/product/19.0.0/grid/gridSetup.sh -applyPSU /u01/oracle_bin/19_GRID/psu/30501910
2/u01/oracle/base/product/19.0.0/grid/gridSetup.sh
Grid installer choices:
oinstall everywhere./u01/oracle/base. 1# as root
2$ORACLE_HOME/bin/afddriverstate supported
3export ORACLE_HOME=/u01/grid/19c
4$ORACLE_HOME/bin/crsctl stop has -f
5$ORACLE_HOME/bin/asmcmd afd_configure
6$ORACLE_HOME/bin/crsctl start has
7
8# label devices
9$ORACLE_HOME/bin/asmcmd afd_dsset "/dev/sd*"
10$ORACLE_HOME/bin/asmcmd afd_label DATA001 /dev/sdc1 --init
11$ORACLE_HOME/bin/asmcmd afd_label DATA002 /dev/sdd1 --init
12$ORACLE_HOME/bin/asmcmd afd_label FRA001 /dev/sde1 --init
13$ORACLE_HOME/bin/asmcmd afd_label VOT001 /dev/sdf1 --init
14# if "ASMCMD-9521: AFD is already configured": use --migrate instead of --init
1. oraenv +ASM
2
3asmca -silent -createDiskGroup -diskGroupName DATA -diskList 'AFD:DATA*' -redundancy EXTERNAL
4asmca -silent -createDiskGroup -diskGroupName FRA -diskList 'AFD:FRA*' -redundancy EXTERNAL
5asmca -silent -createDiskGroup -diskGroupName OCR -diskList 'AFD:VOT*' -redundancy EXTERNAL
6
7asmcmd lsdsk -G DATA
8asmcmd dsset 'AFD:*'
1cd /u01/oracle_bin/database
2./runInstaller # software only, single instance, EE/SE
3# software location: /u01/oracle/base/product/12.2.0/dbhome_1
As root:
1/u01/oracle/base/product/12.2.0/dbhome_1/root.sh
Then create the database with dbca, and set the environment:
1vi ~/.bash_profile
2# export ORACLE_BASE=/u01/oracle/base
3# export ORACLE_HOME=/u01/oracle/base/product/12.2.0/dbhome_1
4# export CRS_HOME=/u01/oracle/base/product/19.0.0/grid
5# PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME:OPatch:$CRS_HOME/bin
6. ~/.bash_profile
Launch as oracle with X11 (or MobaXterm):
1$ORACLE_HOME/bin/dbca
Steps (Advanced Configuration):
+FRA (the FRA is where the archivelogs go).1df -TPh /dev/shm
2# tmpfs tmpfs 3.9G 637M 3.2G 17% /dev/shm
Leave the defaults unless you have a reason. In “All Initialization Parameters”, set the tuning values from the Standards section above (OPTIMIZER_MODE=FIRST_ROWS, processes=300, undo_retention=10800, NLS_SORT=BINARY, parallel_min/max_servers).
1ls /u01/oracle/base/cfgtoollogs/dbca/trace.log_*
2ls /u01/oracle/base/diag/rdbms/*/*/trace/alert*
3tail -500f /u01/oracle/base/diag/rdbms/orcl/ORCL/trace/alert_ORCL.log
1SELECT * FROM nls_database_parameters;
2SELECT comp_name, version, status FROM dba_registry;
3SHOW PARAMETER cursor;
4SHOW PARAMETERS auth;
5SHOW PARAMETERS pga;
6SHOW PARAMETERS sga;
1mkdir -p /appli/oracle/product/instantclient/19.10
2cd /appli/oracle/product/instantclient/19.10
3# move the zip, unzip, then:
4mkdir lib bin
5for i in adrci exp expdp genezi imp impdp sqlldr sqlplus uidrvci wrc; do mv ${i} bin/.; done
6mv lib* lib/.
7mv *.jar lib/.
8mv glogin.sql lib/.
.bash_profile:
1export ORACLE_HOME=/appli/oracle/product/instantclient/19.10
2export PATH=$PATH:$ORACLE_HOME/bin
3export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
1yum install compat-libstdc++-33 glibc-devel
2su - oracle
3mkdir -p /appli/oracle/product/19.03.0/client
4cd /appli/oracle/product/19.03.0/client
5unzip LINUX.X64_193000_client_home.zip
6
7./runInstaller -waitforcompletion -silent -noconfig -force \
8 -responseFile /appli/oracle/product/19.03.0/client/install/response/clientsetup.rsp
9./runInstaller -executeConfigTools \
10 -responseFile /appli/oracle/product/19.03.0/client/install/response/clientsetup.rsp -silent
11# as root: orainstRoot.sh
1# as oracle
2export ORACLE_HOME=/u01/grid/19c/
3$ORACLE_HOME/bin/asmca -silent -deleteASM -force -dropDiskGroups
4
5# as root
6export ORACLE_HOME=/u01/grid/19c
7$ORACLE_HOME/bin/asmcmd afd_unlabel DATA001
8$ORACLE_HOME/bin/asmcmd afd_unlabel DATA002
9$ORACLE_HOME/bin/asmcmd afd_unlabel FRA001
10$ORACLE_HOME/bin/asmcmd afd_unlabel VOT001
11$ORACLE_HOME/bin/crsctl stop has -f
12$ORACLE_HOME/bin/acfsroot uninstall
13$ORACLE_HOME/bin/asmcmd afd_deconfigure
14
15# wipe the disks
16dd if=/dev/zero of=/dev/sdc bs=1M count=1000 # ... for each ASM device ...
17
18rm -rf /u01/app /u01/grid /etc/oraInst.loc /etc/oratab /etc/oracleafd.conf /opt/oracle/ /etc/oracle/ /var/tmp/.oracle