Oracle Database 19c a fost lansat în Aprilie 2019 și este versiunea finală a familiei de produse Oracle Database 12c. Oracle Database 19c vine cu patru ani de suport premium și minimum trei de asistență extinsă. De asemenea, constituie o bază pentru următoarea fază Oracle de optimizare a bazelor de date autonome.

Actualizarea la Oracle Database 19c este încurajată și, deoarece este versiunea finală 12.2, dovedește o arhitectură stabilă. Cu toate acestea, pentru actualizarea la o noua versiune a bazei de date ar trebui luat in considerare un proiect care necesită metodologie, planificare, testare și experiență.

In acest articol voi prezenta pas cu pas procesul de pregătire și instalare a produsului Oracle Database 19c folosind o infrastructură Oracle Enterprise Linux 7.7 și VMware Workstation 15.5.

Sumar pași pregatire instalare Grid Infrastructure:

  1. Download Software
  2. Configurare VM și instalare OS
  3. Configurări adiționale sistemului de operare
  4. Instalare / configurare DNS
  5. Crearea discurilor partajate
  6. Configurarea discurilor ASM
  7. Crearea celui de-al doilea nod

Download Software

In acest articol am folosit produsele de mai jos descărcate de pe site-urile oficiale folosind următoarele link-uri:

Configurare VM și OS

In articolele mele precedente am descris parcursul instalării sistemului de operare OEL, de aceea nu voi insista pe acest pas, asta și pentru că procesul decurge straightforward folosind wizard-ul de instalare.

Mașina virtuală a fost configurată ca în imaginea de mai jos:

setup vm

  • „Network Adapter 1” setat pe „NAT”,
  • „Network Adapter 2” setat pe „Host-only”,

eth1: IP=192.168.101.128, Subnet=255.255.255.0, Gateway=192.168.101.1, DNS=192.168.101.128, Search=localdomain (Connect Automatically)

Oracle install-2

eth2: IP=192.168.245.128, Subnet=255.255.255.0, Gateway=, DNS=, Search= (Connect Automatically)

Oracle install-3

Configurări adiționale sistemului de operare

  • Înainte de a începe pregătirea sistemului este recomandat sa instalați toate update-urile sistemului de operare:

    # yum update
  • Dacă nu ați dezactivat Security-Enhanced Linux atunci editați acum fișierul “/etc/selinux/config”
    SELINUX=disabled
    
  • Dezactivăm firewall-ul:
    [root@nod1 named]# service firewalld stop
    Redirecting to /bin/systemctl stop firewalld.service
    [root@nod1 named]# chkconfig firewalld off
    Note: Forwarding request to 'systemctl disable firewalld.service'.
    Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
    [root@nod1 named]#
    
  • instalare librarii prerechizite

Vom folosi pachetul oracle-rdbms-server-19-preinstall, disponibil în repository-ul din Oracle Linux 7, pentru instalarea librăriilor și configurarea parametrilor sistemului de operare

# yum install oracle-database-preinstall-19c
  • Editați fișierul “/etc/hosts” și adăugați informațiile de conectivitate ale cele două noduri:
127.0.0.1 localhost.localdomain localhost 
# Public 
192.168.101.128 nod1.localdomain nod1 
192.168.101.129 nod2.localdomain nod2 
# Private 
192.168.245.128 nod1-priv.localdomain nod1-priv 
192.168.245.129 nod2-priv.localdomain nod2-priv 
# Virtual 
192.168.101.130 nod1-vip.localdomain nod1-vip 
192.168.101.131 nod2-vip.localdomain nod2-vip 
  • Dezactivare Network Time Protocol (NTP)

Dacă este instalat serviciul ntpd  atunci acesta trebuie oprit. În acest tutorial vom folosi procesul Oracle Cluster Time Synchronization Service (ctssd) pentru a sincroniza data și ora intre cele două noduri. Pentru asta va trebui să ștergem configurările serviciului Network Time Protocol (NTP),  cu root:

#service ntpd stop
#chkconfig ntpd off
#mv /etc/ntp.conf /etc/ntp.conf.orig
#rm /var/run/ntpd.pid
  • Crearea directoarelor unde va fi instalat Oracle:
#mkdir -p /opt/app/oracle
#mkdir -p /opt/app/grid/19c
#chown -R oracle:oinstall /opt/app/
  • Profil utilizator

Logați-vă cu utilizatorul oracle și adaugăți următoarele linii în fișierul “.bash_profile”

export ORACLE_BASE=/opt/app/oracle
export GRID_HOME=/opt/app/grid/19c
export ORACLE_HOME=/opt/app/oracle/product/19c/dbhome_1
export ORACLE_SID=cdbrac1
export PATH=$ORACLE_HOME/bin:$BASE_PATH

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

Configurarea DNS-ului

