Centos7.6 安装 Oracle 11g

一、 环境准备
操作系统:CentOS Linux release 7.6.1810 (Core)
数据库版本:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0

数据库安装包:
p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
PL/SQL

注意:
Oracle 官网目前只能下载到 11.2.0.1 的安装包,所以本文档的安装包请大家搜索找资源下载。
关闭防火墙和selinux
systemctl status firewalld
systemctl disable firewalld
systemctl disable firewalld
#firewall-cmd --zone=public --add-port=1521/tcp --permanent #如果打开防火墙的话,需放开Oracle1521端口
#firewall-cmd --reload #增加新的配置需重新加载
sed -i ‘s#SELINUX=.*#SELINUX=disabled#g‘ /etc/selinux/config
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config grep SELINUX=disabled /etc/selinux/config
setenforce 0
getenforce
二、 操作系统配置
在Root用户下执行以下步骤:
1)修改用户的 SHELL 的限制(资源限制),修改 /etc/security/limits.conf 文件
$ vim /etc/security/limits.conf
按i键进入编辑模式,将下列内容加入该文件:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
编辑完成后按Esc键,输入“:wq”存盘退出

2)修改 /etc/pam.d/login 文件
输入命令:

$ vim /etc/pam.d/login
按i键进入编辑模式,将下列内容加入该文件:

session required /lib/security/pam_limits.so
session required pam_limits.so

编辑完成后按Esc键,输入“:wq”存盘退出
3)修改 linux 内核,修改 /etc/sysctl.conf 文件
输入命令:
$ vim /etc/sysctl.conf
按i键进入编辑模式,将下列内容加入该文件

该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件的数量

fs.file-max = 6815744

此参数限制并发未完成的请求,应该设置避免I/O子系统故障

fs.aio-max-nr = 1048576

可以使用的共享内存的总页数

kernel.shmall = 2097152

单个共享内存段的最大值(不能超过自己的内存大小,这里设置的值为2G)

kernel.shmmax = 2147483648

该参数是共享内存段的最大数量,建议用缺省值4096

kernel.shmmni = 4096
kernel.sem = 250 32000 100 128

IP4的端口可使用范围

net.ipv4.ip_local_port_range = 9000 65500

套接字接收缓冲区大小的缺省值

net.core.rmem_default = 4194304

套接字接收缓冲区大小的最大值

net.core.rmem_max = 4194304

套接字发送缓冲区大小的缺省值

net.core.wmem_default = 262144

套接字发送缓冲区大小的最大值

net.core.wmem_max = 1048576
编辑完成后按Esc键,输入“:wq”存盘退出
4)要使 /etc/sysctl.conf更改立即生效,执行以下命令
输入
$ sysctl -p
显示如下:

linux:~ $ sysctl -p
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 = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
5)编辑 /etc/profile
输入命令:
$ vim /etc/profile
按i键进入编辑模式,将下列内容加入该文件

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
编辑完成后按 Esc 键,输入“:wq”存盘退出
6)创建相关用户和组,作为软件安装和支持组的拥有者
创建Oracle用户和密码,输入命令:
$groupadd oinstall
$groupadd bda
$ useradd -g oinstall -g dba -m oracle
$ passwd oracle
然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认。
创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到 oracle 用户下,输入命令

$ mkdir /home/oracle/app
$ mkdir /home/oracle/app/oracle
$ mkdir /home/oracle/app/oradata
$ mkdir /home/oracle/app/oracle/product
8)更改目录属主为Oracle用户所有,输入命令
$ chown -Rf oracle:oinstall /home/oracle/app
9)配置 oracle 用户的环境变量,首先,切换到新创建的 oracle 用户下,
输入:
$ su - oracle
然后直接在输入:
$ vim .bash_profile
按i编辑 .bash_profile,进入编辑模式,增加以下内容:
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

编辑完成后按 Esc 键,输入“:wq”存盘退出。
$ source .bash_profile
说明:这里指定的 ORACLE_SID 为数据库实例名
配置主机名监听
  增加主机名,若不执行此步,则配置监听时会出错,系统无法识别监听。
hostnamectl set-hostname oracle
cat /etc/sysconfig/network

Created by anaconda

hostname=oracle
cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 oracle
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

10.10.16.245 oracle

安装相关依赖包
  安装系统依赖包,这一步也是最关键出错的地方,所以一定要注意:
yum -y install binutils- compat-libcap1- gcc- gcc-c++- glibc- glibc-devel- glibc-headers- libstdc elfutils-libelf-devel libaio-devel unixODBC- pdksh- libaio- libgcc- libXi- libXtst- make- sysstat- ld-linux.so.2 libc.so.6*
wget ftp://ftp.icm.edu.pl/vol/rzm3/linux-redhat/linux/6.1/en/os/i386/RedHat/RPMS/pdksh-5.2.14-1.i386.rpm #默认pdksh会无法安装,使用rpm安装
rpm -ivh pdksh-5.2.14-1.i386.rpm
三、 安装 Oracle

步骤一:当上述系统要求操作全部完成后,注销系统,在图形界面以 Oracle 用户登陆。首先将下载的 Oracle 安装包 使用 FTP 发送到 Linux系统中。
运行 unzip 命令解压 oracle 安装文件,输入命令:

