U prošlom tekstu smo se upoznali sa CentOS Linuksom, u ovom ćemo instalirati jednu od najpopularnijih komercijalnih baza podataka na svetu – Oracle bazu podataka.

Ukratko: Oracle bazu podataka koriste većinom velike ili srednje kompanije (manje je izbegavaju zbog visoke cene licence), i u suštini je relaciona baza podataka koju odlikuje velika stabilnost, brzina, milijardu raznoraznih opcija za administraciju i upravljanje.

Ja radim oko 4 godine sa Oracle-om nisam DBA nažalost :( što ne znači i da neću biti ipak imam tek 35 godina....

Ja radim oko 4 godine sa Oracle DB, nisam DBA nažalost što ne znači i da neću biti ipak imam tek 35 godina…

Oracle postoji i u free varijanti pod nazivom Oracle Database Express Edition i u odnosnu na licenciranu ima razna neka ograničenja (veličina baze sme biti max 4GB, ima CPU/RAM ograničenja i slična sranja).

Trenutno je situacija takva da je kvalitetne Oracle DBA kadrove teško naći te ako se zainteresujete za dalje izučavanje i bavljenje ovim – plate koje imaju Oracle DBA u inostranstvu su ludilo svemira – a ako budete želeli dalje da se upoznate krenite od ove knjige (ali je kupite kad se upoznate sa njom).

U ovom primeru instaliraćemo 64-bitni Oracle 11g (poslednja verzija je 12c ali nemam licencu za njega) na mašini na kojoj je instaliran 64-bitni CentOS 6.6 u minimalnom izdanju (kako – link ovde), a instalaciju ćemo izvesti iz Windows 8.1 sistema, da ne bi ispalo da sam baš pravi debeli Linux-addicted štreber 🙂

Kompjuter koji će se se u ovom slučaju koristiti jeste virtualni kompjuter na besplatnom VirtualBoxu (kompanije većinom vrte servere na virtualnoj infrastrukturi počevši od KVM-a i VMwarea pa nadalje…).

Taj naš virtualni kompjuter ima instalirano 2GB RAM memorije, swap particiju od 4GB, hard disk od 500GB i koristi jedno jezgro od procesora Intel Core i5-3230M CPU @ 2.60GHz i ip adresa tog kompjutera je 192.168.1.123 i sa hostnameom: centos6-minimal.kompjuteras.com

Da bi instalacija mogla da se sprovede, potrebno je da posedujete Oracle instalacione fajlove (i licencu, sem ako ne koristite Oracle Express) i po mogućstvu internet konekciju kroz koju ćemo instalirati dodatne potrebne pakete. Instalacija je moguća i bez internet konekcije ali je u tom slučaju dosta komplikovanija (lakše je kad se koristi yum).

Hardverski zahtevi

Da bi Oracle mogao normalno da funkcioniše potrebno je da server ispunjava sledeće uslove:

  • Ima minimum 512MB RAM-a. Komanda kojom možete proveriti koliko vaš sistem ima instaliranog RAM-a je:
    grep MemTotal     /proc/meminfo
  • Treba da ima minimum 400MB slobodnog prostora u /tmp-u. Prostor za tmp možete proveriti komandom:
    df -h /tmp
  • Veličina prostora na swap-u. U zavisnosti od količine RAM-a, vaš swap mora da ima minimum:
    RAM između 512MB i 1GB —-> SWAP mora biti minimum 2xRAM
    RAM između 1 i 2GB ——> SWAP mora biti minimum 1.5xRAM
    RAM između 2 i 8GB ——> SWAP mora biti minimum koliko i RAM
    RAM veći od 8GB ———-> SWAP mora biti minimum 0,75xRAM
    Veličinu RAM-a proverate komandom:
    grep SwapTotal     /proc/meminfo
  • Na hard disku morate imati minimum 6GB slobodnog prostora. Slobodan prostor proveravate komandom:
    df -h

Instalacija grafičkog okruženja (GUI)

Komande u daljem tekstu se odvijaju tako što se putem programa Putty ili sličnog ssh klijenta kačite da udaljeni server i izvršavate komande na njemu. Za sad se logujete kao root proz putty…

CentOS minimal nema grafičko okruženja (ima samo command line interface, skraćeno cli) a instalacija Oracle DB se radi kroz grafički interfejs – dakle, to treba doinstalirati na naš CentOS minimal.

Kreiranje korisnika Oracle

Instalaciju Oracle DBA radi korisnik oracle uz pokretanje par skripti kao root, tako da morate napraviti tog korisnika na nivou Linuksa. Lozinku koju stavljate stavljate da bude ultra zajebana. Generalno – autentifikaciju username/passwird treba izbegavati i koristiti umesto toga samo autentifikacione ključeve – ali otom-potom.

Instalacija potrebnih paketa

Izmena konfiguracionih fajlova na CentOS-u

Editovati fajl /etc/sysctl.conf vrednostima ispod. U tom fajlu se nalaze kernel parametri za rad sistema tako da – pažljivo sa njim.

Editovati fajl /etc/security/limits.conf i dodati vrednosti navedene ispod. U tom fajlu se definiše maksimalni broj procesa koje oracle može da pokrene.

Editovati fajl  /etc/profile i dodati vrednosti navedene ispod. U tom fajlu se nalaze globalne sistemske varijable ali nivou korisnika.

Bekapovati pa izmeniti fajl /etc/redhat-release kako je navedeno ispod. U tom fajlu se nalazi informacija o verziji operativnog sistema koji koristite.

Izmeniti /etc/hosts i dodati informacije o vezi IP_ADRESA – HOST. U ovom slučaju pun naziv hosta je centos6-minimal.kompjuteras.com pa ćemo dodati taj naziv (vi postavite host koji ste dodelili serveru).
Ovog puta ćemo dodati novu liniju pošto se radi o „klot instaliranom“ serveru. Vi odradite preko vi editora za svaki slučaj.

Dodati sledeće linije u Oracklov bash_profile. Fajl je /home/oracle/.bash_profile

Gašenje Network managera (nepotreban u ovom slučaju jer je mreža ranije iskonfigurisana ručno) da se ne startuje prilikom startovanja sistema.

Instalacija i startovanje VNC servera

VNC služi za pristup grafičkom okruženju udaljenom kompjuteru (ako znate šta je Remote Desktop otprilike znate i šta je VNC).

Ako serveru pristupate direktno, odnosno ako imate fizički pristup serveru ovaj korak možete preskočiti. Grafičko okruženje mora da se osposobi bilo kroz VNC bilo kroz direktan pristup serveru jer bez njega nije moguća instalacija Oracle-a.

 

VNC server

VNC View

Ako dobijete izgled desktopa onda je sve kako valja 🙂

Kopiranje i raspakivanje Oracle instalacionih fajlova.

Fajlove potrebne za instalaciju operativnog sistema prekopirajte pomoću FileZilla ili sličnog ssh klijenta. Ulogujte se kroz FilleZilla (u ovom primeru ćemo njega koristiti) kao korisnik oracle i prekopirajte potrebne fajlove za instalaciju, odnosno u ovom slučaju fajlove: p10404530_112030_Linux-x86-64_1of7.zip i p10404530_112030_Linux-x86-64_2of7.zip i prekopirajte ih u folder Desktop korisnika oracle korisnika.

Kopiranje Oracle install fajlova na server

Izmeniti info o distrou da se ne bi javljala greška o pdksh paketu

Instalacija – napokon

Ako ste i dalje nakačeni putem VNC-a na server onda pratite uputstva dalje – a ako niste, nakačite se ali kao korisnik oracle, odnosno putem putty-ja se sa svog kompjutera nakačite na server kao korisnik oracle i startujte VNC server komandom: vncserver

…pa se kroz recimo TightVNC sa svog kompjutera nakačite na taj server…a adresa je u ovom slučaju: 192.168.1.123:1.

Kad ste se ulogovali kroz VNC i došli do grafičkog okruženja kliknite na: Application – System Tool – Terminal pa unesite komande:

…dalje se sve svodi na next-next-finish foru…

Kad ste završili sa instalacijom obrišite suvišne instalacione fajlove (da ne ostaje smeće). Ulogujte se kroz Putty/Terminal kao oracle user i odradite:

Podizanje baze

Bazu možemo dići preko Oracle programa koji se zove SQLplus…a koji je instaliran zajedno sa instalacijom ali da bi radio moraju mu se izdefinisati neke putanje kako bi znao ko je gde i gde je šta. To se radi dodavanjem putanja i oracle .bash_file tako da ćemo u ovom slučaju kroz vi editor dodati linije…

Startovanje baze podataka radite tako što kao oracle korisnik pokrenete sledeće komande

…tako da bi posle startovanja baze terminal trebalo da izgleda ovako nekako

Sqlplus

…a treba startovati i listener bez njega je nemoguće nakačiti se na bazu sa drugih kompjutera (može samo sa lokalnog kompjutera gde je Oracle DB instalirana)

Testiranje

Posle startovanja baze i listenera ostaje vam samo da putem programa za manipulaciju bazom poput komercijalnog Toad-a ili besplatnog Oraklovog SQLdevelopera proverite da li radi neki upit, recimo u ovom slučaju bi kroz Toad pokrenuli upit:

Logovanje

Time je deo koji se tiče instalacije Oracle DB na CentOS 6 minimal završen te se možete početi igrati sa učenjem…a imate i knjigu za apsolutne početnike čiji sam link za skidanje postavio gore u tekstu.
Posle ove instalacije potrebno je odraditi instalaciju pečeva za Oracle i neka dodatna podešavanja baze, postavljanje bezbedonosnoh postavki na nivou baze i operativnog sistema, pravljenje procedure za bekap baze i još podosta stvari…ali otom-potom 🙂