Friday, July 11, 2008

Instalasi Oracle Database 11g di linux Slackware 12.1

Artikel ini sebagian besar diadopsi dari http://www.roqet.org/oracle_on_slackware.html
Referensi :
Petunjuk instalasi resmi dari Oracle Corp.

Instalasi Oracle 11g

Untuk instalasi, dibutuhkan DVD oracle atau versi downloadnya. Di tutorial ini, anda akan menginstal dari versi download ( www.oracle.com). Minimal anda membutuhkan Memory sebesar 1G untuk menjalankan oracle 11g ini.

Langkah-langkah untuk menginstal Oracle 11g di Slackware 12.1...

Ciptakan Oracle user dan install serta management group (login sebagai root):

#groupadd dba
#groupadd oinstall
#adduser oracle ;buat inisial group oinstall, dan additional group dba,users

Jika swapdisk anda lebih kecil dari 1GB, maka buat swapdisk lain, saya membuatnya di direktori /data :

#dd if=/dev/zero of =/data/tempswap bs=1k count =1000000
#cd /data
#chmod 600 tempswap
#mke2fs tempswap
#mkswap tempswap
#swapon tempswap

Kemudian, cek kebutuhan memori sistem, jalankan perintah:

#sysctl -a

Dan cek nilai-nilainya terhadap ini:

Diperlukan ; Cek dengan perintah

shmmax = 2147483648 ; cat /proc/sys/kernel/shmmax
shmmni = 4096 ; cat /proc/sys/kernel/shmmni
shmall = 2097152 ; cat /proc/sys/kernel/shmall shmmin = 1 ipcs -lm |grep "min seg size"
semmsl = 250 ; cat /proc/sys/kernel/sem | awk '{print $1}'
semmns = 32000 ; cat /proc/sys/kernel/sem | awk '{print $2}'
semopm = 100 ;cat /proc/sys/kernel/sem | awk '{print $3}'
semmni = 128 ; cat /proc/sys/kernel/sem | awk '{print $4}'
file-max = 65536 ; cat /proc/sys/fs/file-max
ip_local_port_range = 1024 65000 ; cat /proc/sys/net/ipv4/ip_local_port_range

catatan: Jangan ubah nilai dari parameter kernel sistem dimana nilainya lebih besar dari yang diperlukan di atas.

Jika ditemukan lebih kecil, modifikasi /etc/sysctl.conf:

# Kernel Parameters for Oracle 11g
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

Kemudian , Untuk membuat nilai tersebut segera efektif (tanpa reboot) , jalankan:

sysctl -p

Setelah itu buat direktori instalasi oracle (sebagai root):

#mkdir /opt/oracle
#chown oracle /opt/oracle
#chgrp oinstall /opt/oracle

setelah selesai login sebagai user oracle, pindah ke direktori dimana kita menyimpan oracle 11gnya (dalam hal ini anggap kita menyimpan di /data/oracle) lalu jalankan installernya:

$cd /data/oracle
$./runInstaller

Akan muncul tampilan seperti ini:























Centang pilihan advanced Installation, lalu pilih Enterprise Edition, klik next:























isi oracle base dengan /opt/oracle dan destination name OraDb11g_home1 serta path dengan /opt/oracle/product/11.1.0/db_1:
























klik next, akan tampil seperti dibawah ini, dimana installer akan menguji sistem linux kita, abaikan saja warningnya karena tidak berpengaruh terhadap sistem kita (Untuk ip buat ip static dengan netconfig karena oracle database kurang baik bekerja dengan ip dinamic, kunjungi oracle.com untuk lebih lanjut mengenai instalasi di dhcp sistem), yes kan saja warningnya lalu klik next :















































Pilih configuration option = Create database, database configuration = general purpose/Transaction Processing seperti gambar di bawah ini, klik next:














































Spesifikasikan database configuration options, Global database name= ROQDB.Christ (Formatnya adalah "nama database.nama Sistem" untuk nama sistem anda bisa membuat nama sistem sesuai dengan nama sistem anda), SID = ROQDB, klik next:



























Pada bagian Specify database config details, ubah penggunaan memori sesuai dengan yang anda mau ( dalam hal ini saya tidak mengubah configurasi lainnya) , klik next:















































setelah itu pilih use database control for database management, klik next:

























Untuk database storage option pilih filesystem buat lokasinya /opt/oracle/oradata/,klik next:



























pada bagian backup dan recovery options anda bisa memilih untuk tidak mengaktifkan automated backup, tapi pada sistem saya, automated backup diaktifkan. Untuk mengaktifkannya pilih Enabled automated backup, filesystem lalu isi dengan lokasi recovery yang anda mau (saya memakai defaultnya :) di /opt/oracle/flash_recovery_area/ ) , isi usename = oracle password = oracle (username dan password dapat anda isi sesuai dengan keinginan anda) klik next:



























