程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> RH AS4u2_x86_64安裝Oracle10g

RH AS4u2_x86_64安裝Oracle10g

編輯:Oracle數據庫基礎

Oracle10g(10.2) 在Redhat AS4u2 x86_64 上安裝
說明:
# -> root的shell
$ -> Oracle的shell
----------------------------------------------
硬件環境:
CPU:Intel Xeon 3G*2
MEM:2G
/dev/sda3 15G /
/dev/sda2 30G /Datas
/dev/sda1 99M /boot
none 1005M /dev/shm
/dev/sda6 9.7G /home
/dev/sda5 9.7G /usr
-->共72G(72*72,Raid1),我單獨劃分/Datas為30G來放置oracle安裝文件及Oracle數據庫設定目錄。

系統環境:
RedHat Advanced Server 4u2 (2.6.9-22)
@ X Window System
@ GNOME Desktop Environment
@ KDE Desktop Environment
@ Editors
@ Engineering and ScIEntific
@ Graphical Internet
@ Text-based Internet
@ Authoring and Publishing
@ Server Configuration Tools
@ Development Tools
@ Kernel Development
@ X Software Development
@ GNOME Software Development
@ KDE Software Development
@ Administration Tools
@ System Tools

Oracle版本:
Oracle Database 10g (10.2.0.1) Software

【 一 】==> 解壓10201_database_Linux_x86_64.cpio (我放到了/Datas/install目錄下):
#cpio -idmv < 10201_database_Linux_x86_64.cpio
這裡會解包生成database的目錄,內含runInstaller的安裝腳本。

【 二 】 ==> 檢查安裝所需環境設置:
2.1) 編輯 /etc/sysctl.conf,加入以下內容:
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
存盤退出後運行這個指令檢查是否設置正確:
#sysctl -p

2.2) 編輯 /etc/security/limits.conf ,加入以下內容:
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
存盤退出。

2.3) 編輯 /etc/pam.d/login ,加入以下內容:
session required /lib/security/pam_limits.so

2.4) 編輯 /etc/seLinux/config,確認以下內容存在並打開(如沒有則添加在最後)
SELinux=disabled

你也可以在xwindow下使用圖形工具修改:
Applications > System Settings > Security Level,點擊SELinux tab並使其disable(我沒試過)

【 三 】 檢查安裝Oracle10g的依賴包是否存在,如沒有則安裝:
#rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' \binutils compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver libaio

//btw:我是安裝完Redhat AS4之後,把全部rpm包都拷貝到了/Datas/AS4_x86_64/RedHat/RPMS目錄下了,不用換盤

我的檢查結果如下:
binutils-2.15.92.0.2-13.0.0.0.2 (x86_64)
compat-db-4.1.25-9 (i386)
compat-db-4.1.25-9 (x86_64)
control-center-2.8.0-12.rhel4.2 (x86_64)
gcc-3.4.4-2 (x86_64)
gcc-c++-3.4.4-2 (x86_64)
glibc-2.3.4-2.13 (i686)
glibc-2.3.4-2.13 (x86_64)
glibc-common-2.3.4-2.13 (x86_64)
gnome-libs-1.4.1.2.90-44.1 (x86_64)
libstdc++-3.4.4-2 (i386)
libstdc++-3.4.4-2 (x86_64)
libstdc++-devel-3.4.4-2 (i386)
libstdc++-devel-3.4.4-2 (x86_64)
make-3.80-5 (x86_64)
pdksh-5.2.14-30.3 (x86_64)
sysstat-5.0.5-1 (x86_64)
xscreensaver-4.18-5.rhel4.9 (x86_64)
libaio-0.3.103-3 (i386)
libaio-0.3.103-3 (x86_64)

------------------------------------------------------------------
!!! 注意(一):
Redhat AS4.02 x86_64,默認安裝的是binutils-2.15.92.0.2-15.x86_64.rpm,這個版本會引起Oracle安裝失敗!
應另外下載binutils-2.15.92.0.2-13.0.0.0.2.x86_64.rpm並強行安裝。
#rpm -Uvh --force binutils-2.15.92.0.2-13.0.0.0.2.x86_64.rpm

compat-Oracle-rhel4-1.0-5.i386.rpm 不知有用沒有。總之是朋友告訴我可能有用。抱著以求萬全的方法我也把它安裝上了。
如果你安裝不成功,可以下載這個包試試。

!!! 注意(二):
有時因為RedHat AS4u2_x386_64的gcc版本跟oracle10g_10.2所需版本不符,導致Oracle安裝完成後運行dbca指令建庫無反應,這時應該預先設定好gcc版本關系:
#cd /usr/bin
#mv gcc gcc.script
#mv g++ g++.script
#ln -s gcc32 gcc
#ln -s g++32 g++

【 四 】 ==> 創建oracle所需的組、用戶,設定Oracle用戶環境變量
4.1) 創建Oracle所需的組
#groupadd dba
#groupadd oinstall
#useradd -g oinstall -G dba -m Oracle
#passwd Oracle

4.2) 創建Oracle安裝所需的目錄:
#mkdir /Datas/app;mkdir /Datas/app/Oracle
#chown -R Oracle.oinstall /Datas/app

4.3) 修改oracle安裝文件所在目錄的組屬性,一會兒要用Oracle用戶運行安裝的:
#chown -R Oracle.oinstall /Datas/install/database

4.4) 修改Oracle用戶的環境變量
#su - Oracle
$vi .bash_profile

