前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle Linux6.9下安装Oracle 11.2.0.4.0及psu补丁升级

Oracle Linux6.9下安装Oracle 11.2.0.4.0及psu补丁升级

作者头像
loong576
修改2019-10-23 12:52:19
2.3K0
修改2019-10-23 12:52:19
举报
文章被收录于专栏:运维ABC运维ABC

为方便截图,本文操作都在vmware虚拟机上完成。

目录:

1.操作系统安装

2.数据库安装

3.PSU补丁升级卸载

part1 操作系统安装

Oracle (Enterprise) Linux 是一个基于 Red Hat Enterprise Linux 源码构建的 Linux 发行版,由 Oracle 公司打包并免费分发。相较于后者,Oracle 对内核等组件进行了修改,并包含了一些新的特性。下载地址:V860937-01.iso

新建虚拟机,开始安装orace linux6.9

选择第一项

跳过检测

next

选择安装时的语言,下一步

下一步

下一步

选择忽略所有数据

自定义主机名

编辑网络参数,设置ip等信息

选择时区,去除UTC时间,下一步

输入密码,忽略告警,下一步

选择创建自定义布局,下一步

虚拟机添加了两块盘,sda用于系统分区,sdb用于数据分区

选择驱动器并创建标准分区

boot分区500M

创建物理卷sda2

使用全部剩余空间

pv sd2创建完成,准备创建卷组和逻辑卷

新建vg,名称为system,PE选择默认的4M(PE越小硬盘利于率越高),此时vg最大大小为256G(每个vg块的PE最大数量是65534,4M*65534=256G),可根据实际情况选择PE大小;逻辑卷大小可根据实际情况赋值;swap也位于逻辑卷中以方便扩容;由于虚拟机内存是2G,此时swap设置为4G,对于虚拟内存设置,有个参考:

代码语言:txt
复制
4G以内的物理内存,SWAP 设置为内存的2倍;
4-8G的物理内存,SWAP 等于内存大小;
8-64G 的物理内存,SWAP 设置为8G;
64-256G物理内存,SWAP 设置为16G。

swap不是越大越好,随着 RAM 数量的增加,超过某一点增加更多交换空间只会导致在交换空间几乎被全部使用之前就发生频繁交换。

同理在另一块盘sdb上新建pv sdb1、vg data和逻辑卷,逻辑卷oracle用于安装数据库软件,orasvr用于存放数据库文件。

分区总览,下一步

选择‘格式化’

选择‘将修改写入磁盘’

下一步

选择‘Database Server’和‘Oracle Linux Server’

启动安装

完成安装,重新引导

进入系统

part2 数据库安装

系统环境参数配置

1.安装依赖包

由于生产上很多时候服务器是连不了外网的,所以本文的yum源选择本地源

挂载光盘,制作本地yum源

代码语言:txt
复制
[root@linux-oracle6 ~]# mount /dev/cdrom /mnt
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@linux-oracle6 ~]# cd /etc/yum.repos.d/
[root@linux-oracle6 yum.repos.d]# mv public-yum-ol6.repo public-yum-ol6.repo.bak

新建源文件cdrom.repo

代码语言:txt
复制
[root@linux-oracle6 yum.repos.d]# more cdrom.repo 
[CDROM]
name=isofile
baseurl=file:///mnt
enabled=1
gpgcheck=0
gpgkey=file:///mnt/RPM-GPG-KEY-oracle

清理过期缓存,新建缓存

代码语言:txt
复制
[root@linux-oracle6 yum.repos.d]# yum clean all
[root@linux-oracle6 yum.repos.d]# yum makecache

安装依赖包:

代码语言:txt
复制
[root@linux-oracle6 ~]# yum -y install compat-libcap1 compat-libstdc++-33-3.2.3 libstdc++-devel-4.4.4 gcc gcc-c++ ksh libaio-devel

2.新建用户组

代码语言:txt
复制
[root@linux-oracle6 ~]# groupadd -g 511 oinstall
[root@linux-oracle6 ~]# groupadd -g 510 dba
[root@linux-oracle6 ~]# useradd -u 2000 -g 511 -d /oracle oracle

