首页 > 数据库 > Oracle > 正文

oracle817在solairs8下的安装

2024-08-29 13:30:23
字体:
来源:转载
供稿:网友

一、安装前的准备

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
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" 文件配置生效

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

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

$ cd /export/home/oracle/ora817/disk1
$ ./runinstaller

 注:1、下载的oracle cpio文件的解开方法为:cpio -idcmv < <filename.cpio> 。

     2、安装过程中,当提示要运行 root.sh ($oracle_home/root.sh)脚本时,要手工打开一个新的console(控制台)以root用户身份执行。

     3、如安装完成后初始化数据库过程中遇到 ora-03114: not connected to oracle 错误,则应适当加大 semmsl, semmns 等参数的数值。

6) 安装完后的简单测试

默认已经是oracle用户登录,执行 lsnrctl start 启动oracle listener

$ lsnrctl start

当监听启动成功后,将会看到如下类似信息:

lsnrctl for intel svr4 unix: version 8.1.7.0.0 - production on 23-jun-2002 04:02:46
(c) copyright 1998 oracle corporation. all rights reserved.
starting /u01/oracle/product/8.1.7/bin/tnslsnr: please wait...
tnslsnr for intel svr4 unix: version 8.1.7.0.0 - production
system parameter file is /u01/oracle/product/8.1.7/network/admin/listener.ora
log messages written to /u01/oracle/product/8.1.7/network/log/listener.log
listening on: (description=(address=(protocol=ipc)(key=extproc)))
listening on: 
(description=(address=(protocol=tcp)(host=gokmen.selcuk.edu.tr)(port=1521)))
listening on: 
(description=(address=(protocol=tcp)(host=gokmen.selcuk.edu.tr)(port=2481))
                                                     (protocol_stack=(presentation=giop) 
(session=raw)))
connecting to (description=(address=(protocol=ipc)(key=extproc)))
status of the listener
------------------------
alias listener
version tnslsnr for intel svr4 unix: version 8.1.7.0.0 - production
start date 23-jun-2002 04:02:47
uptime 0 days 0 hr. 0 min. 0 sec
trace level off
security off
snmp off
listener parameter file /u01/oracle/product/8.1.7/network/admin/listener.ora
listener log file /u01/oracle/product/8.1.7/network/log/listener.log
services summary...
plsextproc has 1 service handler(s)
orcl has 1 service handler(s)
the command completed successfully

如果看到的是如下类似信息,说明监听已经启动:

lsnrctl for intel svr4 unix: version 8.1.7.0.0 - production on 24-jun-2002 05:02:46
(c) copyright 1998 oracle corporation. all rights reserved.
tns-01106: listener using listener name listener has already been started

7)编写数据库启动脚本

 由于它自带的启动脚本有问题,所以这里我干脆自己写了一个简单的脚本

启动和关闭脚本

1)、启动脚本(dbstart)

#! /bin/bash

su - oracle<eof

.  /home/oracle/.bash_profile

lsnrctl start

svrmgrl<eoe

connect internal

startup

exit

eoe

exit

eof

2)、关闭脚本(dbstop)

 #! /bin/bash

su - oracle<eof

.  /home/oracle/.bash_profile

lsnrctl stop

svrmgrl<eoe

connect internal

shutdown immediate

exit

eoe

exit

eof

然后赋可执行权限并拷贝到/etc/init.d下

chmod +x dbstart

chmod +x dbstop

在做连接

ln –s /etc/init.d/dbstart /etc/rc2.d/s99dbstart

ln –s /etc/init.d/dbstop /etc/rc0.d/k10dbstop

到此oracle就可以在solaris下正常运行了



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表