Centos7.4安装Oracle 10G数据库

安装前准备

  • 获取软件安装包

    建议从官网下载,我这里下载的版本是10.2.0.5.0,包含一个10.2.0.1.0版本包和一个10.2.0.5.0升级包

  • 关闭防火墙
    使用systemctl status firewalld命令查看防火墙状态,下面是开启时的状态

    Centos7.4安装Oracle 10G数据库_第1张图片
    image.png

    使用systemctl stop firewalld命令关闭防火墙,然后再次检验状态

Centos7.4安装Oracle 10G数据库_第2张图片
image.png
  • 禁用Selinux

    selinux的开启包含很多权限方面限制,会给Linux初学者带来不便,建议禁用

    编辑/etc/selinux/config文件SELINUX=enforcing改为SELINUX=disabled,需要重启生效

    sestatus -vgetenforce命令均可查看selinux状态

  • 配置主机名

    编辑/etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.0.2.134 testhost
  • 创建用户和组
groupadd dba
groupadd oinstall
useradd -g oinstall -G dba oracle
passwd oracle
  • 创建安装目录,更改目录权限
mkdir -p /u01/app
chown -R oracle.oinstall /u01/
chmod 775 -R /u01
  • 修改oracle用户限制参数

    /etc/security/limits.conf文件中添加以下内容

oracle  soft    nproc   10240
oracle  hard    nproc   16384
oracle  soft    nofile  10240
oracle  hard    nofile  65536
oracle  soft    memlock -1
oracle  hard    memlock -1
  • 配置共享内存段

    先修改共享内存段配置,在/etc/sysctl.conf文件中添加以下内容,再执行sysctl -p

vi /etc/sysctl.conf
kernel.shmmax = 524288000
kernel.shmall = 128000
# sysctl -p
  • 配置环境变量

    编辑/home/oracle/.bash_profile增加以下内容

export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;
export PATH=$ORACLE_HOME/bin:$PATH;
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32
export ORACLE_SID=myorcl;

然后执行source .bash_profile使环境变量生效

  • yum安装依赖包
yum install -y binutils compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs libstdc++ libstdc++-devel make sysstat xscreensaver
yum install libXp.i686 libXp-devel.i686 libXt.i686 libXt-devel.i686 libXtst.i686 libXtst-devel.i686 make.x86_64 gcc.x86_64 libaio.x86_64 glibc-devel.i686 libgcc.i686 glibc-devel.x86_64 compat-libstdc++-33 -y
yum install glibc* gcc* make* compat-db* libstdc* libXp* libXtst* compat-libstdc++* -y

注意:xscreensaver有可能会安装不成功,会导致无法启动图形界面,可以配置epel 和nux-dextop yum源,再yum安装xscreensaver

开始安装

使用Oracle用户解压安装包,解压完出现database目录和path10205目录

# mv 10.2.0.5.tar.gz /home/oracle
# cd /home/oracle
# chown oracle.oinstall 10.2.0.5.tar.gz
# su - oracle
$ tar -zxvf 10.2.0.5.tar.gz
$ ls
10.2.0.5.tar.gz  database  path10205

配置图形界面(每次退出ssh后重进oracle用户都需要配置一下,DISPLAY变量有可能会变化,有时候是11.0,有时候是12.0)

# export|grep DISPLAY
declare -x DISPLAY="localhost:10.0"
# su - oracle
$ declare -x DISPLAY="localhost:10.0"
$ xhost +
access control disabled, clients can connect from any host

进入database目录并开始安装
cd database && ./runInstaller

选择Advanced Installation

Centos7.4安装Oracle 10G数据库_第3张图片
image.png

选择 Next

Centos7.4安装Oracle 10G数据库_第4张图片
image.png

选择 Enterprise Edition表示安装企业版

Centos7.4安装Oracle 10G数据库_第5张图片
image.png

选择 Next
Centos7.4安装Oracle 10G数据库_第6张图片
image.png

选择 Next

Centos7.4安装Oracle 10G数据库_第7张图片
image.png

选择 Yes

Centos7.4安装Oracle 10G数据库_第8张图片
image.png

选择Install database Software only 仅安装软件

Centos7.4安装Oracle 10G数据库_第9张图片
image.png

选择Install 开始安装

Centos7.4安装Oracle 10G数据库_第10张图片
image.png

Centos7.4安装Oracle 10G数据库_第11张图片
image.png

选择 Continue忽略报错(连续出现两个)

Centos7.4安装Oracle 10G数据库_第12张图片
image.png

