服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > 数据库技术 > Oracle技术 > Oracle开发 > 查看文档

redhat linux as4 安装oracle 10g(包括启动) (1)

【赛迪网-it技术报道】redhat linux as4 安装 oracle 10g (10.2)

1、硬件需求

1)内存>1024m

内存 交换分区

>1024m 2倍内存

<2048m 1.5倍内存

<8192m 1倍内存

>8192m 0.75倍内存

显示内存命令

2)/tmp > 400m

3)检测命令

内存

# grep memtotal /proc/meminfo

交换分区

# grep swaptotal /proc/meminfo

/tmp分区

# df -k /tmp

cpu信息

# grep "model name" /proc/cpuinfo

2、软件需求

1)操作系统

red hat enterprise linux as/es 3.0 (update 4 or later)

red hat linux 4.0

suse linux enterprise server 9.0

asianux 1.0

asianux 2.0

2)内核

red hat enterprise linux 3.0 and asianux 1.0

2.4.21-27.el

red hat enterprise linux 4.0 and asianux 2.0

2.6.9-5.el

suse linux enterprise server 9.0

2.6.5-7.201

3)具体组件包

red hat enterprise linux 3.0 and asianux 1.0

make-3.79.1

gcc-3.2.3-34

glibc-2.3.2-95.20

compat-db-4.0.14-5

compat-gcc-7.3-2.96.128

compat-gcc-c++-7.3-2.96.128

compat-libstdc++-7.3-2.96.128

compat-libstdc++-devel-7.3-2.96.128

openmotif21-2.1.30-8

setarch-1.3-1

red hat enterprise linux 4.0 and asianux 2.0:

binutils-2.15.92.0.2-13.el4

compat-db-4.1.25-9

compat-libstdc++-296-2.96-132.7.2

control-center-2.8.0-12

gcc-3.4.3-22.1.el4

gcc-c++-3.4.3-22.1.el44

glibc-2.3.4-2.9

glibc-common-2.3.4-2.9

gnome-libs-1.4.1.2.90-44.1

libstdc++-3.4.3-22.1

libstdc++-devel-3.4.3-22.1

make-3.80-5

pdksh-5.2.14-30

sysstat-5.0.5-1

xscreensaver-4.18-5.rhel4.2

setarch-1.6-1

suse linux enterprise server 9

binutils-2.15.90.0.1.1-32.5

gcc-3.3.3-43.24

gcc-c++-3.3.3-43.24

glibc-2.3.3-98.28

gnome-libs-1.4.1.7-671.1

libstdc++-3.3.3-43.24

libstdc++-devel-3.3.3-43.24

make-3.80-184.1

pdksh-5.2.14-780.1

sysstat-5.0.1-35.1

xscreensaver-4.16-2.6

4)命令

操作系统型号

# cat /etc/issue

内核型号

# uname -r

查询安装包

# rpm -q package_name

rl as4 下查询脚本

rpm -qa binutils

rpm -qa compat-db

rpm -qa compat-libstdc++-33

rpm -qa control-center

rpm -qa gcc

rpm -qa gcc-c++

rpm -qa glibc

rpm -qa glibc-common

rpm -qa gnome-libs

rpm -qa libstdc++

rpm -qa libstdc++-devel

rpm -qa make

rpm -qa pdksh

rpm -qa sysstat

rpm -qa xscreensaver

rpm -qa setarch

3、安装

1)环境

内存 2048m,硬盘146g

2)分区

/ 30g

/tmp 2g

/var 3g

/app 20g

/app/oradata 60g

/app/orabp 20g

3)安装

选择所有的管理工具,开发工具,gnome环境,web server,ftp server

除sysstat包都成功安装,

sysstat包在4号盘上,rpm -i sysstat-5.0.5-1.i386.rpm

4、安装oracle

1)添加用户组

判断用户和组是否存在

grep dba /etc/group

grep oinstall /etc/group

id oracle

id nobody

有则不添加

