【Oracle】安装Oracle 10gR2 For CentOS

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"命令使得内核改变立即生效;  
 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.  
 
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






原文地址:https://www.cnblogs.com/leemoby/p/3583385.html