Gentoo + 10 gramm Oracle

Hát ez is megvan. Alapvetően Trey howto-ját követtem, így csak azt írom le, ami nem volt ugyanaz.

Az előtelepítésnél én a gnome-light csomagot tettem fel, ez később elégségesnek bizonyult. Tettem fel mindenféle Java-kat, így azt nem tudom milyen JDK kell, nekem fenn van a 4-5-6-os. lesstif2 nem kell, a motif úgy néz ki elégséges volt. Alien, rpm, libaio került még fel a gépre.

Létrehoztam egy oracle usert, és kicsit megdolgoztam a rendszert:


~ # useradd -m -s /bin/ksh oracle
~ # install -d -o oracle /opt/oracle
~ # mount /dev/dm-2 /opt/oracle
~ # install -d -o oracle /opt/oracle/orainstall
~ # mount /media/cdrom && cp -r /media/cdrom/* /opt/oracle/orainstall && eject && chown -R oracle:oracle /opt/oracle/orainstall/*

Itt jöttem fel a szerverszobából :-)
Beállítottam a rendszeren egy VNC szervert (egy másik postba majd leírom, hogy) és gdm-en át beléptem mint oracle user.
Trey írását követve nekifutottam a grafikus installnak, ami körülbelül a közepén elkezdett hajtépni, hogy neki bizony kellene egy libstdc++.so.5 libecske. Nem voltam rest, felraktam a libstdc++-v3 csomagot, majd symlinkeltem egyet:


~ # ln -s /usr/lib/libstdc++-v3/libstdc++.so.5 /usr/lib/libstdc++.so.5

Ezután megnyomtam a pánikRetry gombot, és az installer vígan futott tovább. A telepítés befejeztével lefuttattam a két root-os scriptet, és ezzel a grafikus része a dolognak véget is ért.

Hosszas kínlódások következtek, ugyanis egyáltalán nem könnyű init scriptet faragni az oracle-hez. Nem is sikerült ilyent összehozni, így egy félmegoldás született: kézzel kell, oracle userrel futtatni ezt a fájlt:


#!/bin/bash

# /opt/oracle/bin/oractl

. /sbin/functions.sh
. /etc/oracle.conf

export ORACLE_HOME
export ORACLE_BASE
export ORACLE_SID
export ORACLE_OWNR
export ORAHOME
export PATH
export LD_LIBRARY_PATH

start() {
	[[ -f /var/run/oracle/lock ]] &einfo "Starting Oracle Database Server ..."
	[ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ] &ebegin "Starting Listener"
	$ORACLE_OWNR $ORACLE_HOME/bin/lsnrctl start
	#return 
	eend $? || return 1

	ebegin "Starting Database"
	$ORACLE_HOME/bin/dbstart
	eend $? || return 1

	sleep 10

	ebegin "Starting Enterprise Manager"
	$ORACLE_HOME/bin/emctl start dbconsole
	eend $? || return 1
	touch /var/run/oracle/lock
}

stop() {

        einfo "Stopping Oracle Database Server ..."
	[ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ] &/bin:${PATH}"
LD_LIBRARY_PATH="${ORACLE_HOME}/lib"


	}

	ebegin "Stopping Listener"
	$ORACLE_HOME/bin/lsnrctl stop
	eend $? || return 1

	ebegin "Stopping Database"
	$ORACLE_HOME/bin/dbshut
	eend $? || return 1

	sleep 10

	ebegin "Stopping Enterprise Manager"
	$ORACLE_HOME/bin/emctl stop dbconsole
	eend $? || return 1
	rm -f /var/run/oracle/lock
}

status() {
	$ORACLE_HOME/bin/tnsping $(hostname --fqdn)
}

case $1 in
	start)
		start
		exit $?
		;;
	stop)
		stop
		exit $?
		;;
	restart)
		stop || exit $?
		sleep 2
		start
		exit $?
		;;
	status)
		status
		exit $?
		;;
	*)
		einfo "Usage: $0 stop|start|restart"
		exit 0
		;;
esac

A conf-ba ilyenek kerültek:


ORACLE_HOME="/opt/oracle"
ORACLE_BASE="/opt/oracle"
ORACLE_SID="boci"
ORACLE_OWNR="oracle"
ORAHOME="/opt/oracle"
PATH="${ORACLE_HOME}/bin:${PATH}"
LD_LIBRARY_PATH="${ORACLE_HOME}/lib"

vagyis semmi egetrengető az ORACLE_OWNR-t leszámítva.

A cucc jelenleg a működés jeleit mutatja. Adminolni lehet EM-mel, meg tora-val.

Hozzászólások

Ha valakinek van ötlete, hogyan lehetne runscript-es init script segítségével működésre bírni, ne adj isten van kész init sciptje, ne tartsa magában. Bármilyen egyéb infónak is örülök.

Nincs ilyen scriptem, de 2 dolog segithet:
egyreszt az init alapbol rootkent fut, es rootkent a "sudo -u usernev futtatando_file" paranccsal lehet usert valtani, megpedig (mivel root vagy) jelszo nelkul. Szoval ezt a scriptet tedd arrebb, es egy masik scriptbol (ami az init-ben van) hivd meg ezt sudo-val.

A masik otletem az az, hogy az Oracle XE (tudom, teljesen mas) valtozatot anno feltettem debianra (csomagbol), es magatol el is indult. Szoval ha van kedved ilyet letolteni, akkor onnan kinyerheto az o scriptjuk.

----
Sooner or later you had to talk, even if it was only because you'd run out of things to throw. - Pratchett
honlap készítés

Tudom, Trey cikkeben van is init script, csak Gentoo-n nagyon csunya a #!/bin/bash kezdetu init script (Debian alakuk mind ilyenek :S).
Sudozni meg sudoztam, de nem tudom, valahogy nem igazan sikerult ugy elindulnia, ahogy en szerettem volna, pedig nagyon erosen akartam. Olyan erosen akartam, hogy az asvanyvizes palackot is sikerult mar fellokni, de ez meg mindig nem indult el tisztessegesen. Evvan. Maj okos leszek, es kitalalok valamit, mert ne hidd, hogy nem bantja az erzekeny lelkemet a vereseg, csak az nem mostan lesz.