【赛迪网-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也会随之启动/停止
闽公网安备 35060202000074号