根据提示使用root用户执行上图中的两个脚本,然后选择OK

Centos7.4安装Oracle 10G数据库_第13张图片
image.png

点击Exit然后点Yes确认完成Oracle软件安装

Centos7.4安装Oracle 10G数据库_第14张图片
image.png

执行sqlplus -V验证数据库版本,此时版本为10.2.0.1.0

$ sqlplus -V

SQL*Plus: Release 10.2.0.1.0 - Production

接下来安装10.2.0.5.0升级包,就是之前解压生成的path10205目录

$ ~/path10205/runInstaller

选择Next

Centos7.4安装Oracle 10G数据库_第15张图片
image.png

选择Next

Centos7.4安装Oracle 10G数据库_第16张图片
image.png

不勾选

Centos7.4安装Oracle 10G数据库_第17张图片
image.png

选择Yes,确认不输入邮箱

Centos7.4安装Oracle 10G数据库_第18张图片
image.png

选择Next

Centos7.4安装Oracle 10G数据库_第19张图片
image.png

选择Yes

Centos7.4安装Oracle 10G数据库_第20张图片
image.png

选择Install,开始安装

Centos7.4安装Oracle 10G数据库_第21张图片
image.png

Centos7.4安装Oracle 10G数据库_第22张图片
image.png

选择Continue,忽略报错(会出现两次不同)

Centos7.4安装Oracle 10G数据库_第23张图片
image.png

按照提示使用root用户执行脚本,执行完成后选择OK

Centos7.4安装Oracle 10G数据库_第24张图片
image.png

选择Exit,完成安装

Centos7.4安装Oracle 10G数据库_第25张图片
image.png

执行 sqlplus -v验证版本

$ sqlplus -v
SQL*Plus: Release 10.2.0.5.0 - Production

然后执行dbca命令进入建库图形界面

$ dbca

选择Next

Centos7.4安装Oracle 10G数据库_第26张图片
image.png

选择Create a Database,创建数据库

Centos7.4安装Oracle 10G数据库_第27张图片
image.png

选择General Purpose,表示通用目的,Data Warehouse表示数据仓库,Transaction Processing表示在线事物处理

Centos7.4安装Oracle 10G数据库_第28张图片
image.png

设定全局数据库名和SID

Centos7.4安装Oracle 10G数据库_第29张图片
image.png

一般不配置EM(Enterprise Manager),EM是一种基于网页的数据库管理工具,配置的话会比较慢

Centos7.4安装Oracle 10G数据库_第30张图片
image.png

设定系统用户的密码,方便起见,这里选择全部设为相同

Centos7.4安装Oracle 10G数据库_第31张图片
image.png

一般选择使用文件系统存放数据库,也可以使用ASM或RAW设备,需要额外配置

Centos7.4安装Oracle 10G数据库_第32张图片
image.png

选择数据文件存放的位置,点击Browse,然后选择目录

Centos7.4安装Oracle 10G数据库_第33张图片
image.png

这里使用/u01/app/oracle/oradata,改文件夹必须为Oracle用户所有

Centos7.4安装Oracle 10G数据库_第34张图片
image.png
Centos7.4安装Oracle 10G数据库_第35张图片
image.png

选择是否启用FRA,快速恢复区,是否启用归档,可自由选择

Centos7.4安装Oracle 10G数据库_第36张图片
image.png

是否创建示例用户

Centos7.4安装Oracle 10G数据库_第37张图片
image.png

设置内存、SGA和PGA

Centos7.4安装Oracle 10G数据库_第38张图片
image.png

设置块大小、进程限制参数

Centos7.4安装Oracle 10G数据库_第39张图片
image.png

