共计 8561 个字符,预计需要花费 22 分钟才能阅读完成。
图文详解在 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 文档可以到 Linux 公社资源站下载:
—————————————— 分割线 ——————————————
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2018 年资料 / 8 月 /19 日 /Oracle Linux 6.9 安装和 Oracle 11.2.0.4.0 安装及 psu 补丁升级 /
下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm
—————————————— 分割线 ——————————————
更多 Oracle 相关信息见Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12
: