CentOS 7.6 安装 Oracle 11.2.0.4.0

前言

资料参考:

安装环境:

  • CentOS Linux release 7.6.1810 (Core)
  • 磁盘40G,内存3G
  • Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

一、下载oracle

二、关闭安全措施

1、开放端口

  • oracle默认是1521端口,如果你修改为其它的端口了,这里就要开放对应的端口
#放开1521端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent
#在不改变状态的条件下重新加载防火墙配置文件
firewall-cmd --reload
其他常用命令:
查看防火墙的状态:systemctl status firewalld
启动防火墙服务:systemctl start firewalld
禁用防火墙:systemctl disable firewalld
重载配置文件:firewall-cmd --reload
查看已经开放的端口:firewall-cmd --list-ports
  • 未采用该方案–关闭防火墙:systemctl stop firewalld(由于是测试环境,为了方便,可以将防火墙关闭。但是,在正式的生产环境,千万不要这样做。)

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

selinux提供了很多Linux的系统安全措施,演示系统中,将其关闭,方便操作。需要注意的是,在正式生产环境下,千万不要这样做。
#执行命令getenforce(或者sestatus -v)查看selinux的状态,初始安装的CentOS7是打开状态(Disabled是我已设置过的,并不是初始值)。
[root@ylm-100 oracle]# getenforce
Disabled
#将SELINUX=enforcing修改为SELINUX=disabled
[root@ylm-100 oracle]# vim /etc/selinux/config
#修改了之后需要重启服务器,selinux才能生效(这一步非常重要),重启后可以通过getenforce(或者sestatus -v)命令来查看,值一定要disabled才行。
[root@ylm-100 oracle]# getenforce
Disabled
  • 文件如下
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

三、创建运行oracle数据库的用户和用户组

  • root用户下执行
#创建用户组oinstall
[root@ylm-100 oracle]# groupadd oinstall
#创建用户组dba
[root@ylm-100 oracle]# groupadd dba
#创建oracle用户,并加入到oinstall和dba用户组
#-g<群组>  指定用户所属的群组。
#-G<群组>  指定用户所属的附加群组。
#-m  自动建立用户的登入目录。
[root@ylm-100 oracle]# useradd -g oinstall -G dba -m oracle
#设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
[root@ylm-100 oracle]# passwd oracle
更改用户 oracle 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
## 查看新建的oracle用户
[root@ylm-100 oracle]# id oracle
uid=1001(oracle) gid=1001(oinstall)=1001(oinstall),1002(dba)
[root@ylm-100 oracle]# 
资料参考:在linux上安装oracle时先要创建两个组再创建一个用户的意义

四、修改oracle用户限制

[root@ylm-100 oracle]# vim /etc/security/limits.conf
#第17行开始新增4行配置
#文件如下

#with a user specific setting in the subdirectory.
#
#Each line describes a limit for a user in the form:
#
#<domain>        <type>  <item>  <value>
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
#
#Where:
#<domain> can be:

  • 要使limits.conf文件配置生效,必须要确保pam_limits.so文件被加入到启动文件中。
[root@ylm-100 oracle]# vim /etc/pam.d/login
#第18行新增配置
session    required     pam_limits.so
  • 编辑 /etc/profile ,输入命令:vim /etc/profile,按i键进入编辑模式,将下列内容加入该文件
[root@ylm-100 oracle]# vim /etc/profile
#添加到# Path manipulation上面空行,可输入/加内容搜索位置;位置随意
if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi
资料参考:理解RHEL上安装oracle的配置参数 :/etc/security/limits.conf, /etc/profile, /etc/pam.d/login

五、调整内核参数

[root@ylm-100 oracle]# vim /etc/sysctl.conf
#文件内仅保留以下配置即可

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

#使 /etc/sysctl.conf 更改立即生效,输入sysctl -p(-p:从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载)
[root@ylm-100 oracle]# sysctl -p
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

六、创建数据库软件目录和数据文件存放目录(目录的位置,根据自己的情况来定),并改变相应的权限

mkdir -p /opt/oracle/product    #创建oracle安装目录
mkdir -p /opt/oracle/oradata    #创建oracle数据文件存放目录
mkdir -p /opt/oracle/oraInventory    #创建oracle数据库清单目录 
chown -R oracle:oinstall /opt/oracle    #设置oracle用户为目录的所有者
chmod -R 775 /opt/oracle/    #修改权限

七、配置oracle用户的环境变量

  1. 切换到新创建的oracle用户下:su oracle
  2. 输入命令:vim /opt/oracle/.bash_profile
  3. 按i进入编辑模式,粘贴以下内容
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

#不加下面的3行,我安装的时候界面都是乱码
export NLS_LANG=AMERICAN_AMERICA.UTF8
export LANG=en_US.UTF8
export LC_ALL=C

PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin

export PATH

  1. 使配置生效
[oracle@ylm-100 ~]$ source /opt/oracle/.bash_profile

