Monday 9 December 2013

Oracle RDBMS telepítés Oracle Linuxra

Feladat: telepítsek Oracle RDBMS-t. Az első lépés a host oprendszer kiválasztása. Gondoltam ha már Oracle, akkor bepróbálom az Oracle Linuxot, hátha fájdalommentesebb lesz, mint korábban CentOS-re. Tévedtem.
Korábban az alábbi útmutató alapján telepítettem már egyet grafikus munkaállomásra, köszönet érte a Tecmintnek.

Letöltések listája:

Oprendszer install

Alapvetően olyan, mint bármelyik OS install,kivéve 1-2 dolgot:
  • Hostname beállításnál a Configure Network-panelen állítsuk be a Connect automatically opciót
  • A szerver típusnál ne válasszunk database server opciót, mert az nem Oracle Database-t tesz fel. Én mindent hagytam alapértelmezetten.
Install után pár dolog amit be kell állítani:
  • system-config-network - Device configuration - eth0 - beállít - Ok - Save - Save&Quit
  • /etc/sysconfig/networking/devices/ifcfg-eth0 fájlban: ONBOOT=yes
  •  állítsuk be az ip-t, és hostnevet az /etc/hosts fájlban
  • ellenőrizzük a hostnevet a /etc/sysconfig/network fájlban HOSTNAME=<hostnév>
  • kapcsoljuk ki az IPv6-ot (különben IPv6 localhoston fog csak figyelni):
    • /etc/modprobe.d könyvtárban hozzunk létre egy fájlt (pl. disable-ipv6.conf) a következő tartalommal: install ipv6 /bin/true
    • /etc/syconfig/network fájlba írjuk be a következőket:
      • NETWORKING_IPV6=no
      • IPV6INIT=no
  • állítsuk át az selinuxot engedékenyre (ez most csak teszt, éles esetén lehet konfigurálgatni az selinuxot): /etc/selinux/config: SELINUX=permissive
  • yum update
  • reboot
  • ellenőrizzük a bállításokat
Mivel én virtualboxon csináltam, feltettem a guest additionst is:
  • yum install kernel-uek-devel
  • reboot, hogy az uj kernelt hasznalja a rendszer
  • guest additions cd felcsatol
  • mount /dev/scd0 /media
  • /media/VBoxLinuxAdditions.run
  • umount /media

Java install

Igaz, hogy csak tesztrendszer, de a béke kedvéért maradjunk az Oracle javanál.
  • gépre felmásol (én wgettel húztam le a host webszerverről)
  • rpm -Uvh jdk-7u45-linux-x64.rpm
  • állítsuk be a rendszernek, hogy az oracle linuxot használja alapértelmezetten
  • alternatives --install /usr/bin/java java /usr/java/latest/bin/java 200000
  • alternatives --install /usr/bin/javaws javaws /usr/java/latest/bin/javaws 200000
  • alternatives --install /usr/bin/javac javac /usr/java/latest/bin/javac 200000
  • alternatives --install /usr/bin/jar jar /usr/java/latest/bin/jar 200000
  • váltás Oracle javara: alternatives --config java - latest-et kiválaszt
  • ellenőrzés: java -version

Oracle Database install

Függőségek telepítése: nagy örömömre az Oracle database 64bites verziója igényli a 32bites csomagokat is, és a hivatalos oracle preinstall package ezeket nem tartalmazza. Az alábbi csomaglista a tartalmazza a függőségeket (van pár csomag, ami már telepítve van, de azt a yum úgyis kihagyja):
yum install oracle-rdbms-server-12cR1-preinstall binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 gcc gcc-c++ glibc.i686 glibc glibc-devel glibc-devel.i686 ksh libgcc.i686 libgcc libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libaio libaio.i686 libaio-devel libaio-devel.i686 make sysstat unixODBC unixODBC.i686 unixODBC-devel unixODBC-devel.i686

A preinstall csomag létrehozza az oracle usert, és az orainstall csoportot, valamint állít jópár kernel paramétert. A leginkább fájdalommentes telepítési megoldás X11-forwardos ssh-n keresztül megoldható. Ehhez hálózati kofiguráció kell (NAT portforward, vagy bridge, vagy hostonly).
  • állítsunk be jelszót az oracle felhasználónak: passwd oracle
  • lépjünk át az oracle felhasználóra (su - oracle, vagy ssh)
  • állítsuk be az oracle usernél az alábbi változókat a /home/oracle/.bash_profile-ban:
    export TMP=/tmp
    export TMPDIR=$TMP
    export ORACLE_HOSTNAME=<hostnév>
    export ORACLE_UNQNAME=DB12cR1
    export ORACLE_BASE=/opt/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
    export ORACLE_SID=orcl
    export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH;
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
    
  • reboot
  • hozzuk létre a megadott könvytástruktúrát, és adjuk át az oracle user tulajdonába
    • mkdir -p /opt/app/oracle/product/12.1.0/dbhome_1
    • chown -R oracle:oinstall /opt/app
  • másoljuk fel az adatbázis telepítő zipeket  a gépre, és csomagoljuk ki (unzip)
    . Az egész installert egy database mappába csomagolja ki.
  • hostról lépjünk be X11-forwarddal: ssh -X oracle@<IP>
  • lépjünk be a kicsomagolt database mappába, és onnan indítsuk el a telepítőt: ./runInstaller
  • telepítés után módosítsuk a /etc/oratab fájlban az adatbázis instance indítását (N->Y)
  • dbstart $ORACLE_HOME
  • állítsunk a tűzfalon, hogy el tudjuk érni az adatbázist. A /etc/sysconfig/iptables fájlba az első REJECT sor elé vegyük fel az alábbi sort: -A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT

Oracle adatbázis indítása automatikusan

A neten több indítóscriptet is találni, én az ezt a scriptet módosítottam kissé.
 #!/bin/sh  
 # chkconfig: 345 99 10  
 # description: Oracle auto start-stop script.  
 #  
 # Set ORA_HOME to be equivalent to the $ORACLE_HOME  
 # from which you wish to execute dbstart and dbshut;  
 #  
 # Set ORA_OWNER to the user id of the owner of the   
 # Oracle database in ORA_HOME.  
 ORA_HOME=/opt/app/oracle/product/12.1.0/dbhome_1  
 ORA_OWNER=oracle  
 if [ ! -f $ORA_HOME/bin/dbstart ]  
 then  
   echo "Oracle startup: cannot start"  
   exit  
 fi  
 case "$1" in  
   'start')  
     # Start the Oracle databases:  
     # The following command assumes that the oracle login   
     # will not prompt the user for any values  
     # Remove "&" if you don't want startup as a background process.  
     su $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME &"  
     touch /var/lock/subsys/dbora  
     ;;  
   'stop')  
     # Stop the Oracle databases:  
     # The following command assumes that the oracle login   
     # will not prompt the user for any values  
     su $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"  
     rm -f /var/lock/subsys/dbora  
     ;;  
   *)  
      echo $"Usage: $0 {start|stop}"  
     ;;  
 esac  
  1. Ahhoz, hogy ez automatikusan lefusson, másoljuk be a /etc/init.d könyvtáron belül egy új fájlba (pl. dbora).
  2. Tegyük futtathatóvá: chmod 750 /etc/init.d/dbora
  3. Adjuk hozzá az indulásnál lefuttatott scriptekhez: chkconfig --add dbora
Újraindítás után ellenőrizzük, hogy minden rendben elindult-e, és elérjük-e a db-t tábolról (pl. Oracle SQL Developerrel).

No comments:

Post a Comment