【DB_Oracle】Centos中安装oracle11g R2

安装包:

  • CentOS-7-x86_64-DVD
  • linux.x64_11gR2_database_1of2.zip
  • linux.x64_11gR2_database_2of2.zip

安装Oracle前准备

1、在桌面单击右键,选择“在终端中打开”,进入终端

输入命令:su

输入ROOT密码:

创建用户组oinstall:groupadd oinstall

创建用户组dba:groupadd dba

创建oracle用户,并加入到oinstall和dba用户组:useradd -g oinstall -g dba -m oracle

设置用户oracle登录密码,需要确认一次,注意两次密码要一样(注意:此处的密码是oracle账户登录密码):passwd oracle

查看新建的oracle用户:id oracle

2、创建oracle数据库安装目录

oracle数据库安装目录:mkdir -p /data/oracle

oracle数据库配置文件目录:mkdir -p /data/oraInventory

oracle数据库软件包解压目录:mkdir -p /data/database

再输入:cd /data

创建完毕检查一下:ls

设置目录所有者为oinstall用户组的oracle用户:chown -R oracle:oinstall /data/oracle

再输入:chown -R oracle:oinstall /data/oraInventory

再输入:chown -R oracle:oinstall /data/database

3、修改os系统标识

因为oracle默认不支持Centos系统安装,需要修改为对应的RedHat版本。

查看当前系统版本:cat /proc/version

输入:vi /etc/redhat-release

将版本改为:redhat-7

4、关闭防火墙

关闭防火墙:systemctl stop firewalld.service

禁止使用防火墙:systemctl disable firewalld.service

5、关闭selinux(需重启生效)

进入编辑状态:vi /etc/selinux/config

将SELINUX的值改为disabled,保存并退出后重启系统生效。

6、修改内核参数

进入编辑状态:vi /etc/sysctl.conf

在最后添加如下代码:

net.ipv4.icmp_echo_ignore_broadcasts = 1

net.ipv4.conf.all.rp_filter = 1

fs.file-max = 6815744

fs.aio-max-nr = 1048576

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

保存并退出。

使配置参数立即生效:sysctl -p

7、对oracle用户设置限制,提高软件运行性能

进入编辑状态:vi /etc/security/limits.conf

找到最后一行# End of file,在它上面空行处添加如下代码:

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

保存并退出。

8、配置用户的环境变量

进入编辑状态:vi /home/oracle/.bash_profile

在最后添加如下代码:

export ORACLE_BASE=/data/oracle #oracle数据库安装目录

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export ORACLE_SID=orcl #oracle启动数据库实例名

export ORACLE_TERM=xterm

export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export LANG=C

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

保存并退出。

使环境变量配置立即生效:source /home/oracle/.bash_profile

9、用ftp 软件将Oracle的两个安装包linux.x64_11gR2_database_1of2.zip和linux.x64_11gR2_database_2of2.zip上传到指定的目录(如/usr/local/src),然后将压缩包解压到同一目录

[oracle@localhost /]$ cd /usr/local/src  #进入到压缩包所在的目录
[oracle@localhost src]$ ls
linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip
[oracle@localhost src]$ unzip linux.x64_11gR2_database_1of2.zip -d /data/database/  #解压
(省略...)
[oracle@localhost src]$ unzip linux.x64_11gR2_database_2of2.zip -d /data/database/  #解压
(省略...)
[oracle@localhost src]$ su root
Password:
[root@localhost src]# chown -R oracle:oinstall /data/database/database/  

自此准备工作完成便可以进行Oracle的安装了

oracle安装

切换至oracle用户:su - oracle

启动oralce安装

到/data/database/database/目录下,执行./runInstaller

会启动图形界面进行安装

  点击下一步

  点击下一步

 实际开发中服务器是无需图形界面的,我们选择服务类安装,下一步

 不需要集群,选择单实例安装,下一步

 下一步

 选择语言,下一步

