Installer Oracle XE 18c sur Centos 8

travail sur ordinateur

Cette procédure d’installation se déroule avec l’utilisateur root. Elle a été déroulée sur une VM centos 8 minimaliste telle que distribuée par linuxvimages.com.

Elle permet d’installer Oracle XE sur une VM Centos 8, l’intérêt est essentiellement pédagogique. En effet Oracle XE est très limitée (12 Go de données utilisateur au maximum, 2Gb de mémoire, 2 Threads … et 3 PDB, mais on s’en cogne ça ne sert à rien sur des volumétries si faibles).

Malgré ces limitations les interpréteurs SQL et PL/SQL sont complets ce qui en fait un excellent outil de formation.

Installation des packages

dnf install -y epel-release
dnf install -y rlwrap wget libnsl

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libcap1-1.10-7.el7.x86_64.rpm
dnf install -y compat-libcap1-1.10-7.el7.x86_64.rpm compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

curl -o oracle-database-preinstall-18c-1.0-1.el6.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64/getPackage/oracle-database-preinstall-18c-1.0-1.el6.x86_64.rpm
dnf -y localinstall oracle-database-preinstall-18c-1.0-1.el6.x86_64.rpm

curl -o oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
dnf -y localinstall oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm

wget https://download.oracle.com/otn-pub/otn_software/db-express/oracle-database-xe-18c-1.0-1.x86_64.rpm
dnf install -y oracle-database-xe-18c-1.0-1.x86_64.rpm

Personnalisation

Je souhaite que la base de données XE soit stockée sous l’arborescence /data.

mkdir /data
chown oracle:oinstall /data

Configuration de la création de XE

Le fichiern /etc/oratab doit être créé avant de lancer le création de a base.

touch /etc/oratab
chown oracle:oinstall /etc/oratab

cat <<_HERE > /etc/sysconfig/oracle-xe-18c.conf
#This is a configuration file to setup the Oracle Database.
#It is used when running '/etc/init.d/oracle-xe-18c configure'.

# LISTENER PORT used Database listener, Leave empty for automatic port assignment
LISTENER_PORT=1521

# EM_EXPRESS_PORT Oracle EM Express URL port
EM_EXPRESS_PORT=5500

# Character set of the database
CHARSET=AL32UTF8

# Database file directory
# If not specified, database files are stored under Oracle base/oradata
DBFILE_DEST=/data

# SKIP Validations, memory, space
SKIP_VALIDATIONS=false
_HERE

Création de la base de données

/etc/init.d/oracle-xe-18c configure

Normalistaion pour utilisation de oraenv

cd /opt/oracle/product/18c/dbhomeXE/bin
cp oraenv dbhome orabase /usr/bin

bash profile de l’utilisateur oracle

cat <<_HERE > ~oracle/.bash_profile

alias sqlplus='rlwrap sqlplus'
alias sys='sqlplus / as sysdba'

export ORACLE_SID=XE
export ORAENV_ASK=NO
. oraenv
_HERE

chown oracle:oinstall ~oracle/.bash_profile

Configuration du service oracle pour redémarrage après reboot

systemctl start oracle-xe-18c
systemctl enable oracle-xe-18c

Git et Visual Studio Code, pour un suivi efficace du code

code phpL’idée de maintenir un code de qualité pour à peu près tout est reste souvent un veux pieux. On verra ici comment utiliser Git et Visual Studio Code qui permettent de travailler proprement et rapidement. Cependant, leur mise en place bien qu’aisée n’est pas évidente. Ce petit guide est mon aide mémoire personnel pour les installer.

Télécharger et configurer GIT

Télécharger Git pour Windows ou votre OS préféré. En fin de configuration, lancer le shell bash, puis passer les commandes suivantes afin de paramétrer les informations relatives à votre dépot :

(suite…)

Considérations de mémoire sous Linux

Tuning

La question qui se pose régulièrement lors du réglage des instances Oracle est comment est gérée la mémoire sous Linux et plus généralement, de combien de mémoire puis-je disposer pour mon instance ( mes instances ? ). En effet, la littérature est assez peu fournie sur la métrologie de la mémoire sous linux et on se retrouve souvent avec des données incompréhensibles. C’est notamment le cas de la commande free, qui peut très bien afficher un espace libre de 0, en permanence, sans que cela ne porte à conséquences ni que cela ne reflète la réalité.

(suite…)