# netwok setup on each node nmcli connection show --active nmcli connection modify enp1s0 ipv4.address 192.168.0.95/24 nmcli connection modify enp1s0 ipv4.method manual ipv6.method ignore nmcli connection modify enp1s0 ipv4.gateway 192.168.0.1 nmcli connection modify enp1s0 ipv4.dns 192.168.0.8 nmcli connection modify enp1s0 ipv4.dns-search swgalaxy nmcli connection modify enp2s0 ipv4.address 192.168.1.95/24 nmcli connection modify enp2s0 ipv4.method manual ipv6.method ignore nmcli connection modify enp10s0 ipv4.address 192.168.2.95/24 nmcli connection modify enp10s0 ipv4.method manual ipv6.method ignore hostnamectl set-hostname rodia-db03.swgalaxy # attach disks in each node virsh attach-disk ylesia-db03 /vm/ssd0/ylesia-rac/disk_array/asm_01.img vdd --driver qemu --subdriver raw --targetbus virtio --persistent virsh attach-disk ylesia-db03 /vm/ssd0/ylesia-rac/disk_array/asm_02.img vde --driver qemu --subdriver raw --targetbus virtio --persistent virsh attach-disk ylesia-db03 /vm/ssd0/ylesia-rac/disk_array/asm_03.img vdf --driver qemu --subdriver raw --targetbus virtio --persistent virsh attach-disk ylesia-db03 /vm/ssd0/ylesia-rac/disk_array/asm_04.img vdg --driver qemu --subdriver raw --targetbus virtio --persistent virsh attach-disk ylesia-db03 /vm/ssd0/ylesia-rac/disk_array/asm_05.img vdh --driver qemu --subdriver raw --targetbus virtio --persistent - unzip distrib in grid home - unzip last GIRU in a temporary location - apply GIRU in silent mode over the base GI distrib # on each node ############## mkdir -p /app/oracle chmod 775 /app/oracle chown -R oracle:oinstall /app/oracle cd /app/oracle/ mkdir -p admin base grid oraInventory rdbms staging_area chmod 775 admin base grid oraInventory rdbms staging_area chown -R oracle:oinstall admin rdbms staging_area chown -R grid:oinstall grid oraInventory base su - grid mkdir -p /app/oracle/grid/product/19 # on first node ############### # unzip distrib cd /app/oracle/grid/product/19 unzip /mnt/yavin4/kit/Oracle/Grid_Infra/19/distrib/LINUX.X64_193000_grid_home.zip # update Opatch rm -rf OPatch unzip /mnt/yavin4/kit/Oracle/opatch/p6880880_190000_Linux-x86-64.zip cd /app/oracle/staging_area/ unzip /mnt/yavin4/kit/Oracle/Grid_Infra/19/GIRU/GIRU_19.27/p37641958_190000_Linux-x86-64.zip # apply the RU on this ORACLE_HOME # on first node as grid export ORACLE_BASE=/app/oracle/base export ORACLE_HOME=/app/oracle/grid/product/19 export PATH=$ORACLE_HOME/bin:$PATH $ORACLE_HOME/gridSetup.sh -silent -applyRU /app/oracle/staging_area/37641958/36758186 $ORACLE_HOME/gridSetup.sh -silent -applyRU /app/oracle/staging_area/37641958/37642901 $ORACLE_HOME/gridSetup.sh -silent -applyRU /app/oracle/staging_area/37641958/37643161 $ORACLE_HOME/gridSetup.sh -silent -applyRU /app/oracle/staging_area/37641958/37654975 $ORACLE_HOME/gridSetup.sh -silent -applyRU /app/oracle/staging_area/37641958/37762426 # to satisfy ALL pre-requisits, to do on ALL nodes dnf install -y $ORACLE_HOME/cv/rpm/cvuqdisk-1.0.10-1.rpm # in /etc/security/limits.conf # Oracle oracle soft stack 10240 grid soft stack 10240 grid soft memlock 3145728 grid hard memlock 3145728 # in /etc/sysctl.conf # other oracle settings kernel.panic = 1 # temporary SWAP dd if=/dev/zero of=/mnt/unprotected/tmp/oracle/swap_20g.img bs=1G count=20 mkswap /mnt/unprotected/tmp/oracle/swap_20g.img swapon /mnt/unprotected/tmp/oracle/swap_20g.img free -h ############## # pre-check as grid export ORACLE_BASE=/app/oracle/base export ORACLE_HOME=/app/oracle/grid/product/19 export PATH=$ORACLE_HOME/bin:$PATH $ORACLE_HOME/runcluvfy.sh stage -pre crsinst -n ylesia-db01,ylesia-db02,ylesia-db03 # ASM disks lsblk --list | egrep "vdd|vde|vdf|vdg|vdh" ls -ltr /dev/vd[d-h] fdisk ..... all disk lsblk --list | egrep "vdd|vde|vdf|vdg|vdh" ls -ltr /dev/vd[d-h]1 # install asmlib on all nodes dnf install -y oracleasm-support-3.1.0-10.el9.x86_64.rpm dnf install -y oracleasmlib-3.1.0-6.el9.x86_64.rpm systemctl start oracleasm.service oracleasm configure -i (answers: grid, asmdba and all default) echo "kernel.io_uring_disabled = 0" >> /etc/sysctl.conf sysctl -p # create ASM disks on first node oracleasm createdisk DATA_01 /dev/vdd1 oracleasm createdisk DATA_02 /dev/vde1 oracleasm createdisk DATA_03 /dev/vdf1 oracleasm createdisk RECO_01 /dev/vdg1 oracleasm createdisk RECO_02 /dev/vdh1 oracleasm scandisks oracleasm listdisks # on other nodes, only scan and list ASL disks # on first node, grid setup $ORACLE_HOME/gridSetup.sh # RDBMS install ############### # unzip distrib mkdir -p /app/oracle/rdbms/product/19 cd /app/oracle/rdbms/product/19 unzip /mnt/yavin4/kit/Oracle/Oracle_Database_19/distrib/LINUX.X64_193000_db_home.zip # update Opatch rm -rf OPatch unzip /mnt/yavin4/kit/Oracle/opatch/p6880880_190000_Linux-x86-64.zip # apply the RU on this ORACLE_HOME # on first node as oracle export ORACLE_BASE=/app/oracle/base export ORACLE_HOME=/app/oracle/rdbms/product/19 export PATH=$ORACLE_HOME/bin:$PATH $ORACLE_HOME/runInstaller -silent -applyRU /app/oracle/staging_area/37641958/36758186 $ORACLE_HOME/runInstaller -silent -applyRU /app/oracle/staging_area/37641958/37642901 $ORACLE_HOME/runInstaller -silent -applyRU /app/oracle/staging_area/37641958/37643161 $ORACLE_HOME/runInstaller -silent -applyRU /app/oracle/staging_area/37641958/37654975 $ORACLE_HOME/runInstaller -silent -applyRU /app/oracle/staging_area/37641958/37762426 # install from a X session $ORACLE_HOME/runInstaller # on all nodes chmod -R 775 /app/oracle/base/admin /app/oracle/base/diag cat <> /etc/oratab SET19:/app/oracle/rdbms/product/19:N EOF! # using DBCA to create/delete database export ORACLE_DB_NAME=AERON export ORACLE_UNQNAME=AERONPRD export PDB_NAME=REEK export NODE1=ylesia-db01 export NODE2=ylesia-db02 export NODE3=ylesia-db03 export SYS_PASSWORD="Secret00!" export PDB_PASSWORD="Secret00!" # create MULTITENANT database dbca -silent -createDatabase \ -templateName General_Purpose.dbc \ -sid ${ORACLE_UNQNAME} \ -gdbname ${ORACLE_UNQNAME} -responseFile NO_VALUE \ -characterSet AL32UTF8 \ -sysPassword ${SYS_PASSWORD} \ -systemPassword ${SYS_PASSWORD} \ -createAsContainerDatabase true \ -numberOfPDBs 1 \ -pdbName ${PDB_NAME} \ -pdbAdminPassword ${PDB_PASSWORD} \ -databaseType MULTIPURPOSE \ -automaticMemoryManagement false \ -totalMemory 3072 \ -redoLogFileSize 128 \ -emConfiguration NONE \ -ignorePreReqs \ -nodelist ${NODE1},${NODE2},${NODE3} \ -storageType ASM \ -diskGroupName +DATA \ -recoveryGroupName +RECO \ -useOMF true \ -initparams db_name=${ORACLE_DB_NAME},db_unique_name=${ORACLE_UNQNAME},sga_max_size=3G,sga_target=3G,pga_aggregate_target=512M \ -enableArchive true \ -recoveryAreaDestination +RECO \ -recoveryAreaSize 30720 \ -asmsnmpPassword ${SYS_PASSWORD} # create NON-CDB database dbca -silent -createDatabase \ -templateName General_Purpose.dbc \ -sid ${ORACLE_UNQNAME} \ -gdbname ${ORACLE_UNQNAME} -responseFile NO_VALUE \ -characterSet AL32UTF8 \ -sysPassword ${SYS_PASSWORD} \ -systemPassword ${SYS_PASSWORD} \ -createAsContainerDatabase false \ -databaseType MULTIPURPOSE \ -automaticMemoryManagement false \ -totalMemory 3072 \ -redoLogFileSize 128 \ -emConfiguration NONE \ -ignorePreReqs \ -nodelist ${NODE1},${NODE2},${NODE3} \ -storageType ASM \ -diskGroupName +DATA \ -recoveryGroupName +RECO \ -useOMF true \ -initparams db_name=${ORACLE_DB_NAME},db_unique_name=${ORACLE_UNQNAME},sga_max_size=3G,sga_target=3G,pga_aggregate_target=512M \ -enableArchive true \ -recoveryAreaDestination +RECO \ -recoveryAreaSize 30720 \ -asmsnmpPassword ${SYS_PASSWORD} # delete database dbca -silent -deleteDatabase \ -sourceDB AERONPRD \ -sysPassword ${SYS_PASSWORD} \ -forceArchiveLogDeletion