oracle817在solairs8下的安装


一、安装前的准备

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系统管理文档。

  1. 重启系统,以使新的内核参数生效

sync;sync;reboot

  1. 系统重启后,可以通过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

  1. 创建相关目录

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
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
NLS_LANG=american_america.ZHS16GBK
PATH=/usr/bin:/usr/ucb:/etc:/usr/local/bin:/usr/ccs/bin:/usr/openwin/bin
PATH=$ORACLE_HOME/bin:$PATH
export PATH
export DISPLAY ORACLE_HOME ORACLE_BASE ORACLE_SID ORA_NLS33 LD_LIBRARY_PATH NLS_LANG CLASSPATH
3) oracle用户重新登录,以使之前修改的 ".profile" 文件配置生效

  1. 通过env命令检查刚才的配置是否生效
    $ env

  2. 进入oracle安装文件所在目录并开始进行安装
    (假设oracle817安装文件存在于"/export/home/oracle/ora817/Disk1")

$ cd /export/home/oracle/ora817/Disk1
$ ./runInstaller

注:1、下载的Oracle cpio文件的解开方法为:cpio -idcmv <

  1<filename.cpio> 。   
  2  
  32、安装过程中,当提示要运行 root.sh ($ORACLE_HOME/root.sh)脚本时,要手工打开一个新的console(控制台)以root用户身份执行。   
  4  
  53、如安装完成后初始化数据库过程中遇到 ORA-03114: not connected to ORACLE 错误,则应适当加大 SEMMSL, SEMMNS 等参数的数值。   
  6  
  76) 安装完后的简单测试   
  8  
  9默认已经是oracle用户登录,执行 lsnrctl start 启动Oracle LISTENER   
 10  
 11$ lsnrctl start   
 12  
 13当监听启动成功后,将会看到如下类似信息:   
 14  
 15LSNRCTL for Intel SVR4 UNIX: Version 8.1.7.0.0 - Production on 23-JUN-2002 04:02:46   
 16(c) Copyright 1998 Oracle Corporation. All rights reserved.   
 17Starting /u01/oracle/product/8.1.7/bin/tnslsnr: please wait...   
 18TNSLSNR for Intel SVR4 UNIX: Version 8.1.7.0.0 - Production   
 19System parameter file is /u01/oracle/product/8.1.7/network/admin/listener.ora   
 20Log messages written to /u01/oracle/product/8.1.7/network/log/listener.log   
 21Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))   
 22Listening on:   
 23(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=gokmen.selcuk.edu.tr)(PORT=1521)))   
 24Listening on:   
 25(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=gokmen.selcuk.edu.tr)(PORT=2481))   
 26(PROTOCOL_STACK=(PRESENTATION=GIOP)   
 27(SESSION=RAW)))   
 28Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))   
 29STATUS of the LISTENER   
 30\------------------------   
 31Alias LISTENER   
 32Version TNSLSNR for Intel SVR4 UNIX: Version 8.1.7.0.0 - Production   
 33Start Date 23-JUN-2002 04:02:47   
 34Uptime 0 days 0 hr. 0 min. 0 sec   
 35Trace Level off   
 36Security OFF   
 37SNMP OFF   
 38Listener Parameter File /u01/oracle/product/8.1.7/network/admin/listener.ora   
 39Listener Log File /u01/oracle/product/8.1.7/network/log/listener.log   
 40Services Summary...   
 41PLSExtProc has 1 service handler(s)   
 42orcl has 1 service handler(s)   
 43The command completed successfully   
 44  
 45如果看到的是如下类似信息,说明监听已经启动:   
 46  
 47LSNRCTL for Intel SVR4 UNIX: Version 8.1.7.0.0 - Production on 24-JUN-2002 05:02:46   
 48(c) Copyright 1998 Oracle Corporation. All rights reserved.   
 49TNS-01106: Listener using listener name LISTENER has already been started   
 50  
 517)编写数据库启动脚本   
 52  
 53由于它自带的启动脚本有问题,所以这里我干脆自己写了一个简单的脚本   
 54  
 55启动和关闭脚本   
 56  
 571)、启动脚本(dbstart)   
 58  
 59#! /bin/bash   
 60  
 61su - oracle&lt;EOF   
 62  
 63. /home/oracle/.bash_profile   
 64  
 65lsnrctl start   
 66  
 67svrmgrl&lt;EOE   
 68  
 69connect internal   
 70  
 71startup   
 72  
 73exit   
 74  
 75EOE   
 76  
 77exit   
 78  
 79EOF   
 80  
 812)、关闭脚本(dbstop)   
 82  
 83#! /bin/bash   
 84  
 85su - oracle&lt;EOF   
 86  
 87. /home/oracle/.bash_profile   
 88  
 89lsnrctl stop   
 90  
 91svrmgrl&lt;EOE   
 92  
 93connect internal   
 94  
 95shutdown immediate   
 96  
 97exit   
 98  
 99EOE   
100  
101exit   
102  
103EOF   
104  
105然后赋可执行权限并拷贝到/etc/init.d下   
106  
107Chmod +x dbstart   
108  
109Chmod +x dbstop   
110  
111在做连接   
112  
113ln –s /etc/init.d/dbstart /etc/rc2.d/S99dbstart   
114  
115ln –s /etc/init.d/dbstop /etc/rc0.d/K10dbstop   
116  
117到此oracle就可以在solaris下正常运行了</filename.cpio>
Published At
Categories with 数据库类
Tagged with
comments powered by Disqus