Pythontr

husonet | Tarih: 20.03.2013

Debian Oracle 11g Enterprise Kurulumu

# Kurulum icin grublar olusturalım

addgroup oinstall
addgroup dba
useradd -g oinstall -G dba -d /home/oracle -s /bin/bash oracle
passwd oracle (Şifre isteyince orace kullanıcısı için şifre girin)
mkdir /home/oracle
chown -R oracle:dba /home/oracle


# Redhat dosya lokasyonlarına Debian locasyonlar ile eşleştirelim
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename


# Kernel parametrelerini Oracle için ayarlayalım
vim /etc/sysctl.conf
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 1048576
net.core.wmem_max = 1048576
net.ipv4.ip_local_port_range = 9000 65500


# Kernel parametrelerini aktif yapalım
sysctl -p


# Oracle önerdiği şekilde limitleri düzeltelim
vim /etc/security/limits.conf
oracle soft nproc 2048
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536


# install dosyaları izin işlemleri oracle kullanıcısı için install oracle user ı ile yapılacak
mkdir /home/oracle/oraclesetup
chown -R oracle:dba /home/oracle/oraclesetup/


# son paketlerimizi yükleyelim
aptitude install build-essential unixODBC rpm ksh lsb-rpm libaio1 sysstat pdksh unzip xterm xorg install sun-java6-jdk openjdk-6-jdk openbox

aptitude install alien
aptitude install autoconf
aptitude install automake
aptitude install autotools-dev
aptitude install binutils
aptitude install bzip2
aptitude install doxygen
aptitude install elfutils
aptitude install expat
aptitude install gawk
aptitude install gcc
aptitude install gcc-multilib
aptitude install g++-multilib

aptitude install ksh
aptitude install less
aptitude install lesstif2
aptitude install lesstif2-dev
aptitude install lib32z1
aptitude install libaio1
aptitude install libaio-dev
aptitude install libc6-dev
aptitude install libc6-dev-i386
aptitude install libc6-i386
aptitude install libelf-dev
aptitude install libltdl-dev
aptitude install libmotif4
aptitude install libodbcinstq4-1 libodbcinstq4-1:i386
yada
aptitude install libodbcinstq1c2 libodbcinstq1c2:i386
aptitude install libpth-dev
aptitude install libpthread-stubs0
aptitude install libpthread-stubs0-dev
aptitude install libstdc++5
aptitude install lsb-cxx
aptitude install make
aptitude install pdksh
aptitude install rlwrap
aptitude install rpm
aptitude install sysstat
aptitude install unixodbc
aptitude install unixodbc-dev
aptitude install unzip
aptitude install x11-utils
aptitude install zlibc


xhost + komutu ile diğer kullanıcıların (yani oracle kullanıcısın) xwindows oturumumuza erişebilmesini sağlıyoruz.
xhost +


# Oracle sitesinden indirdiğimiz doyaları açalım

su - oracle
cd oraclesetup
# unzip kurulu değilse aptitude install unzip
unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip


cd database
DISPLAY=192.168.2.161:0.0; export DISPLAY
# arayüzden kurulum istiyor uğraşmaya gerek yok openbox iş görür
startx
./runInstaller


# initorcl.ora dosyasını oluşturalım
cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/init.ora /u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora
vim /u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora
audit_file_dest='/u01/app/oracle/admin/ORCL/adump'
db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'


# Memory Target hatası almamak için
cat > /etc/init.d/oracle-shm <<-EOF
#! /bin/sh
# /etc/init.d/oracle-shm
#
#
case "\$1" in
start)
echo "Starting script /etc/init.d/oracle-shm"
# Run only once at system startup
if [ -e /dev/shm/.oracle-shm ]; then
echo "/dev/shm is already mounted, nothing to do"
else
mkdir /var/lock/subsys 2>/dev/null
touch /var/lock/subsys/listener
rm /dev/shm 2>/dev/null
mkdir /dev/shm 2>/dev/null
mount -t tmpfs shmfs -o size=16384m /dev/shm
touch /dev/shm/.oracle-shm
#rm -f /dev/shm
#mkdir /dev/shm
#mount -t tmpfs shmfs -o size=2048m /dev/shm
#touch /dev/shm/.oracle-shm
fi
;;
stop)
echo "Stopping script /etc/init.d/oracle-shm"
echo "Nothing to do"
;;
*)
echo "Usage: /etc/init.d/oracle-shm {start|stop}"
exit 1
;;
esac
#
### BEGIN INIT INFO
# Provides: oracle-shm
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Fix to allow Oracle 11g use AMM.
### END INIT INFO
EOF


chmod 755 /etc/init.d/oracle-shm 
update-rc.d oracle-shm defaults 01 99


TNS Name ayarlayalım
vim /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
ORLC =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=boran)(PORT=1521))
(CONNECT_DATA=(SID=ORLC))
)

EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)


Listener Ayarları
vim /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = ORCL)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(PROGRAM = extproc)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = boran)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)


# sqlplus testleri
sqlplus /nolog
SQL>connect / as sysdba
SQL>connected...


# Çalıştıracağımız servisi oluşturalım
vim /etc/init.d/dbora
export ORACLE_BASE=/u01/app/oracle/
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_OWNER=oracle
export ORACLE_SID=ORCL
export ORACLE_UNQNAME=ORCL
#export ORACLE_UNQNAME=DEFAULT
#export ORACLE_HOSTNAME=localhost.localdomain
export ORACLE_HOSTNAME=boran
export PATH=$PATH:$ORACLE_HOME/bin
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
case "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
su $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_OWNER -c "/home/oracle/scripts/startup.sh >> /home/oracle/scripts/startup_shutdown.log 2>&1"
touch /var/lock/subsys/dbora
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
su - $ORACLE_OWNER -c "/home/oracle/scripts/shutdown.sh >> /home/oracle/scripts/startup_shutdown.log 2>&1"
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
rm -f /var/lock/subsys/dbora
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: `basename $0` start|stop|restart|reload"
exit 1
esac
exit 0


# Startup file
vim /home/oracle/scripts/startup.sh
# Start Database
sqlplus / as sysdba << EOF
STARTUP;
EXIT;
EOF


# Shutdown file
vim /home/oracle/scripts/shutdown.sh
# Stop Database
sqlplus / as sysdba << EOF
SHUTDOWN IMMEDIATE;
EXIT;
EOF


chmod u+x /home/oracle/scripts/startup.sh /home/oracle/scripts/shutdown.sh

update-rc.d dbora defaults