本文不仅记录了CentOS 6.5 32 位下安装Oracle 11g 32位的详细过程,也介绍了jdk,虚拟机,ssh等的安装过程,对Oracle安装过程中的报错:ORA-00119、TNS-12545,TNS-12560,TNS-00515、68%进度报错给出了解决方法
一. 虚拟机安装
VBOX磁盘分配固定大小:40G
有疑问的可以访问这个链接:http://www.myhack58.com/Article/sort099/sort0102/2013/39270_3.htm
二. 网络设置
vi/etc/sysconfig/network-scripts/ifcfg-eth0
将 ONBOOT="no" 改为 ONBOOT="yes"
保存后: service network restart
查看IP: ifconfig
三. SSH服务器端安装
yum install ssh
service sshd start
四. JDK安装
ubuntuJDK安装:
1.从Oracle上下载jdk-6u45-linux-x64.bin
下载文件:jdk-6u45-linux-x64.bin
2.将jdk-6u45-linux-x64.bin拷贝到/usr/java里面3进入/usr/java目录,修改jdk-6u45-linux-x64.bin的可执行权限chmodu+x jdk-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin进行安装
5.进入/etc/profile,进行环境变量配置
6.设置环境变量,在最后添加如下几行
export JAVA_HOME=/usr/java/jdk1.6.0_45
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
Centos JDK安装
系统环境:centos-6.5
安装方式:rpm安装
软件:jdk-7-linux-i586.rpm
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
检验系统原版本
[root@localhost ~]# java -version
java version "1.7.0_24"OpenJDK Runtime Environment (build1.7.0_24-b18)
OpenJDK HotSpot(TM) Client VM(build 24.45-b08, mixed mode, sharing)
进一步查看JDK信息:
[root@localhost ~]# rpm -qa | grep java
tzdata-java-2012c-1.el6.noarchjava-1.7.0-openjdk-1.7.0.45-1.45.1.11.1.el6.x86_64
卸载OpenJDK,执行以下操作:
[root@localhost ~]# rpm -e --nodeps tzdata-java-2012c-1.el6.noarch
[root@localhost ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-1.45.1.11.1.el6.x86_64
安装JDK
上传新的jdk-7-linux-i586.rpm软件到/usr/local/执行以下操作:
[root@localhost ckb]# rpm -ivh jdk-7-linux-i586.rpm
JDK默认安装在/usr/java中。
验证安装
执行以下操作,查看信息是否正常:
[root@localhost bin]# java
[root@localhost bin]# javac
[root@localhost bin]# java -version
java version"1.7.0_45"
Java(TM) SERuntime Environment (build 1.7.0_45-b18)
JavaHotSpot(TM) Client VM (build 24.45-b08, mixed mode, sharing)
配置环境变量
我的机器安装完jdk-7-linux-i586.rpm后不用配置环境变量也可以正常执行javac、java –version操作,因此我没有进行JDK环境变量的配置。但是为了以后的不适之需,这里还是记录一下怎么进行配置,操作如下:
修改系统环境变量文件
vi + /etc/profile
向文件里面追加以下内容:
JAVA_HOME=/usr/java/jdk1.7.0_45
JRE_HOME=/usr/java/jdk1.7.0_45/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
使修改生效
[root@localhost ~]# source /etc/profile //使修改立即生效
[root@localhost ~]# echo $PATH //查看PATH值
查看系统环境状态
[root@localhost ~]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/java/jdk1.7.0_45/bin:
/usr/java/jdk1.7.0_45/jre/bin:/home/ckb/bin
五. 安装Oracle数据库
安装依赖包:
64位Oracle:
yum -y install gcc gcc-c++ make binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel
yum -y install libaio libaio-devel libgcc libstdc++ libstdc++-devel unixODBC unixODBC-devel
32位Oracle
yum -y 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 sysstat
最后还需要安装libXp这个Library,这个一定要安装,否则安装Oracle时会出现java Exception。
yum install libXp
创建用户和组
sysctl -p
groupadd -g 200 oinstall
groupadd -g 201 dba
useradd -u 440 -g oinstall -G dba oracle
passwd oracle
修改内核参数
[root@oracledb ~]# vi /etc/sysctl.conf 末尾添加如下
<pre name="code" class="plain">net.ipv4.ip_local_port_range= 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576
修改系统资源限制
[root@oracledb ~]# vi /etc/security/limits.conf #末尾添加如下
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
[root@oracledb ~]# vi /etc/pam.d/login
session required pam_namespace.so #下面添加一条pam_limits.so
session required pam_limits.so
</pre><pre name="code" class="plain">[root@oracledb ~]# vi/etc/profile
if [ "$USER" = "oracle"];then
if [ "$SHELL" = "/bin/ksh" ]; then
ulimit -p16384
ulimit -n65536
else
ulimit -u16384 -n 65536
fi
fi
创建安装目录及设置权限
[root@oracledb ~]mkdir /opt/oracle/
mkdir /opt/oracle/app/
mkdir /opt/oracle/oradata/
chmod 755 /opt/oracle/
chmod 775 /opt/oracle/app/
chown oracle.oinstall -R /opt/oracle/
设置oracle环境变量
[oracle@oracledb ~]$ vi ~/.bash_profile
export ORACLE_BASE=/opt/oracle/app
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_PID=orcl
export ORACLE_SID=orcl
[oracle@oracledb ~]$ source .bash_profile #立即生效
补装依赖包:
幅值extra 到centos,从中安装:
yum –y install libaioyum –y install libaio-develyum –y install libgccyum –y install libstdc++yum –y install sysstatyum –y install unixODBCyum –y install unixODBC-develyum –y install compat-libstdc++-33-3.2.3-47.3.i386.rpmyum –y install compat-libstdc++-33-3.2.3-47.3.x86_64.rpmyum –y install pdksh-5.2.14-6.x86_64.rpm(32位安装i386)yum -y install tigervnc-server
防火墙配置:
/etc/init.d/iptables status
会得到一系列信息,说明防火墙开着。
关闭防火墙:
/etc/init.d/iptables stop
永久关闭:
chkconfig --level 35 iptables off
Xming配置:
先要安装vnc
启动:vncserver
Cmd: Xming.exe :0 -clipboard -multiwindow -ac
重启虚拟机,即可在runInstall的时候,通过屏幕的检查
yum –y install xhost
yum –y install xclock
虚拟机网络模式:host-only
更改本机IP,与虚拟机一个网段
如此则可以进行Oracle数据库的安装:
将Oracle安装文件放在/media/ 下。
[root@oracledb~]# unzip /media/linux.x64_11gR2_database_1of2.zip
[root@oracledb~]# unzip /media/linux.x64_11gR2_database_2of2.zip
图形化界面的安装过程可以参考:
http://www.21ops.com/linux/7296.html/comment-page-1
#安装完成后,会出来一个对话框,提示使用root用户执行这两个脚本
[root@oracledb ~]$ /opt/oracle/oraInventory/orainstRoot.sh
[root@oracledb ~]$ /opt/oracle/app/product/11.2.0/dbhome_1/root.sh
报错解决方法:安装32位oracle报错:
当安装进度到68%时候,提示出错:Errorin invoking target 'mkldflags ntcontab.o nnfgt.o' of makefile'.../ins_net_client.mk'
解决办法:http://blog.csdn.net/paullmq/article/details/8568604
远程访问地址:https://localhost:1158/em
远程访问地址:localhost改为ip并且关闭防火墙
web远程访问&服务自启动设置:
登录到CentOS,切换到oracle用户权限
# su – oracle
接着输入:
$ sqlplus "/as sysdba"
原本的画面会变为:
SQL>
接着请输入
SQL> startup
就可以正常的启动数据库了。
另外停止数据库的指令如下:
SQL> shutdown immediate
检查Oracle DB监听器是否正常
回到终端机模式,输入:
$ lsnrctl status
检查看看监听器是否有启动
如果没有启动,可以输入:
$ lsnrctl start
启动监听器
SQL> connsys@orcl as sysdba
然后输入密码,sys以sysdba身份登入数据库。
启动emctl
另外也可以发现http://localhost.localdomain:1158/em目前是没有反应的,这边要另外启动,启动的指令如下:
$ emctl startdbconsole
这个指令运行时间较长,执行完的画面如下:
手动启动 Oracle 数据库完毕.
本人在做完镜像后,把镜像迁移到了openstack中,数据库启动报错:
数据库启动报错:ORA-00119
解决办法:修改 /etc/hosts, 在最后增加一项,本机 ip ,计算机名称启动监听报错:
TNS-12545,TNS-12560,TNS-00515
解决办法:修改: /opt/oracle/app/product/11.2.0/dbhome_1/network/admin/下的tnsname.ora和listener.ora,文件中HOST为本机主机名
emctl start dbconsole
数据库实例未注册到listener:
解决办法:http://www.ha97.com/4788.html
注:这篇安装教程中提到的extra文件夹中的rpm包,是那些不能上网自动安装的rpm包,已经下好,并打包到CSDN提供下载。本文的word版本,oracle官方安装教程也包括在该下载资源中:
http://download.csdn.net/detail/chenxh266/8022893
注:
1. 如果想通过远程windows系统,用pl/sql工具连接centos系统下的oracle,在windows下的终端中,需要达到如下效果:
sqlplus username/password@IP/service_name
2. 因为本镜像在实际应用中需要在云平台中迁移,每次迁移之后,都会出现问题,所以每次迁移之后需要修改如下信息:
首先:
vim /etc/hosts
在该文件最后一行增加:
本机IP 本机hostname
然后:
cd $ORACLE_HOME/network/admin
vim tnsnames.ora
修改其中的host 为本机的hostname
开启自启动的实现方法:
a. 设置oracle为开机自启动:
# vi /etc/oratab
应该在最后几行,有几行代码,以已有实例名称开头,以N结尾,把N改成Y,更改后如下:
orcl:/opt/oracle/app/product/11.2.0/dbhome_1:Y
cxhtest:/opt/oracle/app/product/11.2.0/dbhome_1:Y
test:/opt/oracle/app/product/11.2.0/dbhome_1:Y
b. 开机启动监听以及服务:
# vi /etc/rc.local
增加:
#!/bin/sh
su - oracle -c "lsnrctl start"
su - oracle -c "dbstart"