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