由于/oracle已经存在,会有告警信息

代码语言:txt
复制
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。

且切换至oracle用户时提示符异常:

代码语言:txt
复制
[root@linux-oracle6 oracle]# su - oracle
-bash-4.1$

解决该问题可从/etc/skel复制文件即可

代码语言:txt
复制
[root@linux-oracle6 oracle]# cp /etc/skel/.* /oracle

更改oracle用户密码

代码语言:txt
复制
[root@linux-oracle6 oracle]# passwd oracle

3.修改oracle用户资源使用限制

代码语言:txt
复制
[root@linux-oracle6 ~]# more /etc/security/limits.conf|grep oracle
oracle  soft    nproc   2047
oracle  hard    nproc   16384
oracle  soft    nofile  1024
oracle  hard    nofile  65536

4.修改linux内核参数

修改和新增如下内核参数,并及时生效

代码语言:txt
复制
[root@linux-oracle6 ~]# vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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
[root@linux-oracle6 ~]# sysctl -p

kernel.shmall和kernel.shmmax需根据实际的物理内存大小做出更改,其它为缺省值

各参数说明如下:

代码语言:txt
复制
fs.aio-max-nr
同时拥有的异步IO请求数
fs.file-max
同时打开的文件数最大值
kernel.shmall
该参数是控制共享内存页数。Linux 共享内存页大小为4KB, 共享内存段的大小都是共享内存页大小的整数倍。公式:4G*1024*1024/4K = 1048576(页),查看内存页大小方法#getconf PAGESIZE,内存8G以上,可设置为内存总数/页大小,内存8G内可设置为2097152
kernel.shmmax
单个内存共享段的最大值,需要比规划的SGA容量大,建议大于物理内存的一半,本文设置为物理内存大小,即:2G*1024*1024*1024=2147483648(字节)
kernel.shmmni
共享内存段总数
kernel.sem
信号量的相关的4个参数设置
net.ipv4.ip_local_port_range
表示端口的范围
net.core.rmem_default
表示接收套接字缓冲区大小的缺省值
net.core.rmem_max
表示接收套接字缓冲区大小的最大值
net.core.wmem_default
表示发送套接字缓冲区大小的缺省值
net.core.wmem_max
表示发送套接字缓冲区大小的最大值

内核参数设置参考链接:https://docs.oracle.com/cd/E11882_01/install.112/e24324/toc.htm#BABFGGIE

ORACLE环境参数配置

1.上传安装介质

上传安装介质至/oracle目录

代码语言:txt
复制
[root@linux-oracle6 ~]# ll /oracle/
总用量 2487224
drwx------. 2 oracle oinstall      16384 8月  24 14:37 lost+found
-rw-r--r--. 1 root   root     1395582860 8月  15 16:53 p13390677_112040_Linux-x86-64_1of7.zip
-rw-r--r--. 1 root   root     1151304589 8月  15 16:52 p13390677_112040_Linux-x86-64_2of7.zip

2.修改属主

代码语言:txt
复制
[root@linux-oracle6 ~]# chown -R oracle:oinstall /oracle

3.解压安装包

使用oracle解压安装包

代码语言:txt
复制
[oracle@linux-oracle6 ~]$ unzip p13390677_112040_Linux-x86-64_1of7.zip
[oracle@linux-oracle6 ~]$ unzip p13390677_112040_Linux-x86-64_2of7.zip

4.新建profile文件

代码语言:txt
复制
[oracle@linux-oracle6 ~]$ view .bash_profile
umask 022
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORACLE_SID=oradb
export LD_LIBRARY_PATH=$ORACLE_HOME/lib64:$ORACLE_HOME/lib:/usr/lib
export ORACLE_DOC=$ORACLE_HOME/doc
export TNS_NAMES=$ORACLE_HOME/network/admin
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LANG=C
export TEMP=/tmp
export TMPDIR=/tmp
export PATH=/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin:$ORACLE
_HOME/bin
[oracle@linux-oracle6 ~]$ chmod u+x .bash_profile
[oracle@linux-oracle6 ~]$ source .bash_profile

