在Redhat9上安装Oracle 9(修改后的完整版)

    技术2022-05-11  147

    Redhat9上安装Oracle 9.2

    Redhat9.0是一个非常好的Linux发行版本,具有良好的中文支持和丰富的应用软件,令包括笔者在内的好多Linux用家爱不释手。但由于Redhat9.0采用的GCC版本比较高,造成了一定的兼容性问题。使得包括Oracle9.2和IBM DB2等大型数据库软件在Redhat9.0上不能顺利安装。

     

    在安装之前有几个地方需要注意的:

    你的交换分区最好有一个G左右那么大,第二你的硬盘分区最好也要有足够大的空间。

    查看内存命令:grep MemTotal /proc/meminfo

    查看交换命令:/sbin/swapon -s

    如果交换区不足,可以用以下操作实现:

    dd if=/dev/zero of=/swapfile bs=1024 count=65536(建立 /swapfile 档案,单位为 KB,所以这是 64MB)

    mkswap /swapfile(将该档案空间格式化为 swap)

    swapon /swapfile(立即启用新的 swap 档案)

    修改 /etc/fstab 加入下面这一行

    /swapfile swap swap defaults 0 0

    安装前的准备工作

    建立一个用户和组,Oracle 往往要求建立两个组,一个负责安装,另一个负责管理,但很多老资格的DBA都认为建立一个组就足够了。以root用户运行下列命令:

    groupadd dba

    useradd oracle -g dba

    passwd oracle

     

    Oracle安装的位置应遵守OFA( Optimal Flexible Architecture )规范,但在我的机器上,由于空间有限,所以将ORACLE_HOME设定为/soft/oracle,并要确保oracle用户对这个目录可写。

    如果/soft/oracle目录不存在,则用mkdir创建。然后进入到soft的前一层目录,执行:

    chown –R oracle.dba soft

    chmod –R 755 soft

     

    安装和运行Oracle需要配置内核参数,我的电脑具有512M内存。在 /etc/sysctl.conf 文件中增加如下内容:[1]

    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

    修改后运行sysctl -p 命令使得内核改变立即生效。

     

    还需要设置oracle对文件的要求:在/etc/security/limits.conf 文件增加如下内容:

    oracle          soft    nofile          65536

    oracle          hard    nofile          65536

    oracle          soft    nproc           16384

    oracle          hard    nproc           16384

    配置Oracle 的环境变量如下:

    export DISPLAY="127.0.0.1:0.0"

    export LD_ASSUME_KERNEL=2.4.1

    export ORACLE_BASE=/opt/oracle[2]

    export ORACLE_HOME=/soft/oracle

    export ORACLE_SID=or9i

    export ORACLE_TERM=xterm

    export NLS_LANG=american_america.ZHS16GBK

    export LD_LIBRARY_PATH=/soft/oracle/lib:$LD_LIBRARY_PATH

    export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

    export PATH=$ORACLE_HOME/bin:$PATH

    最好将上边的环境变量写入/home/oracle/.bash_profile 中,使得oracle 每次登录时都带有这些环境变量。

     

    oracle安装盘放到Redhat的硬盘上:

    如果需要在硬盘上安装,则需要把oracle安装盘的内容放在Redhat上

    windows中下载oracle安装盘(为.cpio.gz文件);

    设置Redhat的网络:在系统设置->网络中设置静态设置的IP地址(与window相似),然后激活。

    Redhat中安装telnet及ftp:在添加/删除应用程序中的FTP服务品中增加FTP服务,在网络服务器中增加TELNET服务,然后确认在服务(系统设置->服务器设置->服务)中启动:telnet、vsftpd、xinetd服务.

    window下通过ftp上传到Redhat(如/mnt/oracle).

     

    准备oracle的安装文件:

    /mnt/oracle中执行:

    gunzip ship_9204_linux_disk1.cpio.gz

    gunzip ship_9204_linux_disk2.cpio.gz

    gunzip ship_9204_linux_disk3.cpio.gz

    cpio –idmv < ship_9204_linux_disk1.cpio

    cpio –idmv < ship_9204_linux_disk2.cpio

    cpio –idmv < ship_9204_linux_disk3.cpio

    将生成三个文件夹:Disk1、Disk2、Disk3

     

    查找是否已安装下列软件包[3]:用命令rpm –qa | grep compat(或其它对应名)

    compat-gcc-7.3-2.96.118.i386.rpm(存在)

    cpp-3.2.2-5.i386.rpm(存在)

    glibc-devel-2.3.2-11.9.i386.rpm(存在)

    compat-libgcj-7.3-2.96.118.i386.rpm(2)

    compat-libgcj-devel-7.3-2.96.118.i386.rpm(2)

    nss_db-compat-2.2-20.i386.rpm(2)

    gcc-3.2.2-5.i386.rpm(2)

    binutils-2.13.90.0.18-9.i386.rpm(1)

    glibc-kernheaders-2.4-8.10.i386.rpm(存在)

    如果有软件包不存在,则需要安装:

    假设compat-libgcj-7.3-2.96.118.i386.rpm不存在,则需要:

    解压缩Redhat的安装盘.ISO文件(只需要解压缩1、2即可,因为上述文件都在第一张或第二张盘文件中)

    ftp上传对应文件(/mnt/oracle/rpms)

    执行:rpm –ivh compat-libgcj-7.3-2.96.118.i386.rpm,安装对应软件包.

     

    解决安装时中文不能正确显示的问题:

    新建目录/usr/share/fonts/TrueType

    windows拷贝simsun.ttf(simsun.ttc in windows,so change it's name to simsun.ttf)及其他你想要得字体文件到新建的目录/usr/share/fonts/TrueType

    ttmkfdir -d /usr/share/fonts/TrueType/ -o/usr/share/fonts/TrueType/fonts.dir

    ttmkfdir -d /usr/share/fonts/TrueType/ -o /usr/share/fonts/TrueType/fonts.scale

    运行这两个命令来产生fonts.dir fonts.scale这两个文件

    chkfontpath --add /usr/share/fonts/TrueType 运行这个命令,把字体路径加入 X 字体服务器的路径中,其实就是加入了/etc/X11/fs/config这个文件中.

    重起xwindow

    Disk1/stage/Components/oracle.swd.jre/1.3.1.0.0/1/DataFiles/Expanded/jre/linux/lib/font.properties.zh中的-tlc-song-都替换成-misc-simsun-(:%s/-tlc-song-/-misc-simsun-)

     

    下面,就可以安装了

    解补丁包p3006854_9204_LINUX.zip

    # unzip p3006854_9204_LINUX.zip

    p3006854_9204_LINUX.zip补丁

    # cd 3006854

    # sh  rhel3_pre_install.sh

    xhost +

    su – oracle

    /mnt/oracle/Disk1下执行./runInstaller,将出现与window下相似的界面。

    以下是截取某网站的,由于本人装的是客户端,所以无法判断是否已全部解决问题,而且这儿是英文的,如果是上面的步骤,则将是中文显示。

    将出现下面的界面(图一)

                               图一

    点击Next 键,进入下一步,直至出现图二

                            图二

    输入Unix 的组名"dba",下一步后,根据提示,需要打开一个新窗口,执行

    su - root

    /tmp/orainstRoot.sh

    一直按"next "键即可。

     

    解决Net Configuration时的乱码问题:

    /soft/oracle/bin/netca中,修改JREDIR=/home/oracle/jre/1.3.1(请确认有无此目录)

     

     

    以下内容有可能不需要:

     

    oracle9204补丁:p3006854_9204_LINUX.zipp3119415_9204_LINUX.zipp2617419_210_GENERIC.zip;在安装oracle9204前必须打p3006854_9204_LINUX.zip补丁,p3119415_9204_LINUX.zipp2617419_210_GENERIC.zipagent的补丁,如果不打这两个补丁agent就没法正常启动(http://chinaunix.net/jh/19/597500.html)

     

     

    agent补丁以修正agent不能正常启动的bug (还是oracle 用户身份) 先停止oracle的一些后台服务 $ sqlplus “sys/as sysdba”  ---提示输入oracle sys用户的密码,直接回车就可以 SQL>shutdown  immediate SQL>lsnrctl stop $ unzip p3238244_9204_LINUX.zip $ cp p2617419_210_GENERIC.zip /tmp $ cd /tmp $ unzip p2617419_210_GENERIC.zip $ export PATH=$PATH:/tmp/Opatch $ export PATH=$PATH:/sbin $ cd ../../ 3238244 $ opatch apply $ cd $ORACLE_HOME/network/lib $ make –f ins_oemagent.mk install $ sqlplus “sys/as sysdba”  --提示输入密码回车略过 SQL>startup SQL>exit $ lsnrctl start  运行 $ agentctl start 测试agent代理能否正常工作 $ agentctl start  如果数据库不能正常启动请执行 $ dbca 把旧库删除再创建一个新库 七、安装好后打/u01/app/oracle/product/9.2.0/network/admin/sqlnet.ora文件添加 SQLNET.AUTHENTICATION_SERVICE=(NTS) 只要在本地主机上运行sqlplus以数据库系统管理员登录都必须输入密码才可进入oracle数据库系统。

    参考网址:

    http://www.puschitz.com/InstallingOracle9i.shtml#OracleInstallationErrors

    http://tech.163.com/05/0914/15/1TKEHHUF00091589_2.html

    http://www.chinalinuxpub.com/read.php?wid=600


    [1] 当分配给linux时,内存不足512M,也可以这样设置。

    [2] 如果不设置ORACLE_BASE,则将出现错误:You do not have sufficent privileges to write to the specifiedpath; 出现在组件Database Configuration Assistant 9.2.0.1.0 中。不能继续安装该组件

    [3] 如果某些软件包不存在,在安装时将报有关:ins_net_client.mk错误.


    最新回复(0)