AIX 5.3上安装ORACLE 10.2

来源:互联网 发布:网络写文章赚钱 编辑:程序博客网 时间:2024/05/17 06:06
第一章     AIX系统调整
1:查询系统版本:
-bash-3.2# oslevel -r
5300-08
 
2:查询系统是否 64 位:
-bash-3.2# getconf HARDWARE_BITMODE
64
 
3:查询物理内存大小(2G):
-bash-3.2# lsattr -E -l sys0 -a realmem
realmem 2097152 Amount of usable physical memory in Kbytes False
 
4:增大交换空间
1)查看当前交换空间大小
-bash-3.2# lsps -a
Page Space      Physical Volume   Volume Group    Size %Used Active  Auto  Type
hd6             hdisk0            rootvg        512MB    24   yes   yes    lv
 
2)增大交换空间到4G(当前PP大小为64M)
-bash-3.2# chps -s 56 hd6
 
3)查看当前交换空间大小
-bash-3.2# lsps -a
Page Space      Physical Volume   Volume Group    Size %Used Active  Auto  Type
hd6             hdisk0            rootvg        4096MB     7   yes   yes    lv
 
4:改变文件系统大小
-bash-3.2# chfs -a size=1G /
-bash-3.2# chfs -a size=1G /home
-bash-3.2# chfs -a size=1G /tmp
-bash-3.2# chfs -a size=2G /var
-bash-3.2# chfs -a size=2G /usr
 
-bash-3.2# df -g
Filesystem    GB blocks      Free %Used    Iused %Iused Mounted on
/dev/hd4           1.00      0.93    7%     4383     2% /
/dev/hd2           2.00      0.45   78%    38242    26% /usr
/dev/hd9var        2.00      1.98    1%      502     1% /var
/dev/hd3           1.00      1.00    1%       37     1% /tmp
/dev/hd1           1.00      0.98    3%      115     1% /home
/proc                 -         -    -         -     -  /proc
/dev/hd10opt       0.12      0.04   69%     1741    16% /opt
 
5:创建LV 和FS
1)创建ORACLE安装软件的LV和FS
-bash-3.2# mklv -y oraclelv -t jfs2  rootvg 10G
-bash-3.2# crfs -v jfs2 -d oraclelv -A yes -m /app/oracle
-bash-3.2# mount /app/oracle
 
2)创建ORACLE数据文件的LV和FS
-bash-3.2# mklv -y oralv -t jfs2  oravg 100G
-bash-3.2# crfs -v jfs2 -d oralv -A yes -m /app/oradata
-bash-3.2# mount /app/oradata
 
6:安装依赖包
1)安装软件
参考文章:http://download-west.oracle.com/docs/cd/B19306_01/install.102/b19075/toc.htm
oracle10g所需的AIX包:
bos.adt.base
bos.adt.lib
bos.adt.libm
bos.perf.libperfstat
bos.perf.perfstat
bos.perf.proctools
xlC.aix50.rte:9.0.0.1 or later //版本必须为7.0.0.1以上
xlC.rte:9.0.0.1 or later //版本必须为7.0.0.1以上
 
2)检查补丁是否打成功
参考文章:http://download-west.oracle.com/docs/cd/B19306_01/install.102/b19075/pre_install.htm#sthref110
IY58143  IY59386  IY60930  IY66513  IY68989  IY70159
 
-bash-3.2# instfix -ik IY58143 IY59386
    All filesets for IY58143 were found.
-bash-3.2# instfix -ik IY59386
    All filesets for IY59386 were found.
-bash-3.2# instfix -ik IY60930
    All filesets for IY60930 were found.
-bash-3.2# instfix -ik IY66513
    All filesets for IY66513 were found.
-bash-3.2# instfix -ik IY68989
    All filesets for IY68989 were found.
-bash-3.2# instfix -ik IY70159
    All filesets for IY70159 were found.
 
7:修改系统最大进程数参数
-bash-3.2# chdev -l sys0 -a maxuproc=2048 -a maxpout=32 -a minpout=24
 
8:创建数据库用户和组
-bash-3.2# mkgroup id=300 oinstall
-bash-3.2# mkgroup id=301 oradba
-bash-3.2# mkuser id=300 pgrp=oinstall groups=oradba fsize=-1 data=-1 stack=-1 core=-1 oracle
 
9:更改系统文件大小限制
AIX 5.3的系统默认文件大小限制为1G,我们除了需要修改用户限制后最好还修改一下/etc/security/limits中的限制,将fsize值改成-1
-bash-3.2# vi /etc/security/limits
image
10:更改用户环境变量
-bash-3.2# passwd oracle
Changing password for "oracle"
oracle's New password:
Enter the new password again:
 
-bash-3.2# su - oracle
-bash-3.2$ vi .profile
 
在.profile文件中添加以下以行
export ORACLE_BASE=/app/oracle
export ORACLE_SID=wishdb
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin:.:/usr/local/bin
 
 
第二章     安装ORACLE
1:解压安装文件
-bash-3.2# gunzip 10gr2_aix5l64_database.cpio.gz
-bash-3.2# cpio -icdmv 10gr2_aix5l64_database.cpio
 