这里仅需要选择oracle安装的基目录为我们新建的/data/oracle即可,其它目录会跟着变动

 下一步

配置全局实例名

 内存默认就好

 设置Oracle服务端字符编码,此步至关重要(一般设置为:AMERICAN_AMERICA.ZHS16GBK

 这里选择不启用备份

 设置特殊用户的密码

  先决条件检查,缺少依赖包(直接忽略 进行安装)

  待安装完成,会让你以root身份登录终端执行以下脚本,目的是配置监听和本地网络服务。

[root@centos7 oraInventory]# su root
[root@centos7 oraInventory]# cd /data/oraInventory                #oraInventory目录由自己的安装路径来决定
[root@centos7 oraInventory]# sh orainstRoot.sh
[root@centos7 oraInventory]# cd /data/oracle/product/11.2.0/db_1  #db_1目录由自己的安装路径来决定 
[root@centos7 db_1]#
sh root.sh

设置Oracle的监听和实例随 Linux开机自启

第一步:修改/etc/oratab文件

[oracle@localhost ~]$ vim /etc/oratab    //如果没有这个文件,则是因为oracle安装完成的时候忘记执行root.sh文件,找到root.sh执行后就会出现oratab这个文件

第二步:把lsnrctl start和dbstart添加到rc.local文件中: 

 root权限执行 

[root@localhost oracle]# vim /etc/rc.d/rc.local

添加: 

su - oracle -lc "/data/oracle/product/11.2.0/db_1/bin/lsnrctl start"
su - oracle -lc "/data/oracle/product/11.2.0/db_1/bin/dbstart"

 说明:第一行为开机启动数据库监听,第二行为开机启动数据库实例。(路径跟安装路径相关)。 

注意:CentOs7中/etc/rc.d/rc.local不会开机执行,因此需添加执行权限。 

查看/etc/rc.d/rc.local的权限 

[root@localhost oracle]# ll /etc/rc.d/rc.local

 添加执行权限 

[root@localhost oracle]# chmod +x /etc/rc.d/rc.local

 此致Oracle监听和服务开机自启动设置完成。

安装完成后可能出现的问题

问题一:如果使用Navicat Premium软件远程连接不了Centos的Oracle数据库出现:“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”。

解决方案如下

一、修改数据库服务器中listener.ora文件内容

[oracle@localhost admin]$ vi /data/oracle/product/11.2.0/db_1/network/admin/listener.ora

修改为:

# listener.ora Network Configuration File: /data/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
 
 
SID_LIST_LISTENER =
  (SID_LIST =
      (SID_DESC =
         (GLOBAL_DBNAME = orcl)
         (ORACLE_HOME = /data/oracle/product/11.2.0/db_1)
         (SID_NAME = orcl)
      )
   )
LISTENER =
    (DESCRIPTION =
         (ADDRESS =
             (PROTOCOL = TCP)
                (HOST = 192.168.0.102) #这里为centos的ip地址
                (PORT = 1521)
         )
     )
 
ADR_BASE_LISTENER = /data/oracle

二、修改数据库服务器中tnsnames.ora文件内容

命令:

[oracle@localhost admin]$ vi /data/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora

修改为:

# tnsnames.ora Network Configuration File: /data/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
orcl =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.102)(PORT = 1521))  #这里的host为centos的ip地址
    )
    (CONNECT_DATA =
      (SID = orcl)
    )
  )

修改完成,lsnrctl start命令重启监听。

使用Navicat Premium远程连接,测试连接是否成功

 问题二:远程连接oracle数据库出现

ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Process ID: 0
Session ID: 0 Serial number: 0

解决方案

SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.

 参考博文:

1、Centos安装Oracle及问题处理

2、centos7下oracle11g详细的安装与建表操作

3、centos7下安装oracle11gR2的详细步骤

 

原文地址:https://www.cnblogs.com/leiblog/p/13579356.html