虚拟机VMware安装OracleRAC.RedHat Enterprise AS4安装Oracle 9206 Patch

一、前言

在RedHat Enterprise AS4 U2安装Oralce 9204 RAC的过程中,因为hangcheck-time的错误,导致OUI不能识别到多个节点。
这个问题比较奇怪,经总结解决方法可能有二:
  a. RedHat Enterprise AS4 安装 9204 RAC BUG较多,更换为 AS3进行安装。
  b. 安装 9204 OCM后,安装9206 Patch
以上方法将来后续文章进行尝试,本文主要介绍对已安装好Oracle 9204的数据库安装9206 Patch。

9206以下版本在用exp导出9206以上版本的数据库时会提示EXP-00003: no storage definition found for segment
低版本安装9206以上Patch可修复此BUG。

二、环境

  硬件:HP Prolient ML570 G4
  操作系统:同《虚拟机VMware安装OracleRAC.RedHat Enterprise AS4安装Oracle10g RAC》一文
  中VMWare安装的版本。
  
三、介质

Oracle的Patch介质,方法就是去metalink,当然你得花钱买帐号,其他途径比较难。
http://mirrors.cn99.com 这个资源很不错,可惜也没有9206的Patch。

下面是个版本升级补丁的号码,可供参考

9.2.0.4  = 3095277
9.2.0.5  = 3501955
9.2.0.6  = 3948480
9.2.0.7  = 4163445
9.2.0.8  = 4547809(9i最终)
10.1.0.3 = 3761843
10.1.0.4 = 4163362
10.1.0.5 = 4505133
10.2.0.2 = 4547817
10.2.0.3 = 5337014

下载介质前,也须确认下操作系统位数。

方法一.编程实现

[root@localhost liwei_tmpdir]# cat main.c
int main()
{
printf("OS  bit: %d\n", sizeof(int)*8);
printf("int bit: %d\n", sizeof(int));
return 0;
}
[root@localhost liwei_tmpdir]# gcc -o osbit main.c
[root@localhost liwei_tmpdir]# ./osbit
OS  bit: 32
int bit: 4

sizeof(int)返回4则是32位操作系统,返回8即是64位。

方法二.使用getconf命令

getconf 命令可以获取系统的配置信息。具体请查看man手册。

[root@localhost liwei_tmpdir]# getconf LONG_BIT
32
[root@localhost liwei_tmpdir]# getconf WORD_BIT
32

方法三、查询是否存在/lib64目录的方法

64位的系统一般会有/lib64和/lib两个目录,32位只有/lib。


方法四、查看应用程序链结库

[root@localhost bin]# pwd
/usr/bin
[root@localhost bin]# ldd zip
         /etc/libcwait.so (0x00a0f000)
         libc.so.6 => /lib/tls/libc.so.6 (0x0080d000)
         /lib/ld-linux.so.2 (0x007f0000)
        

结论:普通的Linux 32操作系统,下载p3948480_9206_LINUX.zip。


四、解包安装前准备

unzip p3948480_9206_LINUX.zip,自动生成Disk1目录,位置随意。

下面列出常见问题:

  <问题一>

  [oracle@localhost Disk1]$ ./run*
  Starting Oracle Universal Installer...
  No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
  [oracle@localhost Disk1]$
  
  这个问题多半由于 /tmp 目录已满,须检查。

  <问题二>
  
  [oracle@localhost Disk1]$ ./run*
  Starting Oracle Universal Installer...
  
  Checking installer requirements...
  
  Checking operating system version: must be SuSE-7, redhat-2.1AS, redhat-2.1, UnitedLinux-1.0, redhat-3 or SuSE-8
                                        Failed <<<<
  
  Exiting Oracle Universal Installer, log for this session can be found at /oracle/ora92/oraInventory/logs/installActions2008-03-29_12-46-49PM.log
  [oracle@localhost Disk1]$
  
  由于p3948480_9206_LINUX.zip限定了不能在redhat-4上使用,修改Disk1/install/oraparam.ini即可
  
  修改内容,注意最后一行:
  RUN_OUICA=ouica.sh
  
  [Certified Versions]
  #You can customise error message shown for failure through CERTIFIED_VERSION_FAILURE_MESSAGE
  Solaris=5.6,5.7,5.8,5.9
  Linux=SuSE-7,redhat-2.1AS,redhat-2.1,UnitedLinux-1.0,redhat-3,SuSE-8,redhat-4



  <问题三>
  
  [oracle@localhost Disk1]$ ./run*
  Starting Oracle Universal Installer...
  
  Checking installer requirements...
  
  Checking operating system version: must be SuSE-7, redhat-2.1AS, redhat-2.1, UnitedLinux-1.0, redhat-3, SuSE-8 or redhat-4
                                        Passed
  
  
  All installer requirements met.
  
  Preparing to launch Oracle Universal Installer from /tmp/OraInstall2008-03-29_12-49-03PM. Please wait ...
  DISPLAY not set. Please set the DISPLAY and try again.
  Depending on the Unix Shell, you can use one of the following commands as examples to set the DISPLAY environment variable:
  - For csh:                      % setenv DISPLAY 192.168.1.128:0.0
  - For sh, ksh and bash:         $ DISPLAY=192.168.1.128:0.0; export DISPLAY
  Use the following command to see what shell is being used:
          echo $SHELL
  Use the following command to view the current DISPLAY environment variable setting:
          echo $DISPLAY
  - Make sure that client users are authorized to connect to the X Server.
  To enable client users to access the X Server, open an xterm, dtterm or xconsole as the user that started the session and type the following command:
  % xhost +
  To test that the DISPLAY environment variable is set correctly, run a X11 based program that comes with the native operating system such as 'xclock':
          % <full path to xclock.. see below>
  If you are not able to run xclock successfully, please refer to your PC-X Server or OS vendor for further assistance.
  Typical path for xclock: /usr/X11R6/bin/xclock
  
  须要设置下环境变量,登录客户端的IP地址(使用SecureCRT远程登录的本机),注意启动
  xmanager passive并在SecureCRT设置启动X11。
  
  [oracle@localhost Disk1]$ export DISPLAY=134.98.105.169:0.0
  [oracle@localhost Disk1]$


五、安装Patch

安装前可浏览下readme.html。主要是须要关闭数据库,监听并备份。

安装9206Patch之前须先安装  Oracle Universal Installer 10.1.0.3.0
启动 ./runInstaller 修改OUIHome1为OUIHome 即当前安装oracle目录,首先选择Oracle Universal Installer 10.1.0.3.0
组件,进行安装,完成后退出


再启动 ./runInstaller ,安装 Oracle 9iR2 Pathset 9.2.0.6 还是要修改为当前安装oracle的目录

注意:修改gcc版本,AS4 使用 (  ls /usr/bin/gcc*  ),否则在link会出错
[root@localhost bin]# ./gcc -v
Reading specs from ./../lib/gcc-lib/i386-redhat-linux/3.2.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --enable-languages=c,c++ --disable-libgcj --host=i386-redhat-linux
Thread model: posix
gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-47.3)

  安装结束后执行root.sh,完成


六. 启动数据库

查看 v$version ,成功。