天天看點

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

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇第一項

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

跳過檢測

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

next

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇安裝時的語言,下一步

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

下一步

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

下一步

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇忽略所有資料

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

自定義主機名

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

編輯網絡參數,設定ip等資訊

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇時區,去除UTC時間,下一步

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

輸入密碼,忽略告警,下一步

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇建立自定義布局,下一步

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

虛拟機添加了兩塊盤,sda用于系統分區,sdb用于資料分區

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇驅動器并建立标準分區

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

boot分區500M

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

建立實體卷sda2

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

使用全部剩餘空間

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

pv sd2建立完成,準備建立卷組和邏輯卷

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新
Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

建立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。           

複制

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

同理在另一塊盤sdb上建立pv sdb1、vg data和邏輯卷,邏輯卷oracle用于安裝資料庫軟體,orasvr用于存放資料庫檔案。

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新
Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新
Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

分區總覽,下一步

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇‘格式化’

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇‘将修改寫入磁盤’

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

下一步

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇‘Database Server’和‘Oracle Linux Server’

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

啟動安裝

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

完成安裝,重新開機

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

進入系統

part2 資料庫安裝

系統環境參數配置

1.安裝依賴包

由于生産上很多時候伺服器是連不了外網的,是以本文的yum源選擇本地源

挂載CD光牒,制作本地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_profileumask 022export ORACLE_BASE=/oracle/app/oracleexport ORACLE_HOME=ORACLE_BASE/product/11.2.0/db_1export NLS_LANG=AMERICAN_AMERICA.ZHS16GBKexport ORACLE_SID=oradbexport LD_LIBRARY_PATH=ORACLE_HOME/lib64:ORACLE_HOME/lib:/usr/libexport ORACLE_DOC=ORACLE_HOME/docexport TNS_NAMES=ORACLE_HOME/network/adminexport TNS_ADMIN=ORACLE_HOME/network/adminexport LANG=Cexport TEMP=/tmpexport TMPDIR=/tmpexport 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.

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

則執行xdpyinfo安裝:

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

再次執行安裝指令,彈框正常

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

去除郵件登記,next,忽略告警

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

忽略軟體更新,next

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

隻安裝資料庫軟體,next

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

單執行個體,next

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇預設的English,next

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇預設的安裝版本,next

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

配置oracle資料庫目錄,由于安裝程式已讀取環境變量裡的配置,此處無需修改,next

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇oraInventory安裝目錄,安裝程式已讀取,無需修改,next

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇OSDBA所屬組,保持預設,next

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

安裝要求檢查,一般會報核心參數設定和缺包的告警,修複後check again就行,由于之前的準備工作已完成參數配置和包的安裝,此處無告警,預覽無問題後點選install安裝

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

執行安裝配置腳本

[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 Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

傳回安裝界面,安裝完成

配置監聽

打開監聽配置程式

[oracle@oracle-linux6 ~]$ netmgr 

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

建立listener

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇類型為Listening Locations,Add Address後輸入Host(主機名或者ip),Port預設

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇Database Services标簽頁,輸入global database name和sid

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

儲存配置,關閉視窗,監聽配置完成

建立資料庫

1.修改/orasvr屬主

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

2.在oracle使用者下輸入dbca,彈出oracle圖形化歡迎界面

[oracle@oracle-linux6 ~]$ dbca 

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

next

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇建立資料庫

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇自定義模闆

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

輸入global database name和sid,next

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

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

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

輸入使用者名和密碼,确定

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇資料庫存放目錄,next

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

禁用快速恢複,不啟用歸檔,資料庫建立完之後再開啟歸檔

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

去掉所有元件,加快資料庫建立速度

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

自定義系統記憶體區的大小,還可以單獨指定PGA和SGA的大小,此數值根據應用需求而定

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

設定資料庫大小,保持預設的8K。程序數根據應用的實際需求而定,一般數量在600以上

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇字元集,此處應選擇ZHS16GBK,不然不能正常顯示中文

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

選擇預設的獨占模式,next

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

配置資料檔案,包括控制檔案,表空間,資料檔案和重做日志檔案

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

資料檔案數量為3個

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

控制檔案能夠決定資料庫中資料檔案和重做日志檔案的最大數量,資料檔案最大值選300,重做日志最大值選30,最大日志成員數選5

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

表空間管理選擇選擇預設值:擴充管理選為本地管理模式并選擇automatic allocation;段空間管理選擇自動管理模式,選擇automatic;日志選項選擇yes,啟用重做日志

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

資料檔案配置項,可更改資料檔案大小

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

系統表空間大小設定如圖

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

設定5個日志檔案組,每組各一個日志檔案,檔案大小為512MB

配置完成,next

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

儲存為模闆和腳本為可選項,這裡不選

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

預覽配置資訊,單擊Ok開始建庫

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新
Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

安裝完成

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           

複制

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

發現沒有安裝更新檔包

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 ./           

複制

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

驗證無誤

6.更新檔安裝

在更新檔包解壓後目錄執行更新檔安裝指令

[oracle@oracle-linux6 26392168]$ opatch apply           

複制

按提示輸入y或者回車

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新
Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

更新檔安裝時退出需退出sqlplus,不然會報錯

7.驗證安裝的更新檔

[oracle@oracle-linux6 26392168]$ opatch lsinventory           

複制

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

8.開啟資料庫更新資料字典

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

複制

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

檢視日志是否有error報錯

9.檢視更新記錄

select * from dba_registry_history;           

複制

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新

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           

複制

Oracle Linux 6.9安裝和Oracle 11.2.0.4.0安裝及psu更新檔更新