5.修改主机名

代码语言:txt
复制
[root@linux-oracle6 ~]# hostname oracle-linux6.9
[root@linux-oracle6 ~]# more /etc/hosts
172.27.9.56 oracle-linux6.9
[root@linux-oracle6 ~]# vim /etc/sysconfig/network 
HOSTNAME=oracle-linux6.9

数据库软件安装

1.启动并配置Xmanager

启动Xmanager - Passive,设置DISPLAY

代码语言:txt
复制
[oracle@linux-oracle6 ~]$ export DISPLAY=172.27.9.246:0.0

DISPLAY为本地的windows客服端主机ip

2.启动数据库软件安装

代码语言:txt
复制
[oracle@linux-oracle6 ~]$ cd database
[oracle@linux-oracle6 database]$ ./runInstaller

如遇报错: Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set.

则执行xdpyinfo安装:

代码语言:txt
复制
[root@linux-oracle6 ~]# yum -y install xdpyinfo

再次执行安装命令,弹框正常

去除邮件登记,next,忽略告警

忽略软件更新,next

只安装数据库软件,next

单实例,next

选择默认的English,next

选择默认的安装版本,next

配置oracle数据库目录,由于安装程序已读取环境变量里的配置,此处无需修改,next

选择oraInventory安装目录,安装程序已读取,无需修改,next

选择OSDBA所属组,保持默认,next

安装要求检查,一般会报内核参数设置和缺包的告警,修复后check again就行,由于之前的准备工作已完成参数配置和包的安装,此处无告警,预览无问题后点击install安装

执行安装配置脚本

代码语言:txt
复制
[root@linux-oracle6 ~]# /oracle/app/oraInventory/orainstRoot.sh
[root@linux-oracle6 ~]# /oracle/app/oracle/product/11.2.0/db_1/root.sh

local bin directory选择默认的/usr/local/bin,回车就行

返回安装界面,安装完成

配置监听

打开监听配置程序

代码语言:txt
复制
[oracle@oracle-linux6 ~]$ netmgr

新建listener

选择类型为Listening Locations,Add Address后输入Host(主机名或者ip),Port默认

选择Database Services标签页,输入global database name和sid

保存配置,关闭窗口,监听配置完成

创建数据库

1.修改/orasvr属主

代码语言:txt
复制
[root@linux-oracle6 ~]# chown -R oracle:oinstall /orasvr

2.在oracle用户下输入dbca,弹出oracle图形化欢迎界面

代码语言:txt
复制
[oracle@oracle-linux6 ~]$ dbca

next

选择创建数据库

选择自定义模板

输入global database name和sid,next

将configure enterprise manager前面的勾去掉,不使用图形化管理工具

输入用户名和密码,确定

选择数据库存放目录,next

禁用快速恢复,不启用归档,数据库创建完之后再开启归档

去掉所有组件,加快数据库创建速度

自定义系统内存区的大小,还可以单独指定PGA和SGA的大小,此数值根据应用需求而定

设置数据库大小,保持默认的8K。进程数根据应用的实际需求而定,一般数量在600以上

选择字符集,此处应选择ZHS16GBK,不然不能正常显示中文

选择默认的独占模式,next

配置数据文件,包括控制文件,表空间,数据文件和重做日志文件

数据文件数量为3个

控制文件能够决定数据库中数据文件和重做日志文件的最大数量,数据文件最大值选300,重做日志最大值选30,最大日志成员数选5

表空间管理选择选择默认值:扩展管理选为本地管理模式并选择automatic allocation;段空间管理选择自动管理模式,选择automatic;日志选项选择yes,启用重做日志

数据文件配置项,可更改数据文件大小

系统表空间大小设置如图

设置5个日志文件组,每组各一个日志文件,文件大小为512MB

配置完成,next

保存为模板和脚本为可选项,这里不选

预览配置信息,单击Ok开始建库

安装完成

part3 PSU补丁升级

psu简介

PSU(Patch Set Update)简单讲就是多个补丁的集合,它减轻了小版本周期长而带来的不能及时更新的影响,解决了多个个别补丁冲突和相互影响的问题,同时减轻DBA安装补丁的负担,减少补丁安装次数。

OPatch工具升级

在升级PSU补丁之前,必须要先升级oracle opatch工具,opatch升级工具为11.2.0.3.5以上版本才能使用

1.修改oracle用户环境变量

代码语言:txt
复制
[oracle@oracle-linux6 ~]$ vim .bash_profile
export PATH=$PATH:$ORACLE_HOME/OPatch

oracle退出重新登录加载环境变量

2.查看opatch版本

代码语言:txt
复制
[oracle@oracle-linux6 ~]$ opatch version
OPatch Version: 11.2.0.3.4

opatch版本过低,需升级

3.opatch最新软件包上传解压并替换原Opatch目录

代码语言:txt
复制
[oracle@oracle-linux6 ~]$ unzip p6880880_112000_Linux-x86-64.zip
[oracle@oracle-linux6 ~]$ mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch.bak
[oracle@oracle-linux6 ~]$ cp -R OPatch $ORACLE_HOME

4.检查上传后的opatch版本

代码语言:txt
复制
[oracle@oracle-linux6 ~]$ opatch version
OPatch Version: 11.2.0.3.6

opatch升级完成

PSU补丁安装

1.关闭应用

2.关闭数据库

代码语言:txt
复制
[oracle@oracle-linux6 ~]$ lsnrctl stop
SQL> shutdown immediate;

3.查看数据库补丁情况

代码语言:txt
复制
[oracle@oracle-linux6 ~]$ opatch lsinventory

发现没有安装补丁包

4.上传补丁包并解压

oracle@oracle-linux6 ~$ unzip p26392168_112040_Linux-x86-64.zip

5.补丁安装前预先验证

进入解压后目录,进行补丁安装前的预先验证

代码语言:txt
复制
[oracle@oracle-linux6 ~]$ cd 26392168/
[oracle@oracle-linux6 26392168]$ opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./

验证无误

6.补丁安装

在补丁包解压后目录执行补丁安装命令

代码语言:txt
复制
[oracle@oracle-linux6 26392168]$ opatch apply

按提示输入y或者回车

补丁安装时退出需退出sqlplus,不然会报错

7.验证安装的补丁

代码语言:txt
复制
[oracle@oracle-linux6 26392168]$ opatch lsinventory

8.开启数据库更新数据字典

代码语言:txt
复制
[oracle@oracle-linux6 ~]$ cd $ORACLE_HOME/rdbms/admin
[oracle@oracle-linux6 admin]$ sqlplus / as sysdba
SQL> startup
SQL> @catbundle.sql psu apply

查看日志是否有error报错

9.查看升级记录

代码语言:txt
复制
select * from dba_registry_history;

PSU补丁卸载

1.关闭监听和数据库

代码语言:txt
复制
[oracle@oracle-linux6 ~]$ lsnrctl stop
SQL> shutdown immediate;

2.查看补丁包

代码语言:txt
复制
[oracle@oracle-linux6 ~]$ opatch lsinventory

3.卸载补丁集26392168

进入26392168目录

代码语言:txt
复制
[oracle@oracle-linux6 ~]$ cd 26392168/
[oracle@oracle-linux6 26392168]$ opatch rollback -id 26392168

4.启动数据库更新数据字典

代码语言:txt
复制
[oracle@oracle-linux6 ~]$ cd $ORACLE_HOME/rdbms/admin
[oracle@oracle-linux6 admin]$ sqlplus / as sysdba
SQL> startup;
SQL> @catbundle_PSU_ORADB_ROLLBACK.sql

5.查看补丁卸载

代码语言:txt
复制
[oracle@oracle-linux6 ~]$ opatch lsinventory
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-08-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档