Oracle Linux 6.9安装和Oracle 11.2.0.4.0安装及psu补丁升级
图文详解在Oracle Linux 6.9安装和Oracle 11.2.0.4.0安装及psu补丁升级过程,本文操作都在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,对于虚拟内存设置,有个参考:
同理在另一块盘sdb上新建pv sdb1、vg data和逻辑卷,逻辑卷oracle用于安装数据库软件,orasvr用于存放数据库文件。
分区总览,下一步
选择‘格式化’
选择‘将修改写入磁盘’
下一步
选择‘Database Server’和‘Oracle Linux Server’
启动安装
完成安装,重新引导
进入系统
part2 数据库安装
系统环境参数配置
1.安装依赖包
由于生产上很多时候服务器是连不了外网的,所以本文的yum源选择本地源
挂载光盘,制作本地yum源
[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
[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
清理过期缓存,新建缓存
[root@linux-oracle6 yum.repos.d]# yum clean all
[root@linux-oracle6 yum.repos.d]# yum makecache
安装依赖包:
[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.新建用户组
[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已经存在,会有告警信息
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
且切换至oracle用户时提示符异常:
[root@linux-oracle6 oracle]# su - oracle
-bash-4.1$
解决该问题可从/etc/skel复制文件即可
[root@linux-oracle6 oracle]# cp /etc/skel/.* /oracle
更改oracle用户密码
[root@linux-oracle6 oracle]# passwd oracle
3.修改oracle用户资源使用限制
[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内核参数
修改和新增如下内核参数,并及时生效
[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需根据实际的物理内存大小做出更改,其它为缺省值
各参数说明如下:
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目录
[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.修改属主
[root@linux-oracle6 ~]# chown -R oracle:oinstall /oracle
3.解压安装包
使用oracle解压安装包
[oracle@linux-oracle6 ~]$ unzip p13390677_112040_Linux-x86-64_1of7.zip
[oracle@linux-oracle6 ~]$ unzip p13390677_112040_Linux-x86-64_2of7.zip
4.新建profile文件
[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.修改主机名
[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
[oracle@linux-oracle6 ~]$ export DISPLAY=172.27.9.246:0.0
DISPLAY为本地的windows客服端主机ip
2.启动数据库软件安装
[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安装:
[root@linux-oracle6 ~]# yum -y install xdpyinfo
再次执行安装命令,弹框正常
去除邮件登记,next,忽略告警
忽略软件更新,next
只安装数据库软件,next
单实例,next
选择默认的English,next
选择默认的安装版本,next
配置oracle数据库目录,由于安装程序已读取环境变量里的配置,此处无需修改,next
选择oraInventory安装目录,安装程序已读取,无需修改,next
选择OSDBA所属组,保持默认,next
安装要求检查,一般会报内核参数设置和缺包的告警,修复后check again就行,由于之前的准备工作已完成参数配置和包的安装,此处无告警,预览无问题后点击install安装
执行安装配置脚本
[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,回车就行
返回安装界面,安装完成
配置监听
打开监听配置程序
[oracle@oracle-linux6 ~]$ netmgr
新建listener
选择类型为Listening Locations,Add Address后输入Host(主机名或者ip),Port默认
选择Database Services标签页,输入global database name和sid
保存配置,关闭窗口,监听配置完成
创建数据库
1.修改/orasvr属主
[root@linux-oracle6 ~]# chown -R oracle:oinstall /orasvr
2.在oracle用户下输入dbca,弹出oracle图形化欢迎界面
[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用户环境变量
oracle退出重新登录加载环境变量
2.查看opatch版本
opatch版本过低,需升级
3.opatch最新软件包上传解压并替换原Opatch目录
4.检查上传后的opatch版本
opatch升级完成
PSU补丁安装
1.关闭应用
2.关闭数据库
3.查看数据库补丁情况
发现没有安装补丁包
4.上传补丁包并解压
[oracle@oracle-linux6 ~]$ unzip p26392168_112040_Linux-x86-64.zip
5.补丁安装前预先验证
进入解压后目录,进行补丁安装前的预先验证
验证无误
6.补丁安装
在补丁包解压后目录执行补丁安装命令
按提示输入y或者回车
补丁安装时退出需退出sqlplus,不然会报错
7.验证安装的补丁
8.开启数据库更新数据字典
查看日志是否有error报错
9.查看升级记录
PSU补丁卸载
1.关闭监听和数据库
2.查看补丁包
3.卸载补丁集26392168
进入26392168目录
4.启动数据库更新数据字典
5.查看补丁卸载
完整Word文档可以到安科网资源站下载:
------------------------------------------分割线------------------------------------------
具体下载目录在 /2018年资料/8月/19日/Oracle Linux 6.9安装和Oracle 11.2.0.4.0安装及psu补丁升级/
------------------------------------------分割线------------------------------------------