$ unzip linux.x64_11gR2_database_1of2.zip
$ unzip linux.x64_11gR2_database_2of2.zip
解压完成后 cd 进入其解压后的目录 database 使用 ls 命令可以查看解压后 database 所包含的文件:

$ ls

步骤二:Xmanager 配置远程图形化
使用 XShell 建立连接时,设置连接属性,在 SSH --> tunneling 选项下勾选 Forward X11 connections to: Xmanager。

Centos7.6 安装 Oracle 11g
注意:登陆用户名为 oracle
设置 display 变量,设置的 IP 为安装 xmanager 的客户端IP
$ export DISPLAY=192.168.1.226:0.0
执行安装,输入命令:
$ ./runInstaller
取消勾选,下一步:
Centos7.6 安装 Oracle 11g
Skip software updates:
Centos7.6 安装 Oracle 11g
Install database software only(软件和创建数据库分开安装)
Centos7.6 安装 Oracle 11g
Single Instance database installation(单实例数据库安装)
Centos7.6 安装 Oracle 11g
添加语言:简体中文
Centos7.6 安装 Oracle 11g
选择 Enterprise Edtion(企业版)
Centos7.6 安装 Oracle 11g
Oracle会根据环境变量自动选择设置好的安装路径,直接下一步即可:
Centos7.6 安装 Oracle 11g
Centos7.6 安装 Oracle 11g
Centos7.6 安装 Oracle 11g
装到这一步,可以看到,可以查看到有很多的 rpm 包没有,我们可以从安装 linux 的光盘或ISO中(或去linux_oracle11g_Package)查找所缺的包,使用 ftp上传到linux中,然后使用 rpm –ivh xxx.rpm --nodeps --force 来进行安装(其中加上–nodeps – force 代表强制安装,是在直接使用 rpm –ivh xxx.rpm 安装不成功的情况下用的)等到把包全部都安装好的情况下,再次在 oracle 图形界面中,执行安装过程2,下来在环境检查过程中,就通过了

镜像文件挂,如/mnt:
$ mount -o loop CentOS-7-x86_64-DVD-1708.iso /mnt/
$ cd /mnt/Packages
$ rpm -ivh libtool-ltdl-2.4.2-22.el7_3.x86_64.rpm --nodeps --force

Centos7.6 安装 Oracle 11g
件安装到最后一步,会跳出如下执行脚本的提示:
打开一个终端,使用root登录,执行要求执行的脚本。执行完毕后在图形界面点OK
$ cd /home/oracle/app/oracle/product/11.2.0/dbhome_1
$ ./root.sh
$ /home/oracle/oraInventory
$ ./orainstRoot.sh
四、 数据库建库
还是在oracle用户的图形界面oracle用户中,新开启一个终端,直接输入命令dbca会弹出如下界面。我们这里采用定制数据库
$ dbca
Centos7.6 安装 Oracle 11g
Centos7.6 安装 Oracle 11g
据环境变量中设置的 ORACLE_SID 设置数据库名称和SID,这里设置的是:orcl
Centos7.6 安装 Oracle 11g
Centos7.6 安装 Oracle 11g
选择所有用户设置相同密码(正式业务中请为这些用户分别设置密码)
Centos7.6 安装 Oracle 11g
Centos7.6 安装 Oracle 11g
Centos7.6 安装 Oracle 11g
Centos7.6 安装 Oracle 11g
Centos7.6 安装 Oracle 11g
五、 配置监听及本地服务
步骤一:在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令 netca 会弹出如下界面
$ netca
Centos7.6 安装 Oracle 11g
步骤二:创建监听服务(充当oracle服务器,让别的oracle客户端连接本oracle服务器)
Centos7.6 安装 Oracle 11g
Centos7.6 安装 Oracle 11g
Centos7.6 安装 Oracle 11g
Centos7.6 安装 Oracle 11g
Centos7.6 安装 Oracle 11g
Centos7.6 安装 Oracle 11g
Centos7.6 安装 Oracle 11g
Centos7.6 安装 Oracle 11g
这样oracle服务器安装配置基本就完成了
$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 24-NOV-2019 18:29:00

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
STATUS of the LISTENER

Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 24-NOV-2019 17:21:47
Uptime 0 days 1 hr. 7 min. 13 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/diag/tnslsnr/localhost/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Servimces Summary...
Servimce "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this servimce...
Servimce "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this servimce...
The command completed successfully
查看数据库状态:
$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Sun Nov 24 18:30:28 2019

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 status from v$instance;

STATUS

OPEN

SQL> select open_mode from v$database;

OPEN_MODE

READ WRITE
六、 初始化数据库
测试plsql登录:
Centos7.6 安装 Oracle 11g
创建表空间:

create tablespace rdc
logging
datafile ‘/home/oracle/app/oradata/orcl/rdc.dbf‘
size 1112m
autoextend on
next 64m
extent management local;
创建普通用户:

-- Create the user
create user tom_jk
identified by "123456"
default tablespace rdc
temporary tablespace TEMP
profile DEFAULT;
-- Grant/Revoke role privimleges
grant connect to tom_jk;
grant dba to tom_jk;
-- Grant/Revoke system privimleges
grant unlimited tablespace to tom_jk;
切换到普通用户,导入数据:
Centos7.6 安装 Oracle 11g
到此,我们完成整个数据库的搭建。

相关推荐