groupadd oinstall

groupadd dba

useradd -g oinstall -g dba oracle

--oracle 已经存在 但不是 oinstall组,也非dba组成员

usermod -g oinstall -g dba oracle

useradd nobody

2)内核参数

parameter value file

semmsl 250 /proc/sys/kernel/sem

semmns 32000

semopm 100

semmni 128

shmall 2097152 /proc/sys/kernel/shmall

shmmax half the size of physical memory (in bytes) /proc/sys/kernel/shmmax

shmmni 4096 /proc/sys/kernel/shmmni

file-max 65536 /proc/sys/fs/file-max

ip_local_port_range minimum: 1024 /proc/sys/net/ipv4/ip_local_port_range

maximum: 65000

rmem_default 1048576 /proc/sys/net/core/rmem_default

rmem_max 1048576 /proc/sys/net/core/rmem_max

wmem_default 262144 /proc/sys/net/core/wmem_default

wmem_max 262144 /proc/sys/net/core/wmem_max

命令

semmsl, semmns, semopm, and semmni # /sbin/sysctl -a | grep sem

shmall, shmmax, and shmmni # /sbin/sysctl -a | grep shm

file-max # /sbin/sysctl -a | grep file-max

ip_local_port_range # /sbin/sysctl -a | grep ip_local_port_range

rmem_default # /sbin/sysctl -a | grep rmem_default

rmem_max # /sbin/sysctl -a | grep rmem_max

wmem_default # /sbin/sysctl -a | grep wmem_default

wmem_max # /sbin/sysctl -a | grep wmem_max

修改配置文件/etc/sysctl.conf,增加或修改

kernel.shmall = 2097152

kernel.shmmax = 2147483648

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 = 1048576

net.core.rmem_max = 1048576

net.core.wmem_default = 262144

net.core.wmem_max = 262144

重新启动

3)设置oracle用户的shell

a)增加如下行到/etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

b)增加下列行到/etc/pam.d/login

session required /lib/security/pam_limits.so

session required pam_limits.so

c)修改shell默认启动文件

bourne,bash,korm shell下增加下列行到/etc/profile

if [ $user = "oracle" ]; then

if [ $shell = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

c shell下,增加下列行到/etc/csh.login

if ( $user == "oracle" ) then

limit maxproc 16384

limit descriptors 65536

endif

4)创建需要的目录

mkdir /app/oracle

chown -r oracle:oinstall /app/oracle

chmod -r 775 /app/oracle

chown -r oracle:oinstall /app/oradata

chmod -r 775 /app/oradata

chown -r oracle:oinstall /app/orabp

chmod -r 775 /app/orabp

这里只有一块硬盘,如果有多块硬盘,你需要将其建立一个挂接点,如u01,

则目录为/u01/app/oracle,这里只有一个硬盘,挂接点就是/

5)设置oracle用户环境

a)如果在远程系统上安装oracle,在本地的x-windows里显示,要设置

xhost host_name

b)用oracle登陆x-windows系统,或su - oracle

c)查看默认shell

echo $shell

d)bash

vi .bash_profile

如果设置了oracle_sid,oracle_home,oracle_base,删除相应行

e)umask 022

f)保存文件,执行

. .bash_profile

g)设置显示变量

display=localhost:0.0 ; export display

如果在远程显示界面,localhost就改成远程主机

h)如果/tmp空间不够,需要设置tmp,tmpdir变量

$ su - root

# mkdir /mount_point/tmp

# chmod a+wr /mount_point/tmp

# exit

bash下

$ tmp=/mount_point/tmp

$ tmpdir=/mount_point/tmp

$ export tmp tmpdir

i)确定oracle_home,tns_admin没有设置

$ unset oracle_home

$ unset tns_admin

j)检验是否设置正确

$ umask

$ env | more

6)安装oracle

a)取得oracle安装件

从oracle网站上下载,是免费的,只需要一个简单的注册即可,得到的是zip文件

unzip 10201_database_linux32.zip

