日期:2013-07-29  浏览次数:20520 次


一、安装前的预备

1、由root执行的任务(用root用户登录)

1.1 设置系统变量

1) 用文本编辑器打开"/etc/system" 文件

# vi /etc/system

2)在 "/etc/system" 文件结尾插入如下几行

 set shmsys:shminfo_shmmax=4294967295
 set shmsys:shminfo_shmmin=1
 set shmsys:shminfo_shmmni=512
 set shmsys:shminfo_shmseg=128

 set semsys:seminfo_semmap=64
 set semsys:seminfo_semmni=4096
 set semsys:seminfo_semmns=4096
 set semsys:seminfo_semmsl=4096
 set semsys:seminfo_semmnu=4096
 set semsys:seminfo_semume=64
 set semsys:seminfo_semopm=100


注:
    SHMMAX maximum size of a shared memory segment
   (共享内存段的最大字节数)
    SHMMIN minimum size of shared memory segment
   (共享内存段的最小尺寸)
    SHMMNI maximum number of shared memory identifiers in the system
   (系统中共享内存标识符的最大数目)
    SHMSEG maximum number of shared memory segments a user process can attach
   (每个用户进程可分配的最大共享内存段数目)
    SEMMNI maximum number of semaphore identifiers in the system
   (系统中信号灯标识符的最大数目)
    SEMMSL maximum number of semaphores in a set
   (每个(信号灯)集合中的信号灯的最大数目)
    SEMMNS maximum number of semaphores in the system
   (系统中信号灯的最大数目)
    SEMOPM maximum number of operations per semop call
   (每个semop调用的信号灯的最大数目)
    SEMVMX semaphore maximum value
   (信号灯最大值)

    留意!
    上面提到的 SEMMSL 和 SEMMNS 的值仅适用于最后的安装,安装完成后应依据使用的实际情况进行调整,其中

    ★ SEMMSL 的值可以通过以下方式计算得到:
    所有Oracle实例的"init[SID].ora"文件中最大的PROCESSES值 + 10

    ★ SEMMNS 的值可以通过以下方式计算得到:
    系统中各个Oracle实例的"init[SID].ora"文件中PROCESSES值的总和(不包括最大的那个PROCESSES值)+ 最大的那个PROCESSES值 * 2 + 10 * Oracle实例的个数。

    注:[SID]即为具体的数据库实例名

    例如,一个有三个 Oracle实例的系统,在各自的"initsid.ora"文件中的PROCESSES参数设置为下列值:
    ORACLE_SID=A, PROCESSES=100
    ORACLE_SID=B, PROCESSES=100
    ORACLE_SID=C, PROCESSES=200

    则 SEMMSL 值的计算方法如下:
    SEMMSL = [(c=200) + 10] = 210
    则 SEMMNS 值的计算方法如下:
    SEMMNS = [(A=100) + (B=100)] + [(C=200) * 2] + [(# of instances=3) * 10] = 630

    对于操作系统,设置的参数值过高会导致机器不能启动,对参数的限制,请参阅Sun SPARC Solaris系统管理文档。

3) 重启系统,以使新的内核参数生效 
# sync;sync;reboot

4) 系统重启后,可以通过sysdef命令检查 "Maximum Shared Memory" 和 "Minimum Shared Memory" 的数值(在列表底部的"Shared Memory Area" 部分)
# sysdef


1.2 建立组、用户及相关目录

1) 创建 "dba" 和 "oinstall" 组,添加用户名为 "oracle" 的用户,并为其设置密码
# groupadd dba
# groupadd oinstall (可选)
# useradd -g dba -G oinstall -d /export/home/oracle -m -s /bin/sh oracle
# passwd oracle

以上操作也可通过admintool管理工具来实现
# admintool

2) 创建相关目录
# mkdir -p /u01/oracle/product/8.1.7
# chown -R oracle:dba /u01/oracle
# chmod -R 775 /u01/oracle
# mkdir /var/opt/oracle
# chown -R oracle:dba /var/opt/oracle

 

2、由 "oracle user" 执行的任务

1) 退出root登录,用之前创建的oracle用户登录

2) 修正oracle用户的 ".profile" 配置文件
   默认识没有.profile这个文件的,但可通过oracle用户下的local.profile这个模板文件来生成.profile这个文件

# mv local.profile .profile

#vi .profile

添加如下内容
DISPLAY=192.168.0.28:0.0
ORACLE_BASE=/u01/oracle
ORACLE_HOME=/u01/oracle/product/8.1.7
ORACLE_SID=oracle8
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
CLASSPATH=$ORACLE_HOME/JRE/lib:$ORACLE_HOME/jlib:$ORACLE_HOME/product/jlib:$ORACLE_HOME/network/jlib:$ORACLE_HOME/rdbms/jlib