Installazione Oracle Database 12cR2 su CentOS 7.7 - Container db
La presente guida è stata realizzata a partire dal manuale di installazione reperibile dal sito Oracle. Si tratta di installazione single instance con creazione di un Container e Pluggable database.
#who -r
- RAM
grep MemTotal /proc/meminfo
Minima:1 GB of RAM
Raccomandata: 2 GB of RAM or more
At least 8 GB RAM for Oracle Grid Infrastructure installations.
--Sistema operativo
Linux x86-64 operating system requirements
[root@coslab02 ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@coslab02 etc]# uname -m
x86_64
-- /tmp: almeno un 1GB
[root@coslab02 ~]# df -h /tmp
File system Dim. Usati Dispon. Uso% Montato su
/dev/mapper/centos-root 46G 6,0G 40G 14% /
- SWAP desiderata:
Ram Swap Space
-----------------------------------------------------------------------------------------------------
Between 1 GB and 2 GB 1.5 times the size of the RAM
Between 2 GB and 16 GB Equal to the size of the RAM
More than 16 GB 16 GB
Questa è la dimensione attuale.
[root@coslab02 ~]# grep SwapTotal /proc/meminfo
SwapTotal: 4063228 kB
[root@coslab02 ~]# swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 4063228 0 -1
La Ram è di 8GB quindi occorre aumentare la swap alla stessa dimensione della Ram.
[root@coslab02 ~]# cat /proc/swaps
Filename Type Size Used Priority
/dev/dm-1 partition 4063228 0 -1
[root@coslab02 ~]# cat /etc/fstab
/dev/mapper/centos-root / xfs defaults 0 0
UUID=7c7afa8f-a8e6-4c2f-9ec2-aabb04d72b8b /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
- Spazio disco
# df -h
Per Linux x86_64 servono almeno 7.5 GB per Oracle Database Enterprise Edition.
Installazione pacchetti Centos
Utilizzare i pacchetti offerti dal repository "Oracle Public Yum".
Andare come root sotto /etc/yum.repos.d e scaricare il file di configurazione repo.
Per verificare se i canali sono registrati
# yum repolist
Controllo pacchetti installati
# yum info <nome pacchetto>
oppure
# rpm -qa <nome pacchetto>
Centos7
Installare i seguenti pacchetti (o una versione successiva) se non già presenti:
bc
binutils-2.23.52.0.1-12.el7 (x86_64)
compat-libcap1-1.10-3.el7 (x86_64)
compat-libstdc++-33-3.2.3-71.el7 (i686)
compat-libstdc++-33-3.2.3-71.el7 (x86_64)
glibc-2.17-36.el7 (i686)
glibc-2.17-36.el7 (x86_64)
glibc-devel-2.17-36.el7 (i686)
glibc-devel-2.17-36.el7 (x86_64)
ksh
libaio-0.3.109-9.el7 (i686)
libaio-0.3.109-9.el7 (x86_64)
libaio-devel-0.3.109-9.el7 (i686)
libaio-devel-0.3.109-9.el7 (x86_64)
libgcc-4.8.2-3.el7 (i686)
libgcc-4.8.2-3.el7 (x86_64)
libstdc++-4.8.2-3.el7 (i686)
libstdc++-4.8.2-3.el7 (x86_64)
libstdc++-devel-4.8.2-3.el7 (i686)
libstdc++-devel-4.8.2-3.el7 (x86_64)
libxcb-1.9-5.el7 (i686)
libxcb-1.9-5.el7 (x86_64)
libX11-1.6.0-2.1.el7 (i686)
libX11-1.6.0-2.1.el7 (x86_64)
libXau-1.0.8-2.1.el7 (i686)
libXau-1.0.8-2.1.el7 (x86_64)
libXi-1.7.2-1.el7 (i686)
libXi-1.7.2-1.el7 (x86_64)
libXtst-1.2.2-1.el7 (i686)
libXtst-1.2.2-1.el7 (x86_64)
libXrender (i686)
libXrender (x86_64)
libXrender-devel (i686)
libXrender-devel (x86_64)
make-3.82-19.el7 (x86_64)
net-tools-2.0-0.17.20131004git.el7 (x86_64) (for Oracle RAC and Oracle Clusterware)
nfs-utils-1.3.0-0.21.el7.x86_64 (for Oracle ACFS)
smartmontools-6.2-4.el7 (x86_64)
sysstat-10.1.5-1.el7 (x86_64)
Disabilitare Transparent HugePages
Transparent HugePages è un parametro del kernel: khugepaged thread alloca memoria dinamicamente e Oracle consiglia di disabilitarlo per evitare problemi di performance.
Verificare che sia abilitato:
[root@coslab02 yum.repos.d]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
Modificare il file aggiungendo transparent_hugepage=never
# vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="nomodeset crashkernel=auto rd.lvm.lv=vg_os/lv_root rd.lvm.lv=vg_os/lv_swap rhgb quiet transparent_hugepage=never"
GRUB_DISABLE_RECOVERY="true"
Ricostruiire il file /boot/grub2/grub.cfg eseguendo il comando seguente.
Fare prima il backup del file /boot/grub2/grub.cfg.
[root@coslab02 yum.repos.d]# grub2-mkconfig -o /boot/grub2/grub.cfg
[root@coslab02 yum.repos.d]# shutdown -r now
Verifica
[root@coslab02 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
Creare user e gruppi del sistema operativo
Creazione gruppi oinstall e dba
# /usr/sbin/groupadd -g 54321 oinstall
Questo gruppo possiede l'Oracle Inventory cioè il catalogo di tutto il software Oracle da installare sul sistema.
# /usr/sbin/groupadd -g 54322 dba
Questo gruppo identifica gli utenti Linux con privilegi di amministratore del db
# /usr/sbin/groupadd -g 54323 oper
- Creazione utente oracle e gruppi
# /usr/sbin/useradd -u 54321 -g oinstall -G dba,oper oracle
Questo comando crea l'utente oracle (che serve per eseguire l'installazione) e lo associa al gruppo primario oinstall e ai secondari dba, oper.
Verifica
# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper)
# more /etc/group
Inseriamo la password per l'utente oracle
# passwd oracle
Verificare la shell utilizzata sotto /home/oracle
echo $SHELL
/bin/bash
ls -a
. .. .bash_history .bash_logout .bash_profile .bashrc dbca.rsp db.rsp .kshrc .oracle_jre_usage oradiag_oracle oraenv_DG.sh .viminfo .Xauthority
Verificare che umask sia settato a 002 per assicuarare che i file creati hanno permessi -rw-r–r– cioè 644.
/home/oracle # umask
0022
Il file contenente umask è /etc/bashrc
Altrimenti modificare il file ".bash_profile" dell'user oralce e aggiungere umask 002.
# vi .bash_profile
TMP=/tmp
TMPDIR=/tmp
export TMP TMPDIR
umask 002
Configurare i parametri del Kernel e i limiti delle Resource
vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
Verifica
cat /etc/sysctl.conf | grep -i fs.aio-max-nr
cat /etc/sysctl.conf | grep fs.aio-max-nr
cat /etc/sysctl.conf | grep fs.file-max
cat /etc/sysctl.conf | grep kernel.shmall
cat /etc/sysctl.conf | grep kernel.shmmax
cat /etc/sysctl.conf | grep kernel.shmmni
cat /etc/sysctl.conf | grep kernel.sem
cat /etc/sysctl.conf | grep net.ipv4.ip_local_port_range
cat /etc/sysctl.conf | grep net.core.rmem_default
cat /etc/sysctl.conf | grep net.core.rmem_max
cat /etc/sysctl.conf | grep net.core.wmem_default
cat /etc/sysctl.conf | grep net.core.wmem_max
Per rendere consistente la modifica, effettuare o il restart del sistema o eseguire il comando sysctl -p per rendere i cambiamenti del file /etc/sysctl.conf disponibili nella memoria del kernel.
Soft e Hard limit della risorsa nofile (Open file descriptors)
[oracle@oradbs06 ~]$ ulimit -Sn
1024
[oracle@oradbs06 ~]$ ulimit -Hn
65536
Soft e Hard limit della risorsa nproc (Numero massimo di processi disponibili per un singolo utente)
[oracle@oradbs06 ~]$ ulimit -Su
2047
[oracle@oradbs06 ~]$ ulimit -Hu
16384
Soft e Hard limit della risorsa stack (dimensione dei stack segment del processo)
[oracle@oradbs06 ~]$ ulimit -Ss
10240
[oracle@oradbs06 ~]$ ulimit -Hs
32768
Questi sono i minimi valori ammessi.
Se necessario aggiornare il file /etc/security/limits.conf aggiungendo queste righe.
oracle soft nofile 4096
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
Verifica che l'hostname è risolvibile
ping oradbs06
vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
xxx.xxxx.xxxx.xxx coslab02.example.it coslab02
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Configurare le variabili d'ambiente per l'utente oracle
Verificare la shell utilizzata sotto /home/oracle
echo $SHELL
/bin/bash
ls -a
. .. .bash_history .bash_logout .bash_profile .bashrc dbca.rsp db.rsp .kshrc .oracle_jre_usage oradiag_oracle oraenv_DG.sh .viminfo .Xauthority
Verificare che umask sia settato a 002 per assicuarare che i file creati hanno permessi -rw-r–r– cioè 644.
/home/oracle # umask
0022
Il file contenente umask è /etc/bashrc
Altrimenti modificare il file ".bash_profile" dell'user oralce e aggiungere umask 002.
# vi .bash_profile
TMP=/tmp
TMPDIR=/tmp
export TMP TMPDIR
umask 002
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
##### consiglio di configurare dopo installazione
#ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
#export ORACLE_HOME
#ORACLE_SID=dbtest
#export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin
export PATH
Rieseguire il profile
. ./.bash_profile
$ unset ORACLE_HOME
$ unset ORACLE_BASE
$ unset ORACLE_SID
$ unset TNS_ADMIN
Per verificare che le variabili d'ambiente siano state configurate correttamente
$ env | more
Server X
Xclock serve per fare una verifica.
Il server su cui si sta effettuando l'installazione del db e la workstation su cui è avviato il server X comunicano tramite protocollo TCP sulla porta 6000
netstat -nap | grep 6000
Installare il software Oracle Database
Accedere al server direttamente con l'utenza oracle, senza passare per root e poi con il comando "su - oracle".
Cliccare su Fix & Check Again
Cliccare su Install.
Lanciare lo script
/u01/app/oracle/product/12.2.0/dbhome_1/root.sh
Configurare nuovmaente le variabili d'ambiente per l'utente oracle
vi .bash_profile
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
export ORACLE_HOME
#ORACLE_SID=dbtest
#export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin
export PATH
Rieseguire il file bash per rendere consistenti le modifiche.
[oracle@coslab02 ~]$ . ./.bash_profile
Installare Oracle Database
Per la creazione del Db lanciarea dbca sotto
Il vantaggio nell'uso del Local Undo è la posssibilità di clonare i pdb senza riscontrare errori.
In questo caso le transazioni non committate non vengono clonate.
Cliccare su “Edit archive mode parameters”
Cliccare su Next.
Se la memoria fisica del database è più grande di 4 GB, allora l'opzione Automatic Memory Management è di default disabilitata durante l'istallazione e creazione del database. Usare Automatic shared memory management che automaticamente distribuisce la memoria disponibile tra i vari componenti della SGA. Successivamente è possibile abilitare AMM e riavviare il database.
Non configuro EM ma in un secondo momento.
VERIFICHE post installazione
lsnrctl status
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
CDB12S:/u01/app/oracle/product/12.2.0/dbhome_1:Y
Configurazione Server Hardware Memoria
- Runlevel 3 or 5#who -r
- RAM
grep MemTotal /proc/meminfo
Minima:1 GB of RAM
Raccomandata: 2 GB of RAM or more
At least 8 GB RAM for Oracle Grid Infrastructure installations.
--Sistema operativo
Linux x86-64 operating system requirements
[root@coslab02 ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@coslab02 etc]# uname -m
x86_64
-- /tmp: almeno un 1GB
[root@coslab02 ~]# df -h /tmp
File system Dim. Usati Dispon. Uso% Montato su
/dev/mapper/centos-root 46G 6,0G 40G 14% /
- SWAP desiderata:
Ram Swap Space
-----------------------------------------------------------------------------------------------------
Between 1 GB and 2 GB 1.5 times the size of the RAM
Between 2 GB and 16 GB Equal to the size of the RAM
More than 16 GB 16 GB
Questa è la dimensione attuale.
[root@coslab02 ~]# grep SwapTotal /proc/meminfo
SwapTotal: 4063228 kB
[root@coslab02 ~]# swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 4063228 0 -1
La Ram è di 8GB quindi occorre aumentare la swap alla stessa dimensione della Ram.
[root@coslab02 ~]# cat /proc/swaps
Filename Type Size Used Priority
/dev/dm-1 partition 4063228 0 -1
[root@coslab02 ~]# cat /etc/fstab
/dev/mapper/centos-root / xfs defaults 0 0
UUID=7c7afa8f-a8e6-4c2f-9ec2-aabb04d72b8b /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
- Spazio disco
# df -h
Per Linux x86_64 servono almeno 7.5 GB per Oracle Database Enterprise Edition.
Installazione pacchetti Centos
Utilizzare i pacchetti offerti dal repository "Oracle Public Yum".
Andare come root sotto /etc/yum.repos.d e scaricare il file di configurazione repo.
Per verificare se i canali sono registrati
# yum repolist
Controllo pacchetti installati
# yum info <nome pacchetto>
oppure
# rpm -qa <nome pacchetto>
dove q sta per query e a all
Per installare l'ultimo pacchetto bc, ad esempio:
Per installare l'ultimo pacchetto bc, ad esempio:
yum install bc
Per aggiornare un pacchetto
rpm -Uvh <nome pacchetto>
oppure
yum update <nome pacchetto>
Per aggiornare un pacchetto
rpm -Uvh <nome pacchetto>
oppure
yum update <nome pacchetto>
Centos7
Installare i seguenti pacchetti (o una versione successiva) se non già presenti:
bc
binutils-2.23.52.0.1-12.el7 (x86_64)
compat-libcap1-1.10-3.el7 (x86_64)
compat-libstdc++-33-3.2.3-71.el7 (i686)
compat-libstdc++-33-3.2.3-71.el7 (x86_64)
glibc-2.17-36.el7 (i686)
glibc-2.17-36.el7 (x86_64)
glibc-devel-2.17-36.el7 (i686)
glibc-devel-2.17-36.el7 (x86_64)
ksh
libaio-0.3.109-9.el7 (i686)
libaio-0.3.109-9.el7 (x86_64)
libaio-devel-0.3.109-9.el7 (i686)
libaio-devel-0.3.109-9.el7 (x86_64)
libgcc-4.8.2-3.el7 (i686)
libgcc-4.8.2-3.el7 (x86_64)
libstdc++-4.8.2-3.el7 (i686)
libstdc++-4.8.2-3.el7 (x86_64)
libstdc++-devel-4.8.2-3.el7 (i686)
libstdc++-devel-4.8.2-3.el7 (x86_64)
libxcb-1.9-5.el7 (i686)
libxcb-1.9-5.el7 (x86_64)
libX11-1.6.0-2.1.el7 (i686)
libX11-1.6.0-2.1.el7 (x86_64)
libXau-1.0.8-2.1.el7 (i686)
libXau-1.0.8-2.1.el7 (x86_64)
libXi-1.7.2-1.el7 (i686)
libXi-1.7.2-1.el7 (x86_64)
libXtst-1.2.2-1.el7 (i686)
libXtst-1.2.2-1.el7 (x86_64)
libXrender (i686)
libXrender (x86_64)
libXrender-devel (i686)
libXrender-devel (x86_64)
make-3.82-19.el7 (x86_64)
net-tools-2.0-0.17.20131004git.el7 (x86_64) (for Oracle RAC and Oracle Clusterware)
nfs-utils-1.3.0-0.21.el7.x86_64 (for Oracle ACFS)
smartmontools-6.2-4.el7 (x86_64)
sysstat-10.1.5-1.el7 (x86_64)
Disabilitare Transparent HugePages
Transparent HugePages è un parametro del kernel: khugepaged thread alloca memoria dinamicamente e Oracle consiglia di disabilitarlo per evitare problemi di performance.
Verificare che sia abilitato:
[root@coslab02 yum.repos.d]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
Modificare il file aggiungendo transparent_hugepage=never
# vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="nomodeset crashkernel=auto rd.lvm.lv=vg_os/lv_root rd.lvm.lv=vg_os/lv_swap rhgb quiet transparent_hugepage=never"
GRUB_DISABLE_RECOVERY="true"
Ricostruiire il file /boot/grub2/grub.cfg eseguendo il comando seguente.
Fare prima il backup del file /boot/grub2/grub.cfg.
[root@coslab02 yum.repos.d]# grub2-mkconfig -o /boot/grub2/grub.cfg
[root@coslab02 yum.repos.d]# shutdown -r now
Verifica
[root@coslab02 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
Creare user e gruppi del sistema operativo
Creazione gruppi oinstall e dba
# /usr/sbin/groupadd -g 54321 oinstall
Questo gruppo possiede l'Oracle Inventory cioè il catalogo di tutto il software Oracle da installare sul sistema.
# /usr/sbin/groupadd -g 54322 dba
Questo gruppo identifica gli utenti Linux con privilegi di amministratore del db
# /usr/sbin/groupadd -g 54323 oper
Il gruppo OSOPER è opzionale e identifica un gruppo di utenti del sistema operativo con un set limitato di privilegi di amministratore del database (operatore SYSOPER privilegi).
- Creazione utente oracle e gruppi
# /usr/sbin/useradd -u 54321 -g oinstall -G dba,oper oracle
Questo comando crea l'utente oracle (che serve per eseguire l'installazione) e lo associa al gruppo primario oinstall e ai secondari dba, oper.
Verifica
# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper)
# more /etc/group
Inseriamo la password per l'utente oracle
# passwd oracle
Verificare la shell utilizzata sotto /home/oracle
echo $SHELL
/bin/bash
ls -a
. .. .bash_history .bash_logout .bash_profile .bashrc dbca.rsp db.rsp .kshrc .oracle_jre_usage oradiag_oracle oraenv_DG.sh .viminfo .Xauthority
Verificare che umask sia settato a 002 per assicuarare che i file creati hanno permessi -rw-r–r– cioè 644.
/home/oracle # umask
0022
Il file contenente umask è /etc/bashrc
Altrimenti modificare il file ".bash_profile" dell'user oralce e aggiungere umask 002.
# vi .bash_profile
TMP=/tmp
TMPDIR=/tmp
export TMP TMPDIR
umask 002
Configurare i parametri del Kernel e i limiti delle Resource
vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
Verifica
cat /etc/sysctl.conf | grep -i fs.aio-max-nr
cat /etc/sysctl.conf | grep fs.aio-max-nr
cat /etc/sysctl.conf | grep fs.file-max
cat /etc/sysctl.conf | grep kernel.shmall
cat /etc/sysctl.conf | grep kernel.shmmax
cat /etc/sysctl.conf | grep kernel.shmmni
cat /etc/sysctl.conf | grep kernel.sem
cat /etc/sysctl.conf | grep net.ipv4.ip_local_port_range
cat /etc/sysctl.conf | grep net.core.rmem_default
cat /etc/sysctl.conf | grep net.core.rmem_max
cat /etc/sysctl.conf | grep net.core.wmem_default
cat /etc/sysctl.conf | grep net.core.wmem_max
Per rendere consistente la modifica, effettuare o il restart del sistema o eseguire il comando sysctl -p per rendere i cambiamenti del file /etc/sysctl.conf disponibili nella memoria del kernel.
Controllo dei limiti delle Risorse dell'utente oracle
# su – oracleSoft e Hard limit della risorsa nofile (Open file descriptors)
[oracle@oradbs06 ~]$ ulimit -Sn
1024
[oracle@oradbs06 ~]$ ulimit -Hn
65536
Soft e Hard limit della risorsa nproc (Numero massimo di processi disponibili per un singolo utente)
[oracle@oradbs06 ~]$ ulimit -Su
2047
[oracle@oradbs06 ~]$ ulimit -Hu
16384
Soft e Hard limit della risorsa stack (dimensione dei stack segment del processo)
[oracle@oradbs06 ~]$ ulimit -Ss
10240
[oracle@oradbs06 ~]$ ulimit -Hs
32768
Questi sono i minimi valori ammessi.
Se necessario aggiornare il file /etc/security/limits.conf aggiungendo queste righe.
oracle soft nofile 4096
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
Creare le directory
# mkdir -p /mount_point/app/
# chown -R oracle:oinstall /mount_point/app/
# chmod -R 775 /mount_point/app/
Per esempio:
# mkdir -p /u01/app/
# chown -R oracle:oinstall /u01/app/
# chmod -R 775 /u01/app/
Configurare Host name
ping oradbs06
vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
xxx.xxxx.xxxx.xxx coslab02.example.it coslab02
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Configurare le variabili d'ambiente per l'utente oracle
Verificare la shell utilizzata sotto /home/oracle
echo $SHELL
/bin/bash
ls -a
. .. .bash_history .bash_logout .bash_profile .bashrc dbca.rsp db.rsp .kshrc .oracle_jre_usage oradiag_oracle oraenv_DG.sh .viminfo .Xauthority
Verificare che umask sia settato a 002 per assicuarare che i file creati hanno permessi -rw-r–r– cioè 644.
/home/oracle # umask
0022
Il file contenente umask è /etc/bashrc
Altrimenti modificare il file ".bash_profile" dell'user oralce e aggiungere umask 002.
# vi .bash_profile
TMP=/tmp
TMPDIR=/tmp
export TMP TMPDIR
umask 002
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
##### consiglio di configurare dopo installazione
#ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
#export ORACLE_HOME
#ORACLE_SID=dbtest
#export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin
export PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$ORACLE_HOME/lib64:$ORACLE_HOME/ctx/lib:$ORACLE_HOME/jdbc/lib:
export LD_LIBRARY_PATH
Rieseguire il profile
. ./.bash_profile
$ unset ORACLE_HOME
$ unset ORACLE_BASE
$ unset ORACLE_SID
$ unset TNS_ADMIN
Per verificare che le variabili d'ambiente siano state configurate correttamente
$ env | more
Server X
Avviare un server X sul pc locale ad esempio su windows usare MobaXterm.
Entrare come utente root:
# xhost +
# su - oracle
# export DISPLAY=local_host:0.0
local_host è host name o IP address della workstation dove si vuole vedere il display dell'Installer.
Lanciare xclock che esegue un programma base X11 e appare un orologio a video.
Se non funziona installare i seguenti pacchetti:
xorg-x11-utils-<version>.x86_64.rpm
xorg-x11-xauth-<version>.x86_64.rpm
La conferma che xdpyinfo utility ora esiste è il seguente file:
ls -la /usr/bin/xdpyinfo
-rwxr-xr-x 1 root root 37192 Jul 19 2006 /usr/bin/xdpyinfo*
Il server su cui si sta effettuando l'installazione del db e la workstation su cui è avviato il server X comunicano tramite protocollo TCP sulla porta 6000
netstat -nap | grep 6000
Installare il software Oracle Database
Effettuare il download dei file di installazione sotto
/u01/software> unzip linuxx64_12201_database.zip
Viene creata una directory database.
cd /u01/software/database>./runInstaller
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 500 MB. Actual 36718 MB Passed
Checking swap space: must be greater than 150 MB. Actual 8187 MB Passed
Checking monitor: must be configured to display at least 256 colors
>>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed <<<<
Some requirement checks failed. You must fulfill these requirements before
continuing with the installation,
Continue? (y/n) [n] y
Installare il pacchetto mancante.
Rifare il check dei prerequisiti.
Cliccare su Fix & Check Again
Cliccare su Ok e se il fix ha funzionato compare la schermata seguente.
Cliccare su Install.
Al termine lanciare
/u01/app/oraInventory/orainstRoot.sh
Lanciare lo script
/u01/app/oracle/product/12.2.0/dbhome_1/root.sh
Cliccare su OK.
Configurare nuovmaente le variabili d'ambiente per l'utente oracle
vi .bash_profile
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
export ORACLE_HOME
#ORACLE_SID=dbtest
#export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin
export PATH
Rieseguire il file bash per rendere consistenti le modifiche.
[oracle@coslab02 ~]$ . ./.bash_profile
Installare Oracle Database
Per la creazione del Db lanciarea dbca sotto
Accedere al server direttamente con l'utenza oracle, senza passare per root e poi con il comando "su - oracle".
cd /u01/app/oracle/product/12.2.0/dbhome_1/bin
[oracle@coslab02 bin]$ ./dbca &
Usare "&" per lavorare in backgorund così se cade la connessione al server, la sessione è ancora viva e si può continuare ad utilizzare il tool grafico.
cd /u01/app/oracle/product/12.2.0/dbhome_1/bin
[oracle@coslab02 bin]$ ./dbca &
Selezionare Local Undo perchè prevede sia un datafile undo nel container root che uno per ogni pluggable. Questa impostazione è di default nella versione 18c.
In questo caso le transazioni non committate non vengono clonate.
Cliccare su “Edit archive mode parameters”
Cliccare su Next.
Se la memoria fisica del database è più grande di 4 GB, allora l'opzione Automatic Memory Management è di default disabilitata durante l'istallazione e creazione del database. Usare Automatic shared memory management che automaticamente distribuisce la memoria disponibile tra i vari componenti della SGA. Successivamente è possibile abilitare AMM e riavviare il database.
Non configuro EM ma in un secondo momento.
Cliccare su Next.
VERIFICHE post installazione
- Controllare che il db e il listener. siano attivi.
lsnrctl status
- Modificare tnsname.ora inserendo la stringa di connessione dei pdb.
- Provare a collegarsi da fuori.
- Verificare che non sia abilitato Unified Auditing
- Modificare il file /etc/oratab se si vuole far riavviare il db allo start del server su cui è installato il db....................................
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
CDB12S:/u01/app/oracle/product/12.2.0/dbhome_1:Y