RH AS4u2_x86_64安装Oracle10g

来源:互联网 发布:动感相册什么软件 编辑:程序博客网 时间:2024/04/28 10:55

RH AS4u2_x86_64安装Oracle10g

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_LIBRARY_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