CentOS_5.5(64)安装oracle 10g
CentOS_6.0(32)安装oracle 10g
(2020年11月17日最新修改)
安装操作系统时,使用立即定制里的默认安装包。禁用防火墙、禁用SELINUX。
Oracle安装目录为 /oracle/oracle10g如果本文有此目录,则实际安装过程中需要按照需求改变此目录
在root用户做以下操作
1、修改/etc/redhat_realease,将内容改为如下:
Red Hat Enterprise Linux Server release 4 (Tikanga)
#CentOS release 5.5 (Final)
2、修改/etc/hosts,将内容改为如下:
Do not remove the following line, or various programs
that require network functionality will fail.
主机IP 主机名 (务必和真实主机名一致) localhost
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
3、依次安装下面的包(使用DVD安装光盘,CD光盘的安装包不在一张光盘)
32位系统(CentoOS6.0上验证成功)
libXp-1.0.0-8.i386.rpm
openmotif22-2.2.3-18.i386.rpm
compat-db-4.2.52-5.1.i386.rpm
compat-db42.i686 0:4.2.52-15.el6
compat-db43.i686 0:4.3.29-15.el6
kernel-headers-2.6.18-92.el5.i386.rpm
glibc-headers-2.5-24.i386.rpm
compat-gcc-34-3.4.6-4.i386.rpm
compat-gcc-34-c++-3.4.6-4.i386.rpm
compat-libstdc++-33-3.2.3-61.i386.rpm
libaio-0.3.106-3.2.i386.rpm
libgomp-4.1.2-42.el5.i386.rpm
gcc-4.1.2-42.el5.i386.rpm
gcc-c++-4.1.2-48.el5
binutils-2.15.92.0.2-22
(64位centOS系统要如下包)(已验证)(注意除了64位还要安装一些32位rpm包)
安装下面这些包之前可能需要先导入key
rpm --import ftp.sjtu.edu.cn/centos/5/os…(需要联网)
也可以使用rpm命令将安装光盘上附带的RPM-GPG-KEY-CentOS-5
libXp-1.0.0-8.i386.rpm
libXt-1.0.2(i386)
libXtst-1.0.1(i386)
openmotif22-2.2.3-18.i386.rpm****
binutils-2.15.92.0.2-22 (x86_64)
qqe;yc"RQ~#h0compat-db-4.1.25-9 (i386)ITPUB 个人空间 T@-m,X_P***
compat-db-4.1.25-9 (x86_64)**
compat-libstdc++-33-3.2.3-47.3.i386.rpm
compat-libstdc++-33.x86_64
compat-libstdc++-296.i686
control-center-2.8.0-12.rhel4.5 (x86_64)
kernel-headers-2.6.18-194.el5.x86_64.rpm
glibc-headers-2.5-49.x86_64.rpm
glibc-common-2.3.4-2.36 (x86_64)ITPUB 个人空间 (YZ ws6|U-dThd**
glibc-devel-2.3.4-2.36 (x86_64)ITPUB** 个人空间 #F0E%Rl9HN8J+@~h.|****
glibc-devel-2.3.4-2.36 (i386)
&~:gZQ'n!v-o0D0 glibc-2.3.4-2.36 (i686)
Aa3{5E-l#w(n0glibc-2.3.4-2.36 (x86_64)ITPUB 个人空间 8J5C^|)RB**
-p^#I&Z~?7A**
make-3.81-3.el5.x86_64.rpmITPUB****个人空间 5BQ‑S7_"X I W[a-r
pdksh-5.2.14-36.el5.x86_64.rpm ( yum 找不到这个包,需要自己下载)****
sysstat-7.0.2-3.el5.x86_64.rpm
libaio-0.3.105-2 (i386)
libgomp-4.1.2-42.el5.i386.rpm****
gcc-4.1.2-48.el5 (x86_64)
gcc-c++-4.1.2-48.el5 (x86_64)
4修改/etc/sysctl.conf,在结尾处添加如下内容:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
配置完成后,执行如下命令使设置生效
sysctl –p
5修改/etc/security/limits.conf文件,在结尾处添加如下内容:
* Soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
6、修改/etc/pam.d/login文件,在结尾处添加如下内容:
session required /lib/security/pam_limits.so
session required pam_limits.so
7、新增组和用户
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba oracle
passwd oracle
(设置密码) 8、解压oracle安装文件
oracle的安装包有这样几种格式:
(1) zip
这种格式最好解压缩,直接使用命令unzip 文件名即可
(2) cpio.gz
这种格式有这样几种解压缩方式
a. # zcat XXXX.cpio.gz | cpio -idmv
b. # gunzip XXXX.cpio.gz解压出XXXX.cpio文件然后 再 # cpio -idvm < XXXX.cpio
\
创建oracle目录,并授权
mkdir -p /oracle/oracle10g/product/10.2.0/db_1
移动oracle数据库的安装文件到/oracle/oracle10g/database目录中。
mv /oracle/database /oracle/oracle10g
chown -R oracle.oinstall /oracle/oracle10g
chmod -R 755 /oracle/oracle10g
在oracle用户下操作
9、编辑/home/oracle/.bash_profile文件(此处为oracle用户的环境变量),在结尾添加以下内容:
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/oracle/oracle10g; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=ORACLE_HOME/bin ; export PATH
umask 022
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
“orcl”是下步需要创建的实例名。
保存后使用如下命令,使设置生效:
$ source ~/.bash_profile
在root用户下操作
10、编辑/etc/profile文件,在结尾添加以下内容:
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
11、为了让任何用户在任何桌面环境下启动X,执行如下命令
export DISPLAY=:0.0
xhost +
在oracle用户下操作(需安装oracle服务器的本地图形化界面)
12、安装oracle
$ cd /oracle/oracle10g/database
$ source ~/.bash_profile
$ export LANG="en_US.UTF-8"
$ ./runInstaller
\
出现安装界面后,根据界面提示进行相关的设置:
(由于截图是原来的图,实际路径应该是
/oracle/oracle10g/product/10.2.0/db_1),否则返回检查环境变量设置,并从第11步重新开始。
把安装目录改为刚才创建的oracle目录。
DBA用户组选择创建的oinsatll
需要使用root用户权限执行两个脚本。
/oracle/oracle10g/oralnventory/orainstRoot.sh
/oracle/oracle10g/product/10.2.0/db_1/root.sh
安装结束 安装过程错误:
错误情况一
这种错误,一般情况下是安装oracle的依赖包不完全导致的错误。
查询metalink发现对于glibc-devel需要32位的包,详细信息参考metalink文档ID 786995.1
解决方案,强制安装glibc-devel-2.5-42.i386.rpm 这个包,如果产生其他依赖包,则依次强制安装,直到成功为止。****
错误情况二
错误情况三
安装到62%时报下面的错误:
Error in invoking target 'all_no_orcl ihsodbc' of makefile '/oracle/product/10g/rdbms/lib/ins_
rdbms.mk'.See '/oracle/oraInventory/logs/installActions2009-12-01_11-55-10AM.log' for details.
缺少以下包:
compat-libstdc++-33-3.2.3-47.3.i386.rpm
错误情况四:出现ins_emdb.mk错误,可以直接跳过
错误情况五:
ora-27125 unable to create shared memory segment
它影响全局数据库的创建。
解决上述错误的办法是:
cd ORACLE_HOME/bin\
mv oracle oracle.bin\
cat >oracle <<"EOF"\
#!/bin/bash\
export DISABLE_HUGETLBFS=1\
exec ORACLE_HOME/bin/oracle.bin $@
EOF
chmod +x oracle
在root用户下操作
18、编辑/etc/redhat-release,把文件内容改为:
CentOS release 5.5 (Final)
19、编辑/etc/oratab文件,把最后一行包含 instance 的重启动标志设置成 'Y'。
如:orcl:/oracle/oracle10g/product/10.2.0/db_1:Y
20、创建并编辑/etc/init.d/dbora文件,添加如下内容(注意要拷贝完整):
#!/bin/sh
description: Oracle auto start-stop script.
chkconfig: 345 99 10
Set ORA_HOME to be equivalent to the $ORACLE_HOME
from which you wish to execute dbstart and dbshut;
Set ORA_OWNER to the user id of the owner of the
Oracle database in ORA_HOME.
ORA_HOME=/oracle/oracle10g/product/10.2.0/db_1
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
'start')
# Start the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - ORA_HOME/bin/dbstart
su - ORA_HOME/bin/lsnrctl start"
su - ORA_HOME/bin/emctl start dbconsole"
;;
'stop')
# Stop the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - ORA_HOME/bin/emctl stop dbconsole"
su - ORA_HOME/bin/lsnrctl stop"
su - ORA_HOME/bin/dbshut
;;
'restart')
$0 stop
$0 start
;;
esac
21、更改权限
chgrp dba /etc/init.d/dbora
chmod 750 /etc/init.d/dbora
23、指定哪些系统运行级别需要运行oracle数据库设置开机自启动
chkconfig --add dbora
chkconfig --list dbora
chkconfig --list dbora运行结果:
dbora 0:off 1:off 2:off 3:on 4:on 5:on 6:off
检查:
根据上面的运行结果,当相应的运行级别为on时(例如:5:on),在对应的/etc/rc.d/rcN.d(例如:和5:on对应的是:/etc/rc.d/rc5.d)下面会生成一个文件:S99dbora,使用vi S99dbora打开该文件,可以看到该文件的内容和/etc/rc.d/init.d/dbora内容相同,表示配置成功,其实,S99dbora是一个到/etc/rc.d/init.d/dbora的链接,我们可以使用file命令来查看:
$file /etc/rc.d/rc5.d/S99dbora
S99dbora:symbolic link to '../init.d/dbora
一点说明:
脚本文件中的:# chkconfig: 345 99 10
指出3,4,5级别启动这个服务,99是在相应的/etc/rc.d/rcN.d(N为前面指定的级别,这里是345)目录下生成的链接文件的序号(启动优先级别)S99oradbstart,10为在除前面指出的级别对应的/etc/rc.d/rcN.d(N为除345之外的级别)目录生成的链接文件的序号(服务停止的优先级别)K10oradbstart。
24、一般不用这步,如果oracle数据库还是不能随操作系统一起启动,可编辑/etc/rc.local文件,在结尾添加如下内容:
/etc/rc.d/init.d/dbora start
25.改监听文件
Oracle用户下
vim /oracle/oracle10g/product/10.2.0/db_1/bin/dbstart
找到ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
将该行改为export ORACLE_HOME_LISTNER=$ORACLE_HOME
\
然后重启系统 su - oracle
用lsnrctl或者sqlplus查看能否正常进入监听或者数据库
26、在oracle客户端,添加此数据库实例。在DOS窗口执行netca,或在程序目录中找。
27、使用pl/sql创建表空间,执行如下命令,注意'/oracle/oracle10g/oradata/orcl/QAZDB',按照每台服务器实际安装实例的目录。(整段复制过去)
CREATE SMALLFILE TABLESPACE "QAZDB" DATAFILE '/oracle/oracle10g/oradata/orcl/QAZDB' SIZE 400M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;