Chinaunix首页 | 论坛 | 博客
  • 博客访问: 479676
  • 博文数量: 178
  • 博客积分: 2547
  • 博客等级: 少校
  • 技术积分: 1764
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-22 08:27
文章分类

全部博文(178)

文章存档

2014年(2)

2013年(2)

2012年(2)

2010年(19)

2009年(26)

2008年(69)

2007年(20)

2006年(38)

我的朋友

分类: Oracle

2007-03-06 16:08:19

Oracle9i for SUN Solaris install

偶发现一篇去年的文档, 想起了当时和另一个工程师在两台SUN 440上 Solaris 9+Oracle9i+Legato 的"加班事迹",Legato的安装当时没有记下详细的步骤, 只留下了Oracle的, 今天就又在我的"肉鸡"上试了一把, 呵呵!

首先解释一下我的实验环境:一台Ultra 10, 系统是Solaris 8, 在XP上使用Xmanager操作.(我的机子内存是256M,当时用了一天一夜,所以大家要有强烈的心理准备!)
Solaris 的安装就不用细说了吧! 咱们直接进入正题吧!

一. 添加系统参数和相应的用户/组
1. 修改系统参数,编辑 /etc/system文件

# cp /etc/system system.bkp //修改前,最好先备份,行成好习惯
# vi /etc/system

forceload: sys/shmsys
set shmsys:shminfo_shmmax=67108864 //这些数值不是固定的,可自己指定,以下同
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=400
set shmsys:shminfo_shmseg=200

forceload: sys/semsys
set semsys:seminfo_semmns=400
set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=200
set ulimit=3000000

set shmsys:shminfo_shmmax=1542450944
set shmsys:shminfo_shmmin=1
*set shmsys:shminfo_shmmni=1200
*set shmsys:shminfo_shmseg=1200
set semsys:seminfo_semmns=4000

 

 


2.修改文件/etc/services

# vi /etc/services
orasrv 1600/tcp #oracle
listener 1700/tcp #oracle
3.创建用户/组

# groupadd dba //添加一个dba组
# useradd -c oracle -g dba -d /home/oracle -m -s /bin/bash oracle //添加一个oracle用户
# passwd oracle //修改用户的密码

# sync
# sync // 保存修改的文件后,重启系统使参数生效
# reboot

二. 修改用户的环境变量
su - oracle
$ vi .bash_profile
#bash profile

umask 022

ULIMIT=3000000
ORACLE_SID=ota //根据实际情况定
ORACLE_BASE=/home/oracle
ORACLE_HOME=$ORACLE_BASE/product/9.2
ORACLE_TERM=sun5
export ULIMIT ORACLE_SID ORACLE_BASH ORACLE_HOME ORACLE_TERM

PATH=$PATHORACLE_HOME/bin:.
export PATH
$ .bash_profile //保存文件后执行,使环境变量生效
$ mkdir product //oracle安装程序也会自己添加
$ cd product
$ mkdir 9.2
三. 安装oracle9i
1. 退出,以oracle用户身份登陆,检查磁盘空间.
2. 将 oracle9i 的第一张CD放入CD-ROM中,开始安装
$ cd /
$ /cdrom/disk1/runInstaller //在安装时关闭所有访问光驱的窗口,并不能进入CD目录下执行runInstaller程序;否则不能换盘.
3. oracle Universal Installer启动WELCOME界面,点击"NEXT"
4. 进入"Inventory"界面,使用缺省路径,点击OK
5. 进入"Unix Group Name"界面,组名输入"dba",点击NEXT,有对话框跳出,按提示用root用户执行/tmp/orainstRoot.sh脚本.在 /var/opt/oracle中生成oraInst.loc文件,以root用户运行/tmp/oraInstall/orainstRoot.sh脚本.在/home/oracle中创建oraInvertory目录.
6. 进入"File Locations"界面,其中"Destination..."为缺省ORACLE_HOME所指的路径.点击NEXT.
7. 进入"Available Products"界面,选择第一项"Oracle9i Database",点击右下角"roducts Languages",选择"Simplified Chinese",NEXT.
8. 进入"Installation Types"界面,如想最大化安装,选"Enterprise Edition",自由选择则"Custom",点击NEXT.
9. 进入"Datebase Configuration"界面.注意:应选择"Customized",可以对数据库进行个性化创建,如:数据文件大小,位置等,NEXT.
10.进入"Operating System Groups"界面,对于OSDBA和OSOPER框输入dba.
11.指定Global Database Name和SID,点NEXT. //在这要注意,Name和SID一定要和指定的相同,ota
12.如第8步选"Custom",则会有产品列表,选择完成后,点NEXT.
13."Summary"界面,总结要安装的内容,确认后,点NEXT.
14.开始安装,时间比较长,其中会提示换盘,在提示中要修改PATH为:/cdrom/disk2 & /cdrom/disk3.
15."Install Successful"后,会有对话框提示:以root身份运行/home/oracle/product/9.2/root.sh脚本,Enter the full pathname of the local bin directory : y . //在/usr/local/bin中生成一些命令,在/var/opt/oracle中生成oratab文件.
16.开始创建数据库. //这一步在我的256M的机器上特别的慢,实在是让人忍不可忍啊.哈哈!
17.弹出"Net Configuration Assistant"界面,选中"erform typical configuration"项,进行网络的典型配置.
18.安装完毕.
四. oracle的启动与关闭
Oracle9i与8i不同,去掉了SVRMGRL工具,数据库的启停只能用sqlplus.
$sqlplus /nolog
SQL>connect / as sysdba
已连接.
SQL>startup(或shutdown)

