描述在AIX上安装Oracle10201的过程。
首先检查系统是否满足数据库安装需要:
# /usr/sbin/lsattr -E -l sys0 -a realmem
realmem 32604160 Amount of usable physical memory in Kbytes False
# /usr/sbin/lsps -a
Page Space Physical Volume Volume Group Size %Used Active Auto Type Chksum
hd6 hdisk0 rootvg 16384MB 1 yes yes lv 0
# df -k /tmp
Filesystem 1024-blocks Free %Used Iused %Iused Mounted on
/dev/hd3 3145728 3140388 1% 69 1% /tmp
# df -k
Filesystem 1024-blocks Free %Used Iused %Iused Mounted on
/dev/hd4 3145728 2608568 18% 10939 2% /
/dev/hd2 4194304 1991084 53% 47242 10% /usr
/dev/hd9var 2097152 1764848 16% 8269 3% /var
/dev/hd3 3145728 3140388 1% 69 1% /tmp
/dev/fwdump 1048576 1048080 1% 5 1% /var/adm/ras/platform
/dev/hd1 2097152 2096488 1% 5 1% /home
/dev/hd11admin 262144 261744 1% 5 1% /admin
/proc - - - - - /proc
/dev/hd10opt 4194304 3945520 6% 8748 1% /opt
/dev/livedump 262144 261776 1% 4 1% /var/adm/ras/livedump
# /usr/bin/getconf HARDWARE_BITMODE
64
系统内容要求至少1G内存,SWAP分区大小对于大于8G的内存需要75%内存大小,当前配置为50%内存大小,虽然足够使用,但是Oracle检查可能会报错,需要忽略检查错误才行。
要求AIX操作系统在5.2以上:
# oslevel -r
6100-06
当前为6,满足要求。
检查操作系统文件集:
# lslpp -l bos.adt.base bos.adt.lib bos.adt.libm bos.perf.perfstat bos.perf.libperfstat bos.perf.proctools
Fileset Level State Description
----------------------------------------------------------------------------
Path: /usr/lib/objrepos
bos.adt.base 6.1.6.0 COMMITTED Base Application Development
Toolkit
bos.adt.lib 6.1.2.0 COMMITTED Base Application Development
Libraries
bos.adt.libm 6.1.5.0 COMMITTED Base Application Development
Math Library
bos.perf.libperfstat 6.1.6.0 COMMITTED Performance Statistics Library
Interface
bos.perf.perfstat 6.1.6.0 COMMITTED Performance Statistics
Interface
bos.perf.proctools 6.1.6.0 COMMITTED Proc Filesystem Tools
Path: /etc/objrepos
bos.adt.base 6.1.6.0 COMMITTED Base Application Development
Toolkit
bos.perf.libperfstat 6.1.6.0 COMMITTED Performance Statistics Library
Interface
bos.perf.perfstat 6.1.6.0 COMMITTED Performance Statistics
Interface
对于6来说,版本足够高,因此安装文档上描述的补丁集不再需要。
# cat /etc/netsvc.conf | grep hosts
# hosts = value [, value]
# Use one or more of the following values for the hosts keyword:
# The auth option is only valid when used in conjunction with a service value for the hosts keyword.
# local Searches the local /etc/hosts file for resolving names
# local4 Searches the local /etc/hosts file for resolving only IPv4 addresses
# local6 Searches the local /etc/hosts file for resolving only IPv6 addresses
# hosts = nis=auth, bind6, dave4
# hostname
ZHY-DT-1
# domainname
# cat /etc/hosts | grep `eval hostname`
172.20.20.1 ZHY-DT-1
验证系统是否仅使用/etc/hosts作为唯一验证名次的方式。
利用smit security创建oinstall、dba组。
利用smit security创建oracle用户,指定primary用户组oinstall,GROUPSET为dba,指定用户创建目录/home/oracle
# id oracle
uid=202(oracle) gid=201(oinstall) groups=202(dba)
# passwd oracle
确认用户创建成功并修改密码。
# id nobody
uid=4294967294(nobody) gid=4294967294(nobody)
确认nobody用户存在。
利用smit chuser命令修改oracle用户的shell配置:Soft FILE size、Soft CPU time、Soft DATA segment和Soft STACK size的限制都为-1。
利用smit chgsys配置系统参数:设置Maximum number of PROCESSES allowed per user大于等于2048。
# su - oracle
$ echo $SHELL
/usr/bin/ksh
$ ls -al
total 16
drwxr-xr-x 2 oracle oinstall 256 Dec 22 01:06 .
drwxr-xr-x 5 bin bin 256 Dec 22 00:51 ..
-rwxr----- 1 oracle oinstall 254 Dec 22 00:51 .profile
-rw------- 1 oracle oinstall 32 Dec 22 01:06 .sh_history
$ vi .profile
".profile" 9 lines, 254 characters
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.
export PATH
if [ -s "$MAIL" ] # This is at Shell startup. In normal
then echo "$MAILMSG" # operation, the Shell checks
fi # periodically.
umask 022
AIXTHREAD_SCOPE=S; export AIXTHREAD_SCOPE
连接Oracle用户,在环境变量中添加umask 022和AIX_THREAD_SCOPE环境变量。
将数据库安装目录授权给oracle用户:
# chown -R oracle:oinstall /data
建立安装目录:
$ mkdir -p /data/oracle/oradata
$ mkdir -p /data/oracle/product/10.2
在oracle用户的profile文件中添加下面的信息:
ORACLE_SID=zhtrade; export ORACLE_SID
ORACLE_BASE=/data/oracle; export ORACLE_BASE
ORACLE_HOME=/data/oracle/product/10.2; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH; export PATH
DISPLAY=172.20.10.150:1.0; export DISPLAY
利用cpio –idcmv < 10gr2_aix5l64_database.cpio解压文件,然后利用图形方式开始安装。
在运行/data/software/Disk1/runInstaller进行安装之前,需要首先用root来运行rootpre.sh:
# ./rootpre.sh
./rootpre.sh output will be logged in /tmp/rootpre.out_10-12-22.02:41:36
Saving the original files in /etc/ora_save_10-12-22.02:41:36....
Copying new kernel extension to /etc....
Loading the kernel extension from /etc
Oracle Kernel Extension Loader for AIX
Copyright (c) 1998,1999 Oracle Corporation
Successfully loaded /etc/pw-syscall.64bit_kernel with kmid: 0x50ca6000
Successfully configured /etc/pw-syscall.64bit_kernel with kmid: 0x50ca6000
The kernel extension was successfuly loaded.
Configuring Asynchronous I/O....
Asynchronous I/O is not installed on this system.
You will need to install it, and either configure it yourself using
'smit aio' or rerun the Oracle root installation procedure.
Configuring POSIX Asynchronous I/O....
Posix Asynchronous I/O is not installed on this system.
You will need to install it, and either configure it yourself using
'smit aio' or rerun the Oracle root installation procedure.
Checking if group services should be configured....
Nothing to configure.
下面运行runInstaller开始数据库软件的安装:
选择高级安装,对安装过程进行定制;
由于设置了ORACLE_BASE和ORACLE_HOME环境变量,所以oraInvertory目录和组信息不需要改变;
选择企业版,并加载中文语言;
ORACLE_HOME目录选择,这里默认是正确的;
Oracle检查安装条件时会监测AIX6超过了预期的5.2或5.3,直接忽略这个问题开始安装;
选择安装类型的时候选择仅安装数据库软件;
最后利用root运行两个脚本,安装完成。
# /data/oracle/oraInventory/orainstRoot.sh
Changing permissions of /data/oracle/oraInventory to 775.
Changing groupname of /data/oracle/oraInventory to oinstall.
The execution of the script. is complete
# /data/oracle/product/10.2/root.sh
Running Oracle10 root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /data/oracle/product/10.2
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Creating /usr/local/bin directory...
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.