八、安装Oracle

  1. 使用MobaXterm将oracle安装文件上传到机器上,放到/home/oracle目录下
-rw-r--r--  1 oracle oinstall 1395582860 7月  15 12:20 p13390677_112040_Linux-x86-64_1of7.zip
-rw-r--r--  1 oracle oinstall 1151304589 7月  15 12:28 p13390677_112040_Linux-x86-64_2of7.zip
-rw-r--r--  1 oracle oinstall 1205251894 7月  15 12:29 p13390677_112040_Linux-x86-64_3of7.zip
-rw-r--r--  1 oracle oinstall  656026876 7月  15 12:29 p13390677_112040_Linux-x86-64_4of7.zip
-rw-r--r--  1 oracle oinstall  599170344 7月  15 12:30 p13390677_112040_Linux-x86-64_5of7.zip
-rw-r--r--  1 oracle oinstall  488372844 7月  15 12:31 p13390677_112040_Linux-x86-64_6of7.zip
-rw-r--r--  1 oracle oinstall  119521122 7月  15 12:31 p13390677_112040_Linux-x86-64_7of7.zip
  1. 使用unzip命令解压oracle安装文件;自己玩可能不用解压全部的文件,可深究
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
unzip p13390677_112040_Linux-x86-64_3of7.zip
unzip p13390677_112040_Linux-x86-64_4of7.zip
unzip p13390677_112040_Linux-x86-64_5of7.zip
unzip p13390677_112040_Linux-x86-64_6of7.zip
unzip p13390677_112040_Linux-x86-64_7of7.zip
  1. 全部解压完之后文件如下
[oracle@ylm-100 ~]$ ll
总用量 5483636
drwxr-xr-x  5 oracle oinstall        109 8月  27 2013 client
drwxr-xr-x  7 oracle oinstall        136 8月  27 2013 database
drwxr-xr-x 20 oracle oinstall       4096 8月  27 2013 deinstall
drwxr-xr-x  5 oracle oinstall        109 8月  27 2013 examples
drwxr-xr-x  6 oracle oinstall        123 8月  27 2013 gateways
drwxr-xr-x  7 oracle oinstall        156 8月  27 2013 grid

4.执行安装,进入database目录输入命令./runInstaller

[oracle@ylm-100 ~]$ cd database/
[oracle@ylm-100 database]$ pwd
/home/oracle/database
[oracle@ylm-100 database]$ ./runInstaller

安装Oracle请参考

九、配置监听(若存在默认配置,此步骤可以省略,可检查监听)

  • 先检查监听
  • 若不存在,尝试启动监听
  • 查看监听状态;若状态ok,可不配置监听
#会看到启动成功的界面;
lsnrctl start 

#停止监听器命令.
lsnrctl stop 

#查看监听器命令.
lsnrctl status 
资料参考:oracle 监听启动、停止、查看命令
#查找listener.ora文件,并查看
#当时安装完之后admin目录下并没有该文件,仅samples目录下生成
#所以就执行了配置监听操作
#完了之后LISTENER2(1522)并没有写入samples目下的listener.ora文件,而是写入了admin目录下的listener.ora文件
#且启动监听后仅启动了1521端口,没有启动1522端口;
#经验证,listener.ora和tnsnames.ora文件仅admin目录下生效;与samples目录下文件内容无关,可删除
[root@ylm-100 oracle]# find / -name listener.ora
#以下是全部流程走完的结果
/opt/oracle/product/11.2.0/dbhome_1/network/admin/samples/listener.ora
/opt/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
  • plsql可连接的配置参考1521、1522端口
[oracle@ylm-100 admin]$ cat listener.ora
# listener.ora Network Configuration File: /opt/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

#LISTENER2 =
#  (DESCRIPTION_LIST =
#    (DESCRIPTION =
#      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.92.100)(PORT = 1522))
#      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
#    )
#  )
#
#ADR_BASE_LISTENER2 = /opt/oracle


SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /opt/oracle/product/11.2.0/dbhome_1)
      (SID_NAME = orcl)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.92.100)(PORT = 1521))
      #(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.92.100)(PORT = 1522))
    )
  )

ADR_BASE_LISTENER = /opt/oracle
[oracle@ylm-100 admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /opt/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

LISTENER_ORCL =
  (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.92.100)(PORT = 1521))
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.92.100)(PORT = 1522))
  )


ORCL =
  (DESCRIPTION =
        (ADDRESS_LIST =
                (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.92.100)(PORT = 1521))
                (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.92.100)(PORT = 1522))
        )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

[oracle@ylm-100 admin]$

配置监听请参考

十、创建Oracle数据实例

  • 注意:必须先创建监听,并且监听是启动中,否则报错。

创建Oracle数据实例请参考

十一、数据库创建完毕后,sqlplus连接测试是否创建成功

[oracle@ylm-100 samples]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Jul 15 15:40:16 2020

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select * from dual;

DUM
---
X

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE    11.2.0.4.0      Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

SQL>

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值