我的.bash_profile是這些內容:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
export TMOUT=6000000
PS1="\$PWD\\$"
#--------------------------------------
# Set for Oracle10g Install |
#--------------------------------------
trap " " 0 1 2 3 5 9 15
trap clear 0
TMP=/tmp;export TMP
TMPDIR=$TMP;export TMPDIR
ORACLE_BASE=/Datas/app/oracle;export Oracle_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;export Oracle_HOME
ORACLE_SID=db_1;export Oracle_SID
ORACLE_TERM=xterm; export Oracle_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$Oracle_HOME/bin:$PATH; export PATH
# export LD_LIBRA

RY_PATH=$LD_LIBRARY_PATH:$Oracle_HOME/lib:/usr/lib:/usr/local/lib
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
LD_ASSUME_KERNEL=2.6.9; export LD_ASSUME_KERNEL
NLS_LANG="SimplifIEd Chinese_china".ZHS16GBK;export NLS_LANG
#
LC_CTYPE=zh_CN.GB2312
LC_ALL=zh_CN
LANG=zh_CN.GB2312
umask 022
#
if [ $USER = "Oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
#------------------- Set Over

修改完成以後運行這個指令使變量生效:
$source /home/Oracle/.bash_profile

------------------------------------------------------------------
!!! 注意(三):
有可能在剛才的指令運行後系統提示ulimit無效,權限不夠。可以使用root權限修改/etc/profile文件來運行。
$su - root
#vi /etc/profile
在末尾添加:
#---- for Oracle 10g install
LC_CTYPE=zh_CN.GB2312
LC_ALL=zh_CN
LANG=zh_CN.GB2312
export LC_CTYPE LC_ALL LANG
#----
if [ $USER = "Oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
存盤退出,然後使用root帳戶運行:
#source /etc/profile
重新回到Oracle帳號下:
#su - Oracle
$
------------------------------------------------------------------

4.5) 進入xWindows
$startx
如果使用了我剛才的設置文件,這時xWindows應該是英文狀態的。
(如果是中文,則需要修改xwindows的language為英文,然後注銷並重新登陸xWindows。btw:這是沿襲Oracle9x在AS3上的安裝方法。。我沒試過在AS4u2_x86_64中文環境中安裝,不知道會否出錯。)

先開一個shell窗口,su到root,執行這個指令:
#xhost +
Access control disabled,clIEnts can connect from any host
表示現在可以使用x方式安裝Oracle了。

【 五 】 ==> 安裝Oracle10g
5.1)在oracle登陸的xWindows中,打開一個shell窗口,進入到Oracle的安裝文件所在目錄
為保險起見,我在運行安裝腳本之前又分別以root帳號運行了/etc/profile和以oracle帳號source了/home/Oracle/.bash_profile。(沒辦法,之前安裝失敗太多,所以現在盡量求保全)
其中Oracle帳號source .bash_profile的時候還是會提示limit權限不夠無法設置,這時不用理會了。

5.2) 在Oracle的shell中運行/Datas/install/database/runinstaller文件
$/Datas/install/database/./runinstaller
在英文狀態下先出現夾雜中文亂碼的提示(找不到某些字體),隨後出現Oracle10g的簡體中文安裝面板。

5.3) 取消“安裝數據庫”前面的小勾(我們到安裝完後再使用dbca指令手動安裝數據庫),然後install

5.4) 注意xWindows下保持至少2個root的shell!
shell01用來監控安裝日志,shell02用來執行安裝過程中需要以root執行的幾個指令!
shell01:
#tail -f /Datas/app/Oracle/oraInventory/logs/*.log
shell02:
#mkdir /DISCARD
#chown Oracle.oinstall /DISCARD
//說明:shell02是我在shell1中監控安裝日志時,發現到84%進程時總是提示:
“信息: cp: stat‘/DISCARD/’失敗: 沒有那個文件或目錄”
火速執行shell02之後的記錄是:
“信息: cp: 略過目錄‘/DISCARD/’”。

5.4) 系統檢查你的安裝環境,有可能會提示檢查通過,但是網絡設置未檢查,是否繼續? 沒關系,next就可以了。

5.5) 一路安裝下去。

【 六 】 手動建庫
6.1) 安裝完Oracle10g以後,現在可以使用dbca進行手動建庫。
$dbca
在彈出的對話面板中選擇 創建數據庫 - >一般用途 -> 在全局數據庫名中輸入
db_1
// 這個是我們在oracle的.bash_profile中設定好了的(ORACLE_SID=db_1;export Oracle_SID),當然如果你設定了另外的SID,這裡就要輸入同樣的字符。下面SSID會自動同步輸入。

6.2) 一直“下一步”。直到沒有“下一步”可按了。這時按“完成”(我偷懶了)。
應該會出現正在建庫的進度條。
------------------------------------------------------------------
!!! 注意(四):
如果剛才安裝前沒有設定好gcc的關系,這時很可能進度沒反應了。沒有彈出面板,沒有進度條。等再久也沒用。。。
這時可以選擇取消,然後我們來做一些補救措施。
1. 打開一個shell,轉到root帳號並執行這些指令:
#cd /usr/bin
#mv gcc gcc.script
#mv g++ g++.script
#ln -s gcc32 gcc
#ln -s g++32 g++

2. 回到Oracle帳號下,執行這個指令:
$cd $Oracle_HOME/bin
$relink all
一片嘩嘩嘩的滾動提示過後,再重新執行6.1)的步驟,使用dbca指令建庫。
------------------------------------------------------------------
!!! 注意(五):
如果你使用iptables做防火牆,這時要為Oracle開放一些端口,以便管理:
#vi /etc/sysconfig/iptables
插入這些:
#------- For Oracle port
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1158 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5560 -j ACCEPT
#-------------------------
退出後執行這個指令:
#service iptables restart
------------------------------------------------------------------

然後可以登陸使用Oracle的web頁面進行管理了。
登陸頁面是:
http://ipaddress:1158/em

我安裝完成後的sample頁面: 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved