CentOS 5.5 安装 Oracle 11gR2 并随系统启动

一.安装环境&&相关约定 
system:CentOS 5.5
oracle version: Oracle 11gR2
基本需求:
物理内存大小:至少1G
SWAP:最好达到3G以上
oracle安装目录:/oracle
安装包:安装包有两个包,一定要解压到一个目录下,即database目录下。
二.安装准备工作 
1)固定IP地址(这点很重要,一定要固定IP)
2)安装依赖包
在CentOS下Oracle 11gR2依赖的包:
binutils-2.17.50.0.6-2.el5
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.125-3.el5
elfutils-libelf-devel-0.125
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
glibc-headers-2.5-12
gcc-4.1.1-52
gcc-c++-4.1.1-52
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.1-52
libstdc++-4.1.1
libstdc++-devel-4.1.1-52.e15
make-3.81-1.1
numactl-devel-0.9.8.i386
sysstat-7.0.0
检查以上包是否有安装,没有就安装之。
yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh numactl-devel glibc-headers

(如果有报错现 yum clean all)
三.修改内核参数 
#vi /etc/sysctl.conf
#oracle settings
fs.file-max = 6815744
kernel.shmall = 2097152         不用改
kernel.shmmax = 2147483648  不用改
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576

没有的可以加在最后
修改完毕执行
#sysctl -p  //让上面的修改生效
四.修改/etc/security/limits.conf 
#oracle settings
oracle           soft    nproc   2047
oracle           hard    nproc   16384
oracle           soft    nofile  1024
oracle           hard    nofile  65536
五.修改系统版本(Redhat 5.×系列系统略过这步) 
#cp /etc/redhat-release /etc/redhat-release.bk
#vi /etc/redhat-release
修改内容为:
Red Hat Enterprise Linux AS release 5 (Taroon)
六.修改/etc/pam.d/login 
添加以下内容:
session    required     /lib/security/pam_limits.so
session    required     pam_limits.so
七.修改/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
添加到 vi /etc/csh.login 以下内容:
if ( $USER == "oracle" ) then
limit maxproc 16384
limit deors 65536
endif
八.创建相关用户 
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
九.创建相关目录,并赋予对应权限 
mkdir -p /oracle/app/oracle/product/
chown -R oracle:oinstall /oracle/
chmod -R 775 /oracle/
十.设置oracle用户相关变量 
#su – oracle
$ vi .bash_profile
添加以下内容:
ORACLE_BASE=/oracle/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
export ORACLE_HOME
ORACLE_SID=ORCL
export ORACLE_SID
ORACLE_TERM=xterm
export ORACLE_TERM
TNS_ADMIN=$ORACLE_HOME/network/admin
export TNS_ADMIN
PATH=$ORACLE_HOME/bin:$PATH
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jdk/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export CLASSPATH
ORACLE_UNQNAME=$ORACLE_SID export ORACLE_UNQNAME
umask 022
$source .bash_profile
$exit
十一.开始安装 
#xhost + (这里使用root用户执行,一定要执行以下2步,如果没有执行,将无法启动图形安装界面)
#xhost + localhost
#su – oralce
$./runInstaller  (到oracle安装文件所在目录执行该命令)
十二.安装过程中注意事项 
1)第一步是让你填支持的邮箱,不填也可以,会报错,直接略过即可。
2)接下来就一步步的点下一步即可。
3)到检验系统内存,swap大小,依赖包以及内核参数设定是否正确时,更据提示去满足他的需求即可。最好不要轻易略过。
4)下面就是无尽的等待。

5)vi /ect/profile 最后加上 source /home/oracle/.bash_profile (可以不加)
十三.开机启动设置 
1)vi /oracle/app/oracle/product/11.1.0/db_1/bin/dbstart
ORACLE_HOME_LISTNER=$1
修改为:

ORACLE_HOME_LISTNER=$ORACLE_HOME
2)vi /oracle/app/oracle/product/11.1.0/db_1/bin/dbshut

