Chinaunix首页 | 论坛 | 博客
  • 博客访问: 27727
  • 博文数量: 5
  • 博客积分: 255
  • 博客等级: 二等列兵
  • 技术积分: 70
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-25 08:59
文章分类
文章存档

2012年(1)

2010年(4)

我的朋友

分类: Oracle

2010-04-07 09:34:07

Oracle 10.2.0.1RHEL4.8系统的安装

2版本:添加Oracle服务管理

硬件环境:Intel Q9400 2G DDR3 320G SATA

系统及软件环境:RHEL4.7 AS 32 Oracle 10.2.0.1

 

l  系统准备

 

磁盘最好用LVM来管理,便于以后扩展。下面是我的分区情况:

 

[root@localhost ~]# df -h

Filesystem                        Size  Used  Avail  Use%  Mounted on

/dev/mapper/VolGroup00-LogVol00   29G  5.2G  23G   19%   /

/dev/sda1                        99M  13M  81M  14%  /boot

none                            987M   0   987M  0%  /dev/shm

/dev/mapper/VolGroup00-LogVol02   20G  715M  18G   4%  /u01

 

swap交换分区的设置,可以按下面的对照来设置:

1-2G RAM         ->      双倍于内存的交换空间

4-6G RAM         ->      1-1.5倍于内存的交换空间

8G RAM and more than            ->      0.75倍于内存的交换空间

 

/tmp目录需要400M以上的空间。

 

网络和主机名最好是静态的,在安装Oracle时安装程序会检测并警告。

 

选择安装软件时把开发者工具选上,这样安装Oracle之前的准备工作会少了许多,有些管理员甚至选择安装全部软件包,这样也只是多占些空间而已,但要记得把不用的服务关掉。

 

关掉系统防火墙和SELINUX

 

确认系统是32位还是64位:

# arch      #如果是32位的,显示一般是i686i38664位的系统会是x86_64

 

确认安装过程中所需要的包:

# rpm -q binutils gcc gcc-c++ glibc gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver libaio

 

l  配置Oracle环境

 

新建安装组和Oracle用户

# groupadd oinstall

# groupadd dba

# useradd -g oinstall -G dba oracle

# passwd oracle

 

创建目录结构

#mkdir -p /u01/app/oracle

#chown -R oracle:oinstall /u01/app/oracle

#chmod -R 775 /u01/app/oracle

 

设置内核参数,编辑/etc/sysctl.conf并将下列内容加入到文件尾部

#used for oracle

kernel.shmall = 2097152

#for SGA size,sample value is 512M(1GB=1073741824 1MB=1048576)

kernel.shmmax = 536870912

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=262144

net.core.wmem_default=262144

net.core.rmem_max=262144

net.core.wmem_max=262144

 

设置PAM pam_limits.so模块,解除系统对oracle用户打开文件数和进程数的限制。编辑/etc/security/limit.conf并将下列内容加入到文件尾部

#used for oracle

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

(网上许多直译教程还要编辑/etc/profile文件并加入一些脚本执行ulimit命令来做限制,在如今的红帽系统上已经不适用了,略过。另外,有些教程中这步完了还要编辑/etc/pam.d/login,加上两句配置来启用pam_limits.so模块,在红帽RHEL4RHEL5系统已经不需要这么做了,所以省略不写出来了)

 

编辑oracle用户环境变量,编辑$HOME/.bash_profile并加入下列内容,保存之后登出再登入即可生效。

#used for oracle

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin

 

切换到oracle用户,将Oracle 10R2安装包解压到oracle家目录中,执行安装程序即可。

$ unzip unzip 10201_database_linux32.zip

$ cd database

$ ./runInstaller

进入到OUI安装界面之后,一切就变得简单了。

 

l  配置Oracle自动启动服务:

 

如果希望Oracle数据库在开机和关机的时候自动开启关闭,我们必须要手动配置一些内容,这比在Windows下要复杂多了。

 

方法有很多,但这里建议直接使用Oracle已经为我们提供的数据库控制脚本,而不要使用网上流传的一些控制脚本,必竟数据库是很关键的系统组成,容不得一点马虎。

 

Oracle为我们提供了dbstartdbshut脚本,用来开启关闭数据库,它们在$ORACLE_HOME/bin/目录下。(想知道开启和关闭数据库的参数细节的话,建议打开看看这两个脚本)

 

要使用这两个脚本,还需要修改/etc/oratab文件

编辑最下面一行,将N修改Y(注意大小写),如:

 

orcl:/u01/app/oracle/10.2.0/db_1:Y

 

其格式也容易理解,实例SID:$ORACLE_HOME:是否允许

 

$ORACLE_HOME/bin/dbstart脚本也需要稍作修改,编辑第78行,例:

 

ORACLE_HOME_LISTNER=$ORACLE_HOME

 

这里可以用变量或是直接写出$ORACLE_HOME变量中的路径值

 

现在,可以用oracle用户执行它们开启和关闭数据库,有一个小问题,默认dbstartdbshut只能实现数据库实例和Listener的开启与关闭,EM没有列入其中,如果你希望EM随系统启动开启,可以将emctl start dbconsole命令放到/etc/rc.d/rc.local文件中,有点麻烦,关闭不好处理。dbstartdbshut这两个脚本的执行安排也是同样的问题,这里我们写一个系统服务脚本,系统帮我们自动处理开启和关闭数据库。

 

vi /etc/rc.d/init.d/oracle10r2      #copy following content into file

 

#!/bin/sh

#chkconfig: 2345 99 01

#description: ORACLE 10g Server

 

#modify this path variable to fit for your own DB instance

ORACLE_HOME=/u01/app/oracle/10.2.0/db_1

 

if [ ! -f $ORACLE_HOME/bin/dbstart ]

then

echo "ORACLE cannot start"

exit

fi

 

case "$1" in

'start')

echo "Starting Oracle Database..."

su - oracle -c "$ORACLE_HOME/bin/dbstart"

su - oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"

;;

'stop')

echo "Stoping Oracle Database"

su - oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"

su - oracle -c "$ORACLE_HOME/bin/dbshut"

;;

Esac

 

稍作解释:文件中的上面三行很重要,复制时切勿遗漏,它指示chkconfig命令设定此服务在2345运行级别中启动,启动顺序是99,关闭顺序是1,这样的话,在2345这四个运行级别在启动时最后启动,在退出2345运行级别的时候最先关闭此服务。

 

脚本中加上了EM的启动命令,另外,用root身份执行下列命令,只要不报错,就可以确认完工了。

 

# chkconfig –add oracle10r2

# chkconfig oracle10r2 on

# service oracle10r2 start                 #开启数据库服务

# service oracle10r2 stop                 #关闭数据库服务

阅读(969) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~