Installazione Oracle Database 11gR2 su Red Hat Enterprise Linux 5 /Centos 7

La presente guida ĆØ stata realizzata a partire dal manuale di installazione reperibile dal sito Oracle al presente link. Attenzione si tratta di installazione single instance.
L'installazione puĆ² essere organizzata in quattro macro-passi:
1) Prerequisiti: configurazione parametri del kernel, memoria, utenze e variabili d'ambiente oracle_home, oracle_base e oralce_sid.
2) OUI : Oralce Universal Installer che installa il motore oracle e produce il file Response.
3) NETCA: Net Configuration Assistant che installa il listener e crea il file Listener.ora.
4) DBCA: Database Configuration Assistant che installa datafile, control file e redolog file e crea il file Spfile<sid>.ora.


1 - P R E R E Q U I S I T I

Disabilitare Selinux e il Firewall
# systemctl stop firewalld
# systemctl disable firewalld

vi /etc/selinux/config
Impostare SELINUX=permissive
Riavviare il server o eseguire il comando 
# setenforce Permissive

Spazio Disco
Per l'installazione Enterprise Edition sono richiesti 6,4 GB = 4.7GB per il software + 1,7GB per i datafiles.

Teporary Direcoty
/tmp deve essere almeno di 1 GB
#df -h /tmp

Memoria
Minimo 1 GB di RAM ma consigliato piĆ¹ di 2 GB.

Per determinare la dimensione della ram eseguire il comando:
# grep MemTotal /proc/meminfo

Swap space
Lo Swap che ĆØ uno spazio dell’ hard disk utilizzato per estendere la RAM; ovviamente si deve evitare di usarlo, dato che l’accesso ai dati ĆØ tramite I/O e non di cache.
# grep SwapTotal /proc/meminfo

Questa ĆØ la relazione tra Ram e Swap.


  

Per vedere la dimensione di entrambe usare il comando:
# free
                       total        used        free      shared  buff/cache   available
Mem:        8009348      159644    7688476        8992      161228     7627564
Swap:       5242876           0          5242876


Versione del Sistema Operativo 
# cat /proc/version
Linux version 3.10.0-1127.19.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Aug 25 17:23:54 UTC 2020

Ricaviamo l'informazione che ĆØ un Linux x86 a 64 bit.


Parametri del Kernel
# uname - r
3.10.0-1127.19.1.el7.x86_64

cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)

Va bene perchƩ nel caso di Red Hat Enterprise Linux 7 deve essere:
3.10.0-54.0.1.el7.x86_64 o superiore.

Vedi link Database Quick Installation Guide con riferimento al paragrafo 4.1 e 4.2


Shared Memor
[root@localhost ~]#df -k /dev/shm/
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 778520 0 778520 0% /dev/shm

La shared memory dovrebbe essere dimensionata per essere almeno grande quanto la MEMORY_MAX_TARGET e MEMORY_TARGET per ogni istanza oracle.

Per aumentare la dimensione eseguire i comandi seguenti:
mount -t tmpfs tmpfs -o size=7g /dev/shm
Modificare  vi /etc/fstab come segue:
#tmpfs                   /dev/shm                tmpfs   defaults        0 0
tmpfs                   /dev/shm                tmpfs   size=7g         0 0
mount -a


Pacchetti
su Red Hat Enterprise Linux 5

rpm -ivh binutils-2.17.50.0.6-12.el5.x86_64.rpm
rpm -ivh compat-libstdc++-33-3.2.3-61.x86_64.rpm
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
elfutils-libelf-devel-static-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-common-2.5
glibc-devel-2.5
glibc-headers-2.5
kernel-headers-2.6.18
ksh-20060214
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.2
libgomp-4.1.2
libstdc++-4.1.2
libstdc++-devel-4.1.2
make-3.81
sysstat-7.0.2

  • Verifica se pacchetti sono stati giĆ  installati
rmp –qa | grep <nome pacchetto>

  • Ricerca pacchetti
yum search <nome pacchetto>

Esempio
Ad esempio se manca libaio-0.3.105 (i386) cercare
# yum search libaio
=======
libaio.i686 : Linux-native asynchronous I/O access library
libaio.x86_64 : Linux-native asynchronous I/O access library
libaio-devel.i686 : Development files for Linux-native asynchronous I/O access
libaio-devel.x86_64 : Development files for Linux-native asynchronous I/O access


  • Installare sia i pacchetti a 64 bit (x86_64) che 32 (i386 che corrisponde anche a i686 )
yum install  <nome pacchetto>

Esempio
# yum install libaio.i686


--------------------Nel caso di so Oracle Linux   ------------
 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 Centos6.x lanciare il comando
# wget https://public-yum.oracle.com/public-yum-ol6.repo

DopodichĆ© lanciare il camando yum seguente per installare tutti i necessari pĆØrerequisiti.

# yum install oracle-rdbms-server-11gR2-preinstall
  • Per Centos7 lanciare il comando
#  wget http://yum.oracle.com/public-yum-ol7.repo

--2020-09-14 14:20:16--  http://yum.oracle.com/public-yum-ol7.repo
Resolving yum.oracle.com (yum.oracle.com)... 2.22.77.132
Connecting to yum.oracle.com (yum.oracle.com)|2.22.77.132|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 16402 (16K) [text/plain]
Saving to: ‘public-yum-ol7.repo’
100%[================================================================================>] 16,402      --.-K/s   in 0s
2020-09-14 14:20:17 (49.9 MB/s) - ‘public-yum-ol7.repo’ saved [16402/16402]

Viene creato il repository public-yum-ol7.repo
Impostare i parametri del sudetto file enabled=1.

Eseguire 
yum install oracle-rdbms-server-11gR2-preinstall    

Mentre si importa la chiave GPG potrebbe comparire l'errore seguente:

Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
GPG key retrieval failed: [Errno 14] curl#37 - "Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle"

Effettuare il download di Oracle Linux GPG Key che coincide con la versione RHEL/CentOS del sistema operativo.
Per Centos6.x ĆØ:
wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Per Centos 7:
wget http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol7 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

Rilanciare il comando "yum install oracle......"


Creazione gruppi oinstall e dba

[root@localhost ~]# /usr/sbin/groupadd oinstall
Questo gruppo possiede l'Oracle Inventory cioĆØ il cataologo di tutto il software Oracle da installare sul sistema.

[root@localhost ]# /usr/sbin/groupadd -g 502 dba
Questo gruppo identifica gli utenti Linux con privilegi di amministratore del db


Creazione utente oracle e gruppi

Se l'installazione dei pacchetti ĆØ avvenuta con il repository "Oracle Public Yum" l'utente oracle ĆØ giĆ  creato cosƬ come i suoi gruppi.

Come root accedere a /usr/sbin ed eseguire il comando
[root@localhost sbin]# useradd -g oinstall -G dba oracle
Questo comando crea l'utente oracle (che serve per eseguire l'installazione) e lo associa al gruppo primario oinstall e secondario dba.
Verifica
[root@localhost sbin]# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)

Cambiamo la password per l'utente oralce:
[root@localhost sbin]# passwd oracle


Creare le directory

La directory Oracle Base deve essere almeno di 4 GB. 
Per l'installazione del software, la directory di default ĆØ /u01 che deve essere montata su un disco separato dal root del s.o.
Ad esempio
#  df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              34G   17G   15G  53% /
/dev/sdb1             591G  238G  329G  42% /u01

Si puĆ² anche personalizzare l'instllazione installando  il motore sotto root  e mettere su un altro disco in datafile.
#  df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              34G   17G   15G  53% /
/dev/sdb1             591G  238G  329G  42% /oradata
In questo caso creo la directory oracle home sotto /oracle che sostiruisce /u01/app e montare la directory /oradata su un disco diverso da root che conterĆ  i datafile.


# mkdir -p /u01/app/

Cambiamo proprietario, che ora ĆØ root, in oracle.
[root@localhost oracle]# chown -R oracle:oinstall /u01

Cambiamo i permessi:
[root@localhost oracle]# chmod -R 775 /u01
[root@localhost u01]# ls -lrt
drwxrwxr-x 2 oracle oinstall 4096 Jan 8 09:20 app

