วันพุธที่ 30 พฤศจิกายน พ.ศ. 2554

Oracle 11g R2 64bits + Linux MINT 64bits

ค่อย ๆ ทำตามไปทีละบรรทัดนะ
$ cd
$ sudo aptitude install unzip build-essential x11-utils rpm ksh lsb-rpm libaio1
$ wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3....
$ dpkg-deb -x libstdc++5_3.3.6-17ubuntu1_amd64.deb ia64-libs
$ sudo cp ia64-libs/usr/lib/libstdc++.so.5.0.7 /usr/lib64/
$ cd /usr/lib64/
$ sudo ln -s libstdc++.so.5.0.7 libstdc++.so.5
$ cd
$ wget http://security.ubuntu.com/ubuntu/pool/universe/i/ia32-libs/ia32-libs_2....
$ dpkg-deb -x ia32-libs_2.7ubuntu6.1_amd64.deb ia32-libs
$ ls -l /usr |grep lib32
(ถ้าไม่ขึ้นอะไรมาให้ $sudo mkdir /usr/lib32)
$ sudo cp ia32-libs/usr/lib32/libstdc++.so.5.0.7 /usr/lib32/
$ cd /usr/lib32
$ sudo ln -s libstdc++.so.5.0.7 libstdc++.so.5
$ sudo su -
# addgroup oinstall
# addgroup dba
# useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle
# mkdir /home/oracle
# chown -R oracle:dba /home/oracle
# ln -s /usr/bin/awk /bin/awk
# ln -s /usr/bin/basename /bin/basename
# mkdir /etc/rc.d
# for i in 0 1 2 3 4 5 6 S ; do ln -s /etc/rc$i.d /etc/rc.d/rc$i.d ; done (ทำ debian ให้คล้าย redhat)
# mkdir -p /u01/app/oracle
# chown -R oracle:dba /u01
# passwd oracle
# echo "#">> /etc/sysctl.conf
# echo "# Oracle 11gR2 entries">> /etc/sysctl.conf
# echo "fs.aio-max-nr=1048576" >> /etc/sysctl.conf
# echo "fs.file-max=6815744" >> /etc/sysctl.conf
# echo "kernel.shmall=2097152" >> /etc/sysctl.conf
# echo "kernel.shmmni=4096" >> /etc/sysctl.conf
# echo "kernel.sem=250 32000 100 128" >> /etc/sysctl.conf
# echo "net.ipv4.ip_local_port_range=9000 65500" >> /etc/sysctl.conf
# echo "net.core.rmem_default=262144" >> /etc/sysctl.conf
# echo "net.core.rmem_max=4194304" >> /etc/sysctl.conf
# echo "net.core.wmem_default=262144" >> /etc/sysctl.conf
# echo "net.core.wmem_max=1048586" >> /etc/sysctl.conf
# echo "kernel.shmmax=2147483648" >> /etc/sysctl.conf
# echo "#Oracle 11gR2 shell limits:">>/etc/security/limits.conf
# echo "oracle soft nproc 2048">>/etc/security/limits.conf
# echo "oracle hard nproc 16384">>/etc/security/limits.conf
# echo "oracle soft nofile 1024">>/etc/security/limits.conf
# echo "oracle hard nofile 65536">>/etc/security/limits.conf
# sysctl -p
หลังจากนั้นให้ logout แล้ว login ด้วย user oracle
$ cp linux.x64_11gR2_database_* /tmp
$ cd /tmp
$ unzip linux.x64_11gR2_database_1of2.zip
$ unzip linux.x64_11gR2_database_2of2.zip
$ cd database
$ ./runInstaller
ตอนมันแสดงว่า Fail.... ให้ติ๊ก Ignore all (ถ้าติดตั้งใน redhat จะไม่เจอ)
ก่อนจะติดตั้งเสร็จ มันจะถามให้ run script ก็เปิด terminal ขึ้นมาอีกอันนึง
$ su - (user ที่ใช้งานปรกติ)
$ sudo su -
# /u01/app/oraInventory/orainstRoot.sh
# /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
# nano /etc/oratab
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:N <------ เปลี่ยน "N" เป็น "Y"
ทดสอบ
https://localhost:1158/em
เกือบละ... อีกนิด
ทำให้ oracle start อัตโนมัติเมื่อเปิดเครื่อง
# nano /etc/profile
------------- เพิ่มท้ายไฟล์ ------------------
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export PATH=$PATH:/u01/app/oracle/product/11.2.0/dbhome_1/bin
export ORACLE_SID=orcl <---ถ้าตั้งไว้ชื่ออื่นก็เปลี่ยนด้วย
--------------------------------------------------
# nano /etc/init.d/oracledb
----------------- ก๊อปวางไปตามนี้ ------------------------------------
#!/bin/bash
#
# /etc/init.d/oracledb
#
# Run-level Startup script for the Oracle Listener and Instances
# It relies on the information on /etc/oratab
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.1.0/dbhome_1
export ORACLE_OWNR=oracle
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=orcl
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_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
touch /var/lock/oracle
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
rm -f /var/lock/oracle
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: `basename $0` start|stop|restart|reload"
exit 1
esac
exit 0
--------------------------------------------------------------
# chmod a+x /etc/init.d/oracledb
# update-rc.d oracledb defaults 99
จบ
ปล. สามารถ start dbconsole (เข้า https://localhost:1158/em ได้) แบบ manual ได้โดย
$ su - oracle
$ emctl start dbconsole
ปิดโดย
$ emctl stop dbconsole
ที่มา
http://forums.oracle.com/forums/thread.jspa?threadID=1115155
http://www.pythian.com/news/13291/installing-oracle-11gr2-enterprise-edi...
http://www.pythian.com/news/968/installing-oracle-11g-on-ubuntu-804-lts-...
http://www.stefanocislaghi.eu/2009/12/28/unable-to-run-dbconsole-oc4j-co...

ไม่มีความคิดเห็น:

แสดงความคิดเห็น