在RED HAT ENTERPRICE LINUX4 上安裝ORACLE 10G (10.2.0.1.0)
第一步 準備工作
? 檢查內存
SZ_TOMCAT:/home/xjy/soft> grep SwapTotal /proc/meminfo
SwapTotal: 2031608 kB
? 檢查內核
Linux reaky.com 2.6.9-5.ELsmp #1 SMP Wed Jan 5 19:30:39 EST 2005 i686 i686 i386 GNU/Linux
? 檢查軟件包
SZ_TOMCAT:/home/xjy/soft> rpm -q gcc make binutils glibc libaio
gcc-3.4.3-9.EL4
make-3.80-5
binutils-2.15.92.0.2-10.EL4
glibc-2.3.4-2
libaio-0.3.102-1
SZ_TOMCAT:/home/xjy/soft> rpm -q openmotif
openmotif-2.2.3-6.RHEL4.2
setarch-1.6-1
檢查內核參數
sysctl –a
然后在/ETC/sysctl.conf中添加
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 = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
執行/sbin/sysctl –p
中文化顯示工作
修改/etc/sysconfig/i18n文件,改為
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-:en_US:en"
SYSFONT="lat0-sun16"修改/etc/sysconfig/i18n文件,改為
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-:en_US:en"
SYSFONT="lat0-sun16"
第二步:
? 創建用戶
su – root
[root@reaky etc]# groupadd dba
[root@reaky etc]# groupadd oinstall
[root@reaky etc]# useradd -c "Oracle software owner" -g oinstall -G dba oracle
? 設置環境
編輯/home/oracle/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
alias ls='ls -CF'
PS1='SZ_TOMCAT:$PWD> '; export PS1
umask 022
set -o vi
stty intr '^c'
stty -istrip
#if [ $USER = "oracle" ]; then
# if [ $SHELL = "/bin/ksh" ]; then
# ulimit -p 16384
# ulimit -n 65536
# else
# ulimit -u 16384 -n 65536
# fi
#fi
EDITOR=vi; export EDITOR
TEMP=/tmp; export TEMP
TMPDIR=/tmp; export TMPDIR
### SETUP ORACLE ENVIRONMENT ###
ORACLE_SID=ora10; export ORACLE_SID
ORACLE_BASE=/home/oracle;
export ORACLE_BASE
ORACLE_HOME=/home/oracle/product/10.2.0; export ORACLE_HOME
ORACLE_TERM=ansi;
export ORACLE_TERM
JAVA_FONTS=/usr/share/fonts/zh_CN/TrueType/; export JAVA_FONTS
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK; export NLS_LANG
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
PATH=.:$ORACLE_HOME/bin:$PATH
export PATH
### FOR ORACLE INSTALL ###
export LC_ALL="en_US"
export LC="en_US"
第三步、安裝Oracle10g
1.開始Oracle普通安裝
以oracle用戶登錄linux,加載oracle Oracle10g光盤, 在執行runInstaller前,確定Oracle環境變量已經設置,可以執行如下命令檢驗環境變量的設置:
oracle 用戶登陸
$set
在終端命令窗口,執行如下命令,開始oracle10g的安裝:
oracle$/mnt/cdrom/runInstaller
2.在歡迎窗口界面: 點擊“下一步”按鈕
3.指定Inventory 路徑和身份證明窗口:
inventory路徑是: /home/oracle/oraInventory
指定操作系統組名: oinstall
點擊“下一步”按鈕
4.這時會彈出一個執行orainstRoot.sh 腳本的窗口:
打開另一個終端,以root用戶執行如下命令:
su – root
cd /home/oracle/oraInventory
./orainstRoot.sh
然后,切換到oracle安裝窗口,點擊“繼續”按鈕
5. 在指定文件位置窗口彈出后,指定相應的路徑:
源:
路徑: /mnt/cdrom/stage/products.xml
目的:
名稱: OraDb10g_home1
路徑: /home/oracle/product/10.1.0/db_1
然后,點擊“下一步”按鈕
6.選擇安裝類型:
選擇"企業版"選項,然后點擊“下一步”按鈕。安裝程序驗證系統是否符合安裝和配置所選產品的所有最低要求
7. 安裝程序驗證系統是否符合安裝和配置所選產品的所有最低要求。當檢測完成并成功后,點擊“下一步”按鈕
8. 選擇數據庫設置:
選擇"通用"選項,然后點擊“下一步”按鈕
9.指定數據庫配置參數:
全局數據庫名稱: "test".
SID: "test".
選中“創建帶樣本方案的數據庫”復選框,然后,點擊“下一步”按鈕
10.選擇數據庫管理設置:
選擇"使用 Database Control管理數據庫"。
然后,點擊“下一步”
11.指定數據庫文件存儲選項
選擇 "文件系統"選項.
指定數據庫路徑: /home/oracle/oradata/
然后點擊“下一步”按鈕,
12.指定備份和恢復選項:
選擇"不啟用自動備份".
點擊 “下一步”按鈕
13.指定數據庫方案口令:
可以為SYS、SYSTEM、SYSMAN、DBSNMP單獨指定口令,或選擇"所有用戶使用同一口令"選項.為這些用戶指定同一個口令。
指定口令不要以數字開始,否則會得到錯誤信息.然后點擊 “下一步”按鈕
14. 出現概要窗口后, 點擊“安裝”按鈕
15. 這時你會看到數據庫安裝過程窗口,然后會出現輔助設置窗口,再出現數據庫創建窗口。
16. 數據庫創建完畢,彈出數據庫創建完成窗口,點擊Ok按鈕。
當彈出一個執行root.sh腳本的窗口時在另一個終端執行如下命令:
su – root
cd /home/oracle/product/10.1.0/db_1
./root.sh
點擊確定”按鈕
17. 在概要安裝完畢,會報告一個發現$ORACLE_BASE/product/10.1.0/db_1/portlist.ini文件,這時點擊OK按鈕
18. 安裝結束:
點擊“退出”按鈕,結束安裝程序。
六、數據庫的啟動和停止
要使數據庫啟動,執行如下命令:
oracle$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
要使數據庫停止,執行如下命令:
oracle$ sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown
刪除oracle10g
如果oracle10ganzhuang過程中出現錯誤,需要重新安裝,可以執行如下命令刪除以前安裝的oracle:
su –oracle
rm –rf /home/oracle/*
rm –f /etc/oraInst.loc /etc/oratab /etc/oracle
su –root
export ORACLE_HOME=/home/oracle/product/10.1.0/db_1
$ORACLE_HOME/bin/localconfig delete
rm –f /etc/inittab.cssd
rm –f /usr/local/bin/coraenv /usr/local/bin/dbhome
rm –f /usr/local/bin/oraenv
執行完上述命令后,重新啟動系統,可以重新安裝oracle10g數據庫系統
FAQ (在Linux平臺安裝Oracle比較常見的問題)
1. 不能啟動安裝界面
運行runInstaller提示信息類似如下:
xlib:connection to "localhost:0.0" refused by server
xlib:client is not authorized to connect to server
Exception in thread "main" java.lang.InternalError:
can't connect to x11 window server using "localhost:0.0" at .......
解決辦法: 設定你的DISPLAY環境參數.
# export DISPLAY= your_IPaddress :0.0
把your_IPaddress換成你的IP.或者用root簡單的執行一下# xhost + (要注意這樣會有安全上的隱患)
2.安裝界面顯示很多"口口"樣子的亂碼
解決辦法:查看locale輸出
# locale
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.GB18030
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
執行#export LC_CTYPE=en_US.UTF-8 然后重新調用安裝程序.
3. 用IE登錄Linux服務器上的em出現亂碼
在Linux(Unix) 環境下成功安裝了Oracle 10g,從windows下用IE瀏覽器登錄 10g 的em, 按鈕是"口口"這樣的方框.
解決辦法: 參考:
http://www.dbanotes.net/Oracle/Oracle-10g-font.properties.htm
4.創建數據庫的時候出現ORA-03113的錯誤
解決辦法: 查看核心參數是否調整正確.參考:
http://www.dbanotes.net/Oracle/ORA-03113.htm
5. RedHat 9 / FC1等系統10g不支持如何安裝?
解決辦法:在10g不支持的Linux發行版上安裝10g的解決方法
1). 運行runInstaller -ignoreSysPrereqs,這樣會跳過檢查.
2). 摘自 www.puschitz.com 修改/etc/redhat-release文件:
#su - root
#cp /etc/redhat-release /etc/redhat-release.backup
#cat > /etc/redhat-release << EOF
Red Hat Enterprise Linux AS release 3 (Taroon)
EOF
安裝完畢,執行如下操作:
#su - root
#cp /etc/redhat-release.backup /etc/redhat-release
3). http://www.dbanotes.net/Oracle/10G-Beta-Install-Bug.htm
同樣的思路,我們可以修改Oracle 的install/oraparam.ini文件達到目的.
6.如何關掉那些 ocssd.bin 進程?
解決辦法:編輯/etc/inittab文件(做好備份)
注釋掉這一行:
h1:3:respawn:/etc/init.d/init.cssd run >/dev/null 2>................
---------------------------------------------------------------------------------------------------------------------
參考信息
http://blog.csdn.net/itsdn/archive/2007/05/21/1619114.aspx
:
1、在 Linux x86 上安裝Oracle數據庫10g
http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html#rhel3
2、Oracle 10gR2 + RedHat Enterprise Linux AS4 安裝
http://www.linuxdiyf.com/viewarticle.php?id=11578
3、Oracle 10g For Linux安裝手冊
http://bbs.database.ccidnet.com/htm_data/27/0607/112610.html
4、Installing Oracle 10g on RHEL AS 3 Step-by-Step
http://www.dbanotes.net/Oracle/Install-Oracle10g-RHEL3.htm
/etc/rc.d/init.d/dbora文件內容
#http://staff.in2.hr/denis/oracle/10g1install_fedora3_en.html#n4_4
# chkconfig: 0356 95 1
# description: init script to start/stop oracle database 10g, TNS listener, EMS
#
#
# match these values to your environment:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=CQRCDATA
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_USER=oracle
# see how we are called:
case $1 in
start)
dltelecom - "$ORACLE_USER" -c "$ORACLE_HOME/bin/dbstart"
dltelecom - "$ORACLE_USER" -c "$ORACLE_HOME/bin/emctl start dbconsole"
dltelecom - "$ORACLE_USER" -c "SORACLE_HOME/bin/isqlplusctl start"
;;
stop)
dltelecom - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
dltelecom - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
dltelecom - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac