====== 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>