如果是安装光盘,mount上介质

b)运行

runinstaller

c)安装过程和windows非常类似,要注意的是

在选择dba组的时候选择oinstall

修改一下默认目录,如安装目录,inventory目录

安装之前程序会检查一下系统配置,如果按照上面的设置,不会有任何问题,

install即可

这样安装的oracle的数据文件在默认目录下,如果要放到不同的盘上,

可以删除数据库重建,或者安装的时候选择高级安装

安装net 8时,系统提示以root用户执行两个脚本,照做就可以了

5、点滴

1)注意oracle_home变量,如果不存在,需要手工设置

oracle_home=/app/oracle/product/10.2.0/db_1

2)建库命令为/app/oracle/product/10.2.0/db_1/bin/dbca &

注意设置字符集,因为安装界面用中文没法安装,所以使用英文环境安装,

所以不能使用默认配置,要修改默认字符集及默认语言

3)net 8 命令为/app/oracle/product/10.2.0/db_1/bin/netca &

4)在其它机器上远程用net8连接oracle,需要打开linux上的1521端口

配置如下

applications->system setting->secuity level 其它端口增加1521:tcp即可

5)让oracle随机器启动而启动

在.bash_profile里设置

oracle_sid=orcl

oracle_home=/app/oracle/product/10.2.0/db_1

export oracle_sid

export oracle_home

path=$path:$home/bin:$oracle_home/bin

export path

修改/etc/oratab,

orcl:/app/oracle/product/10.2.0/db_1:y

最后一个字母默认是n,修改为y,否则dbstart,dbshut都不会起作用

修改/app/oracle/product/10.2.0/db_1/dbstart中的相关行为

oracle_home_listner=/app/oracle/product/10.2.0/db_1

然后修改/etc/rc.local,增加这样的一行

su - oracle -c dbstart

这样就可以了,但不能关机的时候自动关闭,所以需要手工处理

su - oracle -c dbshut

如果是oracle用户可以直接dbshut

注:我曾经尝试过网上找到的如下方法,但系统没法启动,需要用恢复模式删掉脚本才可以,

不知道是不是我的配置问题,如果看出我的错误请告诉我

开机时让 redhat linux 自动启动oracle,需要完成以下步骤:

运行 $oracle_home 下的 root.sh,会生成一个文件 /etc/oratab 。

编辑 /etc/oratab ,把所有的 instance 的重启动标志设置成 'y',如:

ora10g:/home/oracle/orahome_1:y

做一个启动脚本 /etc/init.d/dbora ,如下所示:

#!/bin/sh

# description: oracle auto start-stop script.

# chkconfig: - 20 80

#

# set ora_home to be equivalent to the $oracle_home

# from which you wish to execute dbstart and dbshut;

#

# set ora_owner to the user id of the owner of the

# oracle database in ora_home.

ora_home=/app/oracle/product/10.2.0/db_1

ora_owner=oracle

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

then

echo "oracle startup: cannot start"

exit

fi

case "$1" in

'start')

# start the oracle databases:

# the following command assumes that the oracle login

# will not prompt the user for any values

su - $ora_owner -c $ora_home/bin/dbstart

su - $ora_owner -c "$ora_home/bin/lsnrctl start"

;;

'stop')

# stop the oracle databases:

# the following command assumes that the oracle login

# will not prompt the user for any values

su - $ora_owner -c "$ora_home/bin/lsnrctl stop"

su - $ora_owner -c $ora_home/bin/dbshut

;;

'restart')

$0 stop

$0 start

;;

esac

赋予执行权限

chmod 750 /etc/init.d/dbora

作成以下链接:

ln -s /etc/init.d/dbora /etc/rc0.d/k10dbora

ln -s /etc/init.d/dbora /etc/rc3.d/s99dbora

执行以下命令:

chkconfig --level 345 dbora on

这样就ok了。下次开关机的时候,oracle也会随之启动/停止

扫描关注微信公众号