Како инсталирати Oracle 11g на ЦентОС 6 минимал

У прошлом тексту смо се упознали са ЦентОС-ом, у овом ћемо инсталирати једну од најпопуларнијих комерцијалних база података на свету – Oracle базу података.

Укратко: Oracle базу података користе већином велике или средње компаније (мање је избегавају због високе цене лиценце), и у суштини је релациона база података коју одликује велика стабилност, брзина, милијарду разноразних опција за администрацију и управљање.

Ја радим око 4 године са Oracle-ом нисам DBА нажалост :( што не значи и да нећу бити ипак имам тек 35 година....
Ја радим око 4 године са Oracle DB, нисам DBА нажалост што не значи и да нећу бити ипак имам тек 35 година…

Oracle постоји и у бесплатној варијанти под називом Oracle Database Express Edition и у односну на лиценцирану има разна нека ограничења (величина базе сме бити max 4GB, има CPU/RAM ограничења и слична срања).

Тренутно је ситуација таква да је квалитетне Oracle DBА кадрове тешко наћи те ако се заинтересујете за даље изучавање и бављење овим – плате које имају Oracle DBА у иностранству су лудило свемира.

У овом примеру инсталираћемо 64-битни Oracle 11g (последња верзија је 12c) на машини на којој је инсталиран 64-битни ЦентОС 6.6 у минималном издању (како – линк овде), а инсталацију ћемо извести из Windows 8.1 система.

Компјутер који ће се се у овом случају користити јесте виртуални компјутер на бесплатном VirtualBox-у (компаније већином врте сервере на виртуалној инфраструктури почевши од KVM-а и VMware-a па надаље…).

Тај наш виртуални компјутер има инсталирано 2GB RAM меморије, swap партицију од 4GB, хард диск од 500GB и користи једно језгро од процесора Intel Core i5-3230М CPU @ 2.60GHz и IP адреса тог компјутера је 192.168.1.123 и са hostname-ом: centos6-minimal.kompjuteras.com

Да би инсталација могла да се спроведе, потребно је да поседујете Oracle инсталационе фајлове (и лиценцу, сем ако не користите Oracle Express) и по могућству интернет конекцију кроз коју ћемо инсталирати додатне потребне пакете. Инсталација је могућа и без интернет конекције али је у том случају доста компликованија (лакше је кад се користи yum).

Хардверски захтеви

Да би Oracle могао нормално да функционише потребно је да сервер испуњава следеће услове:

  • Има минимум 512MB RAM-а. Команда којом можете проверити колико ваш систем има инсталираног RAM-а је:
    grep MemTotal /proc/meminfo
  • Треба да има минимум 400MB слободног простора у /tmp-у. Простор за tmp можете проверити командом:
    df -h /tmp
  • Величина простора на swap-у. У зависности од количине RAM-а, ваш swap мора да има минимум:
    RAM између 512MB и 1GB —> SWAP мора бити минимум 2xRAM
    RAM између 1 и 2GB —> SWAP мора бити минимум 1.5xRAM
    RAM између 2 и 8GB —> SWAP мора бити минимум колико и RAM
    RAM већи од 8GB —> SWAP мора бити минимум 0,75xRAM
    Величину RAM-а проверате командом:
    grep SwapTotal /proc/meminfo
  • На хард диску морате имати минимум 6GB слободног простора. Слободан простор проверавате командом:
    df -h

Инсталација графичког окружења (GUI)

Команде у даљем тексту се одвијају тако што се путем програма PuTTY или сличног ssh клијента качите да удаљени сервер и извршавате команде на њему. За сад се логујете као root проз PuTTY…

ЦентОС минимал нема графичко окружења (има само „command line interface“, скраћено cli) а инсталација Oracle DB се ради кроз графички интерфејс – дакле, то треба доинсталирати на наш ЦентОС минимал.

yum -y groupinstall "Desktop" "Desktop Platform" "X Window System" "Fonts"
yum -y install xorg-x11-apps.x86_64

# Да не смара онај Тext modesetup utility приликом бутовања
chkconfig firstboot off

Креирање корисника Oracle

Инсталацију Oracle DBА ради корисник oracle уз покретање пар скрипти као root, тако да морате направити тог корисника на нивоу Линукса. Лозинку коју стављате стављате да буде ултра зајебана. Генерално – аутентификацију username/password треба избегавати и користити уместо тога само аутентификационе кључеве – али отом-потом.

groupadd  oinstall
groupadd  dba
useradd -m -g oinstall -G dba -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle
passwd oracle

Инсталација потребних пакета

yum -y install unzip binutils compat-libstdc++-* compat-libstdc++-* elfutils-libelf elfutils-libelf-devel gcc gcc-c++-* glibc glibc glibc-common glibc-devel* glibc-headers libaio-* libaio-devel-* libgcc-* libstdc++-* libstdc++-* libstdc++-devel make sysstat unixODBC unixODBC-devel compat-libcap1 ksh

Измена конфигурационих фајлова на ЦентОС-у

Изменити фајл /etc/sysctl.conf вредностима испод. У том фајлу се налазе кернел параметри за рад система тако да – пажљиво са њим.

#####   vi /etc/sysctl.conf
# Додати следеће вредности на крај фајла
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152

# Пажња: SHMMAX мора да буде минимум: 536870912 а максимум инсталирани RAM-1byte. Препоручено више од пола инсталираног RAM-a односно, пошто у овом случају имамо инсталирано 2GB RAM-a да та вредност буде 2GB/2=1GB ---> 1073741824 Bytes
# Ако се не сналазите имате овде калкулатор bytes2GB: http://www.whatsabyte.com/P1/byteconverter.htm
kernel.shmmax = 1073741824
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 = 1048586

# ЗАКОМЕНТАРИСАТИ
#net.bridge.bridge-nf-call-ip6tables = 0
#net.bridge.bridge-nf-call-iptables = 0
#net.bridge.bridge-nf-call-arptables = 0

# После додавања ових линија извршити команду:
/sbin/sysctl -p

Изменити фајл /etc/security/limits.conf и додати вредности наведене испод. У том фајлу се дефинише максимални број процеса које oracle може да покрене.

####   vi /etc/security/limits.conf

# Додати вредности на крај фајла, али пре последње линијеe: # End of file
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536
oracle              soft    stack   10240

Изменити фајл /etc/profile и додати вредности наведене испод. У том фајлу се налазе глобалне системске варијабле али нивоу корисника.

###   vi /etc/profile
# Додати вредности на крај фајла
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

Бекаповати па изменити фајл /etc/redhat-release како је наведено испод. У том фајлу се налази информација о верзији оперативног система који користите.

cp /etc/redhat-release /etc/redhat-release_BEKAP
echo "redhat-6" > /etc/redhat-release

# Угасити selinux
# Фајл где се ово мења је: /etc/selinux/config
sed -i s/"SELINUX=enforcing"/"SELINUX=disabled"/g /etc/selinux/config

Изменити /etc/hosts и додати информације о вези IP_ADРЕСА – HOST. У овом случају пун назив хоста је centos6-minimal.kompjuteras.com па ћемо додати тај назив (ви поставите хост који сте доделили серверу).
Овог пута ћемо додати нову линију пошто се ради о „клот инсталираном“ серверу. Ви одрадите преко ви едитора за сваки случај.

echo "192.168.1.123 centos6-minimal.kompjuteras.com centos6-minimal" >> /etc/hosts

Додати следеће линије у Ораклов bash_profile. Фајл је /home/oracle/.bash_profile

echo "umask 022" >> /home/oracle/.bash_profile
echo "export ORACLE_BASE=/home/oracle/app" >> /home/oracle/.bash_profile

Гашење Network manager-а (непотребан у овом случају јер је мрежа раније исконфигурисана ручно) да се не стартује приликом стартовања система.

chkconfig NetworkManager off

###   Рестартовати сервер   ###
reboot

Инсталација и стартовање VNC сервера

VNC служи за приступ графичком окружењу удаљеном компјутеру (ако знате шта је „Remote Desktop“ отприлике знате и шта је VNC).

Ако серверу приступате директно, односно ако имате физички приступ серверу овај корак можете прескочити. Графичко окружење мора да се оспособи било кроз VNC било кроз директан приступ серверу јер без њега није могућа инсталација Oracle-а.

yum -y install tigervnc-server pixman pixman-devel libXfont

# Улогујте се кроз terminal/Putty kao oracle и покрените VNC server
su - oracle
vncserver

# Путем TightVNC view-ера или сличног софтвера можете се улоговати на сервер помоћу
# адресе: IP_ADRESA:SCREEN односно у овом случају 192.168.1.123:1

 

VNC сервер

VNC View
Ако добијете изглед десктопа онда је све како ваља 🙂

Копирање и распакивање Oracle инсталационих фајлова.

Фајлове потребне за инсталацију оперативног система прекопирајте помоћу FileZilla или сличног FTP/SCP клијента. Улогујте се кроз FilleZilla (у овом примеру ћемо њега користити) као корисник oracle и прекопирајте потребне фајлове за инсталацију, односно у овом случају фајлове: p10404530_112030_Linux-x86-64_1of7.zip и p10404530_112030_Linux-x86-64_2of7.zip и прекопирајте их у фолдер Десктоп корисника oracle корисника.

Копирање Oracle install фајлова на сервер

# Распакивање малопре додатих фајлова
su - oracle
cd /home/oracle/Desktop
unzip p10404530_112030_Linux-x86-64_1of7.zip
unzip p10404530_112030_Linux-x86-64_2of7.zip
rm p10404530_112030_Linux-x86-64_1of7.zip
rm p10404530_112030_Linux-x86-64_2of7.zip

Изменити инфо о дистроу да се не би јављала грешка о pdksh пакету

cd /home/oracle/Desktop
vi database/stage/cvu/cv/admin/cvu_config

#ПРОМЕНИТИ CV_ASSUME_DISTID=OEL4 у CV_ASSUME_DISTID=OEL6

Инсталација – напокон

Ако сте и даље накачени путем VNC-а на сервер онда пратите упутства даље – а ако нисте, накачите се али као корисник oracle, односно путем PuTTY-ja се са свог компјутера накачите на сервер као корисник oracle и стартујте VNC сервер командом: vncserver

…па се кроз рецимо TightVNC са свог компјутера накачите на тај сервер…а адреса је у овом случају: 192.168.1.123:1.

Кад сте се улоговали кроз VNC и дошли до графичког окружења кликните на: Application – System Tool – Terminal па унесите команде:

cd /home/oracle/Desktop/database
./runInstaller

…даље се све своди на next-next-finish фору…

Кад сте завршили са инсталацијом обришите сувишне инсталационе фајлове (да не остаје смеће). Улогујте се кроз Putty/Terminal као oracle корисник и одрадите:

rm -rf /home/oracle/Desktop/database

# ...и деинсталирајте VNC, који ће вам
su - root
/usr/bin/vncserver -kill :1
yum remove vncserver -y

Подизање базе

Базу можемо дићи преко Oracle програма који се зове SQLplus…a који је инсталиран заједно са инсталацијом али да би радио морају му се издефинисати неке путање како би знао ко је где и где је шта. То се ради додавањем путања и oracle .bash_file тако да ћемо у овом случају кроз „vi“ едитор додати линије…

###   vi /home/oracle/.bash_profile

#Dodati linije
export ORACLE_SID=orcl
export ORACLE_HOME=${ORACLE_BASE}/product/11.2.0/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG=AMERICAN_america.EE8ISO8859P2

PATH=$PATH:$ORACLE_HOME/bin

# Па покрените следеће команде како би повукли та подешавања

su - oracle
. ./.bash_profile

Стартовање базе података радите тако што као oracle корисник покренете следеће команде

sqlplus / as sysdba
startup;

…тако да би после стартовања базе терминал требало да изгледа овако некако

…а треба стартовати и листенер без њега је немогуће накачити се на базу са других компјутера (може само са локалног компјутера где је Oracle DB инсталирана)

lsntctl start

Тестирање

После стартовања базе и листенера остаје вам само да путем програма за манипулацију базом попут комерцијалног Toad-а или бесплатног Оракловог SQL developer-a проверите да ли ради неки упит, рецимо у овом случају би кроз Toad покренули упит:

select * from dual;

Логовање

Тиме је део који се тиче инсталације Oracle DB на ЦентОС 6 минимал завршен те се можете почети играти са учењем…а имате и књигу за апсолутне почетнике чији сам линк за скидање поставио горе у тексту.

После ове инсталације потребно је одрадити инсталацију печева за Oracle и нека додатна подешавања базе, постављање безбедоноснох поставки на нивоу базе и оперативног система, прављење процедуре за бекап базе и још подоста ствари…али отом-потом