La directory /tmp deve avere alemo 1 GB di spazio libero:
 df -h /tmp

Se necessario crearla sotto una direcroty
[root@localhost ~]# mkdir /u01/tmp
[root@localhost u01]# ll
drwxr-xr-x 2 root root 4096 Jan 8 09:57 tmp
Cambiamo i permessi:
[root@localhost u01]# chmod a+wr /u01/tmp
[root@localhost u01]# ll
drwxrwxrwx 2 root root 4096 Jan 8 09:57 tmp


Configurare Kernel Parameters del sistema operativo

Di seguito i valori minini ammessi:

# cd /proc/sys/kernel/

[root@coslab02 kernel]# more sem
250     32000   100     128
[root@coslab02 kernel]# more shmall
1073741824
[root@coslab02 kernel]# more shmmax
4398046511104
[root@coslab02 kernel]# more shmmni
4096

Oracle Global Customer Support officially recommends a " maximum" for SHMMAX of "1/2 of physical RAM". The maximum size of a shared memory segment is limited by the size of the available user address space. On 64-bit systems, this is a theoretical 2^64bytes. So the "theoretical limit" for SHMMAX is the amount of physical RAM that you have. However, to actually attempt to use such a value could potentially lead to a situation where no system memory is available for anything else. Therefore a more realistic "physical limit" for SHMMAX would probably be "physical RAM - 2Gb".
In an Oracle RDBMS application, this "physical limit" still leaves inadequate system memory for other necessary functions. Therefore, the common "Oracle maximum" for SHMMAX that you will often see is "1/2 of physical RAM". Many Oracle customers chose a higher fraction, at their discretion.
Occasionally, Customers may erroneously think that that setting the SHMMAX as recommended in this NOTE limits the total SGA. That is not true. Setting the SHMMAX as recommended only causes a few more "shared memory segments" to be used for whatever total SGA that you subsequently configure in Oracle. 

[root@localhost kernel]# more /proc/sys/fs/file-max
Minimo: 6815744 
[root@localhost kernel]# more /proc/sys/net/ipv4/ip_local_port_range
Minimo: 9000
Massimo: 65500
[root@localhost kernel]# more /proc/sys/net/core/rmem_default
Minimo: 262144 
[root@localhost kernel]# more /proc/sys/net/core/rmem_max
Minimo: 4194304 
[root@localhost kernel]# more /proc/sys/net/core/wmem_default
Minimo: 262144 
[root@localhost kernel]# more /proc/sys/net/core/wmem_max
Minimo: 1048576
[root@localhost kernel]# more /proc/sys/fs/aio-max-nr
Minimo: 1048576 

Se il valore corrente di un parametro ĆØ superiore al valore consigliato non modificare il valore di tale parametro, in caso contrario aggiugere al file sysctl.conf le linee solo per i valori dei paramtrei del kernel da cambiare.

Nell'esempio:
[root@localhost ~]# vi /etc/sysctl.conf
......
### parametri db
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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

Eseguire il seguente comando per cambiare valori correnti dei parametri del kernel:
[root@localhost ~]#/sbin/sysctl -p

Eseguire 
# /sbin/sysctl -a 
per confermare che i valori sono settati correttamente.
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.


Resourse Limit per l'utente oracle

Accediamo come oracle
[root@localhost ~]# su - oracle

Questi sono i valori minimi ammessi: Soft and Hard limits. 

Open file descriptors. Risorsa nofile
$ ulimit -Sn
1024
$ ulimit -Hn
65536

Number of processes available to a user.  Risorsa nproc
$ ulimit -Su
2047
$ ulimit -Hu
16384

Size of the stack segment of the process. Risorsa stack
$ ulimit -Ss
10240
$ ulimit -Hs
at least 10240 KB, and at most 32768 KB


Se non sono soddisfatti i requisiti, entrare come root e aggiungere le seguenti linee al file /etc/security/limits.conf
# End of file
oracle              soft    nofile  1024
oracle              hard    nofile  65536
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    stack   10240
oracle              hard    stack   32768



Hostname

Configurare hostname sotto “/etc/hosts”
[root@oracle]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.###.###.### oradb01.prova.com oradb01

Restart della network per essere sicuri che i cambiamenti sia presistenti al reboot.
# /etc/init.d/network restart

Su Centos7
# systemctl restart network


Variabili d'ambiente

Accedere come oracle
# su - oracle

Per rendere consistente le variabili d'ambiente modificare il file .bash_profile sotto la home dell'utente oracle.

su - oracle
cd /home/oracle
vi .bash_profile

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_HOSTNAME=coslab02.xxxxx.x; export ORACLE_HOSTNAME
##ORACLE_UNQNAME=orcl; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11gR24; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

Per rendere la modifica consistente:
[oracle@dbserver1 ~]$ . ./.bash_profile

Nota: Come si legger il comando PATH=$PATH:/usr/sbin ?
Alla variabile  PATH aggiungi a ciĆ² che ĆØ giĆ  definito ($PATH) un nuova nuova directory /usr/bin.

Verificare che le variabili d'ambiente ORACLE_HOME e TNS_ADMIN siano non settate prima di lanciare runInstaller.

unset ORACLE_HOME
unset TNS_ADMIN


Configurare la variabile DISPLAY
Entrare come utente root

[root@coslab02 ~]$ xhost + 
Autorizza qualsiasi ip ad accedere in X al mio server coslab02. Non ĆØ necessario farlo.

Accedere come oracle al server

[oracle@coslab02 ~]$ export DISPLAY=local_host:0.0
local_host ĆØ host name o IP address della workstation dove si vuole vedere il display dell' Installer.
Per individuare usare il comando:
# who
Per verificare che X application display ĆØ settato correttamente lanciare xclok che esegue un programma base X11. Se non funziona allora  installare.

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*

[root@coslab02 ~]# yum install xclock
[root@coslab02 ~]# yum install xhost

[oracle@dbserver1 ~]$ xclock

Funziona se appare l'orologio a video.

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

Xserver fa lo stream dell'immagine associata alla sessione conessa.


Download del software
Scaricare dal sito oracle i due file compressi "Oracle 11gR2" versione Linux x86-64
sotto la cartella di mountpoint  /u01/software.

[oracle@coslab02 software]$ ls -lrt
-rw-r--r-- 1 oracle oinstall 1239269270 Sep 15 09:53 linux.x64_11gR2_database_1of2.zip
-rw-r--r-- 1 oracle oinstall 1111416131 Sep 15 09:53 linux.x64_11gR2_database_2of2.zip

Dopo aver effettuato l'unzip dei file verrĆ  creata una directory database

[root@coslab02 software]# ls -lrt
drwxr-xr-x 8 root   root            128 Aug 20  2009 database
-rw-r--r-- 1 oracle oinstall 1239269270 Sep 15 09:53 linux.x64_11gR2_database_1of2.zip
-rw-r--r-- 1 oracle oinstall 1111416131 Sep 15 09:53 linux.x64_11gR2_database_2of2.zip

Cambiare l'owner della directory.
# chown -R oracle:oinstall database


2 - O U I - Oracle Universal Installer

Per lanciare l'installer collegarsi direttamente come oracle e quindi connettersi in ssh al server con utenza oracle.
Non fare lo switch da root con il comando "su - oracle"
 
# cd /u01/software/database
[oracle@coslab02 database]$ ./runInstaller &
Usare "&" per lavorare in backgorund cosƬ se cade la connessione al server, la sessione ĆØ ancora via e si puĆ² continuare ad utilizzare il tool grafico.

Se si vuole installare solo il motore oracle scegliere la seconda voce






















































Scegliere Enterprise Edition































































































C'ĆØ un requisito di sistema relativo al kernel che ĆØ fallito:
OS Kernel Parameter: semmni - This is a prerequisite condition to test whether the OS kernel parameter "semmni" is properly set.
Expected Value  : 128
Actual Value  : 0
 List of errors: -  PRVF-7543 : OS Kernel parameter "semmni" does not have proper value on node "coslab02" [Expected = "128" ; Found = "0"].  - Cause:  Kernel parameter value does not meet the requirement.  - Action:  Modify the kernel parameter value to meet the requirement.

