在redhat上安装oracle9i的详细过程

    技术2022-05-11  64

        Oracle9i的安装    花费了周一和周二两天的时间终于装上了oracle,下面是安转步骤,以备以后参考。    在rh9(2.4.20-8)上安装oracle9i(oracle9201)。

        1在rh的安装过程中要注意四点    一是硬盘空间要大一些,rh9全部安装大约需要4.5G的空间,oracle9i数据库大约需要2-2.5G的空间,所以文件分区至少7G吧,太小了容易出问题,越大越好哈。    二是为了执行Oracle9i标准安装和创建原型(simple prototype)数据库,Oracle建议Oracle9i(9.0.1)服务器至少需要 512M 内存,两倍内存或不少于 400M 的交换 (swap) 空间,我强烈建议设在1G左右,如果swap较小,例如512M,在数据库创建阶段会提示“out of memory”的错误。当然也可以通过建立临时交换文件临时增加交换空间,代替使用原始设备(raw device),方法如下:    su -    dd if=/dev/zero of=tmpswap bs=1k count=900000 注:约1G左右    chmod 600 tmpswap    mkswap tmpswap    swapon tmpswap    取消临时交换空间,可以执行以下命令:    su -    swapoff tmpswap    rm -rf tmpswap    三是rh9要安装英文的,在安装时有两次选择机会,最好是两次都安装英文的。我在安装时第一次选择中文,第二次选择英文,oracle还是有乱码,注销后以英文环境登陆都不行。所以建议第一次选英文,第二次选英文和中文两种,但是安装oracle时必须是英文环境。    四是要多安装一些开发包,因为后续安装时可能需要,只要你有空间完全可以全部安装。

        2创建oracle用户和组    su -    groupadd oinstall # group owner of oracle files    groupadd dba #group of users to be granted with SYSDBA system privilege    groupadd -g oinstall -G dba oracle    passwd oracle

        3准备oracle文件目录    su -    mkdir -p /opt/ora9/product/9.2    mkdir /var/opt/oracle    chown oracle.dba /var/opt/oracle    chown -R oracle.dba /opt/ora9    注:我第一次安装出现问题,就把or9/删除了,又重新mkdir,但是忘了chown,结果再以oracle用户安装时提示没有目录操作权限。

        4安装支持软件包    su -    运行以下命令,检查开发包是否安装    rpm –q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils    如果其中任何一个没有安装,例如package cpp is not installed,则插入rh9的安装盘,cdrom的挂载命令是    mount -t iso9660 /dev/cdrom /mnt    在RPMS文件夹中找的cpp时则运行以下命令安装    rpm –ivh cpp-3.2.2-5.i386.rpm    注:不同的rh版本中cpp的版本也是不一样的

        5设置内核参数,调节信号灯及共享内存    打开/etc/sysctl.conf文件,将以下数据写到末尾并保存    kernel.shmmax = ?    注:为了安装 oracle9i(9.2.0),需要增加所有rh版本的linux服务器的最大共享内存(maximum shared memeory)。否则oracle数据库配置助手(the Oracle Database Configuration Assistant)会显示如下错误信息:     ORA-27123: unable to attach to shared memory segment unable to attach to share memory 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    建议关于net.ipv4.ip_local_port_range不要改动,可以用cat /proc/sys/net/ipv4/ip_local_port_range看到rh9对这个所定义的范围已经符合,而且端口范围比这个小。    其中kernel.shmmax是共享内存段的最大尺寸,kernel.shmmin是共享内存段的最小尺寸,进入/proc/sys/kernel可以用以下命令查看其数值。    cat shmmax    cat shmmni    cat shmall    而kernel.shmmax的计算方法一般是RAM(K)*1024*2,RAM的数值可以用以下命令查看。    grep MemTotal /proc/meminfo    MemTotal:        XXXX KB    关于kernel.sem的数值,其中250是参数SEMMSL的值,32000是参数SEMMNS的值,100是参数SEMOPM的值,128则是参数SEMMNI的值。    接下来,打开/etc/security/limits.conf文件,将以下数据写入末尾并保存,这是设置oracle对文件的要求。    oracle soft nofile 65536    oracle hard nofile 65536    oracle soft nproc 16384    oracle hard nproc 16384

        6设置oracle的系统环境    su - oracle    编辑/home/oracle/.bashrc文件,加入以下数据    #oracle9i    export ORACLE_BASE=/opt/ora9 注:等号前后不要有空格    export ORACLE_HOME=/opt/ora9/product/9.2    export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH    export ORACLE_OWNER=oracle    export ORACLE_SID=ora9i 注:这个值唯一标示一个数据库,可以更改,建议用大写字母(小写也可)    export ORACLE_TERM=vt100    export LD_ASSUME_KERNEL=2.4.1    注:rh9默认使用本地POSIX线程库(the Native POSIX Thread Library - NPTL),POSIX线程的linux改进实现。但是,由于使用了NPTL,oracle应用程序会引起一些问题,rh9没有通过oracle9i认证。为了修正这些问题,你可以设置环境变量LD_ASSUME_KERNEL=2.4.1,通知系统使用原来的浮点堆栈linux线程(Linuxthreads with floating stacks)。否则会导致oracle安装器runInstaller挂起、数据库配置助手(the Database Configuration Assistant)dbca不能启动等问题。    export THREADS_FLAG=native    export LD_LIBRARY_PATH=/opt/ora9/product/9.2/lib:$LD_LIBRARY_PATH    export PATH=/opt/ora9/product/9.2/bin:$PATH    环境变量的配置非常关键,一定要留神。

        7解压安装文件    将下载的或者光盘上的oracle9i安装文件拷贝到某个目录,例如(光盘)    su -    mkdir /mnt/oracle    mount -t iso9660 /dev/cdrom /mnt    waiting    cp /mnt/cdrom/lux_920_disk* /mnt/oracle    注意一般有三个安装文件lux_920_disk1.cpio.gz,lux_920_disk2.cpio.gz,lux_920_disk3.cpio.gz,还有每次换光盘之前记得    umount /dev/cdrom    注:我之所以写得这么详细是因为我是菜鸟哈,经常犯一些弱弱的错误:(    现在开始解压/mnt/oracle下的文件,linux支持多线程的,打开三个terminal,输入以下指令    terminal1#zcat lux_920_disk1.cpio.gz | cpio -idmv    terminal2#zcat lun_920_disk2.cpio.gz | cpio -idmv    terminal3#zcat lun_920_disk3.cpio.gz | cpio -idmv    解压过程中,自动在/mnt/oracle下创建了三个包含安装文件的目录    Disk1    Disk2    Disk3    记住,热身工作到此完毕,reset,一定要重启吗?不太清楚,可能上面设置的某些参数需要重启才能生效。

        8安装及错误处理    su -     export DISPLAY=localhost.localdomain:0.0    xhost +localhost.localdomain    其中的localhost.localdomain其实就是hostname,可以用命令hostname查看。    注:上述两项不设置的话会出错,runinstaller无法运行,提示如下错误:    Xlib:connection to “:0.0” refused by server     Xlib:Client is not authorized to connect to Server    上面这个问题好像比较复杂,我没有仔细看。大概是oracle不再支持字符安装模式,为了在远程桌面上显示runinstaller的界面,即X信息,需要做相应的设置。注意,如果不使用Exceed,X显示重链接机制不能工作在NT桌面机器之上。因为我是本地安装,问题就简单了哈:)    然后切换到oracle用户,开始安装    su - oracle    cd /mnt/oracle/Disk1    ./runinstaller    你看激动人心的oracle安装界面了吗?嘻嘻    oh baby,come on!    刚开始安装时需要输入一些信息,可参考下面几项:    ---what would you like as the base directory(Inventory Location)    /opt/ora9/oraInventory    ---unix group name(permission for updating oracle software)    oinstall 注:也可以使用dba,但出于安全考虑不推荐使用dba    ---full path name for oracle home    /opt/ora9/product/9.2    等等    在接下来的安装过程中一般会碰到四个问题。    第一个问题是安装界面字符乱码,肯定是中文的原因,解决方案    su - oracle    export LANG=en_US:LANG    注:我也碰到了这个问题,但是利用该解决方案没有成功,最后我不得不重装了一遍rh9,全英。如果有更好的办法,请告诉我w_fenghui@sina.com.cn,但我还是建议装英文系统。    第二个问题是提示关于这个文件ins_oemagent.mk的,解决方案,忽略,我们将在下面的步骤中修复它。    第三个问题是提示"Error in invoking target install of makefile $ORACLE_HOME/ctx/lib/ins_ctx.mk",解决方案,编辑文件$ORACLE_HOME/ctx/lib/env_ctx.mk,在"INSO_LINK ="行(第1365行)加入"$(LDLIBFLAG)dl",修改后如下:    INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m $(LDLIBFLAG)dl $(LDLIBFLAG)sc_ca $(LDLIBFLAG)sc_fa $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da $(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,rpath,$(CTXHOME)lib $(CORELIBS) $(COMPEOBJS)    按"retry"键即可继续。    第四个问题是oracle agent configuration assistant启动失败,提示以下错误:    parameter "nodeinfo"=NO_VALUE    agent service failed    该问题的解决方案是---我不知道:(    因为我没有用到agentctl服务,所以就没有解决该问题,一般用不到吧?解决该问题需要补丁包的。    最后,还需要根据提示,用root用户执行一次 $ORACLE_HOME/root.sh,Oracle软件就初步安装完了。    我们回头来解决上边的那个ins_oemagent.mk问题。以oracle用户执行:    cd $ORACLE_HOME/network/lib    make -f ins_net_client.mk install    编辑$ORACLE_HOME/ctx/lib/ins_ctx.mk文件的第13-14行,由:    ctxhx: $(CTXHXOBJ)    $(LINK) $(CTXHXOBJ) $(INSO_LINK)    改为    ctxhx: $(CTXHXOBJ)    $(LINK) -ldl $(CTXHXOBJ) $(INSO_LINK)    然后执行    make -f $ORACLE_HOME/ctx/lib/ins_ctx.mk install    现在,Oracle 软件已经完全安装成功,你可以用dbca命令来建立数据库,或者执行其他DBA命令啦。

        9经验总结    一:动不动就重装不是解决问题的办法,碰到问题去网上查一下,你碰到的问题估计其他人早就碰到了    二:如果因为其他原因安装未成功,请在再次运行之前,清除以下文件:    /etc/oraInst.loc /etc/oratab /tmp/<OtherOracleOwnerFile> $ORACLE_BASE/*


    最新回复(0)