就是要去考LPIC 102!!
可是因為部門裡頭,有位同事要離職,
工作部分交到我手頭上,導致在時間分配上,
根本沒有多餘時間來準備考試。
現在我要趕緊把交接給我的那部份工作,這半個月以來的過程,
好好把筆記留下來,至於考試...唉!再說吧!
對了!補充說明一下,我交接給我的新工作是oracle 10g 的DBA。
這兩三個星期,我相關的書看了不少,
但實戰經驗實在少得可憐,很是惶恐!!
先有個測試環境,實機操作再說。
我有個目標,先找個機器,因為要跑得順暢,等級不能太差,
裝好OS後,再裝ORACLE 10g。
再把我們公司正式的資料 import 進來。
最後,請軟體系統維護的同事協助測試看看,資料的可用性如何?
還有呢?再想吧!!
在CentOS 4.5上安裝Oracle 10g
出處:http://forum.hongtalk.net/thread-6119-1-1.html
首先要說明一下Oracle 10g官方只能安裝在Red Hat、Suse、UnitedLinux及asianux上。
CentOS是Red Hat的免費版,除了付款服務外,基本上沒有太大分別,
所以CentOS絕對可以安裝Oracle 10g。
在教學裡,我在Linux上建立了一個mount point「/u01」在20G的硬碟上。
請確保你已安裝以下Package:
* binutils
* compat-db
* compat-libstdc++
* control-center
* gcc
* gcc-c++
* glibc
* glibc-common
* gnome-libs
* libaio
* libstdc++-devel
* make
* pdksh
* setarch
* sysstat
* xscreensaver
可輸入以下Command檢查:
Step ##1
CODE:
# rpm -qa binutils compat-* control-center gcc* glibc* gnome-libs libstdc* make pdksh sysstat xscreensaver setarch libaio
如沒有安裝sysstat,可使用yum command從網路上下載並安裝
Step ##2
CODE:
# yum install sysstat
設定Kernel Parameter:
Step ##3
CODE:
# vi /etc/sysctl.conf
#Add the following code
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
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
儲存後執行
Step ##4
CODE:
/sbin/sysctl -p
Step ##5
CODE:
# vi /etc/security/limits.conf
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
Step ##6
CODE:
# vi /etc/pam.d/login
session required /lib/security/pam_limits.so
Step ##7
CODE:
# vi /etc/pam.d/su
session required pam_limits.so
建立Group、User及Directory
Step ##8
CODE:
# groupadd oinstall
# groupadd dba
# 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
Step ##9
CODE:
# vi /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
Step ##10
CODE:
# vi /home/oracle/.bash_profile
umask 022
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=INVEST1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
現在登入oracle戶口
由於我不是安裝在Red Hat上,所以要執行以下Command騙過Oracle Install Script
Step ##11
CODE:
# echo redhat-4 > /etc/redhat-release
如果你有使用X Windows的話,請設定以下Global Variable
Step ##12
CODE:
# DISPLAY=
執行安裝程式
Step ##13
CODE:
# ./runInstaller
選擇Advanced Installation及Enterprise Edition
你可在Product Languages上選取更多語言,例如Traditional Chinese
最後一直依指示安裝
安裝後,我們需要iSQLPlus及Enterprise Manager開機自動執行,需要更改以下幾個檔案
在「/u01/app/oracle/product/10.2.0/db_1/bin/dbstart」上尋找
Step ##14
CODE:
ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
改成
Step ##15
CODE:
ORACLE_HOME_LISTNER=/u01/app/oracle
把N轉成Y
Step ##16
CODE:
# vi /etc/oratab
INVEST1:/u01/app/oracle/product/10.2.0/db_1:Y
建立檔案「/etc/init.d/oracle」
Step ##17
CODE:
# vi /etc/init.d/oracle
#!/bin/bash
#
# Run-level Startup script for the Oracle Instance and Listener
#
# chkconfig: 345 91 19
# description: Startup/Shutdown Oracle listener and instance
ORA_HOME="/u01/app/oracle/product/10.2.0/db_1"
ORA_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
su - $ORA_OWNR -c $ORA_HOME/bin/dbstart
su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl start"
#Optional : for isqlplus only
su - $ORA_OWNR -c "$ORA_HOME/bin/isqlplusctl start"
#Optional : for Enterprise Manager software only
su - $ORA_OWNR -c "$ORA_HOME/bin/emctl start dbconsole"
touch /var/lock/subsys/oracle
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
#Optional : for isqlplus only
su - $ORA_OWNR -c "$ORA_HOME/bin/isqlplusctl stop"
#Optional : for Enterprise Manager software only
su - $ORA_OWNR -c "$ORA_HOME/bin/emctl stop dbconsole"
su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl stop"
su - $ORA_OWNR -c $ORA_HOME/bin/dbshut
rm -f /var/lock/subsys/oracle
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 start|stop|restart|reload"
exit 1
esac
exit 0
更改權限
Step ##18
CODE:
# chgrp dba oracle
# chmod 750 oracle
自動啟動
Step ##19
CODE:
# chkconfig --level 345 oracle on
最後改回CentOS
Step ##20
CODE:
# echo 'CentOS release 4.5 (Final)' > /etc/redhat-release
4 則留言:
吳大您好:
小弟對於在centos4.5安裝Oracle10g很感興趣,看到您的文章感到很驚喜
因為小弟之前大略接觸過centos4.5 & Oracle10g
但一直因為個人事務所困,所以目前對於linux & Oracle一直處於啟蒙階段
今天重新拾起書本就搜尋到您的文章,不知道吳大是否願意分享一下學習歷程以拉拔一下資質駑鈍的小弟^^
當然歡迎啊!
不過,我的DBA資歷也尚淺。
linux倒是功力還算可以,有問題來討教的話,我一定盡力答覆。
哈哈...沒想到這麼快就有回應了
因為看你的網誌標題是centos4.5安裝oracle 10g,再加上網誌的時間剛好是我去年剛接觸的時候(某種原因下接觸的)
不同的兩人在不同的地方,卻在相近的時間有了相同的solution
小弟自私的想~或許您可以填補我這將近一年的空白與懶惰...哈哈
目前小弟的學習狀況是--Oracle忘光了,重新學習Unix-Like作業系統中
anyway...不管您是否願意幫小弟的忙,還是很高興您有回應....共勉囉:)
哈哈!
在不斷使用LINUX的同時,你會發現到。
像我這樣用開放,教學相長的態度。
去面對同為LINUX的學習者的人,比比皆是。
這也是LINUX能不斷茁壯,足於和MS,MAC,Solaris等OS相媲美的最大因素。
歡迎加入LINUX的世界囉。
張貼留言