选择字符集(根据实际需求选择、选定后无法更改

Centos7.4安装Oracle 10G数据库_第40张图片
image.png

默认连接模式(共享或专有)

Centos7.4安装Oracle 10G数据库_第41张图片
image.png

安装配置概览

Centos7.4安装Oracle 10G数据库_第42张图片
image.png

勾选Create Database,点击Finish

Centos7.4安装Oracle 10G数据库_第43张图片
image.png

选择OK,开始创建数据库

Centos7.4安装Oracle 10G数据库_第44张图片
image.png

Centos7.4安装Oracle 10G数据库_第45张图片
image.png

点击Exit,完成安装

Centos7.4安装Oracle 10G数据库_第46张图片
image.png

登陆验证

$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Mon Aug 19 06:59:20 2019

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.


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

SQL>select status from v$instance;

STATUS
------------
OPEN

打补丁

安装完成后,打补丁(补丁号:7612454,自行上网搜索)

配置监听

用oracle用户执行netca命令启动监听配置图形界面

Centos7.4安装Oracle 10G数据库_第47张图片
image.png

Centos7.4安装Oracle 10G数据库_第48张图片
image.png

Centos7.4安装Oracle 10G数据库_第49张图片
image.png

Centos7.4安装Oracle 10G数据库_第50张图片
image.png

Centos7.4安装Oracle 10G数据库_第51张图片
image.png

lsnrctl status查看监听状态

$ lsnrctl status

LSNRCTL for Linux: Version 10.2.0.5.0 - Production on 19-AUG-2019 22:20:53

Copyright (c) 1991, 2010, 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 10.2.0.5.0 - Production
Start Date                19-AUG-2019 22:08:18
Uptime                    0 days 0 hr. 12 min. 35 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
Services Summary...
Service "myorcl" has 1 instance(s).
  Instance "myorcl", status READY, has 1 handler(s) for this service...
Service "myorclXDB" has 1 instance(s).
  Instance "myorcl", status READY, has 1 handler(s) for this service...
Service "myorcl_XPT" has 1 instance(s).
  Instance "myorcl", status READY, has 1 handler(s) for this service...
The command completed successfully

Sql developer验证远程连接,密码为创建数据库时设置的所有用户的统一密码,sys用户需要使用sysdba角色,普通用户角色选默认值,端口号为1521,是Oracle数据库监听的默认端口

Centos7.4安装Oracle 10G数据库_第52张图片
image.png

内存优化配置

操作系统使用大页内存功能可以减少内存管理带来的额外开销

查看当前大页内存的参数设置和使用情况

# cat /proc/sys/vm/nr_hugepages
0
# cat /proc/meminfo |grep Hu
AnonHugePages:      6144 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

设置大页内存,在/etc/sysctl.conf文件中添加以下内容

vm.hr_hugepages=203

至于参数值的选取,可以使用以下shell脚本来决定一个合适的值

#!/bin/bash
#
# hugepages_settings.sh
#
# Linux bash script to compute values for the
# recommended HugePages/HugeTLB configuration
#
# Note: This script does calculation for all shared memory
# segments available when the script is run, no matter it
# is an Oracle RDBMS shared memory segment or not.
# Check for the kernel version
KERN=`uname -r | awk -F. '{ printf("%d.%d\n",$1,$2); }'`
# Find out the HugePage size
HPG_SZ=`grep Hugepagesize /proc/meminfo | awk {'print $2'}`
# Start from 1 pages to be on the safe side and guarantee 1 free HugePage
NUM_PG=1
# Cumulative number of pages required to handle the running shared memory segments
for SEG_BYTES in `ipcs -m | awk {'print $5'} | grep "[0-9][0-9]*"`
do
MIN_PG=`echo "$SEG_BYTES/($HPG_SZ*1024)" | bc -q`
if [ $MIN_PG -gt 0 ]; then
NUM_PG=`echo "$NUM_PG+$MIN_PG+1" | bc -q`
fi
done
# Finish with results
case $KERN in
'2.4') HUGETLB_POOL=`echo "$NUM_PG*$HPG_SZ/1024" | bc -q`;
echo "Recommended setting: vm.hugetlb_pool = $HUGETLB_POOL" ;;
'2.6' | '3.8' | '3.10' | '4.1' ) echo "Recommended setting: vm.nr_hugepages = $NUM_PG" ;;
*) echo "Unrecognized kernel version $KERN. Exiting." ;;
esac
# End

注意:有可能找不到bc命令,执行yum install bc即可

先关闭数据库,再执行sysctl -p使配置生效,再启动数据库

$ sqlplus / as sysdba
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

[root@localhost ~]# sysctl -p
kernel.shmmax = 524288000
kernel.shmall = 128000
vm.nr_hugepages = 203

[root@localhost ~]# cat /proc/meminfo|grep Hu
AnonHugePages:         0 kB
HugePages_Total:     202
HugePages_Free:       15
HugePages_Rsvd:       14
HugePages_Surp:        0
Hugepagesize:       2048 kB

SQL> startup
ORACLE instance started.

Total System Global Area  419430400 bytes
Fixed Size          2096728 bytes
Variable Size         155189672 bytes
Database Buffers      255852544 bytes
Redo Buffers            6291456 bytes
Database mounted.
Database opened.
SQL> 

你可能感兴趣的:(Centos7.4安装Oracle 10G数据库)