Rezolvarea numelui de scan este un pas necesar instalării Oracle Grid Infrastructure, într-un environment de producție există un server dedicat pentru serviciul de DNS. In acest articol nu am un server de DNS de aceea voi instala unul care va deservi scopului de rezolvare a numelui de scan. Procesul nu este complex dar necesită atenție la editarea câtorva fișiere de configurare.

Toate operațiile de mai jos se vor executa cu privilegii de root

  • instalăm pachetul bind:
yum install bind 
  • editați fișierul “/etc/named.conf”
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html

options {
        listen-on port 53 { 127.0.0.1;192.168.101.128; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { localhost; 192.168.101.0/24; };

        /*
         - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
         - If you are building a RECURSIVE (caching) DNS server, you need to enable
           recursion.
         - If your recursive DNS server has a public IP address, you MUST enable access
           control to limit queries to your legitimate users. Failing to do so will
           cause your server to become part of large scale DNS amplification
           attacks. Implementing BCP38 within your network would greatly
           reduce such attack surface
        */
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.root.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};

zone "101.168.192.in-addr.arpai." IN {
type master;
file "101.168.192.in-addr.arpa";
allow-update { none; };
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
  • Creați fișierul “/var/named/localdomain.zone” cu următorul conținut:
$TTL 86400
@ IN SOA nod1.localdomain. root.localdomain. (
2014051001 ; serial
3600 ; refresh
1800 ; retry
604800 ; expire
86400 ; minimum
)
@ IN NS nod1.localdomain.
localhost IN A 127.0.0.1
nod1 IN A 192.168.101.128
nod2 IN A 192.168.101.129
nod1-priv IN A 192.168.245.128
nod2-priv IN A 192.168.245.129
nod1-vip IN A 192.168.101.130
nod2-vip IN A 192.168.101.131
ora19-scan IN A 192.168.101.132
ora19-scan IN A 192.168.101.133
ora19-scan IN A 192.168.101.134
  • Creați fișierul “/var/named/101.168.192.in-addr.arpa” cu următorul conținut:
$TTL 86400
@ IN SOA nod1.localdomain. root.localdomain. (
2
3H
1H
1W
1H )
@ IN NS nod1.localdomain.
@ IN PTR localdomain.
nod1 IN A 192.168.101.128
ora19-scan IN A 192.168.101.132
ora19-scan IN A 192.168.101.133
ora19-scan IN A 192.168.101.134
128 IN PTR nod1.localdomain.com.
132 IN PTR ora19-scan.localdomain.
133 IN PTR ora19-scan.localdomain.
134 IN PTR ora19-scan.localdomain.
  • Configurarea IP-ului de DNS în fișierul „/etc/resolv.conf” :
# Generated by NetworkManager
search localdomain
nameserver 192.168.101.128
  • Configurarea permisiunilor:
# cd /var/named/
# chgrp named localdomain.zone
# chgrp named 101.168.192.in-addr.arpa
  • După aceste configurări porniți serviciul de DNS:
# systemctl start named.service
  • Pentru a porni automat la rebootarea sistemului, executați:
# chkconfig named on
Note: Forwarding request to 'systemctl enable named.service'.
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
  •  Verificați că funcționează astfel:
#nslookup ora19-scan.localdomain
Server:         192.168.101.128
Address:        192.168.101.128#53
Name:   ora19-scan.localdomain
Address: 192.168.101.133
Name:   ora19-scan.localdomain
Address: 192.168.101.134
Name:   ora19-scan.localdomain
Address: 192.168.101.132

Crearea Discurilor Partajate

Oprim mașina virtuală și executăm pașii pentru a crea discurile ca în exemplul de mai jos:

disc1

disc2

disc3

  • Este foarte important să se bifeze „Allocate all disk space now” și „Store virtual disk as a single file”

disc4

disc5

Acest pas se repetă pentru fiecare disc pe care dorim să-l atașăm mașinii virtuale. In acest exemplu am creat 5 discuri de 10 GB.

Crearea discurilor ASM

Pornim mașina virtuală, ne logăm cu un utilizatorul root și formatăm discurile nou instalate, in acest exemplu discurile adaugate sunt: sdb sdc sdd sde sdf

# cd /dev
# ls sd*
sda  sda1  sda2  sdb  sdc  sdd  sde  sdf
# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x3b25658a.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-20971519, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519):
Using default value 20971519
Partition 1 of type Linux and of size 10 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Vom proceda asemănător și pentru celelalte discuri sdc, sdd, sde, sdf
în fiecare caz, vom răspunde în următoarea ordine pentru a formata discurile nou adaugate: „n”, „p”, „1”,”Return”, „Return” and „w”.

  • Instalăm librăriile necesare configurării discurilor ASM
#yum install oracleasm-support oracleasm
  • Configurăm ASMLib
# oracleasm configure -i
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
will be shown in brackets ('[]').  Hitting  without typing an
answer will keep that current value.  Ctrl-C will abort.

Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: 
Writing Oracle ASM library driver configuration: done
  • Încărcăm modulul de kernel
# /usr/sbin/oracleasm init
Loading module "oracleasm": oracleasm
Mounting ASMlib driver filesystem: /dev/oracleasm
  • Creăm cele patru discuri după cum urmează:
# /usr/sbin/oracleasm createdisk DISK1 /dev/sdb1
Writing disk header: done
Instantiating disk: done
# /usr/sbin/oracleasm createdisk DISK2 /dev/sdc1
Writing disk header: done
Instantiating disk: done
# /usr/sbin/oracleasm createdisk DISK3 /dev/sdd1
Writing disk header: done
Instantiating disk: done
# /usr/sbin/oracleasm createdisk DISK4 /dev/sde1
Writing disk header: done
Instantiating disk: done
# /usr/sbin/oracleasm createdisk DISK5 /dev/sdf1
Writing disk header: done
Instantiating disk: done
  • Nu este absolut necesar dar putem rula “scandisks” pentru a reîmprospăta configurația discurilor ASM.
# /usr/sbin/oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
  • Dacă rulam “listdisks” vor fi afișate discurile ASM
# /usr/sbin/oracleasm listdisks
DISK1
DISK2
DISK3
DISK4
DISK5

Crearea celui de-al doilea nod

  • Opriți mașina virtuală
shutodown -P
  • Deschideți, cu ajutorul unui editor, fișierul .vmx din VMware de pe mașina gazdă și adăugați următoarele instrucțiuni:
disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0" 
diskLib.dataCacheMinReadAheadSize = "0" 
diskLib.dataCachePageSize = "4096" 
diskLib.maxUnsyncedWrites = "0" 
scsi1.sharedBus = "virtual"
  • Retragerea discurilor partajate inainte de clonare

Inainte de a sterge discurile partajate:

setup2

După stergerea discurilor partajate componentele masinii virtuale ar trebui sa fie asematoare cu cele din captura de mai jos:

setup vm

  • Clonați mașina Virtuala ca în exemplul de mai jos:

clone1

clone2

clone3

clone4

  • Adăugați discurile virtuale partajate pentru ambele mașini virtuale

Discurile virtuale care au fost retrase inainte de clonare vor trebui adăugate din nou, de data aceasta si pe masina virtuală sursă, rac1 cat si pe masina virtuală clonată, rac2.

In final ambele masini virtuale trebuie sa fie configurate ca in imaginea de mai jos:

setup2

  • Porniți ambele mașin virtuale si logați-va cu root după care setati hostname-ul pentru fiecare masină in parte:
hostnamectl set-hostname nod1   <--pentru nodul 1
hostnamectl set-hostname nod2   <--pentru nodul 2
  • Verificați dacă adresa de scanare este rezolvată în mod adecvat pe ambele noduri.
#nslookup ora19-scan.localdomain
Server:         192.168.101.128
Address:        192.168.101.128#53
Name:   ora19-scan.localdomain
Address: 192.168.101.133
Name:   ora19-scan.localdomain
Address: 192.168.101.134
Name:   ora19-scan.localdomain
Address: 192.168.101.132

In urmatorul articol voi descrie procesul de deploy folosind wizard-ul de instalare Grid Infrastructure 19c.

Lasă un răspuns

Completează mai jos detaliile tale sau dă clic pe un icon pentru a te autentifica:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare /  Schimbă )

Fotografie Google

Comentezi folosind contul tău Google. Dezautentificare /  Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare /  Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare /  Schimbă )