Lanciare lo script per fixare il problema. Dal log dell'esito si evince che
..
semmni in response file:128
semmni for current session:128
The value for semmni in response file is not greater than value of semmni for current session. Hence not changing it.
semmni in /etc/sysctl.conf:128
The value for semmni in response file is not greater than value for semmni in /etc/sysctl.conf file. Hence not changing it

Questo ĆØ un bug di oralce Installer 11g riscontrato su Centos 7, che ho ignorato nell'installazione perchĆØ a livello di kernel del sistema operativo il parametro ĆØ settato correttamente a 128.

Se compaio alcuni pacchetti che mancano, assicurarsi con il comando 
# yum info <nome pacchetto>
che sia stata installata almeno una versione maggiore di quella indicata.
Di seguito i pacchetti che possono essere trascurati

libaio-0.3.105 (i386)
compat-libstdc++-33-3.2.3 (i386)
libaio-devel-0.3.105 (i386)
libgcc-3.4.6 (i386)
libstdc++-3.4.6 (i386)
unixODBC-2.2.11 (i386)
unixODBC-devel-2.2.11 (i386)
pdksh-5.2.14

L'installazione termina con il lancio di due script come root.

# /u01/app/oraInventory/orainstRoot.sh

# /u01/app/oracle/product/11.2.0/dbhome_1/root.sh 

Al termine degli script cliccare su OK dall'interfaccia grafica per terminare il rilascio.




















Controllare nuovamaente la variabili definite nel file .bash_profile  sotto /home/oracle e ricaricare i valori con il comando 
[oracle@coslab02 ~]$ . ./.bash_profile

---------------- non necessaria ---------------------------------------------
Successivamente occorre definire due variabili d'ambiente, una che associa il motore oracle con il nome dell'istanza e l'altra la sua home directory. 

[oracle@dbserver1 dbhome_1]$ . oraenv
ORACLE_SID = [oracle] ? sales
ORACLE_HOME = [/home/oracle] ? /u01/app/oracle/product/11.2.0/dbhome_1
Mi ĆØ comparso il messaggio:
ORACLE_BASE environment variable is not being set since this information is not available for the current user ID oracle.
You can set ORACLE_BASE manually if it is required.

Ho definito la variabile d'ambiente:
[oracle@dbserver1 dbhome_1]$ ORACLE_BASE=/u01/app/oracle
[oracle@dbserver1 dbhome_1]$ export ORACLE_BASE
----------------------------------------------------------------------------------

Alla fine della istallazione viene creato il file Reponse che ĆØ un file di testo editabile mediante un editor di testo e che puĆ² essere fatto girare anche su altre macchine.


3 - N E T C A - Oracle Net Configuration Assistant

E' un interfaccia grafica che permette di creare, aggiungere, modificare un listener.

Collegarsi direttamente come oracle e quindi connettersi in ssh al server con utenza oracle.
Non fare lo switch da root con il comando "su - oracle"

[oracle@coslab02 ~]$ cd $ORACLE_HOME/bin
[oracle@coslab02 bin]$ export DISPLAY=10.103.142.197:0.0
[oracle@coslab02 bin]$ ./netca



































































































































Cliccare su "Finish".

Verificare che sia stato creato il file listener.ora sotto la directory 
$ORACLE_HOME/network/admin/



4 - D B C A - Database Configuration Assistant

Prima di avviare l'utility Database Configuration Assistant attivare il listener con il comando:

[oracle@coslab02~ ]$ lsnrctl start

Collegarsi direttamente come oracle e quindi connettersi in ssh al server con utenza oracle.
Non fare lo switch da root con il comando "su - oracle"

[oracle@coslab02~]$ cd $ORACLE_HOME/bin
[oracle@coslab02 bin]$ export DISPLAY=aaa.xxx.yyy.zzz:0.0
[oracle@dbserver1 bin]$./dbca &

