Како инсталирати Oracle 11g на ЦентОС 6 минимал
У прошлом тексту смо се упознали са ЦентОС-ом, у овом ћемо инсталирати једну од најпопуларнијих комерцијалних база података на свету – Oracle базу података.
Укратко: Oracle базу података користе већином велике или средње компаније (мање је избегавају због високе цене лиценце), и у суштини је релациона база података коју одликује велика стабилност, брзина, милијарду разноразних опција за администрацију и управљање.
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 па надаље…).
Да би инсталација могла да се спроведе, потребно је да поседујете 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
Копирање и распакивање Oracle инсталационих фајлова.
Фајлове потребне за инсталацију оперативног система прекопирајте помоћу FileZilla или сличног FTP/SCP клијента. Улогујте се кроз FilleZilla (у овом примеру ћемо њега користити) као корисник oracle и прекопирајте потребне фајлове за инсталацију, односно у овом случају фајлове: p10404530_112030_Linux-x86-64_1of7.zip и p10404530_112030_Linux-x86-64_2of7.zip и прекопирајте их у фолдер Десктоп корисника oracle корисника.
# Распакивање малопре додатих фајлова
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 и нека додатна подешавања базе, постављање безбедоноснох поставки на нивоу базе и оперативног система, прављење процедуре за бекап базе и још подоста ствари…али отом-потом
Alen
10/05/2015 @ 21:05
Ova skrivena poruka na http://centos6-minimal.kompjuteras.com ti je pobednička :DDDD
noctua4u
13/05/2015 @ 13:28
Prilično korektna priča… pod uslovom da ide sve glatko…
Par dobronamernih hintova:
4. Oracle extremno toleriše „ilegalu“ za „kućne projekte“… firme srednje veličine se ne hvataju sa oracleom – cene licenci, HW, i ljudstva… pre ulaze u PG ili MySQL… a velike firme… e one se same poklone oracle-u…
3. U po pivo da 90% (čak i iskusnijih) korisnika NE MOŽE iz prve da se snadje i odradi oracle install… uvek promakne neki detaljčić…
2. TOAD? Sqldeveloper? Mislim… nije da su loši, ali bi ti trebalo nekoliko postova samo da zagrebeš površinu tih priča…
1. Ako pišeš za prosečnog linux početnika, (krajnje dobronamerno) mislim da bi bilo bolje da opišeš neke od sledećih situacija:
– instalacija i inicijalno podešavanje (npr, promeni default port na kom je listener) MySQL-a
– instalacija nekog mysql (što line, što GUI) alata
– instalacija i inicijalno podešavanje PostgreSQL
– instalacija i podešavanje nekog GUI alata koji može da pristupi i mysql i pd i oracle i *sql
– poneki upit kroz ssh ka nekoj od db (quick data check ili informativni pregled log-ova ili konfiguracije kroc „terminal“)
PS.
Ne kritikujem… samo primećujem 🙂
Andrija
27/08/2015 @ 14:38
Oracle 12g čini mi se ne postoji, postoji 12c, ona je namenjena za cloud.
Компјутераш блог
27/08/2015 @ 14:40
Da u pravu si, lapsus (Uzgred – upravo se igram sa 12c)