Chinaunix首页 | 论坛 | 博客
  • 博客访问: 473699
  • 博文数量: 711
  • 博客积分: 3000
  • 博客等级: 中校
  • 技术积分: 4200
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-28 14:18
文章分类

全部博文(711)

文章存档

2011年(1)

2008年(710)

我的朋友

分类:

2008-10-29 11:55:11


  本文提供一种在RedHat Linux 6.0上安装 8标准版的简便方法,RedHat 6.0使用glibc 2.1,所以要正常运行8则必须打补丁。虽然Oracle出品了其最新数据库产品Oracle 8i (8.1.5)for Linux,并在RedHat 6.0上通过,但由于该版本bug太多,且采用了与以前版本完全不同安装方式-采用基于的安装程序,让很多Oracle的忠实用户颇感不适,所以在Oracle 8i改进之前,建议继续使用Oracle 8.0.5。
  一、Oracle 8.0.5和补丁程序
    你可到Oracle的官方站点,在之前,必须先去Oracle OTN(Oracle Technology Network)免费注册,这样你可以访问Oracle的很多在线技术文档、下载和讨论区,说不定还可得到一张CDROM。下载的文件是805ship.tgz和glibcpatch.tgz。
    国内可到网络工作室或新丝(思)路下载,但这些站点没有glibcpatch。
  
  二、安装前准备工作
  
  
  1、检查硬盘自由空间和5.2版兼容库
  
    在硬盘上准备500M以上的自由空间,可以是单独的一个分区,也可以不是。如果有光盘,可以从光盘上直接安装,如果是下载的,先在一个临时目录下(为方便叙述本文用“/apps”)将下载的805ship.tgz解压缩:
  
    tar zxvf 805ship.tgz
  
    检查Oracle 8.0.5所需的Redhat 5.2的兼容库是否已经安装好。
  
    rpm -q compat-binutils
  >compat-binutils-5.2-2.9.1.0.23.1
  
  
    rpm -q compat-glibc
  >compat-glibc-5.2-2.0.7.1
  
  
    rpm -q compat-egcs
  >compat-egcs-5.2-1.0.3a.1
  
  
    rpm -q compat-egcs-c++
  >compat-egcs-c++-5.2-1.0.3a.1
  
  
    rpm -q compat-libs
  >compat-libs-5.2-1
  
    如果没有安装好上述这些兼容库,可从RedHat 6.0光盘或去有关站点下载后进行安装:
  
    rpm -ivh compat-binutils-5.2-2.9.1.0.23.1.i386.rpm
    rpm -ivh compat-glibc-5.2-2.0.7.1.i386.rpm
    rpm -ivh compat-egcs-5.2-1.0.3a.1.i386.rpm
    rpm -ivh compat-egcs-c++-5.2-1.0.3a.1.i386.rpm
    rpm -ivh compat-libs-5.2-1.i386.rpm
  
  2、修改内核内存参数SHMMAX
  
    你可以修改内核的内存参数以便让Oracle支持更大的共享内存(最大4G),但很多用户指出4G可能用问题,32M内存足以运行Oracle,所以你可以不改SHMMAX,不过如果你有更多的内存(如128M),建议修改SHMMAX:
  
    cd /usr/src//include/asm
    vi shmparam.h
  
  找到“#define SHMMAX 0x2000000”,修改0x2000000为适当的值(0x80000000=128M),保存文件并重新编译核心,安装新内核。(有关核心编译和安装新内核请参阅核心源代码自带的说明文件)。
  
  3、创建Oracle用户和组
  
    创建Orale组和用户:
  
    groupadd dba(在RedHat 6.0上,该组的ID可能是500)
  
    groupadd oper(该组是可选的,其ID可能是501)
  
    useradd oracle -g dba
  
    passwd oracle(修改口令)
  
    创建Orcale的安装目录,可以是一个单独的分区。不妨是“/u1”(你也可以欺骗Orcale,创建4个目录如/u1、/u2、/u3、/u4)。设置/u1目录的所有者:
  
    chown oracle.dba /u1
  
    进入"/apps"(805ship.tgz解压缩的目录),运行oratab脚本:
  
    cd /apps
  
    cd orainst
  
    ORACLE_OWNER=oracle; export ORACLE_OWNER
  
    sh oratab.sh
  
    logout
  
    重新用oracle用户登录,将下载的补丁程序glibcpatch.tgz拷贝到一个目录下解压缩:
  
    cd /apps (假定glibcpatch在/apps目录下)
  
    mkdir ~/orapatch
  
    cp glibcpatch.tgz ~/orapatch
  
    cd ~/orapatch
  
    tar zxvf glibcpatch.tgz
  
  键入umask回车,检查其结果是否为“022”,如果不是,则在下面的“.profile”中加入“umask 022”。
  
    在oracle用户的根目录“/home/oracle”(或~)下创建“.bash_profile”脚本:
  
    cd ~
  
    vi .bash_profile
  
    在该文件中增加如下内容:
  
    ORACLE_HOME=/u1/app/oracle/product/8.0.5; export ORACLE_HOME
    LD_LIBRARY_PATH=/u1/app/oracle/product/8.0.5/lib; export LD_LIBRARY_PATH
    ORACLE_BASE=/u1/app/oracle; export ORACLE_BASE
    ORACLE_DOC=/u1/app/oracle/product/8.0.5/doc; export ORACLE_DOC
    ORACLE_SID=ORCL; export ORACLE_SID
    ORACLE_TERM=386; export ORACLE_TERM
    PATH=$PATH:/u1/app/oracle/product/8.0.5/bin; export PATH
    TMPDIR=/var/tmp; export TMPDIR
  
    如果umask不是返回"022",加入
    umask 022
  
    ORACLE_DOC指出Oracle文档的安装目录,如果不在这里指定也可在安装过程中指定。如果接受默认的文档目录,安装程序将出错,以至于不能完成安装过程,这是Oracle的一个bug。
  
    重新登录,用“env”命令检查上述的设置是否正确。
  
  4、安装Oracle 8.0.5
  
    cd /apps/orainst
  
    ./orainst /c
  
    选择“Custom Install”、OK、“Install,Upgate or De-install software”、“Install new product-DO NOT Create DB objects”(这一点很重要),检查“ORACLE_HOME”和“ORCALE_BASE”是否正确,接受默认log文件路径,选择从CDROM安装,选择恰当的语言(建议用American/English)。安装程序会告诉你“root.sh”在什么地方以便在安装完毕后执行。这时你就可以选择安装那些软件,如果你已安装了JAVA SDK并设置了正确的CLASSPATH,可选择安装JDBC,如果安装了TCL软件包,可以选择“Intelligent agent”,不过此时建议你可以不安装这些选件,以后可根据需要安装。按“Install”开始安装。
  
    在安装过程中有几个要注意的地方。关于ULIMIT的提示可以忽略,dba和oper组可以接受默认值,特别注意的地方是安装文档的目录,如果设置了ORCALE_DOC,则默认即可,否则一定要设置为“/u1/app/oracle/product/8.0.5/doc”,不然安装程序将提示“将文件拷贝到一个不存在的目录”,这是一个bug。
  
    如果你看到“The requested action has been performed for selected products”这样的提示,按“Exit”选“Yes”退出安装程序,你会看到一条“Result:Success”。
  
  5、安装补丁
  
    由于RedHat 6.0使用了新版glibc库,而且该版本与Oracle不兼容,在RedHat 6.0上安装Oracle 8.0.5会有下列情况发生:
  
  如果在安装过程中创建数据库导致安装失败。
  运行Oracle的二进制文件如SVRMGRL和SQLPLUS会导致“Segmentation fault”。
    Oracle为此发布了一个补丁程序glibcpatch,他“修正”了4个RedHat 6.0的兼容库(在RedHat 6.0的光盘上提供的),这绝对不是最好的解决方案,因为他不用最新的glibc库,但不幸的是这是唯一的解决方法。
  
    cd ~/orapatch
  
    sh glibcpatch.sh
  
  经过一段时间后(视你的机器配置而定),你会看到“Applied glibc patch for Oracle 8.0.5.x successfully”,这表明补丁成功。
  
  6、创建数据库
  
    cd /apps/orainst
  
    ./orainst /c
  
    选择“Custom Install”、“Create /Upgrade database objects”、“Create Database objects”、检查ORACLE_HOME和ORCALE_BASE、接受默认log文件目录、必须选择“Oracle 8 Standard RDBMS 8.0.5.0.0”、按“Install”、选择“Create Product DB objects”、选择“Filesystem-based Database”、如果你准备将控制文件分布在多个“安装点”(Mount point),可在下个窗口指定,在这里我们选择单一安装点“/u1”。再选择适当的“Character set”、选择适当的“national chchacter set”、输入SYSTEM和SYS账户的口令、如果需要为dba和operator指定一个内部口令,则输入口令,否则选“no”、输入“TNS listener”口令、配置“MIS listener”时选“no”、接受控制文件的默认值、按OK到下两屏、最后选“Yes”接受这些默认值。此时开始创建数据库,这需要很长的时间,直到看到“The requested action has been performed for selected products”后,按“OK”回到安装主窗口,退出安装程序。
  
  7、安装完毕后
  
    重新以root身份登录,先将/“root”的“.bash_profile”作个备份,在将“/home/oracle/.bash_profile”拷贝到“/root”下。
  
    cp /root/.bash_profile /root/.bash_profile.sav
  
    cp /home/oracle/.bash_profile /root/.bash_profile
  
    logout
  
    再以root登录以便执行.bash_profile脚本,用env命令检查环境设置。然后:
  
    cd $ORACLE_HOME/orainst
  
    sh root.sh
  
    检查ORACLE_OWNER、ORACLE_HOME和ORACLE_SID的设置是否正确,如果正确,按“Y”。当提示本地bin目录时,输入“/usr/local/bin”,该脚本会提
【责编:admin】

--------------------next---------------------

阅读(393) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~