1. 程式人生 > >Oracle資料庫雙機冷備部署方式

Oracle資料庫雙機冷備部署方式

Oracle資料庫如果做叢集的話一般只能使用Oracle自帶的RAC方式,但是如果由於各種原因不能部署RAC的話,可以採用雙機冷備,一臺開機的方式,下面使用VMWare虛擬化平臺為例介紹一下雙機冷備的部署方式。

所需材料

1、兩臺配置一模一樣的主機,主機至少能插兩塊硬碟

2、找一塊大硬碟,專門用來放表空間和備份檔案

3、Redhat 6.7安裝光碟

4、資料庫安裝包

首先資料庫安裝包的版本選為Oracle 12c 12.2.0.1.0,作業系統版本為紅帽6.7,rhel源為紅帽6.9

選擇紅帽6.7的原因是Oracle 12c 12.2.0.1.0在這上面安裝不會出現依賴問題和任何報錯,可以減少很多初學者會碰到的問題,實在是絕配

首先我們只需要在主機上安裝一塊硬碟用來安裝作業系統,裝好作業系統之後,再在這塊硬碟上安裝資料庫軟體,此時第二塊硬碟還不需要掛載上。

資料庫軟體建立在第一塊硬碟的 /u01目錄下,

等安裝完資料庫軟體之後,我們把第二塊硬碟掛載到 /oradata下面,然後把資料庫建立在這個目錄之上。

下面開始安裝資料庫的準備工作,與安裝11g基本一樣,都是固定的套路

建立Oracle使用者

root使用者:建立Oracle安裝組oinstall,資料庫管理員組dba,及oracle使用者

# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -g oinstall -G dba oracle

