1、检查环境
检查硬件与OS位数,一定确保64bit
#bootinfo -y
64
#bootinfo -K
64
检查内存大小,至少需要512M以上
#/usr/sbin/lsattr -E -l sys0 -a realmem
realmem 12582912 Amount of usable physical memory in Kbytes False 临时目录的大小,至少500M
#df -k /tmp
Filesystem 1024-blocks Free %Used Iused %Iused Mounted on
/dev/hd3 655360 603088 8% 69 1% /tmp 检查SWAP,如果内存很小(2G以下),一般都是2倍于MEM,如果内存很大,一般给一个固定值如8G,16G就足够了。
#/usr/sbin/lsps -a
Page Space Physical Volume Volume Group Size %Used Active Auto Type
paging00 hdisk2 datavg 16384MB 4 yes yes lv
hd6 hdisk0 rootvg 16384MB 4 yes yes lv安装Oracle的软件目录大小,至少需要3.5G,本目录用于安装软件、存放source。
#df -k /u01
Filesystem 1024-blocks Free %Used Iused %Iused Mounted on
/dev/lv00 20971520 5107820 76% 27550 1% /u01需要安装的Patch与文件集参考另外一个FAQ:“AIX 5L 上面安装Oracle需要打的补丁集与文件集”
2、用root用户完成下面的操作 (这里假定是Oracle 92)
添加oracle用户和组:
你可以使用groupadd/useradd命令或smit group/smit user来完成,一般都是只创建dba组与oracle用户即可。
创建相关目录,并更改相应权限等。
#mkdir -p /u01/oracle/product/9.2
#cd /u01
#chown -R oracle:dba oracle
再修改Oracle用户的用户限制,关于限制问题,可以参考另外一个FAQ:“怎么改变AIX上使用oracle的一些限制”
#chuser data=’-1′ rss’-1′ stack=’-1′ oracle
3、设置环境变量
设置以下环境变量到oracle用户的.profile中:
Oracle Environment ORACLE_BASE=/u01/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/9.2; export ORACLE_HOME
ORACLE_SID=ora9; export ORACLE_SID
ORACLE_TERM=vt100; export ORACLE_TERM
NLS_LANG=american_america.zhs16gbk; export NLS_LANG
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data; export ORA_NLS33
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib; export LD_LIBRARY_PATH
LIBPATH=$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib; export LIBPATH
CLASSPATH=$ORACLE_HOME/JRE/lib:$ORACLE_HOME/JRE/lib/rt.jar:$ORACLE_HOME/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
PATH=/usr/java14/jre/bin:$ORACLE_HOME/bin:$PATH; export PATH
AIXTHREAD_SCOPE=S;export AIXTHREAD_SCOPE
注意:以上的AIXTHREAD_SCOPE=S 针对4.3与5.1的系统,5.2以上请参考oracle Bug 3028673
4、开始安装
如果是本机安装,确认先起X win,并确认java环境正常(Aix 5L的默认安装过程中,一般都自带Java环境,用java -version就可以测试出来,如果没有java环境,可能需要手工安装或者到ibm网站下载jdk1.3.1 for aix进行安装)。
如果是远程利用Xmanager进行安装,需要设置DISPLAY,如
#export DISPLAY=192.168.168.1:0.0
进入到Oracle安装源,对下载下来的文件解压
#gunzip
#cpio -idcmv < ######注意这里红色的部分,“
进入Disk1,运行runInstaller后会提示以root运行rootpre.sh,在root下正常运行之后选y,进行正常安装;
会有提示输入Oracle组,输入创建的组dba即可。安装目录注意检查是ORACLE_HOME环境变量的值。
建议“Installation Types”选择custom方式,这样可以选择安装组件;
安装过程一般不选择创建数据库,这个可以等安装完成后单独完成;
之后会有提示运行orainstRoot.sh脚本,到link要结束的时候会提示运行root.sh,按要求完成即可。
5、升级安装(补丁集)
一般For Aix的Oracle 9i安装都是安装的Oracle 9201,之后一般升级到9206或者是9207。如果原来没有创建数据库,升级操作也比较简单,如果已经存在数据库,则升级操作需要多一步更新数据字典的要求。
主要步骤如下:
对下载下来的补丁集用unzip解压
#unzip
进入到解压后的目录,运行runInstaller来升级即可。
如果OS的AIX5.3以上版本,安装的时候提示:
Starting Oracle Universal Installer…
Checking installer requirements…
Checking operating system version: must be 5200 or 5100
Starting Oracle Universal Installer Failed <<<<
可以修改安装目录下的如下文件:
#vi Disk1/install/oraparam.ini
……
[Certified Versions]
Solaris=5.8,5.9
Linux=redhat-2.1AS
HPUX=B.11.00,B.11.11
Decunix=V5.1A,V5.1
AIX=5200,5100,5300 #######注意,这里增加5300注意,安装完Oracle之后,最好重新启动主机OS以后再升级补丁集,因为listener与agent可能会因为处于启动或者是在内存中无法清除,导致文件锁定而无法覆盖部分文件。
也可以尝试用如下命令来清除
#/usr/sbin/slibclean
如果是有数据库,需要升级数据字典,如果没有数据库,以下步骤可以省略。
在启动数据库进行升级前,我们需要调整以下初始化参数:
shared_pool_size = 1024000000 #add at 20030426 (最低要求150M)
java_pool_size=217440512 #changed larger at 20030427 (如果安装了JAVA,最低要求150M)
现在执行如下操作:
startup migrate pfile='/u01/oracle/admin/ora9/pfile/initora9.ora'
spool patch.log
@?/rdbms/admin/catpatch.sql
spool off
查看log 看有没有错,其中有些错误是可以忽略的,如drop对象不存在的错误等等。之后:
create spfile from pfile='/u01/oracle/admin/ora9/pfile/initora9.ora';
shutdown
startup
–这里是编译失效的包
@?/rdbms/admin/utlrp.sql
SQL> select * from v$version;
BANNER
-----------------------
Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
PL/SQL Release 9.2.0.6.0 - Production
CORE 9.2.0.6.0 Production
TNS for IBM/AIX RISC System/6000: Version 9.2.0.6.0 - Production
NLSRTL Version 9.2.0.6.0 - Production
6、升级单个补丁
先把OPatch工具安装到$ORACLE_HOME下,这里是p2617419_10102_GENERIC,直接解压后放到$ORACLE_HOME下。可以通过
$ls -l $ORACLE_HOME/OPatch/opatch
-rw-r—– 1 oracle DBA 5684 Dec 29 01:22 /u01/oracle/product/9.2/OPatch/opatch
$chmod +x $ORACLE_HOME/OPatch/opatch
$$ORACLE_HOME/OPatch/opatch version
PERL5LIB=; export PERL5LIB
/usr/bin/perl /u01/oracle/product/9.2/OPatch/opatch.pl version
/u01/oracle/product/9.2/OPatch/opatch.pl version: 1.0.0.0.51
注意,如果是在AIX 5L上先升级到9206,再打小补丁的话,注意修改OS平台ID,如
#vi $ORACLE_HOME/inventory/ContentsXML/oraclehomeproperties.xml
212
IBM_AIX
注意这里的212,以前是610。需要把平台ID从610修改为212。
这个问题可以参考bug:4041184
最后,如果需要打小补丁,如补丁4081980,patch之前请一定注意参考patch的README.txt文件上的描述,所有的都以该文档为准,以下仅仅是参考。
$cd 4081980$ $ORACLE_HOME/OPatch/opatch apply
如果patch 成功
可以用如下命令来查看已经安装的补丁
$$ORACLE_HOME/OPatch/opatch lsinventory
或者是
$$ORACLE_HOME/OPatch/opatch lsinventory -all -detail
或者是如下命令回滚
$$ORACLE_HOME/OPatch/opatch rollback -id 4081980