Centos7.4安装Oracle 10G数据库

安装前准备

  • 获取软件安装包

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

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

    image.png

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

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

image.png

选择Next

image.png

选择Enterprise Edition表示安装企业版

image.png

选择Next
image.png

选择Next

image.png

选择Yes

image.png

选择Install database Software only 仅安装软件

image.png

选择Install 开始安装

image.png

image.png

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

image.png

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

image.png

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

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

image.png

选择Next

image.png

不勾选

image.png

选择Yes,确认不输入邮箱

image.png

选择Next

image.png

选择Yes

image.png

选择Install,开始安装

image.png

image.png

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

image.png

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

image.png

选择Exit,完成安装

image.png

执行sqlplus -v验证版本

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

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

$ dbca

选择Next

image.png

选择Create a Database,创建数据库

image.png

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

image.png

设定全局数据库名和SID

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png
image.png

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

image.png

是否创建示例用户

image.png

设置内存、SGA和PGA

image.png

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

image.png

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

image.png

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

image.png

安装配置概览

image.png

勾选Create Database,点击Finish

image.png

选择OK,开始创建数据库

image.png

image.png

点击Exit,完成安装

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命令启动监听配置图形界面

image.png

image.png

image.png

image.png

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数据库监听的默认端口

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> 
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容