(主組oinstall,其它組:dba
# passwd oracle

安裝相關依賴包

unixODBC-devel unixODBC-devel libstdc++ libgcc libaio-devel elfutils compat-libstdc++-33glibc

修改核心引數


root使用者:修改 /etc/sysctl.conf 檔案,加上如下引數

kernel.shmmax = 4294967295   

kernel.shmall = 2097152        

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 6815744

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

fs.aio-max-nr= 4194304

為使上述配置生效而不重啟系統,執行如下命令

# /sbin/sysctl -p

修改執行時引數

root使用者:修改 /etc/security/limits.conf 檔案,加上下面的引數

oracle          soft    nproc   2047
oracle          hard    nproc   16384
oracle          soft    nofile  1024
oracle          hard    nofile  65536

root使用者下:修改/etc/pam.d/login檔案加上如下引數

session   required     pam_limits.so

修改使用者配置檔案

root使用者下:修改/etc/profile檔案加入如下引數:

if[ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh"]; then
             ulimit -p 16384
             ulimit -n 65536
        else
             ulimit -u 16384 -n 65536
        fi
fi

建立安裝目錄

root使用者:

建立oracle軟體安裝目錄

#mkdir -p /u01/
# chown -R oracle:oinstall /u01/
# chmod -R 775 /u01/

建立oracle安裝臨時檔案目錄

[[email protected] ~]# mkdir/oraInventory

[[email protected] ~]# chown -Roracle:oinstall /oraInventory/

[[email protected]~]# chmod -R 775 /oraInventory /

建立資料庫儲存目錄

[[email protected] ~]# mkdir/oradata

[[email protected] ~]# chown -Roracle:oinstall /oradata

[[email protected]~]# chmod -R 775 /oradata/

修改使用者環境變數

使用oracle使用者操作 su - oracle

$vi .bash_profile

增加如下內容

export ORACLE_BASE=/u01 
export ORACLE_HOME=$ORACLE_BASE/oracle

export ORACLE_SID=oracleSid 
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin

完成後執行:

#su–oracle

#env| grep ORA檢視環境變數是否完成

設定顯示

Root使用者執行

[[email protected] ~]# exportDISPLAY=:0.0

[[email protected] ~]# xhost +

access control disabled, clientscan connect from any host

安裝Oracle軟體

安裝Oracle軟體

使用oracle使用者登入,將安裝包上傳到/home/oracle,然後解壓縮Oracle安裝檔案:

然後使用VNC進入解壓後的目錄,執行

 export LANG=c

注意一定要在oracle使用者開啟vncserver,不能在root使用者或其他使用者,並直接登入oracle使用者的vnc,否則會報X11或者ClassNotDefined的錯誤

 $ ./runInstaller

進入第一頁,什麼都不用填


第二頁選擇“僅安裝資料庫軟體”,否則還會讓你安裝資料庫,這個我們等後面掛載上第二塊硬碟再做


第三頁問你要不要安裝RAC,由於我們是冷備,所以應該安裝單機版


第四頁問你安裝企業版還是標準版,由於兩個版本都不要錢,所以安裝企業版


第五頁選擇資料庫軟體的安裝位置,注意這個位置僅僅是軟體的位置,和資料庫的表空間毛關係都沒有,一般安裝在和作業系統同一塊硬碟中即可,注意使用root使用者建立/u01,並且將其所有者修改為oracle。注意下面填的oracle base,要寫到環境變數ORACLE_BASE中,下面的software location 要寫到環境變數ORACLE_HOME中去


下面是指定oraInventory的目錄,就是安裝檔案的臨時目錄,預設是/oraInventor,一般放在/u01底下就可以


如果放在/u01下面,會報一個警告


然後選擇安裝檔案的所屬組,用預設即可


然後系統會執行一些檢測,比如下面就檢測出來缺少一些依賴,還有一些核心引數配置的問題,核心引數配置的問題Oracle安裝程式能自己給你解決,所以Fixable是yes,對於缺少依賴庫可以直接掛載相應的yum源,使用yum install命令直接安裝,注意安裝時要加上版本號,我這裡使用的是紅帽6.7的作業系統,使用紅帽6.9的光碟做yum源。


下面就是安裝相關依賴包的截圖


下圖中,所有的依賴庫都被解決,只剩修改核心引數了,而這些修改只需要點選Fix & Check Agiain就可以解決



點選Fix & Check Agiain之後,會出現一個框,提示你用root許可權執行一個指令碼,執行完這個指令碼之後點OK,基本核心引數的問題就解決了


在紅帽6.7+Oracle 12c的組合下,上面檢測出來的問題很容易就會被解決了,點選Check Again之後列表就清空了,使用其他版本的資料庫或者作業系統很有可能會碰到無法解決的依賴問題。

解決完問題之後,就會出現一個總結框,在這裡可以觀察相關的安裝配置


簡單的確認一下之後,尤其是檢查安裝的目錄是否正確,點選“Install”按鈕,就會出現安裝的進度條,如果使用紅帽6.7加Oracle 12c的版本,在安裝過程中不會出現任何報錯,但是使用其他資料庫或者作業系統,可能在安裝過程中會彈出對話方塊報錯並終止安裝過程,需要對症下藥,而這個步驟對於初學者來說是比較難解決的,所以推薦使用紅帽6.7加Oracle 12c 12.2.0.1.0的版本。

在安裝完畢之後,就會出現如下頁面,再次需要使用root使用者執行兩個指令碼



執行完畢就可以回去點選,資料庫軟體的安裝就大功告成了。


安裝完資料庫軟體之後,我們把電腦關機,然後把第二塊硬碟插進去,這第二塊硬碟就是用來放表空間和備份檔案的硬碟


插入硬碟後,重新開機,使用fdisk進行分割槽,也可以劃分到LVM中管理,並且在根目錄下建立/oradata目錄,掛載到這塊硬碟上。

然後就可以安裝資料庫例項,並且把例項的表空間和歸檔日誌還有備份檔案都建立到這塊硬碟上,可以看我之前寫的部落格:《Oracle Database 12c 資料庫簡單例項的建立過程

下面主要挑重點的也就是資料庫表空間和歸檔日誌的安裝位置的截圖放在下面,其主要操作就是把表空間,歸檔日誌,快速恢復區,備份檔案都放到/oradata目錄下

下面是快速恢復區,也就是備份檔案的存放位置


下面是控制檔案的存放位置


下面是設定表空間檔案的存放位置


下面是Redo日誌的存放位置


在建立好資料庫例項之後,我們就可以關閉當前伺服器,並把網路配置清空。然後把第一塊硬碟,也就是安裝作業系統那塊硬碟複製一塊,物理機可以使用dd命令克隆硬碟,如果是虛擬機器,那就把第二塊硬碟移除掉之後克隆這塊虛擬機器,克隆完畢之後再把第二塊硬碟插上。

這樣我們就有了兩臺配置一模一樣的主機和一塊資料硬碟,使用的時候,我們只需保持一臺開機,插上資料盤,當這臺數據庫主機宕機的時候,我們可以把資料盤拆下來裝到另一臺配置一模一樣的主機上繼續執行。如果擔心資料盤會受損,可以使用硬體底層的同步措施保持一塊同步盤,比如使用raid1保持兩塊資料硬碟完全的一致,防止單塊硬碟出問題導致資料庫丟失的風險。


相關推薦

Oracle資料庫部署方式

Oracle資料庫如果做叢集的話一般只能使用Oracle自帶的RAC方式,但是如果由於各種原因不能部署RAC的話,可以採用雙機冷備,一臺開機的方式,下面使用VMWare虛擬化平臺為例介紹一下雙機冷備的部署方式。 所需材料 1、兩臺配置一模一樣的主機,主機至少能插兩塊硬碟 2

Oracle部署+切換故障問題解決

str 但是 雙機切換 流程 star 運行 需要 har 問題處理 最近實施的一個項目中使用了某國產雙機熱備產品,但是在數據庫做雙機熱備時出現了一些問題,沒辦法。不得不研究一番了!經過兩天的研究終於問題得以解決。將問題處理步驟記錄下來以備後用,也希望能幫助到需要的人。

Oracle11G

rpm-gpg bind () cfg lock status wal -c signature 環境:centos5.5 32位 oracle11G NFS環境:centos6.8mini版 共享方式:nfs 共享路徑:/home/oracle 目錄權限:755 NFS的

MySQL之——資料庫的配置方法

mysql資料庫沒有增量備份的機制,當資料量太大的時候備份是一個很大的問題。還好mysql資料庫提供了一種主從備份的機制,其實就是把主資料庫的所有的資料同時寫到備份資料庫中。 一、說明 1、mysql資料庫沒有增量備份的機制,當資料量太大的時候備份是一個很大的問題。還好m

Centos 5.7 上LVS+piranha負載均衡及配置方式

安裝包下載: LVS: 在kernel裡已經包含了這個安裝包,我們可以驗證: Red Hat Enterprise Linux 3 (or CentOS 3) kernel has already included the IPVS patch, so that

【Postgresql】postgresql9.3.9版本基於流復制方式方案

postgresql 雙機熱備 流復制 9.3.9 系統環境:centos6.5數據庫版本: postgres9.3.9虛擬機2臺:Master:10.0.2.160Slave:10.0.2.69數據存儲位置:/usr/local/pgsql/data/ 安裝pgsql數據庫 安裝過程可參

docker簡易實現資料庫

docker簡易實現資料庫的雙機熱備 寫在前面:為什麼要採用雙機熱備?雖然我們在資料庫進行了負載均衡,但單節點Haproxy不具備高可用,一旦Haroxy節點故障,應用程式將無法訪問,故必須要有冗餘設計,使用keepalived進行雙機熱備。注:在閱讀此文之前,最好請先閱讀《docker

資料庫怎麼實時備份,資料

www.syncnavigator.cn SyncNavigator 做資料同步時所支援的資料庫型別: 支援sqlserver 2000-2014所有版本,全相容,和MYsql 4.x 、MYsql 5.x 、MYsql 6.x版本。 來源資料庫和目標資料庫可以版本不同,比如:來源資料庫

群集架構篇——nginx反向代理+keepalived+tomcat伺服器池+後端資料庫

群集架構篇——nginx反向代理+keepalived雙機熱備+tomcat伺服器池+後端資料庫 實驗所需   兩臺nginx都佈置了keepalived   漂移地址 192.168.30.100  Nginx    

群集架構篇 ——nginx反向代理+keepalived+tomcat伺服器池+後端資料庫

首先準備好兩臺nginx,兩臺tomcat,一臺mysql資料庫,如下NginxIP地址:192.168.20.39(lvs01)192.168.20.40(lvs02)漂移地址:192.168.20.66TomcatIP地址:192.168.20.41(TM01)192.168.20.42(TM02)Mys

什麼是,熱,異地容災備份,雲備份,NAS,負載均衡?

假設你是一位女性,你有一位男朋友,於此同時你和另外一位男生曖昧不清,比朋友 好,又不是戀人。你隨時可以甩了現任男友,另外一位馬上就能補上。這是冷備份。 假設你是一位女性,同時和兩位男性在交往,兩位都是你男朋友。並且他們還互不干涉,獨立執行。這就是雙機熱備份。 假設你是一位女

oracle oracle dataguard 和oracle rac的區別和聯絡

Data Guard 是Oracle的遠端複製技術,它有物理和邏輯之分,但是總的來說,它需要在異地有一套獨立的系統,這是兩套硬體配置可以不同的系統,但是這兩套系統的軟體結構保持一致,包括軟體的版本,目錄儲存結構,以及資料的同步(其實也不是實時同步的),這兩套系統之間只要網路是通的就可以了,是一種異地容災的解

Oracle配置步驟

第一步 設定硬體1.設定陣列櫃為群集模式.(如果需要設定,需要諮詢硬體廠商).2.修改B機陣列卡的地址,預設的卡的地址一般為7.在沒有修改之前不要同時把兩臺機器連線到陣列櫃上開A和B機,否則有可能造成陣列卡的燒燬.3.設定陣列櫃的RAID.第二步 安裝作業系統設定群集服務以HP6000為例兩臺6000伺服器,

搭建MySql資料庫的主從及實現(資料庫的高可用)

1. 用的CentOS7,因為CentOS7自帶mariadb,所以首先解除安裝mariadb.不解除安裝安裝mysql會有衝突,以前安裝過mysql也要解除安裝 2. 解除安裝mariadb                     執行命令(會列出所有的mariad

NEC高可用集群軟件NEC EXPRESSCLUSTER是一款專業的高可用集群軟件產品(軟件)

雙機軟件 集群軟件NEC高可用集群軟件NEC EXPRESSCLUSTER是一款專業的高可用集群軟件產品(雙機熱備軟件)商務qq1912078946,可為您提供Windows和Linux平臺上完整的高可用性解決方案。當集群中的某個節點由於軟件或硬件原因發生故障時,集群系統可以把IP、客戶業務等資源切換到其他

keepalived+nginx+負載均衡

ethernet auth 超時任務 collision boot .rpm ocl bnl host keepalived+nginx雙機熱備+負載均衡最近因業務擴展,需要將當前的apache 轉為nginx(web), 再在web前端放置nginx(負載均衡)。同時結合

MySQL-Jira

ref 安裝 times ant all del lock 參數 time 主服務器:192.168.1.23 從服務器:192.168.1.243 一、主服務器Master配置 1. 創建同步賬號、賦權 在主服務器上為從服務器建立一個連接帳戶,此處用root,該帳戶必

mysql的

數據庫主從mysql的雙機熱備 雙機熱備,就是要保持兩個數據庫的狀態自動同步。對任何一個數據庫的操作都自動應用到另外一個數據庫,始終保持兩個數據庫數據一致。 這樣的做法好處在於:1、可以做災備,其中一個壞了可以切換到另一個;2、可以做負載均衡,可以請求分攤到其中任何一臺上,提高網站吞吐

keepalived實現

lin fire per 安裝 arp index 正常 綁定 type   keepalived的作用是檢測後端TCP服務的狀態,如果有一臺提供TCP服務的後端節點死機,或者工作出現故障,keepalived會及時檢測到,並將有故障的節點從系統中剔除,當提供TCP服務的節

PostgreSQL-生產

postgresql、雙機熱備PostgreSQL-生產雙機熱備:下載:http://down.51cto.com/data/2336617本文出自 “雲計算與大數據” 博客,請務必保留此出處http://linuxzkq.blog.51cto.com/9379412/1967448PostgreSQL-生產