ORACLE_HOME_LISTNER=$1
修改为:
ORACLE_HOME_LISTNER=$ORACLE_HOME
3)编写开机启动文件
#vi /etc/init.d/oracle
添加以下内容:
#!/bin/sh
# chkconfig: 345 61 61
# description: Oracle 11g AutoRun Services
# /etc/init.d/oracle
#
# Run-level Startup script for the Oracle Instance, Listener, and
# Web Interface
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
export ORACLE_SID=ORCL
export PATH=$PATH:$ORACLE_HOME/bin
ORA_OWNR=oracle
# if the executables do not exist — display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup: cannot start"
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
su $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart
echo "Oracle Start Succesful!OK."
;;
stop)
# Oracle listener and instance shutdown
su $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut
echo "Oracle Stop Succesful!OK."
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo $”Usage: `basename $0` {start|stop|reload|reload}”
exit 1
esac
exit 0


#chmod 750 /etc/init.d/oracle
#ln -s /etc/init.d/oracle /etc/rc1.d/K61oracle
#ln -s /etc/init.d/oracle /etc/rc3.d/S61oracle
#chkconfig --level 345 oracle on
#chkconfig --add oracle
[root@localhost init.d]# service oracle start
Processing Database instance “orcl”: log file /oracle/app/oracle/product/11.1.0/db_1/startup.log
Oracle Start Succesful!OK.
[root@localhost init.d]# service oracle stop
Processing Database instance “orcl”: log file /oracle/app/oracle/product/11.1.0/db_1/shutdown.log
Oracle Stop Succesful!OK.
这样就可以使用service oracle start/stop来启动oracle,是不是很方便呢?
开始您的oracle安装之旅吧~
备注:启动企业管理器命令#emctl start dbconsole 反之停止#emctl stop dbconsole



如果启动有问题/oracle/app/oracle/product/11.1.0/db_1/bin/lsnrctl: error while loading shared libraries: /oracle/app/oracle/product/11.1.0/db_1/lib/libclntsh.so.11.1: cannot restore segment prot after reloc: Permission denied
执行下面两句
1.semanage fcontext -a -t textrel_shlib_t /oracle/app/oracle/product/11.1.0/db_1/lib/libclntsh.so.11.1

2.restorecon -R -v /oracle/app/oracle/product/11.1.0/db_1/lib/libclntsh.so.11.1
如果在执行 startup时报
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/oracle/app/oracle/product/11.1.0/db_1/dbs/initORCL.ora'
解决方法:(来自http://bbs.chinaunix.net/thread-3605714-1-1.html)
方法:

$ORACLE_BASE/admin/(dbname) /pfile目录下的init.ora(.01200923383 文件复制到

$ORACLE_HOME/dbs目录下即可

[root@phoneDB pfile]# pwd
/home/oracle/admin/phone/pfile
[root@phoneDB pfile]# ls
init.ora.010200882414
[root@phoneDB pfile]# 
[root@phoneDB dbs]# pwd
/home/oracle/10.2.0/db_1/dbs
[root@phoneDB dbs]# ls
hc_phone.dat  init.ora               lkPHONE     spfilephone.ora
initdw.ora    init.ora.010200882414  orapwphone

#cp init.ora.010200882414  initORCL.ora'
来源:http://www.ayio.net/32.html

Oracle 其他用户可以登录,sys用户登录ORA-01031: insufficient privileges
(http://blog.sina.com.cn/s/blog_6c1151890100opwt.html
http://blog.sina.com.cn/s/blog_6c1151890100opwq.html
)
有同事反映,数据库使用 conn sys/oracle@xxxx as sysdba登录不上去,提示ORA-01031: insufficient privileges,而用户名密码都是完全正确的,不使用@xxx连接符conn / as sysdba登录正常。
过程:首先判断当前系统采用的是操作系统认证,再使用system/manager@xxxx登录时没有问题,只有使用sysdba权限的用户登录才会报这种错误。接下来进行 grant sysdba to scott; 报错,ORA-01994: GRANT failed: password file missing or disabled。注意,问题就在这里,系统提示密码文件问题。查找$ORACLE_HOME/dbs下的orapwSID文件,发现存在。
原因:orapwdorcl不正确,应该为orapwORCL,实例名应大写,安装时输入的实例名为小写造成。

posted @ 2013-02-17 10:12  einyboy  阅读(449)  评论(0编辑  收藏  举报