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

目录:

1.操作系统安装

2.数据库安装

3.PSU补丁升级卸载

 

part1 操作系统安装

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

 

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

图片.png

选择第一项

图片.png

跳过检测

图片.png

next

图片.png

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

图片.png

下一步

图片.png

下一步

图片.png

选择忽略所有数据

图片.png

自定义主机名

图片.png

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

图片.png

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

图片.png

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

图片.png

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

图片.png

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

图片.png

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

图片.png

boot分区500M

图片.png

创建物理卷sda2

图片.png

使用全部剩余空间

图片.png

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

图片.png

图片.png

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

4G以内的物理内存,SWAP 设置为内存的2倍;
4-8G的物理内存,SWAP 等于内存大小;
8-64G 的物理内存,SWAP 设置为8G;
64-256G物理内存,SWAP 设置为16G。
 

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

图片.png

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

图片.png

图片.png

图片.png

分区总览,下一步

图片.png

选择‘格式化’

图片.png

选择‘将修改写入磁盘’

图片.png

下一步

图片.png

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

图片.png

启动安装

图片.png

完成安装,重新引导

图片.png

进入系统

 

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.

图片.png

则执行xdpyinfo安装:

[root@linux-oracle6 ~]# yum -y install xdpyinfo
 

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

图片.png

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

图片.png

忽略软件更新,next

图片.png

只安装数据库软件,next

图片.png

单实例,next

图片.png

选择默认的English,next

图片.png

选择默认的安装版本,next

图片.png

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

图片.png

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

图片.png

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

图片.png

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

图片.png

执行安装配置脚本

[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,回车就行

图片.png

返回安装界面,安装完成

 

配置监听

打开监听配置程序

[oracle@oracle-linux6 ~]$ netmgr
 

图片.png

新建listener

图片.png

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

图片.png

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

图片.png

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

 

创建数据库

1.修改/orasvr属主

[root@linux-oracle6 ~]# chown -R oracle:oinstall /orasvr
 

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

[oracle@oracle-linux6 ~]$ dbca
 

图片.png

next

图片.png

选择创建数据库

图片.png

选择自定义模板

图片.png

输入global database name和sid,next

图片.png

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

图片.png

输入用户名和密码,确定

图片.png

选择数据库存放目录,next

图片.png

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

图片.png

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

图片.png

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

图片.png

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

图片.png

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

图片.png

选择默认的独占模式,next

图片.png

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

图片.png

数据文件数量为3个

图片.png

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

图片.png

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

图片.png

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

图片.png

系统表空间大小设置如图

图片.png

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

配置完成,next

图片.png

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

图片.png

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

图片.png

图片.png

安装完成

 

 

part3 PSU补丁升级

 

psu简介

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

 

OPatch工具升级

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

1.修改oracle用户环境变量

[oracle@oracle-linux6 ~]$ vim .bash_profile
export PATH=$PATH:$ORACLE_HOME/OPatch
 

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

2.查看opatch版本

[oracle@oracle-linux6 ~]$ opatch version
OPatch Version: 11.2.0.3.4
 

opatch版本过低,需升级

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

[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版本

[oracle@oracle-linux6 ~]$ opatch version
OPatch Version: 11.2.0.3.6
 

opatch升级完成

 

PSU补丁安装

1.关闭应用

 

2.关闭数据库

[oracle@oracle-linux6 ~]$ lsnrctl stop
SQL> shutdown immediate;
 

 

3.查看数据库补丁情况

[oracle@oracle-linux6 ~]$ opatch lsinventory
 

图片.png

发现没有安装补丁包

 

4.上传补丁包并解压

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

 

5.补丁安装前预先验证

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

[oracle@oracle-linux6 ~]$ cd 26392168/
[oracle@oracle-linux6 26392168]$ opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./
 

图片.png

验证无误

 

6.补丁安装

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

[oracle@oracle-linux6 26392168]$ opatch apply
 

按提示输入y或者回车

图片.png

图片.png

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

 

7.验证安装的补丁

[oracle@oracle-linux6 26392168]$ opatch lsinventory
 

图片.png

 

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

[oracle@oracle-linux6 ~]$ cd $ORACLE_HOME/rdbms/admin
[oracle@oracle-linux6 admin]$ sqlplus / as sysdba
SQL> startup
SQL> @catbundle.sql psu apply
 

图片.png

查看日志是否有error报错

 

9.查看升级记录

select * from dba_registry_history;
 

图片.png

 

PSU补丁卸载

1.关闭监听和数据库

[oracle@oracle-linux6 ~]$ lsnrctl stop
SQL> shutdown immediate;
 

 

2.查看补丁包

[oracle@oracle-linux6 ~]$ opatch lsinventory
 

 

3.卸载补丁集26392168

进入26392168目录

[oracle@oracle-linux6 ~]$ cd 26392168/
[oracle@oracle-linux6 26392168]$ opatch rollback -id 26392168
 

 

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

[oracle@oracle-linux6 ~]$ cd $ORACLE_HOME/rdbms/admin
[oracle@oracle-linux6 admin]$ sqlplus / as sysdba
SQL> startup;
SQL> @catbundle_PSU_ORADB_ROLLBACK.sql
 

 

5.查看补丁卸载

[oracle@oracle-linux6 ~]$ opatch lsinventory
 

图片.png

 原文:http://blog.51cto.com/3241766/2163882

posted on 2019-02-18 15:47  xc川  阅读(754)  评论(0编辑  收藏  举报