CentOS 5/6 安装Oracle 10g R2(整理)

来源:互联网 发布:中广电网络机顶盒 编辑:程序博客网 时间:2024/06/05 09:53
CentOS5安装Oracle 10g R2


一、基本条件
图形界面除kde全装
要装个浏览器,能联网

最好不要启动selinux

vim /etc/sysconfig/selinux

去掉不需的服务,如iptables, cups, postfix....

机器名hostname
/etc/sysconfig/network中的hostname要与/etc/hosts中的一致
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=dbserver
GATEWAY=192.168.137.1
NTPSERVERARGS=iburst
就是上面的HOSTNAME=dbserver
vim /etc/hosts
127.0.0.1   localhost dbserver
::1         localhost dbserver
#ip dbserver
有人还加上最后一行的ip设置(我没加)


 
二.准备安装的软件:(这个很重要,第一次安装失败就是因为软件包没有打全)
rpm -q xxx*
yum install xxx
rpm -ivh xxx.rpm

做成直接安装的命令:

yum install \
binutils \
compat-libstdc++-33 \
compat-libstdc++-33*.i686 \
elfutils-libelf \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc \
glibc*.i686 \
glibc-common \
glibc-devel \
glibc-devel*.i686 \
glibc-headers \
ksh \
libaio \
libaio*.i686 \
libaio-devel \
libaio-devel*.i686 \
libgcc \
libgcc*.i686 \
libstdc++ \
libstdc++*.i686 \
libstdc++-devel \
make-3.81 \
sysstat*.i686 \
unixODBC*.i686 \
unixODBC-devel \
unixODBC \
libXp \
libXp*.i686 


yum install libXp.so.6 libXt.so.6 libXtst.so.6



三.建立用户和组
groupadd oinstall 

groupadd dba

groupadd oper

useradd -g oinstall -G dba,oper oracle

echo "oracle" | passwd --stdin oracle

 
四.建立目录和权限
mkdir -p /u01/app/oracle/product/10.2.0/db_1

chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle

 

五.编辑变量

可以用cat >> xxx << EOF

>

>

>EOF

来将输入附加到要编辑的文件


1.
vi /etc/sysctl.conf  注意这个文件有两个变量(最后两个)要注释掉的
kernel.shmall = 2097152
kernel.shmmax = 2147483648 内存一半大一点点
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_default=262144

net.core.wmem_max=262144


写入内核:sysctl -p


2.
vi /etc/security/limits.conf
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536
oracle              soft    stack   10240
 
3.
vi /etc/pam.d/login
#session required /lib/security/pam_limits.so
session required pam_limits.so
 
4.
vi /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


5.
vi ~oracle/.bash_profile
export ORACLE_BASE=/u01/app/oracle #可能要改的
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 #可能要改的

export ORACLE_SID=ORADB #可能要改的

export DISPLAY=192.168.1.XXX:0.0 #可能要改的

export PATH=$ORACLE_HOME/bin:$PATH

 
7.
vi /etc/redhat-release

将CentOS release 5 (Final)  修改成redhat-4或者Red Hat Enterprise Linux Server release 5.4 (Tikanga)


安装时会提示以下内容:

检查操作系统版本: 必须是redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2

 

六.解压包

将安装文件放到目标机器上ftp,scp(filezilla)

放到/u01/app/oracle目录下

注意:用oracle用户进入运行下面的命令 su - oracle

Directions
1. Unzip the file: gunzip <filename>
2. Extract the file: cpio -idmv < <filename>
3. Installation guides and general Oracle Database 10g documentation can be found here.
4. Review the certification matrix for this product here.



这样做,也可以,在图形界面下开一个终端, 
#>xhost + 
#>su - oracle 
#>unset LANG LANGUAGE  #解决乱码
之后,在此终端内运行安装程序

进入终端

sh /ORACLE的目录/runInstaller

检查时要好好看看可有Failed,有的话好好检查一下,再retry

安装时有个错误"**** collector ***",continue


dbca时 ora-27125 问题

用root用户

id oracle

uid=501(oracle) gid=501(oinstall) 组=501(oinstall),502(dba),503(oper)

注意dba的组是502

echo 502 > /proc/sys/vm/hugetlb_shm_group

再在安装界面retry一下。

这个以后要加到开机运行里



最后用root执行两个命令,第二个命令有个选择,直接回车



 
七.安装后运行

由于安装后ORACLE不可以自动启动,需要手动启动ORACLE,方法有3种。

1、手动启动

# echo 502 > /proc/sys/vm/hugetlb_shm_group

# su - oracle

$ sqlplus / as sysdba

SQL> startup

SQL> exit

$ lsnrctl start

$ emctl start dbconsole


2、开机启动

vi /etc/rc.d/rc.local

echo 502 > /proc/sys/vm/hugetlb_shm_group

su - oracle -c "/u01/app/oracle/product/10.2.0/bin/lsnrctl start"

su - oracle -c "/u01/app/oracle/product/10.2.0/bin/dbstart start"

su - oracle -c "isqlplusctl start"

su - oracle -c "emctl start dbconsole"


vi /etc/oratab

ORADB:/u01/app/oracle/product/10.2.0:Y


3、自动启动,有时候会出问题,不知道怎么回事
vim /etc/init.d/oracle
#!/bin/bash
#
# chkconfig: 2345 80 05
# description: Oracle 10g Server
# /etc/init.d/oracle
#
# Run-level Startup script for the Oracle Instance, Listener, and
# Web Interface


echo 502 > /proc/sys/vm/hugetlb_shm_group


export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0
#export ORACLE_SID=ORADB
#export PATH=$PATHORACLE_HOME/bin
 
export ORACLE_OWNER="oracle"
 
# if the executables do not exist -- display error
if [ ! -d $ORACLE_HOME ] 
then
echo "cannot find $ORACLE_HOME"
exit 1
fi


if [ ! -f $ORACLE_HOME/bin/dbstart ]
then
echo "cannot find $ORACLE_HOME/bin/dbstart"
exit 1
fi


if [ ! -f $ORACLE_HOME/bin/dbshut ]
then
echo "cannot find $ORACLE_HOME/bin/dbshut"
exit 1
fi


if [ ! -f $ORACLE_HOME/bin/lsnrctl ]
then
echo "cannot find $ORACLE_HOME/bin/lsnrctl"
exit 1
fi


if [ ! -f $ORACLE_HOME/bin/emctl ]
then
echo "cannot find $ORACLE_HOME/bin/emctl"
exit 1
fi


# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display
 
case "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart"
touch /var/lock/oracle
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start" 
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut"
rm -f /var/lock/oracle
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: `basename $0` start|stop|restart|reload"
exit 1
esac
exit 0

保存退出

chmod u+x  /etc/init.d/oracle

chkconfig oralce on

 
Usage: oracle start|stop|restart|reload

 

常用命令
$ dbca
$ netca
$ netmgr

$ lsnrctl start 

$ emctl start dbconsole


$ sqlplus / as sysdba

SQL> startup

SQL> shutdown immediate


create tablespace xxx datafile '/u01/oracle/oradata/xxx_01.dbf' size 500m reuse autoextend on next 1024k maxsize unlimited extent management local uniform size 500K; 
create user oa identified by oa default tablespace ecology temporary tablespace temp; 
grant connect,resource,create view,dba to oa;