
正文
【Oracle】安装Oracle 10gR2 For CentOS
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Oracle10gR2安装
安装环境
项目 版本信息 备注
操作系统 CentOS5.364bit
Oracle数据库 Oracle10.2.0.4 64bit
安装环境
项目 版本信息 备注
操作系统 CentOS5.364bit
Oracle数据库 Oracle10.2.0.4 64bit
硬件信息:
名称:answer 备注
机型 PC机 ora10g
CPU Pentium(R) Dual-Core CPU E5700 @3.00GHz 1核
内存 1G
硬盘 SATA 1块
分区类型及大小 /dev/sda 28.7G /
/dev/sda 58.7G /opt
/dev/sda 192M /boot
Tmpfs 501M /dev/shm
操作系统详细版本 CentOS release 5.3(Final)
内部版本号:2.6.18-128.el5
操作系统登录用户 root/a1b2c3
其它登录系统用户 oracle/a1b2c3
网卡一
IP地址 192.168.0.200
子网掩码 255.255.0.0
默认网关 192.168.200.62
首选DNS服务器 192.168.200.63
备用DNS服务器
安装条件:
资源需要:
至少1024MB物理内存
1024-2048需1.5倍的交互空间 2048-8192需1倍的交互空间 8192-需0.75倍的交互空间 至少400MB/tmp临时目录空间 oracle软件需要1.5GB到3.5GB磁盘空间 默认数据库需要1.2GB 查看系统资源相关语句:
cat /etc/issue
uname –r
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
grep "model name" /proc/cpuinfo
free
df –k /tmp
df -k
安装前检查和准备
安装前的检查和准备工作:
rpm -q binutils compat-libstdc++-296 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc-c++ sysstat unixODBC unixODBC-devel libXtst
rpm -q glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel libXp make openmotif gcc
配置可以从光盘使用yum安装包
mkdir -p /media/cdrom ####创建挂载目录
mount /dev/cdrom /media/cdrom
安装缺少的包
yum --disablerepo=* --enablerepo=c5-media -y install binutils compat-libstdc++-296 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc-c++ sysstat unixODBC unixODBC-devel libXtst
yum --disablerepo=* --enablerepo=c5-media -y install glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel libXp make openmotif gcc
创建数据库安装的准备工作: 1,创建user/group;
groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 oper
useradd -m -u 501 -g oinstall -G dba,oper -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle
如果nobody用户不存在(id nobody命令查看),则创建:
useraddnobody
2,建立oracle安装文件夹;
mkdir -p /opt/oracle/product/10g
chown -R oracle:oinstall /opt/oracle
chmod -R 775 /opt/oracle
2,配置环境变量;
使用oracle用户登录
su – oracle
vi ~oracle/.bash_profile
添加如下行:
RACLE_BASE=/opt/oracle/
ORACLE_HOME=$ORACLE_BASE/product/10g
ORACLE_SID=kyy ####这个需要根据实际情况调整
PATH=$ORACLE_HOME/bin:$PATH
TNS_ADMIN=$ORACLE_HOME/network/admin
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
LANG=en_US
export ORACLE_BASE ORACLE_HOME ORACLE_SID TNS_ADMIN NLS_LANG LANG PATH
配置完成,使用source ~oracle/.bash_profile命令使配置生效
4,设置系统参数;
切换到root用户:
su – root
a)修改/etc/sysctl.conf(vi /etc/sysctl.conf), 添加以下是oracle建议(如果系统默认参数值大于这些,就不要去改变它):
#Shmmax最大共享内存,官方文档建议是内存的1/2,
# 2G/2=1073741824
# 8G/2=4294967296
#16G/2=8589934592
#Shmmni4096KB.
#Shmall
#sem4个参数依次为:
#SEMMSL(每个用户拥有信号量最大数);
#SEMMNS(系统信号量最大数);
#SEMOPM(每次semopm系统调用操作数);
#SEMMNI(系统辛苦量集数最大数).
kernel.shmmax = 536870912
#kernel.shmmni = 4096
#kernel.shmall = 2097152
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_default=262144
net.core.wmem_default=262144
net.ipv4.tcp_keepalive_probes=5
net.ipv4.tcp_keepalive_intvl=15
net.core.netdev_max_backlog=3000
net.core.somaxconn=3000
net.ipv4.tcp_keepalive_time=1800
net.ipv4.tcp_max_syn_backlog=8192
net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_rmem=8192 4194304 8388608
net.ipv4.tcp_wmem=4096 2097152 8388608
net.core.netdev_max_backlog=3000
net.core.rmem_max=8388608
net.core.wmem_max=8388608
vm.swappiness = 5
net.ipv4.tcp_max_tw_buckets = 10000
修改后运行"/sbin/sysctl-p"命令使得内核改变立即生效;
B)设置oracle对文件的要求: 编辑文件:vi /etc/security/limits.conf加入以下语句:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
编辑文件:vi /etc/pam.d/login加入以下语句:
session required /lib64/security/pam_limits.so
session required pam_limits.so
(注意:根据最后一条session规则的注释,应该加在最后一条规则之前)
解压缩Oracle10G的安装文件:
1.Oracle
(1)简化过程(以oracle登录,释放安装文件,使用更少的磁盘空间,速度更快)
gunzip 10201_database_linux32.cpio.gz
cpio –idcmv < 10201_database_linux32.cpio
unzip 10201_database_linux32
开始安装oracle
(一)开始安装:
1.以oracle用户登录系统,进行Oracle的安装:
cd /opt/database (或者你解压缩安装程序包的目录)
./runInstaller -ignoreSysPrereqs
过一会儿就会出现Oracle的安装界面
注意:(LANG要设置为en_US)
a、选择advance install
b、数据库home设置为/opt/oracle/product/10g
c、数据库全局名称设置为kyy
d、数据库字符集选Simplified Chinese ZHS16GBK
2.其他用默认设置!
注意:安装过程中会提示以root用户登陆执行一些脚本,执行后再按“ok”按钮继续安装。
3、登陆并启动数据库的操作。
[oracle@oracleoracle]$lsnrctl start
[oracle@oracleoracle]$sqlplus /nolog
SQL*Plus:Release9.2.0.0-ProductiononSatMar1222:58:532005
Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.
SQL>connect / as sysdba
Connected.
SQL>shutdown immediate关闭数据库
Databaseclosed.
Databasedismounted.
ORACLEinstanceshutdown.
SQL>startup;启动数据库
ORACLEinstancestarted.
TotalSystemGlobalArea236000356bytes
FixedSize451684bytes
VariableSize201326592bytes
DatabaseBuffers33554432bytes
RedoBuffers667648bytes Databasemounted. Databaseopened.
4,数据库创建完成后,修改vi/etc/oratab,把boss那一行最后的N改成Y,然后执行dbstart启动数据库数据库可能无法启动,报告Can’t find init file…的错误,需要复制一个初始化文件:
cp /opt/oracle/admin/ge01/pfile/init.ora.* /opt/oracle/product/10.2.0/dbs/initge01.ora
重新执行dbstart就可以了。
为了方便管理,可以写一个启动脚本ora10g:
以root身份进入,编写以下脚本:
#!/bin/sh
#
# chkconfig: 2345 91 19
# description: starts the oracle listener and instance
status() {
pid=`ps -ef | grep ora_pmon | grep -v grep | awk '{print $8}'`
if [ "X$pid" = "X" ]
then
echo "oracle10g is not running."
exit 1
else
echo "oracle10g is running."
exit 0
fi
}
case "$1" in
start)
#startup the listener and instance
echo -n "oracle begin to startup: "
su - oracle -c "lsnrctl start"
su - oracle -c "dbstart"
echo "oracle10g started"
;;
stop)
# stop listener, apache and database
echo -n "oracle begin to shutdown:"
su - oracle -c "lsnrctl stop"
su - oracle -c "dbshut"
echo "oracle10g shutdowned"
;;
reload|restart)
$0 stop
$0 start
;;
'status')
status
;;
*)
echo "Usage: ora10g [start|stop|reload|restart]"
exit 1
esac
exit 0
cp /opt/oracle/admin/ge01/pfile/init.ora.* /opt/oracle/product/10.2.0/dbs/initge01.ora
重新执行dbstart就可以了。
为了方便管理,可以写一个启动脚本ora10g:
以root身份进入,编写以下脚本:
#!/bin/sh
#
# chkconfig: 2345 91 19
# description: starts the oracle listener and instance
status() {
pid=`ps -ef | grep ora_pmon | grep -v grep | awk '{print $8}'`
if [ "X$pid" = "X" ]
then
echo "oracle10g is not running."
exit 1
else
echo "oracle10g is running."
exit 0
fi
}
case "$1" in
start)
#startup the listener and instance
echo -n "oracle begin to startup: "
su - oracle -c "lsnrctl start"
su - oracle -c "dbstart"
echo "oracle10g started"
;;
stop)
# stop listener, apache and database
echo -n "oracle begin to shutdown:"
su - oracle -c "lsnrctl stop"
su - oracle -c "dbshut"
echo "oracle10g shutdowned"
;;
reload|restart)
$0 stop
$0 start
;;
'status')
status
;;
*)
echo "Usage: ora10g [start|stop|reload|restart]"
exit 1
esac
exit 0
存为ora10g后,然后
chmod a+x ora10g
ln -s /opt/oracle/product/10.2.0/bin/ora10g/etc/rc.d/init.d/ 即可在以后以root身份运行/etc/rc.d/init.d/ora10gstart|stop来管oracle的启动和停止了。
如果要将这个脚本加入到系统中使其可开机运行,那么要运行以下命令:
chkconfig--level345ora10gon
或者可在/etc/rc.d/rc.local中加入如下:
su - oracle -c "lsnrctlstart"
su - oracle -c "dbstart"
5.在备份数据库机上配置异机数据库逻辑备份任务,具体见backupDb.sh
6,关于数据库删除重新安装的问题:
把ORACLE安装目录删除及/etc/ora*.*删除就行了
#rm –f /etc/ora*.*
7.数据库参数要求
每个连接的游标数:
alter system set open_cursors=500 scope=spfile;
总连接数:
show parameter processes
show parameter sessions
alter system set processes=1000 scope=spfile;
alter system set sessions=1000 scope=spfile;
解决enterprisemanager乱码
su - oracle
rm -f $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs/*
cd /opt/oracle/product/10g/jdk/jre/lib
mv font.properties font.propertiesbk
cp font.properties.zh_CN.Redhatfont.properties
emctl stop dbconsole
emctl start dbconsole
解决监听hang的bug
vi network/admin/listener.ora
增加:
SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF






