在CentOS 7上安装Oracle 11.2.0.3

一些简单的过程就不列在这里了,网上也有很多,这里主要写下遇到的一些问题,以及解决方案

CentOS 7 的环境为

$ uname -a
Linux oracle 3.10.0-123.13.1.el7.x86_64 #1 SMP Tue Dec 9 23:06:09 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
注意安装的时候需要安装一个桌面系统(X-Windows + KDE 或者 Gnome),否则安装程序无法运行。

然后根据需要修改共享内存等等系统参数。这个也不写了,网上有很多。不过据我的测试,CentOS7貌似不需要修改也是可以的,Oracle在进行安装检查的时候没有报告问题(和以前的不一样)。当然为了调优数据库的性能,还是修改的好。


安装gcc,因为后面Oracle link的时候会用到

yum install gcc

安装结果为

gcc --version
gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-16)
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


(这里注意,因为Oracle需要的3.4和安装的4.8的参数的区别,后面link会失败,解决方法见后)


1. 下载,需要下载两个文件

p10404530_112030_Linux-x86-64_1of7.zip

p10404530_112030_Linux-x86-64_2of7.zip

2. 解压缩,把这两个文件解压到同一个目录下

3. 运行installer。中间依赖检查那一步,可以Skip。因为Oracle要检查是否安装了gcc,glibc等等比较老的版本(3.4)

4. 前面一切顺利。到了Link那一步,出错了。Log显示

     error in invoking target 'agent nmhs'

   在网上查到了解决方案:

vi $ORACLE_HOME/sysman/lib/ins_emagent.mk
Search for the line 
$(MK_EMAGENT_NMECTL)
Change it to:
$(MK_EMAGENT_NMECTL) -lnnz11
5. Retry重试。这就OK了。

6. 之后就没啥问题了。正常安装,执行root脚本,等等。

7. 安装后重启服务器。

8. 重启后,检查oracle用户的环境变量:

declare -x ORACLE_HOME="/home/oracle/app/oracle/product/11.2.0/dbhome_1"
declare -x ORACLE_SID="orcl"
9. 进入$ORACLE_HOME/network/admin,检查listener.ora:


[oracle@oracle admin]$ cat listener.ora 
# listener.ora Network Configuration File: /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER = 
(SID_LIST = 
  (SID_DESC = 
    (SID_NAME = orcl)    
    (ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1) 
  ) 
)

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.16.33.212)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /home/oracle/app/oracle

重点检查其中的SID,HOST,PORT,ORACLE_HOME是否正确。如果不正确客户端会报告ERROR-ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务 错误。

如果没有问题,进入$ORACLE_HOME/bin,启动监听器:

[oracle@oracle bin]$ ./lsnrctl

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 16-DEC-2014 11:22:03

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

Welcome to LSNRCTL, type "help" for information.
LSNRCTL> start
Starting /home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...


TNSLSNR for Linux: Version 11.2.0.3.0 - Production
System parameter file is /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Log messages written to /home/oracle/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.16.33.212)(PORT=1521)))


Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.16.33.212)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date                16-DEC-2014 11:22:07
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /home/oracle/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.16.33.212)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
  Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
LSNRCTL> 
启动正常,使用sqlplus启动数据库:

[oracle@oracle bin]$ ./sqlplus '/ as sysdba'
SQL> startup
ORACLE instance started.


Total System Global Area  960372736 bytes
Fixed Size                  2234160 bytes
Variable Size             557844688 bytes
Database Buffers          394264576 bytes
Redo Buffers                6029312 bytes
Database mounted.
Database opened.

10. Centos7自带了SELINUX,关掉

11. Centos7自带了下一代防火墙firewalld,关掉,否则客户端连接过来会报TNS Timeout异常

[root@oracle ~]# service firewalld stop
Redirecting to /bin/systemctl stop  firewalld.service


===============================================

现在其它机器就应该可以正常连接并使用Oracle了。

另:装Oracle最省事的还是在Oracle自己的Enterprise Linux上安装。那些依赖,系统参数,等等等都不需要设置了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值