Arsip untuk Agustus 16th, 2010
Oracle 10g on Gentoo Linux
Untuk mengisi kegiatan refreshing menjelang sidang, iseng-iseng nyobain install oracle, cuma install doang, di gentoo linux. Sebenarnya dokumentasinya ada di sini. Biar menuh-menuhin crawl-nya google makanya dibuat cerita ini. Untuk instalasi oracle 10g di gentoo pertama2 siapkan installernya, linknya ada di sini, lalu siapkan space sebesar 2,7 gigs untuk installer+databasenya. Setelah persiapan mental maka lakukan langkah berikut:
- mkdir /opt/oracle
- groupadd dba
- groupadd oinstall
- useradd -c “user e cuuyy” -g oinstall -G dba -d /opt/oracle oracle
- chown -R oracle:oinstall /opt/oracle
- chmod -R 755 /opt/oracle
- Setelah itu lakukan editting pada file limit.conf, ini sedikit bocoran
- Lalu buatlah file 99oracle pada /etc/env.d sebagai konfigurasi default yang akan digunakan dalam menginstall oracle nantinya. Ini bocorannya, lagi
- sebelum mengeksekusi installer oraclenya kita harus menginstall beberapa requirement lagi, di antaranya:
- Openmotif
- gcc 3.4
- libXtst
- glibc
- libaio
- Setelah semuanya beres maka lakukan “xhost +”
- Barulah mulai instalasi oraclenya, “./runInstaller -ignoreSysPrereqs
oracle soft nofile 4096
oracle hard nofile 63536
oracle soft nproc 2047
oracle hard nproc 16384
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/oracle10g
ORACLE_SID=’oracle10g’
ORACLE_TERM=xterm
ORACLE_OWNER=oracle
TNS_ADMIN=/opt/oracle/product/oracle10g/network/admin
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
ORA_NLS10=/opt/oracle/product/oracle10g/nls/data
CLASSPATH=/opt/oracle/product/oracle10g/jdbc/lib/classes12.zip
LD_LIBRARY_PATH=/opt/oracle/product/oracle10g/lib:/opt/oracle/product/oracle10g/lib32
DISABLE_HUGETLBFS=1
PATH=/opt/oracle/product/oracle10g/bin
ROOTPATH=/opt/oracle/product/oracle10g/bin
LDPATH=/opt/oracle/product/oracle10g/lib:/opt/oracle/product/oracle10g/lib32
TZ=GMT
Setelah itu tinggal ikuti langkah yang ada pada installer oracle. Ada beberapa saran nech buat yang mo install oracle:
- pilih yang enterprise saja biar lebih lengkap.
- Cukup install software databasenya saja dulu, habis ntuh ntar next step barulah install contoh databasenya.
- abaikan error yang terjadi, kita akan perbaiki setelah selesai instalasi.
- setelah selesai instalasi JANGAN langsung mengeksekusi root.sh, karena ada yang akan kita edit terlebih dahulu
- lakukan ini “ls -s /opt/oracle/product/oracle10g/lib/libclntsh.so -> /opt/oracle/product/oracle10g/lib/libclntsh.so.10.1″
Setelah instalasi selesai maka ada beberapa patch yang harus dilakukan, untuk lebih lengkap bisa di lihat di sini. Pastikan patch benar-benar sesuai dengan yang ada pada wiki gentoo tersebut. Setelah selesai patch barulah lakukan:
- relink oracle
- relink network
- relink client
- relink client_sharedlib
- relink interMedia
- relink ctx
- relink utilities
- relink sqlplus
- relink ldap
Setelah itu barulah lakukan pengeksekusian root.sh barulah setelah itu lakukan pembuatan database baru dengan menggunakan perintah dbca. Hal yang perlu diperhatikan dalam pembuatan database baru adalah opsi untuk tidak melakukan back up server. Jika kita tidak ingin memback-up database maka kita tidak perlu men-checklist-nya, biar ngirit hardisk.
Kemudian buatlah file ora.database, ora.listener, dan ora.console pada /etc/init.d/ agar memudahkan kita untuk menjalankan maupun menghentikan oraclenya. Untuk ketiganya, anda dapat mendapatkannya di wiki gentoo lagi, sini cuuyy.
Sebelum mulai menikmati oracle+isqlplus-nya, kita harus menyiapkan 3 file penting terlebih dahulu yaitu listener.ora, sqlnet.ora dan juga tnsname.ora. Ketiganya sangatlah penting agar oracle mengetahui settingan yang akan digunakan untuk koneksi. Setelah kesemua-semuanya selesai juga maka untuk mengaksesnya cek ke http://localhost:1158/em untuk enterprise managernya sedangkan http://localhost:5560 untuk isqlplus-nya
Mungkin itu dulu yah…
NB: tested on x86_64 Gentoo AMD64
ney ditambahin sekalian dech patch dan file starter oracle, sapa tau ntar wiki gentoo-nya error lagee..
- Patch for $ORACLE_HOME/bin/relink
— relink.org 2005-01-12 18:05:59.061221392 -0500
+++ relink 2005-01-12 18:11:58.346601712 -0500
@@ -56,7 +56,7 @@
#—————————–
# make sure ORACLE_HOME is set-if [ x${ORACLE_HOME} = x ] -o [ ${ORACLE_HOME} = "" ];
+if [ x${ORACLE_HOME} = "x" ];
then
echo “ORACLE_HOME is either unset or empty.”
exit 1
@@ -75,7 +75,7 @@
ARGUMENTS=”<parameter>”
USAGE=”usage:\n\t$SCRIPTNAME $ARGUMENTS”
HELPMESG=”\nparameters: all, oracle, network, client, client_sharedlib,\
- interMedia,\n\tctx, precomp, utilities, oemagent, ldap”
+ interMedia,\n\tctx, precomp, utilities, sqlplus, ldap”if [ $# -ne 1 ];
then
@@ -89,10 +89,10 @@
#—————————
# check for valid parameter-if [ $1 != "all" -a $1 != "oracle" -a $1 != "client" -a\
+if [ $1 != "all" -a $1 != "oracle" -a $1 != "sqlplus" -a $1 != "client" -a\
$1 != "client_sharedlib" -a $1 != "network" -a $1 != "interMedia" -a\
$1 != "ctx" -a $1 != "precomp" -a $1 != "utilities" -a\
- $1 != "oemagent" -a $1 != "ldap" ] ; then
+ $1 != “ldap” ] ; then
echo “No valid parameter”
echo $HELPMESG
exit 1
@@ -196,8 +196,6 @@
files=”$ORACLE_HOME/rdbms/lib/ins_rdbms.mk” ;;
sqlplus)
files=”$ORACLE_HOME/sqlplus/lib/ins_sqlplus.mk” ;;
- oemagent)
- files=”$ORACLE_HOME/sysman/lib/ins_sysman.mk” ;;
ldap)
files=”$ORACLE_HOME/ldap/lib/ins_ldap.mk” ;;
all)
@@ -291,9 +289,9 @@
cleanup
}-oemagent () {
- call_make $param “install”
- cleanup
+sqlplus () {
+ call_make $param “install”
+ cleanup
}all () {
- Patch for $ORACLE_HOME/rdbms/lib/env_rdbms.mk
--- env_rdbms.mk.org 2005-01-13 18:41:23.000000000 -0500
+++ env_rdbms.mk 2005-01-13 18:43:41.000000000 -0500
@@ -2412,10 +2412,10 @@
KSMS=$(ORACLE_HOME)/rdbms/lib/ksms.o
INSTALL_TARGS=clean idbv itstshm imaxmem iorapwd idbfsize idumpsga\
- imapsga icursize iextproc $(IEXTPROC32) iagtctl ihsalloci ihsots ihsdepxa isbttest\
+ imapsga icursize iextproc ihsalloci ihsots ihsdepxa isbttest\
ikgmgr iloadpsp idgmgrl $(IHSO) inid iextjobo iextjob ikfod
ITEST=ioracle idbv itstshm imaxmem iorapwd idbfsize icursize \
- iextproc $(IEXTPROC32) ihsalloci ihsots ihsdepxa iosh isbttest iexp iimp isqlldr \
+ iextproc ihsalloci ihsots ihsdepxa iosh isbttest iexp iimp isqlldr \
irman iexpst iimpst isqlldrst ikgmgr iloadpsp idgmgrl $(IHSO) $(ITG4) \
inid iexpdp iimpdp iextjobo iextjob ikfod
IUTILITIES=iimp iexp isqlldr itkprof irman ikgmgr iloadpsp iimpdp iexpdp igenezi
- Patch for $ORACLE_HOME/rdbms/lib/ins_rdbms.mk
--- ins_rdbms.mk.org 2005-01-13 18:38:24.000000000 -0500
+++ ins_rdbms.mk 2005-01-13 18:40:33.000000000 -0500
@@ -125,11 +125,6 @@
-mv $(ORACLE_HOME)/rdbms/lib/extproc $(ORACLE_HOME)/bin/extproc
-chmod 751 $(ORACLE_HOME)/bin/extproc
-iextproc32: extproc32
- -mv -f $(ORACLE_HOME)/bin/extproc32 $(ORACLE_HOME)/bin/extproc32O
- -mv $(ORACLE_HOME)/rdbms/lib/extproc32 $(ORACLE_HOME)/bin/extproc32
- -chmod 751 $(ORACLE_HOME)/bin/extproc32
-
iagtctl: $(AGTCTL)
-mv -f $(ORACLE_HOME)/bin/agtctl $(ORACLE_HOME)/bin/agtctlO
-mv $(ORACLE_HOME)/rdbms/lib/agtctl $(ORACLE_HOME)/bin/agtctl
- ora.database
#!/sbin/runscript
# ----------------------------------------------------------------------
# File: /etc/init.d/ora.database
# Purpose: Startup Oracle Database(s) defined in /etc/oratab
# ----------------------------------------------------------------------
depend() {
need net logger hostname clock
}
start() {
source /etc/profile.env
if [ ! -f $ORACLE_HOME/bin/dbstart ]
then
echo "Oracle not started (no dbstart script)"
return 1
fi
ebegin "Starting Oracle"
/bin/su - $ORACLE_OWNER -c $ORACLE_HOME/bin/dbstart
eend $? "Failed to start Oracle."
}
stop() {
source /etc/profile.env
if [ ! -f $ORACLE_HOME/bin/dbshut ]
then
echo "Oracle not stopped (no dbshut script)"
return 1
fi
ebegin "Stopping Oracle"
/bin/su - $ORACLE_OWNER -c $ORACLE_HOME/bin/dbshut
eend $? "Failed to stop Oracle."
}
- ora.listener
#!/sbin/runscript
#----------------------------------------------------------------------
# file /etc/init.d/ora.listener
# Startup Oracle Listeners
# ----------------------------------------------------------------------
depend() {
need net
after ora.database
}
start() {
source /etc/profile.env
ebegin "Start Oracle Listeners"
/bin/su $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start LISTENER"
eend $? "Failed to start Oracle Listeners."
}
stop() {
source /etc/profile.env
ebegin "Stopping Oracle Listeners"
export ORACLE_OWNER=oracle;
/bin/su $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop LISTENER"
eend $? "Failed to stop Oracle Listeners."
}
- ora.console
#!/sbin/runscript
# ----------------------------------------------------------------------
# File: /etc/init.d/ora.console
# Purpose: Startup Oracle Enterprise Manager DB Console and ISQL
# ----------------------------------------------------------------------
depend() {
need net
after ora.listener
}
start() {
source /etc/profile.env
ebegin "Start Oracle Enterprise Manager DB Console"
/bin/su $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"
/bin/su $ORACLE_OWNER -c "$ORACLE_HOME/bin/isqlplusctl start"
eend $? "Failed to start Oracle Enterprise Manager DB Console."
}
stop() {
source /etc/profile.env
ebegin "Stopping Oracle Enterprise Manager DB Console"
/bin/su $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
/bin/su $ORACLE_OWNER -c "$ORACLE_HOME/bin/isqlplusctl stop"
eend $? "Failed to stop Oracle Enterprise Manager DB Console."
}