一、基本情况介绍:
CPU:P4 2.0G
内存:1000M
硬盘:40GB
操作系统:radhat9(Linux Kernel 2.4.20-8)
二、准备工作:
1.Oracle 9i的获取
Oracle920_for_Linux是我在 ftp://ftp.lib.tsinghua.edu.cn/或\\print\DataBase Tools\Oracle for Linux\9i中一共是3个压缩文件,名字分别为:
lnx_920_disk1.cpio.gz 大小为527 MB (553,607,967 字节)
lnx_920_disk2.cpio.gz 大小为561 MB (588,799,187 字节)
lnx_920_disk3.cpio.gz 大小为421 MB (442,089,854 字节)
3个文件共有1.47 GB (1,584,497,008 字节)。
2.备注信息
看到网上的文章介绍,一般说是为考虑兼容性的问题,在安装前都需要对redhat系统进行安装或替换一些rpm包,还要确定rpm包的依赖关系,
如:
glibc-2.3.2-5.i686.rpm
glibc-common-2.3.2-5.i386.rpm
glibc-devel-2.3.2-5.i386.rpm 等。
所以只要是选择了redhat Linux9的全部安装,不要再安装或替换这些rpm包了。
三、配置操作:
1.设置内核参数:
Oracle9i使用Linux的共享内存、交换区等资源进行工作,如果系统的的内核参数设 置不能满足Oracle的需求,那么在安装或使用过程就会出现各种问题,因此建议配置或修改这些系统内核的参数。
打开/etc/sysctl.conf 文件,将下列数据写入到sysctl.conf的末尾并保存:
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
其中,kernel.shmmax是共享内存段最大尺寸,kernel.shmmni是共享内存段最小尺寸。进入目录/proc/sys/kernel,可分别用命令:
#cat shmmax
#cat shmmni
#cat shmall
查看 kernel.shmmax 、kernel.shmmni、kernel.shmall的数值。
接下来,打开/etc/security/limits.conf文件,将下列数据添加到 limits.conf的末尾并保存:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
这是设置Oracle对文件的要求。
当对/etc/sysctl.conf 文件和/etc/security/limits.conf文件修改并保存完毕后,请重新启动(reboot)redhat Linux9系统,这样设置的这些参数才能生效。
2.创建Oracle用户帐号和安装目录
如有以前安装过Oracle 8i for Linux的经验,应该知道在安装Oracle之前须先在Linux操作系 统下新增一个名为oracle的用户,以及一个oracle DBA所专用的群组。Oracle在安装和使用中需要用特定用户(非root用户),按照Oracle的标准说明是需要添加三个专门用户和用户组。为了简单方便安装,我们建立两个组,一个负责安装,另一个负责管理,并把Oracle的安装和使用归到一个特定用户来完成。
以root用户登录,进行如下操作,建立两个组(dba组与oinstall组)和一个Oracle用户,操作命令如下:
#groupadd dba
#groupadd oinstall
#useradd –g oinstall –G dba oracle
#passwd oracle
设置oracle的密码。
Oracle安装的位置应遵守OFA( Optimal Flexible Architecture )规范。Oracle9i的典型安装需要至少两个安装点:一个安装基本的运行程序,一个为存放数据库,并要确保oracle用户对这两个目录具有可写的权限。
运行下面的命令,创建Oracle的安装点(mount point):
#mkdir /opt/oracle9i
#mkdir /opt/oracle9i/product
#mkdir /opt/oracle9i/product/9.2.0
#chown –R oracle.oinstall /opt/oracle9i
#mkdir /var/opt/oracle9i
#chown oracle.dba /var/opt/oracle9i
#chmod 755 /var/opt/oracle9i
3.设置环境变量
以oracle用户身份登录,打开编辑/home/oracle/.bash_profile文件,在文件末尾添加如下数据行并保存:
export LD_ASSUME_KERNEL=2.4.1
export ORACLE_BASE=/opt/oracle9i
export ORACLE_HOME=/opt/oracle9i/product/9.2.0
export ORACLE_SID= ORCL (数据库SID,可以修改,建议字母要大写)
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LANG=en_US
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
这样oracle用户每次登录时都带有这些环境变量。
其中:ORACLE_HOME为系统软件的安装目录,ORACLE_SID 为数据库的SID,这里可以自行设置。
提示^_^:此处的环境变量的配置工作尤其重要。很多在Linux下安装Oracle失败的原因都是因为环境变量没有配置正确,环境变量的配置直接影响到下面Oracle9i的安装和配置。
接下来就可以进行Oracle9.2.0 for Linux 的安装工作了。
四、安装过程:
1.对安装文件进行解压
以root用户登录,新建目录/setup,将Oracle920_for_Linux 3个压缩文件:
lnx_920_disk1.cpio.gz 大小为527 MB (553,607,967 字节)
lnx_920_disk2.cpio.gz 大小为561 MB (588,799,187 字节)
lnx_920_disk3.cpio.gz 大小为421 MB (442,089,854 字节)
复制到目录/setup中。(如果您没有建立/setup目录)
进入到/setup目录,对这3个文件进行解压缩,操作命令如下:
#cd /setup
#gunzip lnx_920_disk1.cpio.gz
#gunzip lnx_920_disk1.cpio.gz
#gunzip lnx_920_disk1.cpio.gz
等解压完成后便生成3个如下名字的文件:
lnx_920_disk1.cpio
lnx_920_disk1.cpio
lnx_920_disk1.cpio
然后再解开cpio文件包,执行如下操作命令
#cpio -idmv < lnx_920_disk1.cpio
#cpio -idmv < lnx_920_disk2.cpio
#cpio -idmv < lnx_920_disk3.cpio
等三个文件包全部解压完毕后,生成3个安装文件夹,名称分别为Disk1、Disk2、Disk3。然后注销退出root用户,以oracle用户登录进行安装。
2.安装过程
以oracle用户登录,进行安装。进入到/setup/Disk1目录,执行如下命令:
#cd /setup/Disk1
#./runInstaller
运行等一会后,就会出现Oracle Universal Installer(OUI)的图形界面,按照提示一步步点击“Next”安装即可。
前几步保持默认设置,当遇到输入“Unix Group Name”的时候,输入组名“dba”,点击“下一步”。
此时Oracle Universal Installer会生成一个建立Oracle Inventory所用的orainstRoot.sh文件,弹出一个提示框,需要用root身份来执行这个/orainstRoot.sh文件,此时可以再开启一个新的终端窗口(Terminal),按照提示窗口所写的目录路径来以root用户来执行orainstRoot.sh。等执行完毕后再回到提示窗口,按下“Continue”按钮继续安装。
当遇到要输入“全局数据库名(Global Database Name)和数据库SID”的窗口时,会发现数据库的SID已经按照环境变量中的设置的ORACLE_SID=YOUR_SID显示出来了。只需要把全局数据库名输入即可。
接下来的安装均按照默认设置来进行。
当遇到设置数据库的字符集的窗体时,不要选择默认的数据库字符类型。字符集(Character Set)是建立Oracle数据库时最重要的一项设定,如果设定的不正确,很可能造成在使用中无法正常存取中文数据。在这里我们最好选择第三个选项的下拉框,选择Simplifiled Chinese ZHS16GBK,按Next进入下一步。
在Oracle Universal Installer开始复制安装文件之前,会显示要安装的Oracle9i产品摘要,在确认无误后按下“Install”按钮就会开始安装了,这将是一个较长时间的过程,当然了,这和你机器的配置、运算速度和内存空间大小等都有关系。
在接下来的安装过程中会出现2个错误
第一个错误是Linking阶段的,当安装进度到69%的时候出现的,Oracle Universal Installer提示关于这个文件“/soft/oracle/network/lib/ins_oemagent.mk”有问题,这时我们可以暂时不要去管它,选择“ignore”,将其忽略,等整个安装过程完成以后,再来解决这个问题。
第二错误也是Linking阶段,当安装进度到84%的时候出现的,Oracle Universal Installer提示“Error in invoking target install of makefile $ORACLE_HOME/ctx/lib/ins_ctx.mk”出现错误。
这个时候就不要选择忽略了,可以修复这个错误,打开$ORACLE_HOME/ctx/lib/env_ctx.mk文件进行如下编辑MS