2:安装ORACLE 软件
-bash-3.2# cd Disk1/rootpre
-bash-3.2# ./rootpre.sh
-bash-3.2# su - oracle
-bash-3.2$ cd /soft/oracle_10g/Disk1/
-bash-3.2$ ./runInstaller
 
安装步骤和WINDOWS、LINUX下一样,在这里我就不省略掉了。安装的时候选择只安装ORACLE软件不创建数据库。
 
打补丁的过程中,如果出现报错:
/app/oracle/product/10.2.0/db_1/jdk/jre/bin/libdbgmalloc.a 文件busy
用root 用户执行命令
mv /app/oracle/product/10.2.0/db_1/jdk/jre/bin/libdbgmalloc.a
/app/oracle/product/10.2.0/db_1/jdk/jre/bin/libdbgmalloc.a.old
再retry 就可以了
 
最后根据提示以root用户执行两个脚本。
image
-bash-3.2# /app/oracle/oraInventory/orainstRoot.sh
-bash-3.2# /app/oracle/product/10.2.0/db_1/root.sh
 
3:创建listener
-bash-3.2$ netca
剩下的步骤和WINDOWS、LINUX下一样,在这里我就不省略掉了
 
4:创建数据库
-bash-3.2$ dbca
剩下的步骤和WINDOWS、LINUX下一样,在这里我就不省略掉了
 
 
第三章     升级数据库
1:解压升级软件
1)  安装unzip解压软件
方法1
下载地址:ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/unzip/unzip-5.51-1.aix5.1.ppc.rpm
-bash-3.2# unzip-5.51-1.aix5.1.ppc.rpm
 
方法2
下载地址:http://jnxx.zjedu.org/download/unzip_aix.Z
-bash-3.2# uncompress unzip_aix.Z
-bash-3.2# ls unzip_aix
unzip_aix
-bash-3.2# chmod 751 unzip_aix
-bash-3.2# pwd
-bash-3.2# mv unzip_aix /usr/bin/unzip
 
2)解压软件
-bash-3.2# unzip p8202632_10205_AIX64-5L_2of2.zip
-bash-3.2# unzip p8202632_10205_AIX64-5L_2of2.zip
 
PS:实际上AIX5.3中用jar命令同样可以解压zip格式的压缩文件,这样就不需要安装unzip。
命令格式:jar -xvf 文件名
 
2:替换fuser命令
系统默认的fuser可能会干扰补丁升级,所心最好我们在打ORACLE补丁前替换掉该命令
-bash-3.2# cd /usr/sbin/
-bash-3.2# mv fuser fuser.orig
-bash-3.2# touch /usr/sbin/fuser
-bash-3.2# chmod +x /usr/sbin/fuser
3:关闭ORACLE软件
在升级补丁之前,我们必须先要关闭数据库,并关掉监听程序。
-bash-3.2# su - oracle
-bash-3.2$ lsnrctl stop
-bash-3.2$ sqlplus / as sysdba
SQL> shutdown immediate
 
关闭完成之后再次用ps命令确认所有的ORACLE用户的进程已经关闭
-bash-3.2# ps -ef |grep oracle
 
4:备份ORACLE软件目录
在升级补丁之前,我们最好把整个ORACLE软件目录打包,以备升级失败后还原回原来的状态。
-bash-3.2# su - oracle
-bash-3.2$ cd /app/oracle/
-bash-3.2$ tar -cvf product.tar product
 
5:升级ORACLE软件
-bash-3.2# su - oracle
-bash-3.2$ cd /soft/oracle_10g/Disk1/
-bash-3.2$ ./runInstaller
 
在安装前会提示你用ROOT用户执行一下/usr/sbin/slibclean脚本
-bash-3.2# /usr/sbin/slibclean
 
升级步骤和安装时一样,在这里我就不省略掉了
 
升级完成之后会提示你执行以下脚本
-bash-3.2# /app/oracle/product/10.2.0/db_1/root.sh
image
 
6:还原fuser命令
-bash-3.2# cd /usr/sbin/
-bash-3.2# mv fuser.orig fuser
 
7:更新数据字典
$ sqlplus / as sysdba
SQL> startup upgrade;           (以升级模式启动数据库)
SQL> SPOOL /tmp/patch102050.log 
SQL> @?/rdbms/admin/catupgrd.sql      (重建数据字典, 若有问题可重复执行)
Total Upgrade Time: 01:25:12       (数据库大小60G)
SQL> SPOOL off 
SQL> !egrep "ORA-|Error" /tmp/patch102050.log   (查看是否有错误)
SQL> shutdown immediate;
 
8:清理失效的对象
SQL> startup;
 
SQL> select count(1) from dba_objects where status='INVALID';
  COUNT(1)
----------
       1683
 
SQL> @?/rdbms/admin/utlrp.sql     (编译失效PLSQL包对象, 尽管第一次访问包是会自动编译, 还是推荐操作)
 
SQL> select count(1) from dba_objects where status='INVALID';
  COUNT(1)
----------
       0