在DELL pe800下安装linux AS3.0+ora 9i 成功经验
计算机:DELL PE800(2G RAM;2.8G cpu,4 ×76.0G Sata硬盘)[b]说明:本帖只在针对DELL PE800下安装作的特殊操作步骤来处理安装时出现的异常情况;软件安装步骤参考网络,并试验安装成功[/b]
安装前注意:
1. 用DELL提供的Server Assistant光盘引导安装AS3.0可以解决以AS3引导安装系统网卡驱动不了,vi无颜色显示问题。
2. 选择英语环境安装,以DELL引导盘安装无法选择多语言环境,所以选择英语环境安装比较好。
第一部分: Red Hat Enterprise Advanced Server 3.0 安装
一. 软件准备
1、Red Hat Enterprise Linux Advanced Server 3.0 的四个安装文件。
2、如果everything 安装,那么不用另外安装其他的包,如果使用Server Assistant
CD 来安装系统, 可能有些服务或应用没有被安装到Linux 系统中,需要手动
重新安装,比如我们使用DELL 安装引导CD8.3 安装后telnet 没有被安装到
服务中,需要安装第三张CD 中的telnet-server-0.17-26.i386.rpm 包和第二张CD
中的telnet-0.17-26.i386.rpm 。
# rpm –ivh telnet-server-0.17-26.i386.rpm
# rpm –ivh telnet-0.17-26.i386.rpm 如果缺其他包,可以使用类似方法。
3、安装时swap分区设置为内存的二倍。不要采用DHCP设置主机名和IP地址,而
是“手工设置"。否则会在安装oracle的时候出现如下错误:
Thrown when the IP address of a host cannot be determined
出现这个错误将使Oracle不能安装成功。安装RHAS3,可以刻录到光盘安装,
也可以从硬盘安装,从硬盘安装RHAS3, 请参考: [url]http://bbs.chinaunix.net/for[/url]
um/viewtopic.php?p=2416942#2416942 . 注意: Server上两块网卡设置同一
个网段的ip地址可能需要调整才能使用。
二.Linux 安装设置
1、系统要求:内存最低256(我们基本是2G 或4G),建议大于512M,硬盘空间
至少4G,如果Oracle 安装文件存在硬盘,建议5G(在安装操作系统后的剩余空间)。
可以查看内存的大小,用到的命令是:grep MemTotal /proc/meminfo
swap 分区在安装操作系统的时候就设定好了,为内存的2倍,当内存达到1G 以上
时,和内存大小相同就可以了啊。看交换分区命令是: /sbin/swapon -s
2.其他系统盘大小分配按照具体的server 的磁盘大小定义。一般设置:
/ (root) 2048M
/boot 282M
swap 2047内存的两倍,这里我们设置2047 M .
/usr 6000M , 如果安装9i RAC,可能需要扩大一些。
/home 4353M
/tmp 2047M
/u01 211998M RAID1 中的其他部分给/u01, 用于oracle 软件的安装和部分数据文件的
存放.
3、检查是否安装以下包:
引用:[i]#su - root
#rpm -qa|grep compat
compat-db-4.0.14-5.i386
compat-gcc-7.3-2.96.122.i386
compat-gcc-c++-7.3-2.96.122.i386
compat-libstdc++-7.3-2.96.122.i386
compat-libstdc++-devel-7.3-2.96.122.i386
#rpm -qa|grep openmotif21
openmotif21-2.1.30-8.i386
#rpm -qa|grep setarch
setarch-1.3-1.i386
#rpm -qa|grep tcl
tcl-8.3.5-92.i386
[/i] 上面显示的内容是已经安装了具体的RPM 包之后的结果。它们对应的软件包是:[q
uote] , 注意包的依赖关系及安装顺序。
#rpm –ivh compat-db-4.0.14-5.i386.rpm
#rpm –ivh compat-gcc-7.3-2.96.122.i386.rpm
#rpm –ivh compat-libstdc++-devel-7.3-2.96.122.i386.rpm
#rpm –ivh compat-gcc-c++-7.3-2.96.122.i386.rpm
#rpm –ivh compat-libstdc++-7.3-2.96.122.i386.rpm
#rpm –ivh openmotif21-2.1.30-8.i386.rpm
#rpm –ivh setarch-1.3-1.i386.rpm
#rpm –ivh tcl-8.3.5-92.i386.rpm
一般情况下,你的系统上的输出结果和这个不同。如果个别包没有安装,把系统安
装光盘mount 上,找到具体的软件包(大多数在第三张光盘上),然后利用如下的命令
来安装相应的包:
# rpm -ivh compat.....rpm
当然也可以用命令来挂载iso 文件。
mount -o loop /mnt/e/rhas3/rhel-3-i386-as-disc3.iso /mnt/cdrom
还需要将gcc、g++更换为2.96 的版本.
方法如下:
#su - root
mv /usr/bin/gcc /usr/bin/gcc323
ln -s /usr/bin/gcc296 /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++323 # if g++ doesn't exist, then gcc-c++ was not installed
ln -s /usr/bin/g++296 /usr/bin/g++
4、设置内核参数:
这个版本的默认的glibc 很合适,免去了不少麻烦。
用grep MemTotal /proc/meminfo 查看内存总量
出现MemTotal XXXXXKB,其中的XXXXX 就是内存总量。
修改两个文件,如下:
#vi /etc/sysctl.conf
加入:
kernel.shmmax = 1024000000 ,一般为物理内存的一半,切换到字节。要是超过这
个值,在运行dbca 时会出现Ora-27123:Unable to attach to shared memeroy segment)
kernel.shmmni=4096
# kernel.shmall=2097152
kernel.sem=250 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
修改后运行sysctl -p 命令使得内核改变立即生效。
#vi /etc/security/limits.conf
加入:
oracle hard nofile 65536
oracle soft nofile 65536
oracle hard nproc 16384
oracle soft nproc 16384 第二部分: Linux AS3.0 上安装Oracle9.2.0.4
1、建立用户、设置环境变量
建立用户的命令是以root 用户运行的。
#groupadd oper
#groupadd dba
#useradd -g dba –G oper oracle
#passwd oracle
设置环境变量:
以oracle 用户登录,
$ vi $HOME/.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:/bin:/sbin:/usr/bin:/usr/sbin:.
BASH_ENV=$HOME/.bashrc
export BASH_ENV PATH
unset USERNAME
# Set Oracle Environment
ORACLE_HOME=/u01/product/oracle;export ORACLE_HOME
ORACLE_SID=tpc;export ORACLE_SID
ORACLE_OWNER=oracle;export ORACLE_OWNER
ORACLE_BASE=/u01/product;export ORACLE_BASE
ORACLE_TERM=vt100;export ORACLE_TERM
#NLS_LANG='traditional chinese_taiwan'.ZHT16BIG5;export NLS_LANG
LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH
set -u
PS1=`hostname`'<$PWD>;$';export PS1
EDITOR=/bin/vi; export EDITOR
JAVA_HOME=/usr/local/java;export JAVA_HOME
ORA_NLS33=/u01/product/oracle/ocommon/nls/admin/data;export ORA_NLS33
CLASSPATH=/u01/product/oracle/jdbc/lib/classesl11.zip:/usr/local/java;
export DISPLAY=127.0.0.1:0.0
export LD_ASSUME_KERNEL=2.4.1
PATH=$ORACLE_HOME/bin : $ JAVA_HOME/bin : $ PATH:.;export PATH
alias ll='ls -l';
alias ls='ls --color';
alias his='history';
#. /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh
#rq=`date`
#echo "please enter your name:"
#read name
# echo "hello $name, now time is $rq, welcome to linux AS3.0 system, please
EXIT the system when you left,thank you. PCEG-IT-SYS.DBA TEL: 21686 "
#echo "#"
echo "please choose a oracle sid: 1):tpc default:tpc"
read ans
case $ans in
1)
ORACLE_SID=tpc; export ORACLE_SID;;
*)
ORACLE_SID=tpc; export ORACLE_SID;;
Esac
然后注销重新登录,用set|more 查看环境变量是否生效。
#chown -R oracle.dba /u01
#chmod 755 /u01
这时ORACLE_BASE 的值就是/u01/product 。
2、开始安装
从[url]http://www.oracle.com[/url] 下载三个安装文件,
ship_9204_linux_disk1.cpio.gz
ship_9204_linux_disk2.cpio.gz
ship_9204_linux_disk3.cpio.gz
用zcat ship_9204_linux_disk1.cpio.gz|cpio -idmv
zcat ship_9204_linux_disk2.cpio.gz|cpio -idmv
zcat ship_9204_linux_disk3.cpio.gz|cpio -idmv
生成三个文件夹Disk1,Disk2,Disk3;
你也可以用gunzip ship_9204_linux_disk1.cpio.gz
cpio -idmv <ship_9204_linux_disk1.cpio
这样的命令来生成三个目录,可以用下面的命令刻录到光盘,也可以保存在硬盘。
进入Disk1 目录运行runInstaller之前,注意两点:
a、安装p3006854_9204_LINUX.zip补丁,否则会出现如下错误:
Error occurred during initialization of VM
Unable to load native library: /tmp/OraInstall2003-10-25_03-14-57PM/jre/lib/i386/libjav
a.so:
symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time ref
erence
从[url]http://metalink.oracle.com[/url] 下载p3006854_9204_LINUX.zip补丁。安装此补丁的方
法:
su - root
# unzip p3006854_9204_LINUX.zip
Archive: p3006854_9204_LINUX.zip
creating: 3006854/
inflating: 3006854/rhel3_pre_install.sh
inflating: 3006854/README.txt
# cd 3006854
# sh rhel3_pre_install.sh
Applying patch...
Patch successfully applied
注意:如果运行rhel3_pre_install.sh 出现下面的错误
rhel3_pre_install.sh: line 36: gcc: command not found
是因为你忘了安装gcc,同样要是出现下面的错误:
# ls
s: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: N
o such file or directory
# rm /etc/ld.so.preload
rm: error while loading shared libraries: /etc/libcwait.so: cannot open shared object fil
e: No such file or directory
#
请不要退出bash,用下面的方法来修复(我开始遇到,后来没有遇到了,可能是因
为我把gcc 降级到了296 吧)
# echo "" >; /etc/ld.so.preload
rm /etc/ld.so.preload
And start over again.
现在运行./runInstaller &(必须进入到Disk1 目录,或者从光盘运行,从光盘安装不
要进入/mnt/cdrom 后运行runInstaller,而是这样运行./mnt/cdrom/runInstaller)
呵呵,高兴了吧,期待以久的GUI 界面终于出来了啊。这是欢迎界面。显示了
Oracle 安装的源文件所在目录,还有要安装到的产品目录。我们点“Next”;
接着出现的下一个界面是Inventory 路径,我们点“Next”;
现在要求用户输入UNIX 组名,我们用Oracle 用户所在的组“dba” ,点“Next”,
如果你是第一次安装Oracle 产品,则要你运行一个sh 文件。文件是/tmp/orainstRoo
t.sh,我们打开一个shell 窗口,切换到root 用户,如下:
su root
sh /tmp/orainstRoot.sh
运行完毕我们返回Oracle 安装界面,点“Continue”;
选择文件存放的目录,我们选择默认值。然后“Next”;
安装的产品是“Oracle9i Database 9.2.0.4.0”,点“Next”;
一般使用custom 安装,选取所需要的组件,安装。
不需要建立数据库。
出现安装组件的选择结果,这时点“Install”,开始安装,复制文件,进度条在一
点一点的增加,当安装并link 完后,出现配置工具界面,agent 服务不能配置成功,
忽略不用管,在下面修复。DBCA,NETCA,HTTP 都正确配置完毕哦。呵呵。下
面开始修复错误。其实要是把各个界面抓取下来就更好了。
7、安装p3238244_9204_LINUX.zip补丁
此补丁也是从[url]http://metalink.oracle.com[/url] 下下载,同时要下载一个opatch软件包:p26
17419_220_GENERIC.zip,它主要是用来修复agent服务不能启动的错误。
过程如下:
su - oracle
$ cp p2617419_210_GENERIC.zip /tmp
$ cd /tmp
$ unzip p2617419_210_GENERIC.zip
$ export PATH=$PATH:/tmp/OPatch
$ export PATH=$PATH:/sbin # the patch needs "fuser" which is located in /sbin
$ unzip p3238244_9204_LINUX.zip
$ cd 3238244
$ opatch apply
补丁修复完成,需要relinked 一个.mk 文件。
$ cd $ORACLE_HOME/network/lib
$ make -f ins_oemagent.mk install
现在在运行agentctl start,看是不是可以成功运行agent 服务了啊,可以用stop、sta
tus 来停止此服务或者检查服务的状态。
在这个成功之后,居然不能启动Oracle,说是不能找到初始化文件,没办法,我用
dbca 先删除了原来安装时建立的库,再重新建立了数据库。 第三部分: Oracle9.2.0.4 升级到Oracle9.2.0.5 (如果觉得没有必
要,这一步可以忽略)
升级前需要认真考虑是否需要升级,因为不同版本的数据库做Standby 可能
存在问题。
1. 检查oracle 用户下的环境变量,ORACLE_HOME, ORACLE_SID 等。
2. 在[url]http://metalink.oracle.com[/url] 下载9205 patch set , 文件名称:
p3501955_9205_LINUX.zip 。
3. 解压文件# gunzip p3501955_9205_LINUX.zip
4. cpio -idmv <9205_lnx32_release.cpio
5. 关闭存在的实例及监听器,agent (如:agentctl stop) 及其它的process .
6. 使用Oracle Universal Installer Release 10.1.0.2 安装patch set,如果Oracle
Universal Installer was installed with the base release of Oracle9i ,那么需要建
立以下的链接(我们直接安装oracle9204,需要有这个链接):
$ cd $ORACLE_BASE/oui/bin/linux
$ ln –s libclntsh.so.9.0 libclntsh.so ,
然后到patchset 的解压目录查找runInstaller , $ cd /u01/packages/Disk1/
下,如果是安装9205 cluster manager patch set , 那么需要运行
/u01/packages/Disk1/oracm/runInstaller .
7. 开始安装: $./runInstaller 开始看到欢迎界面,显示File Locations
screen 。注意查看是否是Oracle Universal Installer Release 10.1.0.2,点击
about Oracle Universal Installer 就可以看到了。
8. 还有file location 的page 第一项是安装产品的全路径:
/u01/packages/Disk1/stage/products.xml , 第二个空格填入oracle 主目录的名
称( OUIHome ) , 第三个空格填入oracle 主目录的全路径:
/u01/product/oracle (按照.bash_profile 中设置的)。
9. Next,如果是Oracle Universal Installer was installed with the base release of
Oracle9i ,那么我们需要首先安装Oralce9.2.0.5 组件中的Oracle Universal
Installer 10.1.0.2 , 然后再安装oracle9205 database 组件。安装过程没有任
何错误出现,如果有,一定是前面做的有问题。
第四部分: 利用DBCA 建立数据库
建立资料库的时候在最后安装部分可能报一些错,比如ORA-29807 , 这是
Oracle 的bug , 可以忽略掉,安装完成后,在$ORACLE_HOME/rdbms/admin 目录下运
行utlrp.sql ,用于修补ORA-29807 错误。
解释:
ORA-29807: specified operator does not exist
This is a known issue (bug 2925665). You can click on the "Ignore" button to continue.
Once DBCA has completed database creation, remember to run the 'prvtxml.plb' script
from $ORACLE_HOME/rdbms/admin independently, as the user SYS. It is also advised
to run the 'utlrp.sql' script to ensure that there are no invalid objects in the database at
this time. 第五,开始升级Oracle9.2.0
1.
安装结束后,HTTPD会自动运行.在升级之前,需要将它停下来.
$ cd $ORACLE_HOME/Apache/Apache/bin
$ ./apachectl stop
./apachectl stop: httpd stopped
LISTENER也需要停下来.
$ lsnrctl stop
注意: 如果不停的话,oracle会提示不能覆盖文件.这个时候再去将服务停下来也可以,点Retry就可以了.
2.
开始打补丁升级.
注意打补丁时使用root用户,切换到root用户控制台:
解包:
$ unzip p3095277_9204_LINUX.zip
Archive: p3095277_9204_LINUX.zip
inflating: 9204_lnx32_release.cpio
inflating: README.html
inflating: patchnote.css
$ cat 9204_lnx32_release.cpio │ cpio -i --make-directories
做完这个后,再切换到oracle用户控制台, 再次运行/home/ora9i/Disk1/runInstaller升级,
注意必须先选择最下面的安装选项,安装OUI ,要不然没有办法打那个最上面的升级补丁。
升级完OUI后,要退出,再次运行/home/ora9i/Disk1/runInstaller
选择第一个选项,将Oracle升级到9.2.0.4。
这时候还是会有一个错误出现。再次选择忽略它。
3、打其他的补丁:
切换到root的终端。注意这个最好是原来那个保持了ORACLE_HOME, ORACLE_BASE的环境变量那个终端:
修复ins_oemagent.mk错误.
首先安装 opatch.
$ unzip p2617419_210_GENERIC.zip
Archive: p2617419_210_GENERIC.zip
creating: OPatch/
creating: OPatch/docs/
inflating: Opatch/docs/FAQ
......
inflating: README.txt
$ ls
$ pwd
/home/or9i
$ export PATH=$PATH:/home/or9i/OPatch:/sbin
注意:
修改PATH时,除了要包括解压出来的OPatch目录外,还要包括/sbin目录.这一点,metalink上没有说.
$ unzip p3119415_9204_LINUX.zip
Archive: p3119415_9204_LINUX.zip
creating: 3119415/
......
inflating: 3119415/README.txt
$ cd 3119415
$ opatch apply
在这一步看到success的提示,那么全部的安装就算成功了. 恭喜,恶梦结束了
用$dbca 看看能不能出现Oracle的图形管理工具
注意:如果第一次安装oracle时选择soft only,那么第一次dbca时要建一个基本库数据库SID要和ORACLE_SID一样,然后用数据库启动语言:
$ sqlplus /nolog
$ connect /as sysdba
$ startup
数据库成功启动!
额外的提示:
第一:很多人都没有解决安装界面乱码的问题,很不幸,我也没有解决.只找到一个曲线救国的办法.采用的方法是将系统语言暂时设置为英文,安装结束后再更改回中文简体,这样可以解决安装过程中的问题
第二:要分清每一个步骤是需要用oracle用户还是root用户,有些问题,可以用set命令看看环境变量是不是设置正确
第三,Oracle升级时所用的补丁必须以root身份打
页:
[1]