Selasa, 27 Mei 2008

Install Oracle Application Server di CentOS 5

1. Login Sebagi root
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/groupadd oper
useradd -g oinstall -G dba oracle
passwd oracle
mkdir -p /u01/app/oracle/product/j2ee_10_1_2
chown -R oracle.oinstall /u01

Edit /etc/redhat-release dan tambahkan ganti dengan kalimat sebagai berikut:
Red Hat Linux release 4.0 (Nathan)

2. Setting Sistem Parameter
Edit /etc/sysctl.conf dan tambahkan baris berikut:

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 256 32000 100 142
fs.file-max = 131072
net.ipv4.ip_local_port_range = 10000 65000
kernel.msgmni = 2878
kernel.msgmax = 8192
kernel.msgmnb = 65535

Kemudian eksekusi dengan perintah sbb:
[root@localhost /]# /sbin/sysctl -p

Edit /etc/pam.d/login dan tambahkan baris berikut:
session required pam_limits.so

Edit /etc/security/limits.conf dan tambahkan baris berikut:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

3. Setting Oracle Environment
Edit /home/oracle/.bash_profile dan tambahkan baris berikut:
# Configurasi untuk Oracle Application
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/j2ee_10_1_2; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH; export PATH
PATH=$PATH:$ORACLE_HOME/dcm/bin:$ORACLE_HOME/opmn/bin; export PATH
PATH=$PATH:$ORACLE_HOME/Apache/Apache/bin; export PATH
export DISPLAY=:0.0

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 16384
else
ulimit -u 16384 -n 16384
fi
fi

PS1="`hostname`> "
set -o emacs
set filec

4. Cek module rpm yang dibutuhkan untuk instalasi oracle
Catatan: Sejak RHEL 5 (OEL 5, Centos 5) pdksh package diganti menjadi ksh
copy paste di konsole perintah berikut:
rpm -q binutils gcc glibc glibc-headers glibc-kernheaders glibc-devel
compat-libstdc++ cpp compat-gcc make compat-db compat-gcc-c++
compat-libstdc++ compat-libstdc++-devel setarch sysstat pdksh libaio
libaio-devel --qf '%{name}.%{arch}\n'|sort

Berikut daftar paket yang dibutuhkan:
binutils.i386
compat-gcc-7.3-2.96.128.i386
compat-gcc-c++-7.3-2.96.128.i386
compat-libstdc++-7.3-2.96.128.i386
compat-libstdc++-devel-7.3-2.96.128.i386
cpp.i386
gcc.i386
gcc-c++.i386
glibc.i386
glibc-common.i386
glibc-devel.i386
glibc-headers.i386
glibc-kernheaders.i386
libstdc++.i386
libstdc++-devel.i386
libaio
libai-devel.i386
pdksh.i386
setarch.i386
sysstat.i386

Berikut adalah cara untuk insallasi paket rpm:
cd /media/DVD2-IL_04-2008/CentOS/
# rpm -Uvh libXP-1*
# rpm -Uvh compat-db-4*
# rpm -Uvh openmotif-2*

Catatan : Jika paket tidak ditemukan silahkan download paket di Centos Linux 5
Untuk Install paket yang diperlukan oleh Oracle Application hampir sama dengan Oracle Database

5. Memulai proses instalasi oracle
Jika anda sudah mempunyai Paket Oracle Application dalam bentuk cd
cp -rf /media/Disk1/application_server /home/oracle/

Jika anda sudah punya paket dalam bentuk format yang lain
cpio -idmv <>>> Could not execute auto check for display colors using command /usr/X11R6/bin/xdpyinfo. Check if the DISPLAY variable is set.
Checking if CPU speed is above 450 MHz. Actual 3000 MHz Passed

Some optional pre-requisite checks have failed (see above). Continue? (y/n) [n]

Anda pilih ya atau tekan y, karena 256 colors untuk proses intalasi sudah cukup














Kamis, 22 Mei 2008

Install Database Oracle 10g R2 di CentOS 5

1. Login sebagai root:
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/groupadd oper
useradd -g oinstall -G dba oracle
passwd oracle
mkdir -p /u01/app/oracle/product/10.2.0/db_1
chown -R oracle.oinstall /u01
mkdir -p /u02/oradata
chown -R oracle.oinstall /u02

Edit /etc/redhat-release dan tambahkan ganti dengan kalimat sebagai berikut:
Red Hat Linux release 4.0 (Nathan)

2. Setting Sistem Parameter

Edit /etc/sysctl.conf dan tambahkan baris berikut:

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
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144

Kemudian eksekusi dengan perintah sbb:
[root@localhost /]# /sbin/sysctl -p

Edit /etc/pam.d/login dan tambahkan baris berikut:
session required pam_limits.so