Conectare la %s

Enmotech Blog

Specialized in Oracle Cloud Database ( DBaaS )

Another Oracle blog

Another blog about Oracle

Mathijs Bruggink

Tips Tricks and Blogs on Oracle

Oracle Romania

Simplify IT

Programat in Romania

Blogul industriei de software din Romania. Comunitate dezvoltatori

Dan Bârsan

The miracle is not that we do this work, but that we are happy to do it. I'm writing in Romanian and English

Romanian Oracle User Group

Focusing On Oracle Database Administration

Big Lazy SysAdmin

Adapt. Enjoy. Survive.

Inovat in Romania

Blogul industriei software din Romania

Talip Hakan Ozturk's ORACLE BLOG

The secret of success is at your fingertips!...

Uwe Hesse

about Database Technology

Enmotech Blog

Specialized in Oracle Cloud Database ( DBaaS )

Another Oracle blog

Another blog about Oracle

Mathijs Bruggink

Tips Tricks and Blogs on Oracle

Oracle Romania

Simplify IT

Programat in Romania

Blogul industriei de software din Romania. Comunitate dezvoltatori

Dan Bârsan

The miracle is not that we do this work, but that we are happy to do it. I'm writing in Romanian and English

Romanian Oracle User Group

Focusing On Oracle Database Administration

Big Lazy SysAdmin

Adapt. Enjoy. Survive.

Inovat in Romania

Blogul industriei software din Romania

Talip Hakan Ozturk's ORACLE BLOG

The secret of success is at your fingertips!...

Uwe Hesse

about Database Technology

%d blogeri au apreciat: