在 RHEL3 上將單一例項資料庫轉換為 Oracle RAC 10g (轉載)
原作者:Vincent Chan 轉載:
對於那些具有有限操作經驗的使用者而言,實施 Oracle RAC 10g 的前景令人生畏。但事情並不一定如此。
本指南將提供明確的步驟,引導您在 RHEL3 上將單一例項 Oracle 10g 資料庫轉換為 Oracle RAC。我將 Oracle 自動儲存管理 (ASM)(一個構建到 Oracle 資料庫核心中的整合檔案系統和卷管理解決方案)用於 RAC 資料庫儲存,因為它不但提供了儲存可靠性和高效能,還簡化了資料庫儲存管理。
總的說來,有多種方法可以將資料庫轉換為 RAC。如果資料庫比較小,則可以考慮在 ASM 上安裝一個新的 RAC 資料庫,並將當前資料庫中的資料匯出/匯入到 RAC 資料庫。對於較大的資料庫,首選的方法是使用 RMAN 將資料庫檔案移植到 ASM。這裡所要說明的方法是一個分為兩個階段的方法:首先,將資料移植到 ASM,然後將單一例項資料庫轉換為 RAC。如果您是對 ASM 不瞭解,建議您採用此移植方法,先熟悉 ASM,然後再進一步運用 ASM 和 RAC。(有關 Oracle ASM 的更多資訊,請訪問 或參考。)本指南要求您對 RAC 體系結構有一個基本瞭解,對 Oracle 資料庫和 Red Hat Enterprise Linux 的管理較為熟悉。有關詳細資訊,請參考。
概述
RAC 叢集由兩臺執行 RHEL3(核心 2.4.21-27)的 Intel x86 伺服器組成。每個節點都可以訪問共享儲存器並可以連線到公共網路和專用網路。
本指南分為以下步驟:
- 準備安裝
- 將資料庫移植到 ASM
- 安裝 Oracle 叢集就緒服務 (CRS) 軟體
- 安裝 Oracle RAC 軟體
- 後續安裝
- 測試透明應用程式故障切換 (TAF)
主機名 |
例項名 |
資料庫名 |
$ORACLE_BASE |
資料庫檔案儲存 |
---|---|---|---|---|
salmon1 | prod1 | prod1 | /u01/app/oracle | ext3 |
和 RAC 資料庫環境情況介紹:
主機名 |
例項名 |
資料庫名 |
$ORACLE_BASE |
資料庫檔案儲存 |
OCR 和 CRS Voting Disk |
---|---|---|---|---|---|
salmon1 | prod1a | prod1 | /u01/app/oracle | ASM | 原始 |
salmon2 | prod1b | prod1 | /u01/app/oracle | ASM | 原始 |
您將在每個節點上安裝 Oracle Home 以實現冗餘。ASM 和 RAC 例項在每個節點上共享同一 Oracle Home。 第 1 步:準備安裝 1a.檢驗軟體程式包版本。
安裝所需的程式包。其他資訊可以從中獲得。
[root@salmon1]# rpm -qa | grep -i compat compat-libstdc++-7.3-2.96.128 compat-gcc-c++-7.3-2.96.128 compat-libstdc++-devel-7.3-2.96.128 compat-db-4.0.14-5 compat-glibc-7.x-2.2.4.32.6 compat-slang-1.4.5-5 compat-gcc-7.3-2.96.128 compat-pwdb-0.62-3 [root@salmon1]# [root@salmon1]# rpm -qa | grep openmotif openmotif-2.2.3-3.RHEL3 [root@salmon1]# [root@salmon1]# rpm -qa | grep -i gcc gcc-gnat-3.2.3-42 gcc-c++-ssa-3.5ssa-0.20030801.48 compat-gcc-c++-7.3-2.96.128 libgcc-ssa-3.5ssa-0.20030801.48 gcc-3.2.3-42 gcc-g77-3.2.3-42 gcc-java-3.2.3-42 gcc-ssa-3.5ssa-0.20030801.48 gcc-g77-ssa-3.5ssa-0.20030801.48 gcc-objc-ssa-3.5ssa-0.20030801.48 libgcc-3.2.3-42 gcc-c++-3.2.3-42 gcc-objc-3.2.3-42 gcc-java-ssa-3.5ssa-0.20030801.48 compat-gcc-7.3-2.96.1281b.檢驗核心引數。
檢驗以下核心引數。其他資訊可以從中獲得。
[root@salmon1]# sysctl -a | grep shm kernel.shmmni = 4096 kernel.shmall = 2097152 kernel.shmmax = 2147483648 [root@salmon1]# sysctl -a | grep sem kernel.sem = 250 32000 100 128 [root@salmon1]# sysctl -a | grep -i ip_local net.ipv4.ip_local_port_range = 1024 65000 [root@salmon1]# sysctl -a | grep -i file-max fs.file-max = 655361c.建立 Oracle Base 目錄、oracle 使用者和組。
在第一個節點上使用下面的資訊,在第二個節點上建立 oracle 使用者以及 oinstall 和 dba 組。
[oracle@salmon1]$ hostname salmon1.dbsconsult.com [oracle@salmon1]$ [oracle@salmon1]$ id uid=500(oracle) gid=500(dba) groups=500(dba),501(oinstall) [oracle@salmon1]$ [oracle@salmon1]$ echo $ORACLE_BASE /u01/app/oracle1d.編輯 oracle 使用者環境檔案。
[oracle@salmon1]$ more .bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi export PATH=$PATH:$HOME/bin export ORACLE_SID=prod1 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/10.1.0 export LD_LIBRARY_PATH=$ORACLE_HOME/lib export PATH=$ORACLE_HOME/bin:$PATH umask 0221e.配置 oracle 使用者 shell 限制。
[root@salmon1]# more /etc/security/limits.conf * soft nproc 2047 * hard nproc 16384 * soft nofile 1024 * hard nofile 65536 [root@salmon1]# grep pam_limits /etc/pam.d/login session required /lib/security/pam_limits.so1f.配置公共網路和專用網路。
使用下面的資訊對網路介面裝置 eth0(公共)和 eth1(專用)進行必需的更改。
[root@salmon1]# redhat-config-network
主機名 |
IP 地址 |
型別 |
---|---|---|
salmon1.dbsconsult.com | 192.168.0.184 | 公共 (eth0) |
salmon2.dbsconsult.com | 192.168.0.185 | 公共 (eth0) |
salmon1.dbsconsult.com | 10.10.10.84 | 專用 (eth1) |
salmon2.dbsconsult.com | 10.10.10.85 | 專用 (eth1) |
salmon1-vip.dbsconsult.com | 192.168.0.186 | 虛擬 |
salmon2-vip.dbsconsult.com | 192.168.0.187 | 虛擬 |
1g.編輯 the /etc/hosts 檔案。
127.0.0.1 localhost.localdomain localhost 10.10.10.84 sallocal1.dbsconsult.com sallocal1 10.10.10.85 sallocal2.dbsconsult.com sallocal2 192.168.0.184 salmon1.dbsconsult.com salmon1 192.168.0.185 salmon2.dbsconsult.com salmon2 192.168.0.186 salmon1-vip.dbsconsult.com salmon1-vip 192.168.0.187 salmon2-vip.dbsconsult.com salmon2-vip驗證主機名和配置的網路介面裝置。
[root@salmon1]# hostname salmon1.dbsconsult.com [root@salmon1]# /sbin/ifconfig
1h.使用 SSH 建立使用者等效性。
在叢集就緒服務 (CRS) 和 RAC 安裝過程中,Oracle Universal Installer (OUI) 必須能夠以 oracle 的身份將軟體複製到所有 RAC 節點,而不提示輸入口令。在 Oracle 10g 中,可以使用 ssh 代替 rsh 完成此操作。要建立使用者等效性,請在兩個節點上以 oracle 使用者的身份生成使用者的公鑰和私鑰。
[oracle@salmon1]$ ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/home/oracle/.ssh/id_dsa): Created directory '/home/oracle/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/oracle/.ssh/id_dsa. Your public key has been saved in /home/oracle/.ssh/id_dsa.pub. The key fingerprint is: 5d:8c:42:97:eb:42:ae:52:52:e9:59:20:2a:d3:6f:59 oracle@salmon1.dbsconsult.com在每個節點上測試連線。驗證當您再次執行以下命令時,系統是否不提示您輸入口令。
ssh salmon1 date ssh salmon2 date ssh sallocal1 date ssh sallocal2 date ssh salmon1.dbsconsult.com date ssh salmon2.dbsconsult.com date ssh sallocal1.dbsconsult.com date ssh sallocal2.dbsconsult.com date1i.配置 hangcheck timer 核心模組。
hangcheck timer 核心模組監控系統的執行情況,並重新啟動出現故障的 RAC 節點。它使用兩個引數,即 hangcheck_tick(定義系統檢查頻率)和 hangcheck_margin(定義在重置 RAC 節點前的最大掛起延時)來確定節點是否出現故障。
在 /etc/rc.d/rc.local 中新增以下行以自動載入 hangcheck 模組。
[root@salmon1]# grep insmod /etc/rc.d/rc.local insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=1801j.重新建立資料庫控制檔案。
在轉換到 RAC 之前,確保在控制檔案中正確調整以下項的大小。如果需要,請使用正確的設定重新建立資料庫控制檔案。
MAXLOGFILES MAXLOGMEMBERS MAXDATAFILES MAXINSTANCES MAXLOGHISTORY1k.調整資料庫緩衝區快取記憶體。
從單一例項資料庫轉換到 RAC 時,資料庫緩衝區快取記憶體需要額外的記憶體。在 RAC 中,為每個塊緩衝區快取記憶體中的全域性快取記憶體服務 (GCS) 分配空間。所需的額外記憶體量取決於應用程式訪問資料的方式,即同一個塊是否快取記憶體到多個例項中。
在演示實驗中,我觀察到緩衝區快取記憶體的使用率增加了大約 8%。使用緩衝區快取記憶體顧問確定最佳的緩衝區快取記憶體大小,或切換到 Oracle 自動共享記憶體管理 (ASMM) 讓 Oracle 進行控制。第 2 步:將資料庫移植到 ASM
ASM 例項與資料庫例項之間的同步需要 Oracle 叢集同步服務 (CSS) 後臺程式。要啟動 ASM 例項,必須啟動 CSS 後臺程式。安裝或升級到 Oracle 資料庫 10g 時,應該已經為單節點版本配置了 CSS,並且 CSS 應在系統重新啟動時自動啟動。
[root@salmon1]# ps a
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199859/viewspace-509582/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在 RHEL3 上配置 Oracle 10g Data Guard(轉)Oracle 10g
- 將RAC軟體轉換為單例項軟體單例
- 從單例項資料庫轉換到RAC環境——RAC的建立和配置單例資料庫
- 在 RHEL3上安裝 Oracle 10gOracle 10g
- 【RAC】將單例項備份集恢復為rac資料庫單例資料庫
- 【RAC】將RAC備份集恢復為單例項資料庫單例資料庫
- oracle單例項轉RACOracle單例
- 將RAC備份集恢復為單例項資料庫單例資料庫
- oracle 10g rac轉成單機Oracle 10g
- ZT:在 RHEL3 上配置 Oracle 10g Data GuardOracle 10g
- Oracle 11g rac資料庫字符集轉換Oracle資料庫
- 將資料庫轉換為歸檔日誌模式資料庫模式
- openGauss資料庫將磁碟錶轉換為MOT資料庫
- [轉載]Oracle 10g RAC TAF介紹Oracle 10g
- oracle 10g rac轉成單機5Oracle 10g
- oracle 10g rac轉成單機4Oracle 10g
- oracle 10g rac轉成單機3Oracle 10g
- oracle 10g rac轉成單機2Oracle 10g
- 將java庫轉換為.net庫Java
- 將json資料轉換為Python字典將json資料轉換為Python字典JSONPython
- 利用STANDBY將單例項資料庫升級為RAC環境(四)單例資料庫
- 利用STANDBY將單例項資料庫升級為RAC環境(三)單例資料庫
- 利用STANDBY將單例項資料庫升級為RAC環境(二)單例資料庫
- 利用STANDBY將單例項資料庫升級為RAC環境(一)單例資料庫
- 轉載oracle資料庫鎖Oracle資料庫
- 單例項資料庫工具轉化多例項資料庫單例資料庫
- 單例項資料庫手工轉化多例項資料庫單例資料庫
- 在單機上建立物理的Oracle9i standby資料庫(轉)Oracle資料庫
- 將Standby資料庫臨時轉換為主資料庫用於測試資料庫
- 用XML/XSLT將行資料轉換為列資料 (轉)XML
- Golang 將資料庫轉換為gorm結構和RESTful apiGolang資料庫ORMRESTAPI
- Oracle 10g RAC 資料儲存更換Oracle 10g
- 將資料庫轉換至archivelog模式資料庫Hive模式
- js 將xml轉換為table表格簡單程式碼例項JSXML
- Oracle DG資料庫狀態轉換Oracle資料庫
- Oracle資料庫日期格式轉換操作Oracle資料庫
- 9i RAC轉換為SINGLE例項
- 將rac資料庫改為單機資料庫需要修改的引數資料庫