Di bagian specify database schema password, isi password dengan password anda (saya memakai password=oracle dengan memilih use the same password for all the accounts), klik next:



























pada bagian privileged Operating system Groups, pilih database administrator groupnya = dba, database operator group = users, ASM administrator group = oinstall, klik next:



























selanjutnya klik next (saya tidak perlu registrasi, mungkin anda perlu :) ) :



























Setelah itu muncul tampilan summary, maka anda siap untuk memulai instalasi, klik install:



























muncul tampilan seperti dibawah ini, selama proses penginstalan akan muncul error klik continue saja karena tidak berpengaruh terhadap sistem oracle nantinya:
















































Setelah itu muncul configuration assistant tunggu sampai selesai:
















































Selesai, Klik OK:

























Setelah itu kita perlu untuk mengeksekusi orainstRoot.sh dan root.sh sebagai user root, buka konsole dan ketikan seperti dibawah ini :
su -

cd /opt/oracle/oraInventory
./orainstRoot.sh
cd ../product/11.1.0/db_1
./root.sh
exit
exit
kembali ke tampilan installer lalu klik OK.
klik Exit. Klik Yes untuk konfirmasi exit.

Setelah itu modifikasi bash_profile pada user oracle :
# user-specific settings

PATH=$PATH:$HOME/bin

# Oracle Environment

ORACLE_BASE=/opt/oracle; export ORACLE_BASE
ORACLE_HOME=/opt/oracle; export ORACLE_HOME
ORACLE_SID=ROQDB; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
export TNS_ADMIN=$ORACLE_HOME/config
NLS_LANG=AMERICAN; export NLS_LANG
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/openwin/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/td/lib:/usr/ucblib:/usr/local/lib
export LD_LIBRARY_PATH fi
if [ -z $CLASSPATH ]
then
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
else
CLASSPATH=$CLASSPATH:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export CLASSPATH
fi
ORAENV_ASK=NO

#set shell search paths
PATH=$PATH:$ORACLE_HOME/bin

Sekarang saatnya untuk mengeset supaya oracle di start otomatis saat linux dimulai :

cat > /etc/rc.d/rc.dbora
#!/bin/sh
#
# dbora This scripts starts and shuts down the
# oracle database
#
# chkconfig: 345 99 10
# description: This script calls the dbstart script
# to start Oracle
# and dbshut to stop it
# processname: oracle*
# config: /etc/oratab
#
# Set ORACLE_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 ORACLE_HOME.
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle
export ORACLE_SID=ROQDB
ORACLE_HOME=/opt/oracle
ORA_OWNER=oracle
if [ ! -f $ORACLE_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
'start')
su $ORA_OWNER -c $ORACLE_HOME/bin/dbstart &
su $ORA_OWNER -c "$ORACLE_HOME/bin/lsnrctl start" &
;;
'stop')
su $ORA_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop " &
su $ORA_OWNER -c $ORACLE_HOME/bin/dbshut &
;;
'restart')
su $ORA_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop " &
su $ORA_OWNER -c $ORACLE_HOME/bin/dbshut &
sleep 15 su $ORA_OWNER -c $ORACLE_HOME/bin/dbstart &
su $ORA_OWNER -c "$ORACLE_HOME/bin/lsnrctl start " &
;;
esac

Buat menjadi executable:

chmod 755 /etc/rc.d/rc.dbora

Kemudian tambahkan code ini ke file /etc/rc.d/rc.M :

# Start Oracle - roq
if [ -x /etc/rc.d/rc.dbora ]; then
. /etc/rc.d/rc.dbora start
fi

Kemudian tambahkan kode ini ke /etc/rc.d/rc.K (diatas baris "# Kill all processes" ) dan ke /etc/rc.d/rc.0:

# Shut down Oracle - roq
if [ -x /etc/rc.d/rc.dbora ]; then
. /etc/rc.d/rc.dbora stop
fi

Kemudian edit file /etc/oratab untuk memasukkan database anda saat autostart, format baris nya yang anda butuhkan adalah: SID:ORACLE_HOME:AUTO_START:

ROQDB:/opt/oracle:Y

Untuk mengizinkan aplikasi yang lain untuk melakukan koneksi ke Oracle, penting untuk menambahkan code dibawah ke /etc/profile:

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle
export ORACLE_SID=ROQDB

Jika anda ingin mengakses Oracle Enterprise Manager (OEM), maka anda perlu mengaktifkan service: /opt/oracle/bin/emctl start dbconsole

Kemudian anda dapat memulainya dengan ( formatnya https:/nama host:1158/em ): https://localhost:1158/em

Selamat mencoba,


Best Regards,

Juan Rio Sipayung