启动监听
$lsnrctl start

停止监听
$lsnrctl stop
五. Oracle 服务器在操作系统启动时自动开始
(这里说明一下,下面的办法只可参考,不一定试用每一个实例的!)

1. 修改文件/var/opt/oracle/oratab
su - oracle
$ cd /var/opt/oracle
$ vi oratab //将ota:/home/oracle/product/9.2:N中最后的N修改为Y
2. 编写启动脚本/etc/init.d/dbora
su - root
$ cd /etc/init.d
$ vi dbora
ORACLE_HOME=/home/oracle/product/9.2
ORACLE_OWNER=oracle

if [ ! "$1" ]; then echo "no parameter"; exit; fi
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME]
then
echo "Oracle startup: cannot start"
exit
fi

case "$1" in
'start')
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart"
su - $ORACLE_OWNER -c "Isnrctl start listener"
;;
'stop')
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut &"
su - $ORACLE_OWNER -c "lsnrctl stop listener &"
sleep 30 #give datebase some time to shutdown
;;
esac

$ ln -s /etc/init.d/dbora /etc/rc0.d/K10dbora
$ ln -s /etc/init.d/dbora /etc/rc2.d/S99dbora
$ reboot // 重启系统检查
六. Oracle常用命令
dbca - 用于创建,删除,管理oracle实例
oemapp dbassist - Database Configuration Assistant 用于数据库的管理(创建,修改,删除)
netca - Net8 Configuration Assistant 用于数据库服务器网络服务的配置

 
 
solaris在图形界面下安装oracle和windows下没什么太大区别,关键是solaris下的参数设置。下面以oracle 9i为例:
  1。以root用户身份进入系统建立oracle用户和管理组dba
      # groupadd dba
      # useradd -d /export/home/oracle -g dba -m oracle
2.修改/etc/system文件:此文件是oracle安装的重中之重,里面设置了一些需要修改的系统参数。
  # vi /etc/system    在末尾加如如下内容:
set semsys:seminfo_semmni=315  
set semsys:seminfo_semmsl=300  
set semsys:seminfo_semmns=630  
set semsys:seminfo_semmap=1024
set semsys:seminfo_semume=200
set semsys:seminfo_semopm=256   
set semsys:seminfo_semvmx=32767  
set shmsys:shminfo_shmmax=4294967295  
set shmsys:shminfo_shmmni=315  
set shmsys:shminfo_shmseg=10  
set shmsys:shminfo_shmmin=1
 
