Oracle10gR2安装
安装环境
项目 版本信息 备注
操作系统 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"命令使得内核改变立即生效;
安装环境
项目 版本信息 备注
操作系统 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
编辑文件: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.
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
存为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
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