ubuntu oracle 成功安裝過程

一,下載一個oracle的基本包
其實我本想裝oracle 11g,但是網速不給力,找同事要了一個oracle 10g。文件名10201_database_linux32.zip,不知道有沒有改過。這個可以到官方網站去下。
二,安裝oracle 10g所要的包
apt-get install gcc make binutils lesstif2 libc6 libc6-dev rpm libmotif3 libaio1 libstdc++6 alien  
三,創建oracle用戶
sudo adduser oracle  
四,查看,設置交換分區的大小
查看複製打印?
free -m  
dd if=/dev/zero of=swaptmp bs=9024 count=100000  
mkswap swaptmp  
swapon swaptmp  
free -m                //這個時候就加上了  
用free -m查看一下交換分區swap的大小。我在網上看了一下,有人說內存和swap的比例1:2比較好,也有人說1:1比較好。我用的是1:2,整個oracle安裝完,差不多10分鐘。3.5G內存,4核CPU,這樣的配置非常給力的。哈哈。
注意:這個swaptmp只是臨時的,如果重起,用free -m又會回到從前。
安裝完不想要swaptmp可以刪除掉。
swapoff swaptmp  
rm swaptmp  
五,修改 /etc/sysctl.conf
kernel.shmmax = 3147483648  
kernel.shmmni = 4096  
kernel.shmall = 2097152  
kernel.sem = 250 32000 100 128  
fs.file-max = 65536  
net.ipv4.ip_local_port_range = 1024 65000  
在結尾添加上面的內容
六,修改/etc/security/limits.conf
* soft nproc 2407  
* hard nproc 16384  
* soft nofile 1024  
* hard nofile 65536  
在結尾添加上面的內容,sudo sysctl -p讓參數生效
七,產生一些軟鏈接
查看複製打印?
sudo ln -s /usr/bin/awk /bin/awk  
sudo ln -s /usr/bin/rpm /bin/rpm  
sudo ln -s /usr/bin/basename /bin/basename  
sudo mkdir /etc/rc.d  
sudo ln -s /etc/rc0.d /etc/rc.d/rc0.d  
sudo ln -s /etc/rc2.d /etc/rc.d/rc2.d  
sudo ln -s /etc/rc3.d /etc/rc.d/rc3.d  
sudo ln -s /etc/rc4.d /etc/rc.d/rc4.d  
sudo ln -s /etc/rc5.d /etc/rc.d/rc5.d  
sudo ln -s /etc/rc6.d /etc/rc.d/rc6.d  
sudo ln -s /etc/init.d /etc/rc.d/init.d  
八,創建版本聲明,新建/etc/redhat-release
Red Hat Linux release 3.1 (drupal)  
結尾加上上面的內容。以使安裝程序認爲正在一個hedhat的系統上安裝。這一點,不太明白,難道ubuntu得罪了oracle,非要冒充redhat.
九,修改環境變量
查看複製打印?
export ORACLE_HOME=/opt/ora10  
export ORACLE_OWNER=oracle  
export ORACLE_SID=ora1  
export ORACLE_TERM=xterm  
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH  
編輯 /home/oracle/.bashrc在結尾加上上面的內容。
十,解壓10201_database_linux32.zip,並且重新啓動用oracle用戶登錄
unzip 10201_database_linux32.zip  
sudo reboot  
cd database  
./runInstaller  
這樣就可以進入圖形界面安裝了。但是會遇到一些問題。
十一,遇到的問題,解決,以及要注意的地方
1,亂碼問題
export LC_ALL=C  
英文界面安裝
2,選擇字符集


oracle 安裝選擇字符集
這一點很重要,不要忘了。
3,/opt/ora10的權限問題


oracle home 目錄權限問題
先查看一下,/opt目錄下有沒有ora10這個目錄,開始我沒有建,我以爲安裝的時候,oracle會自動建。其實不是的。
查看複製打印?
sudo mkdir /opt/ora10  
sudo chown -R oracle:oracle /opt/ora10  
4,安裝libstdc++5


oracle libstdc 版本過新
sudo apt-get install libstdc++5,安裝的libstdc++6過新了,然後在點上圖中的retry
5,添加oracle的一些管理密碼


oracle 設置密碼
6,安裝到倒數第二步,會彈出個對話框,要求你執行二個shell腳本,不要急着點next
sudo sh /home/oracle/oraInventory/orainstRoot.sh  
sudo sh /opt/ora10/root.sh  
報錯:/bin/chgrp: 無效的組:“nobody”,
sudo addgroup nobody  
sudo usermod -g nobody nobody  
7,記錄下一些管理網址


oracle 安裝成功
上面是一些後臺管理的url
十二,啓動腳本
查看複製打印?
#!/bin/bash  
#  
# /etc/init.d/oracledb  
#  
# Run-level Startup script for the Oracle Instance, Listener, and  
# Web Interface  
  
export ORACLE_HOME=/opt/ora10  
export ORACLE_SID=ora1  
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH  
  
ORA_OWNR="oracle"  
# if the executables do not exist -- display error  
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]  
then  
echo "[Oracle Error] dbstart command does not exist, quitting..."  
exit 1  
else  
echo "[Oracle Info] dbstart existance check OK"  
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 "[Oracle Info] Starting oracle"  
echo "[Oracle Info] su $ORA_OWNR -c ""$ORACLE_HOME/bin/lsnrctl start"  
su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"  
if [ $? -ne 0 ]  
then  
 echo "[Oracle Error] listener failed to start"  
exit 1  
else  
 echo "[Oracle Info] listener start OK"  
fi  
  
su $ORA_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"  
echo "[Oracel Info] su $ORA_OWNR -c ""$ORACLE_HOME/bin/dbstart $ORACLE_HOME"  
if [ $? -ne 0 ]  
then  
 echo "[Oracle Error] dbstart failed to start"  
exit 1  
else  
 echo "[Oracle Info] dbstart OK"  
fi  
touch /var/lock/oracle  
echo "[Oracle Info]su $ORA_OWNR -c ""$ORACLE_HOME/bin/emctl start dbconsole"  
su $ORA_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"  
if [ $? -ne 0 ]  
then  
 echo "[Oracle Error] dbconsole failed to start"  
exit 1  
else  
 echo "[Oracle Info] dbconsole start OK"  
fi  
echo "[Oracle Info] Starting oracle ended OK"  
;;  
stop)  
# Oracle listener and instance shutdown  
echo "[Oracle Info] Shutdown Oracle: "  
echo "[Oracle Info] su $ORA_OWNR -c ""$ORACLE_HOME/bin/lsnrctl stop"  
su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"  
echo "[Oracle Info] su $ORA_OWNR -c ""$ORACLE_HOME/bin/dbshut $ORACLE_HOME"  
su $ORA_OWNR -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"  
rm -f /var/lock/oracle  
echo "[Oracle Info]su $ORA_OWNR -c ""$ORACLE_HOME/bin/emctl stop dbconsole"  
su $ORA_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"  
echo "[Oracle Info] Shutdown Oracle ended OK"  
;;  
reload|restart)  
echo "[Oracle Info]: $1 oracle"  
$0 stop  
$0 start  
;;  
*)  
echo "[Oracle Error] Unknown context: $1"  
echo "[Oracle Info]  Usage: `basename $0` start|stop|restart|reload"  
exit 1  
esac  
exit 0  
從網上找的啓動腳本,還要設置一下腳本權限
查看複製打印?
sudo chmod 755 /etc/init.d/oracledb  
sudo update-rc.d oracledb defaults 99  

發佈了30 篇原創文章 · 獲贊 13 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章