Edit /etc/security/limits.conf dan tambahkan baris berikut:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

3. Setting Oracle Environment
Edit /home/oracle/.bash_profile dan tambahkan baris berikut:

TMP=/tmp; export TMP
TMPDIR=$TMP; export TEMPDIR

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
export DISPLAY=:0.0

4. Cek module rpm yang dibutuhkan untuk instalasi oracle
Catatan: Sejak RHEL 5 (OEL 5, Centos 5) pdksh package diganti menjadi ksh
copy paste di konsole perintah berikut:
rpm -q binutils gcc glibc glibc-headers glibc-kernheaders glibc-devel
compat-libstdc++ cpp compat-gcc make compat-db compat-gcc-c++
compat-libstdc++ compat-libstdc++-devel setarch sysstat pdksh libaio
libaio-devel --qf '%{name}.%{arch}\n'|sort

Berikut daftar paket yang dibutuhkan:
binutils.i386
compat-gcc-7.3-2.96.128.i386
compat-gcc-c++-7.3-2.96.128.i386
compat-libstdc++-7.3-2.96.128.i386
compat-libstdc++-devel-7.3-2.96.128.i386
cpp.i386
gcc.i386
gcc-c++.i386
glibc.i386
glibc-common.i386
glibc-devel.i386
glibc-headers.i386
glibc-kernheaders.i386
libstdc++.i386
libstdc++-devel.i386
libaio
libai-devel.i386
pdksh.i386
setarch.i386
sysstat.i386

Berikut adalah cara untuk insallasi paket rpm:
cd /media/DVD2-IL_04-2008/CentOS/
# rpm -Uvh libXP-1*
# rpm -Uvh compat-db-4*
# rpm -Uvh openmotif-2*

Catatan : Jika paket tidak ditemukan silahkan download paket di Centos Linux 5

5. Memulai proses instalasi oracle
cp -rf /media/oracle_database_10g/database /home/oracle/database

xhost +
xhost localhost:oracle
su - oracle
cd /home/oracle/database
./runInstaller

Selasa, 15 Januari 2008

Recover REDOLOG

SQL> alter database open;

alter database open

*

ERROR at line 1:

ORA-00322: log 5 of thread 1 is not current copy

ORA-00312: online log 5 thread 1: 'blablabla/blablabla/db01/redo/redo05.log'

Bueno. No importa. Acabo de hacer un backup en frío, así que:

SQL> alter database drop logfile group 5;

alter database drop logfile group 5

*

ERROR at line 1:

ORA-00350: log 5 of instance db01 (thread 1) needs to be archived

ORA-00312: online log 5 thread 1: 'blablabla/blablabla/db01/redo/redo05.log'

¡Coño! Pues quito el archive y ya está:

SQL> alter system archive log stop;
System altered.

SQL> alter database drop logfile group 5;

alter database drop logfile group 5

*

ERROR at line 1:

ORA-00350: log 5 of instance db01 (thread 1) needs to be archived

ORA-00312: online log 5 thread 1: 'blablabla/blablabla/db01/redo/redo05.log'

A ver si archivando a mano…

SQL> archive log all

ORA-16038: log 5 sequence# 1875 cannot be archived

ORA-00312: online log 5 thread 1: 'blablabla/blablabla/db01/redo/redo05.log'SQL> ALTER DATABASE OPEN;

ALTER DATABASE OPEN

*

ERROR at line 1:

ORA-00322: log 5 of thread 1 is not current copy

ORA-00312: online log 5 thread 1: 'blablabla/blablabla/db01/redo/redo05.log'

¡Joder! Esto se pone feo… ¿Cómo me cepillo el redolog file pocho sin necesidad de recuperar desde RMAN?

A ver si así…

SQL> SHUTDOWN IMMEDIATE;

ORA-01109: database not open
Database dismounted.

ORACLE instance shut down.

SQL> startup mount;

ORA-32004: obsolete and/or deprecated parameter(s) specified

ORACLE instance started.

Total System Global Area 1610612736 bytes

Fixed Size 1262068 bytes

Variable Size 201330188 bytes

Database Buffers 1392508928 bytes

Redo Buffers 15511552 bytes

Database mounted.

SQL> recover database until cancel;

Media recovery complete.

SQL> alter database open resetlogs;

Database altered.

SQL> alter system archive log start;

System altered.

SQL> alter system switch logfile;

System altered.

SQL> alter system switch logfile;

System altered.

SQL> alter system switch logfile;

System altered.

SQL> alter system switch logfile;

System altered.

SQL> alter system switch logfile;

System altered.

SQL> alter system switch logfile;

System altered.

SQL> select sysdate from dual;

SYSDATE

--------

08/10/07