Usare "&" per lavorare in backgorund cosƬ se cade la connessione al server, la sessione ĆØ ancora via e si puĆ² continuare ad utilizzare il tool grafico.





















































Scegliere "General Purpose...." per installare le componenti di default mentre se si vogliono scegliere le componenti scegleire CUSTOM DATABASE.
Query di riferimento:
SQL> select * from dba_registry






























































Clicca su "File Location Variables"


















Cliccare su "Edit Archive Mode Parameters" e impostare il path d




















Se si popola “Archive Log Destinations” viene popolato il parametro log_archive_dest_1 e quindi gli archivelog non vengono piĆ¹ scritti nella Flash Recovery Area.

















Se abiliato invece ASMM cliccare su "Custom"

















Scegliere il Character Sets invece di quello di default, se previsto dai requisiti tecnici.

SQL> select *  from nls_database_parameters where parameter ='NLS_CHARACTERSET'



Per aver la lingua Italiana scegliere anche il Territorio Italy se previsto dai requisiti tecnici.

SQL>  SELECT *   FROM NLS_DATABASE_PARAMETERS where parameter in ('NLS_LANGUAGE', 'NLS_TERRITORY')



















Cambiare il National Character Set se previsto dai requisiti tecnici.

SQL>  SELECT *   FROM NLS_DATABASE_PARAMETERS where parameter ='NLS_NCHAR_CHARACTERSET'

















Impostare Connection Mode = Dedicated Server Mode

















Modificare i numeri di processi se previsto dai requisiti tecnici.

SQL> select current_utilization, limit_value , resource_name
from v$resource_limit
where resource_name in ('processes');


















Se si vuole modificare la location dei Datafile, Control file e Redo log cliccare su "File location Varibles" .
Successivamente su Next.



































Alla fine dell'installaizone ĆØ creato il file SPFILESALES.ORA sotto $ORACLE_HOME/dbs.
Viene creato anche il file tnsnames.ora sotto $ORACLE_HOME/network/admin
contenente il service name creato (orcl.world).

Verifichiamo che il db sia attivo.

[oracle@coslab02 dbs]$ ps -ef | grep pmon
oracle   15058     1  0 10:50 ?        00:00:00 ora_pmon_orcl
oracle   15356 11691  0 10:53 pts/1    00:00:00 grep --color=auto pmon
[oracle@coslab02 dbs]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Thu Sep 17 10:53:21 2020
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
SQL> conn /as sysdba
Connected.
SQL> select instance_name, status from v$instance;

INSTANCE_NAME    STATUS
---------------- ------------
orcl             OPEN

Verifichiamo che il listener ha registrato il service name (orcl.world)
[oracle@coslab02 dbs]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 17-SEP-2020 10:55:03
Copyright (c) 1991, 2009, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=coslab02.xxxx.it)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                17-SEP-2020 10:12:13
Uptime                    0 days 0 hr. 42 min. 49 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11gR24/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/coslab02/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=coslab02.intra.camera.it)(PORT=1521)))
Services Summary...
Service "orcl.world" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB.world" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully


5 - Impostare le variabili di ambiente se il comando sqlplus o  lsnrctl non ĆØ trovato.

Posizionarsi sotto la directory di lancio dei comandi.
# cd $ORACLE_HOME/bin

[oracle@coslab02 bin]$ sqlplus
-bash: sqlplus: command not found

[oracle@coslab02 bin]$ lsnrctl
-bash: lsnrctl: command not found

Impostare la variabile path.
[oracle@coslab02 bin]$  PATH=$PATH:$ORACLE_HOME/bin
[oracle@coslab02 bin]$  export PATH

Modificare il file .bash_profile sotto la oracle home dell'utente.


6 - 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.
#
#
ORDL:/u01/app/oracle/product/11.2.0/dbhome_1:Y


Applichiamo la patch p13390677 per effettuare l'upgrade dalla versione 11.2.0.1 a 11.2.0.4
Vedere post a questo link

Post popolari in questo blog

ORA-12154: TNS: il listener non ĆØ attualmente a conoscenza del servizio richiesto nel descrittore di connessione

Create e Drop Pluggable Database