Servicii baze de date

MySql 60 Solutii

SQL Server 242 Solutii

Instalare baza de date Oracle 19c pe Oracle Linux 8 (OL8)

Situatie

Acest articol descrie instalarea bazei de date Oracle 19c pe Oracle Linux 8 X64 (OL8)

1: Download Software
Download the Oracle software from OTN or My Oracle Support

2 Fișierul hosts
Fișierul „/etc/hosts” trebuie să conțină un nume complet calificat pentru server.

De exemplu.

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.1.100 oel8.localdomain oel8

Setați numele de gazdă corect în fișierul „/etc/hostname”.

oel7.localdomain

3: Cerințe preliminare de instalare Oracle ( prerechizite)

Efectuați fie Configurarea automată, fie Configurarea manuală pentru a îndeplini cerințele preliminare de bază. Configurarea suplimentară este necesară pentru toate instalările

3.1 Automatic Setup

Folosirea packetului oracle-database-preinstall-19c va instala si va configura automat o parte din cerintele necesare instalarii  bazei de date oracle 19c. Pentru instalare acestuia rulati conectat ca root urmatoarea comanda:

# yum install -y oracle-database-preinstall-19c

Configurare manuală

Dacă nu ați folosit pachetul „oracle-database-preinstall-19c” pentru a îndeplini toate cerințele preliminare, va trebui să efectuați manual următoarele configurari. Adăugați următoarele linii în fișierul „/etc/sysctl.conf” sau într-un fișier numit „/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

Rulați una dintre următoarele comenzi pentru a modifica parametrii systemului de operare (kernel), în funcție de fișierul pe care l-ați editat.

/sbin/sysctl -p
# Or
/sbin/sysctl -p /etc/sysctl.d/98-oracle.conf

Adăugați următoarele linii într-un fișier numit „/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

Următoarele pachete sunt necesare pentru instalarea Oracle.

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

# Added by me.
dnf install -y unixODBC

# New for OL8
dnf install -y libnsl
dnf install -y libnsl.i686
dnf install -y libnsl2
dnf install -y libnsl2.i686

Creați noile grupuri de utilizatori și utilizatorii.

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
#groupadd -g 54324 backupdba
#groupadd -g 54325 dgdba
#groupadd -g 54326 kmdba
#groupadd -g 54327 asmdba
#groupadd -g 54328 asmoper
#groupadd -g 54329 asmadmin
#groupadd -g 54330 racdba

useradd -u 54321 -g oinstall -G dba,oper oracle

 

  • Additional Setup

Setați parola pentru utilizatorul „oracle”.

#passwd oracle

Setați Linux securizat la permisiv prin editarea fișierului „/etc/selinux/config”, asigurându-vă că marcajul SELINUX este setat după cum urmează.

SELINUX=permissive

Odată ce modificarea este completă, reporniți serverul sau executați următoarea comandă.

# setenforce Permissive

Dacă aveți paravanul de protecție Linux activat, va trebui să îl dezactivați sau sa il configurati. Pentru dezactivare folositi urmatoarele comenzi:

# systemctl stop firewalld
# systemctl disable firewalld

Creați directoarele în care va fi instalat software-ul Oracle.

mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
mkdir -p /u02/oradata
chown -R oracle:oinstall /u01 /u02
chmod -R 775 /u01 /u02

Setati variabilele de system

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/19.0.0/dbhome_1

  • Instalarea

Conectați-vă la utilizatorul Oracle. Dacă utilizați X display, setați variabila de mediu DISPLAY.

DISPLAY=<server-name>:0.0; export DISPLAY

Dezarhivați software-ul direct in foldderul ORACLE_HOME și porniți Oracle Universal Installer (OUI) lansând una dintre următoarele comenzi în directorul ORACLE_HOME. Modul interactiv va afișa ecrane de instalare a GUI pentru a permite intrarea utilizatorului, în timp ce modul silențios va instala software-ul fără a afișa niciun ecran, deoarece toate opțiunile necesare sunt deja specificate pe linia de comandă.

# Unzip software.
cd $ORACLE_HOME
unzip -oq /path/to/software/LINUX.X64_193000_db_home.zip

# Fake Oracle Linux 7.
export CV_ASSUME_DISTID=OEL7.6

# Interactive mode.
./runInstaller

# Silent mode.
./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

Rulați scripturile de administrare (root) când vi se solicită.

Ca utilizator root, executați următoarele scripturi:

1. /u01/app/oraInventory/orainstRoot.sh
2. /u01/app/oracle/product/19.0.0/dbhome_1/root.sh

Acum sunteți gata să creați o bază de date.

[mai mult...]

How to Trace Data Pump Using a Logon Trigger

The purpose of this document it to explain how Data Pump can be traced using a database logon trigger.

1. Create a database after logon trigger to enable Event 10046 for Data Pump  DM and DW processes :

sqlplus 

connect / as sysdba

 

CREATE OR REPLACE TRIGGER sys.DATA_PUMP_TRIGGER
AFTER LOGON ON DATABASE
DECLARE
  v_program v$session.program%TYPE;
  v_dyn_sql VARCHAR2(100)
BEGIN
  SELECT    substr (program, -5, 2)
  INTO   v_program
  FROM   v$session
  WHERE  sid = (SELECT DISTINCT sid FROM v$mystat);
  IF v_program = ‘DW’ or v_program= ‘DM’ THEN
    EXECUTE IMMEDIATE ‘alter session set tracefile_identifier = ‘||’datapump’;
    EXECUTE IMMEDIATE ‘alter session set statistics_level=ALL’;
    EXECUTE IMMEDIATE ‘alter session set max_dump_file_size=UNLIMITED’;
    EXECUTE IMMEDIATE ‘alter session set events ”10046 trace name context forever, level 12”’;
  END IF;
END;
/

2. Run Data Pump Export/Import with the following parameters added to the command line:

expdp/impdp …  METRICS=Y TRACE=480300

3. Check trace files generated in USER_DUMP_DEST or DIAGNOSTIC_DEST/diag/rdbms/<dbname>/<sid>/trace. Traces have the DPTRC identifiers enclosed in the name.

Example:

-rw-r—–. 1 oracle oinstall 24K Mar 20 17:15 <SID>_dw01_1233_datapump.trm
-rw-r—–. 1 oracle oinstall  7M Mar 20 17:15 <SID>_dw01_1233_datapump.trc
-rw-r—–. 1 oracle oinstall 40K Mar 20 17:15 <SID>_dm00_1234_datapump.trm
-rw-r—–. 1 oracle oinstall  5M Mar 20 17:15 <SID>_dm00_1234_datapump.trc

4. Run TKPROF on the trace files after Data Pump ends.

Example:

[oracle@<HOST> trace]$  tkprof <SID>_dw01_1233_datapump.trc <FILESYSTEM_PATH>/<SID>_dw01_1233_datapump.out waits=yes sort=exeela     

5. Drop SET_DP_TRIGGER

SQL> DROP TRIGGER SYS.SET_DP_TRACE;

[mai mult...]