下面介绍每个参数的作用:
一个内存区域,可以被不同的进程读取。Oracle使用它来构成SGA。Oracle使用以下三种方法来创建一个SGA区:
1.使用单个共享内存段。
2.使用连续多个共享内存段。
3.使用多个不连续共享内存段。
Oracle优先使用的第一种方法,如果成功,则继续初始化,不成功则使用第二种方法,再不成功则使用第三种方法。如果再不成功,则初始化失败,Oracle报告错误代码。
Semaphore:(信号量)
可以看作一个标记。可以有On和Off两种状态。Oracle使用semaphores来实现服务器进程对SGA区的存取控制。
Shared memory 和semaphore 是Oracle在Unix上运行的重要资源。如果Oracle 实例得不到所需要的资源,实例启动就会失败。
参数:
对于运行一个Oracle实例的Solaris系统,改变/etc/system文件中的一些关于共享内存的参数,以使Oracle实例可以正常运行。如果有多个实例的话,还需根据下面方法重新计算某些值。
共享内存:
shmmax
含义:这个设置并不决定究竟Oracle数据库或者操作系统使用多少物理内存,只决定了最多可以使用的内存数目。这个设置也不影响操作系统的内核资源。max shared memory segment size (SHMMAX) bytes
设置方法:0.5*物理内存
例子:Set shmsys:shminfo_shmmax=10485760
shmmin
含义:共享内存的最小大小。
设置方法:一般都设置成为1。
例子:Set shmsys:shminfo_shmmin=1:
shmmni
含义:系统中共享内存段的最大个数。
例子:Set shmsys:shminfo_shmmni=100
shmseg
含义:每个用户进程可以使用的最多的共享内存段的数目。
例子:Set shmsys:shminfo_shmseg=20:
信号量:
semmni
含义:系统范围内设置信号量集的最大数目. UNIX将信号量分配到个信号量集.分配的信号量数目的范围为1到semmsl参数所设置的值.
设置方法:固定
例子:Set semsys:seminfo_semmni=100
semmsl:
含义:一个set中semaphore的最大个数。系统范围内信号量集中信号量的数目.
设置方法:设置成为10+所有Oracle实例的InitSID.ora中最大的Processes的值。
例子:Set semsys:seminfo_semmsl=200
semmns
含义:系统中semaphores的最大个数。
设置方法:这个值可以通过以下方式计算得到:各个Oracle实例的initSID.ora里边的processes的值的总和(除去最大的Processes参数)+最大的那个Processes×2+10×Oracle实例的个数。
例子:Set semsys:seminfo_semmns=200
semopm
set semsys:seminfo_semopm=100
信号量影射里的记录数。
semume 
set semsys:seminfo_semume=200
每个实例的undo条目的最大数值,最大值为1024

semvmx
set semsys:seminfo_semvmx=32767
信号量的最大值
改变了/etc/system里边以上参数以后,重新启动计算机:
$reboot
然后检查当前的参数:
$sysdef -I
如果系统参数仍旧没有改变得话,使用以下命令:
$modload /kernel/sys/shmsys。"
 
(注:兰色部分为引用他人的内容,黄色部分是自己加的)
3。修改oralce用户的环境变量
  oracle环境变量文件位于/export/home/oracle/.profile是个隐藏文件 。
# su - oracle
$ vi .profile
在后面加上如下内容:
DISPLAY=10.0.0.1:0.0 # 此处IP为启动图形界面机器的地址  
export DISPLAY 
ORACLE_HOME=/export/home/oracle/oracle/product/8.1.7 
export ORACLE_HOME 
ORACLE_BASE=/export/home/oracle 
export ORACLE_BASE 
ORACLE_SID=orcl 
export ORACLE_SID 
PATH=.:/bin:/usr/bin:/sbin:/usr/sbin:/usr/css/bin:/usr/local/bin:/usr/proc/bin:$ORACLE_HOME/bin:$ORACLE_HOME/admin/bin:$ORACLE_HOME/lib 
export PATH 
LD_LIBRARY_PATH=.:/lib:/usr/lib:/usr/local/lib:/usr/share/lib:/usr/ccs/lib:$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:/usr/java/lib 
export LD_LIBRARY_PATH 
ORACLE_HOME、ORACLE_BASE、ORACLE_SID根据实际情况配置
4、安装oralce 
以oracle 用户身份登陆到solaris的图形界面,(oracle用户需要设置密码),进入oralce9i的安装文件目录Disk1 ,运行runInstaller 程序。开始启动oracle的图形安装界面,按照提示一路 下一步 就可以,在安装过程中会有2次提示以root身份运行脚本,按照提示进入相应的目录并运行相应的脚本,然后确定下一步即可。
文章出处:飞诺网(#)
阅读(834) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~