====== 1 - Oracle 19c - Install Binaires ======
===== Prérequis OS =====
* Installation sur Oracle Linux R8
* config réseau, hostname suivre assistant graphique
nmtui
* ajout user **mdl**
useradd mdl
* ajout utilitaire divers
yum install cloud-utils-growpart iscsi-initiator-utils cifs-utils tree nmap htop
* update OS
yum update
* correction fuseau horaire
timedatectl set-timezone Europe/Zurich
* ajout Disques
pvcreate /dev/xvdb
pvcreate /dev/xvdc
pvcreate /dev/xvde
vgcreate vg_u01 /dev/xvdb
vgcreate vg_u02 /dev/xvdc
vgcreate vg_u07 /dev/xvde
lvcreate -n lv_u01 -l 100%VG vg_u01
lvcreate -n lv_u02 -l 100%VG vg_u02
lvcreate -n lv_u07 -L 14g vg_u07
mkfs -t ext4 /dev/vg_u01/lv_u01
mkfs -t ext4 /dev/vg_u02/lv_u02
mkfs -t ext4 /dev/vg_u07/lv_u07
mkdir /u01
mkdir /u02
mkdir /u07
vi /etc/fstab
/dev/vg_u01/lv_u01 /u01 ext4 defaults 0 0
/dev/vg_u02/lv_u02 /u02 ext4 defaults 0 0
/dev/vg_u07/lv_u07 /u07 ext4 defaults 0 0
mount -a
===== Prérequis Oracle =====
== Automatiquement avec le package ==
curl -o oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
ou
curl -o oracle-database-preinstall-19c-1.0-1.el9.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL9/appstream/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el9.x86_64.rpm
yum -y localinstall oracle-database-preinstall-19c-1.0-1.el9.x86_64.rpm
\\
== Manuellement ==
* ajouter dans **/etc/sysctl.conf** ou ** /etc/sysctl.d/98-oracle.conf**
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
* Charger les nouveaux paramètres
/sbin/sysctl -p
ou
/sbin/sysctl -p /etc/sysctl.d/98-oracle.conf
* Modifier **/etc/security/limits.d/oracle-database-preinstall-19c.conf**
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
* Installation des packages requis
dnf install -y bc
dnf install -y binutils
dnf install -y compat-libcap1
dnf install -y compat-libstdc++-33
dnf install -y dtrace-modules
dnf install -y dtrace-modules-headers
dnf install -y dtrace-modules-provider-headers
dnf install -y dtrace-utils
dnf install -y elfutils-libelf
dnf install -y elfutils-libelf-devel
dnf install -y fontconfig-devel
dnf install -y glibc
dnf install -y glibc-devel
dnf install -y ksh
dnf install -y libaio
dnf install -y libaio-devel
dnf install -y libdtrace-ctf-devel
dnf install -y libXrender
dnf install -y libXrender-devel
dnf install -y libX11
dnf install -y libXau
dnf install -y libXi
dnf install -y libXtst
dnf install -y libgcc
dnf install -y librdmacm-devel
dnf install -y libstdc++
dnf install -y libstdc++-devel
dnf install -y libxcb
dnf install -y make
dnf install -y net-tools # Clusterware
dnf install -y nfs-utils # ACFS
dnf install -y python # ACFS
dnf install -y python-configshell # ACFS
dnf install -y python-rtslib # ACFS
dnf install -y python-six # ACFS
dnf install -y targetcli # ACFS
dnf install -y smartmontools
dnf install -y sysstat
dnf install -y gcc
dnf install -y unixODBC
dnf install -y libnsl
dnf install -y libnsl.i686
dnf install -y libnsl2
dnf install -y libnsl2.i686
* Création des Utilisateurs et groupes
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
useradd -u 54321 -g oinstall -G dba,oper oracle
\\
== Paramétrage supplémentaire ==
* personnalisation MDP oracle
passwd oracle
* Modification du comportement de SELINUX dans **/etc/selinux/config**
SELINUX=permissive
* Création de l'arborescence d'installation
mkdir -p /u01/Downloads
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
mkdir -p /u01/app/oraInventory
mkdir -p /u02/oradata
mkdir -p /u07/oradata/FRA
chown -R oracle:oinstall /u01 /u02 /u07
chmod -R 775 /u01 /u02 /u07
* montage partage CIFS (pour charger les binaires Oracle)
mkdir /mnt/mdl-nas3
mount.cifs -o username=mdl //mdl-nas3/share_smb /mnt/mdl-nas3/
\\
===== Installation =====
* Bascule en Oracle et exporter les variables minimales nécessaires
sudo su - oracle
export ORACLE_HOSTNAME=oracle1.labo.local
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORA_INVENTORY=/u01/app/oraInventory
* copie et Décompression des binaires
cp /mnt/mdl-nas3/3-Software/6-BDD/ORACLE/Oracle19c/Oracle_Database_19.3.0.0.0.zip /u01/Downloads/
cd $ORACLE_HOME
unzip -oq /u01/Downloads/Oracle_Database_19.3.0.0.0.zip
* Oracle 19C n'ayant pas été certifié sur RHEL 8, on est obligé de faire croire a l'installer que nous sommes sur du RHEL8
export CV_ASSUME_DISTID=OEL7.6
* Installation silencieuse (des warnings peuvent s'afficher mais n'empêchent pas l'install)
./runInstaller -ignorePrereq -waitforcompletion -silent \
-responseFile ${ORACLE_HOME}/install/response/db_install.rsp \
oracle.install.option=INSTALL_DB_SWONLY \
ORACLE_HOSTNAME=${ORACLE_HOSTNAME} \
UNIX_GROUP_NAME=oinstall \
INVENTORY_LOCATION=${ORA_INVENTORY} \
SELECTED_LANGUAGES=en,en_GB \
ORACLE_HOME=${ORACLE_HOME} \
ORACLE_BASE=${ORACLE_BASE} \
oracle.install.db.InstallEdition=EE \
oracle.install.db.OSDBA_GROUP=dba \
oracle.install.db.OSBACKUPDBA_GROUP=dba \
oracle.install.db.OSDGDBA_GROUP=dba \
oracle.install.db.OSKMDBA_GROUP=dba \
oracle.install.db.OSRACDBA_GROUP=dba \
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \
DECLINE_SECURITY_UPDATES=true
Lancement de l'assistant Configuration d'Oracle Database...
[WARNING] [INS-13014] Lenvironnement cible ne respecte pas certaines conditions optionnelles.
CAUSE: Des prérequis facultatifs ne sont pas respectés. Pour plus de détails, consultez les journaux.
installActions2024-03-03_02-10-25PM.log
ACTION: Identifiez la liste des échecs du contrôle des prérequis dans le journal
installActions2024-03-03_02-10-25PM.log. Puis, à partir du journal ou du guide d'installation,
recherchez la configuration appropriée de façon à respecter les prérequis et à les corriger manuellement.
Le fichier de réponses pour cette session est accessible sur :
/u01/app/oracle/product/19.0.0/dbhome_1/install/response/db_2024-03-03_02-10-25PM.rsp
Le journal de cette session d'installation se trouve dans :
/tmp/InstallActions2024-03-03_02-10-25PM/installActions2024-03-03_02-10-25PM.log
En tant qu'utilisateur root, exécutez les scripts suivants :
1. /u01/app/oraInventory/orainstRoot.sh
2. /u01/app/oracle/product/19.0.0/dbhome_1/root.sh
Exécutez /u01/app/oraInventory/orainstRoot.sh sur les noeuds suivants :
[oracle1]
Exécutez /u01/app/oracle/product/19.0.0/dbhome_1/root.sh sur les noeuds suivants :
[oracle1]
Successfully Setup Software with warning(s).
Les journaux de session d'installation ont été déplacés vers :
/u01/app/oraInventory/logs/InstallActions2024-03-03_02-10-25PM
* une fois l'installation terminée, lancer en tant que ROOT ces 2 scripts:
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.0.0/dbhome_1/root.sh
* personnalisation bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
#
##### Oracle Env #####
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1
##export ORACLE_SID=
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
PATH=$PATH:$HOME/.local/bin:$ORACLE_HOME/bin
* ajout d'une fausse entrée ORATAB
# This file is used by ORACLE utilities. It is created by root.sh
# and updated by either Database Configuration Assistant while creating
# a database or ASM Configuration Assistant while creating ASM instance.
# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME::
#
# The first and second fields are the system identifier and home
# directory of the database respectively. The third field indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
db1:/u01/app/oracle/product/19.0.0/dbhome_1:Y
* test de l'installation
[oracle@oracle1 ~]$ . oraenv
ORACLE_SID = [oracle] ? db1
The Oracle base has been set to /u01/app/oracle
[oracle@oracle1 ~]$
[oracle@oracle1 ~]$
[oracle@oracle1 ~]$ sqlplus /nolog
SQL*Plus: Release 19.0.0.0.0 - Production on Sun Mar 3 14:23:03 2024
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
SQL>