2007 年 1 月發(fā)表
于 10 月份 Oracle OpenWorld 2006 上推介的 Oracle 堅不可摧的 Linux 旨在為 Red Hat Linux 提供企業(yè)級支持服務(wù),更快地修復錯誤,以及顯著(zhù)降低支持價(jià)格。此外,Oracle 自己的 Enterprise Linux(基于包含額外錯誤修補的 Red Hat Advanced Server 第 4 版 (Update 4))提供免費下載。
因此,現在可以通過(guò) VMware Server(VMware 提供的一個(gè)免費虛擬環(huán)境)在家用電腦上免費使用運行在 Red Hat Advanced Server 上的 Oracle 真正應用集群 (RAC) 10g。
VMware Server 允許您在一臺物理計算機上運行多個(gè)操作系統。每個(gè)虛擬機都是一個(gè)獨立的操作環(huán)境,并帶有一組自己的虛擬組件,如磁盤(pán)、處理器和內存。虛擬技術(shù)在計算環(huán)境中十分有用,它允許您在同一物理主機上獨立地開(kāi)發(fā)和測試軟件以防止數據或軟件損壞。VMware 軟件廣泛地用于服務(wù)器整合,以降低總擁有成本并加快應用程序開(kāi)發(fā)和測試周期。
在本指南中,您將了解如何安裝和配置兩個(gè)在 Enterprise Linux 和 VMware Server 上運行 Oracle RAC 10g 第 2 版的節點(diǎn)。注意,本指南僅用于教學(xué)/評估目的;Oracle 及其他供應商不會(huì )為本配置提供支持。
本指南分為以下幾個(gè)部分:
在本指南中,您將安裝 32 位 Linux 客戶(hù)操作系統。只有在主機上運行的以下 64 位處理器支持 64 位客戶(hù)操作系統:
如果您決定安裝 64 位客戶(hù)操作系統,請確定上面列出了您的處理器。您還需要確保在 BIOS 中啟用了虛擬技術(shù) (VT)。一些主流制造商在默認情況下禁用了該技術(shù)。此處提供了有關(guān)處理器兼容性的其他信息。
要驗證您的處理器是否受支持,請從 VMware 網(wǎng)站下載處理器兼容性檢查工具。
為每個(gè)虛擬機至少分配 700MB 內存;為所有虛擬機預留至少 30GB 磁盤(pán)空間。
主機操作系統環(huán)境概況:
| 主機名 | 操作系統 | 處理器 | 內存 | 磁盤(pán) | 網(wǎng)卡 |
| pacu | Windows XP Professional Service Pack 2(32 位) | Intel Pentium 4 550, 3.4MHz, HT | 2 GB DDR2 SDRAM, 533 MHz | 250 GB, Ultra ATA/133, 7200 RPM | Intel Pro/1000 MT |
客戶(hù)操作系統環(huán)境概況:
| 主機名 | 操作系統 | 處理器 | 內存 |
| rac1 | Oracle Enterprise Linux 4(32 位) | 1 | 700 MB |
| rac2 | Oracle Enterprise Linux 4(32 位) | 1 | 700 MB |
虛擬磁盤(pán)布局概況:
| 主機操作系統上的虛擬磁盤(pán) | 客戶(hù)操作系統上的虛擬磁盤(pán) | 虛擬設備節點(diǎn) | 大小 (MB) | 描述 |
| d:\vm\rac\localdisk.vmdk | /dev/sda1 /dev/sda2 /dev/sda3 | SCSI 0:0 | 20 | “/”掛載點(diǎn) 交換空間 Oracle 二進(jìn)制文件 |
| d:\vm\rac\sharedstorage\ocfs2disk.vmdk | /dev/sdb | SCSI 1:0 | 512 | OCFS2 磁盤(pán) |
| d:\vm\rac\sharedstorage\asmdisk1.vmdk | /dev/sdc | SCSI 1:1 | 3072 | ASM 磁盤(pán)組 1 |
| d:\vm\rac\sharedstorage\asmdisk2.vmdk | /dev/sdd | SCSI 1:2 | 3072 | ASM 磁盤(pán)組 1 |
| d:\vm\rac\sharedstorage\asmdisk3.vmdk | /dev/sde | SCSI 1:3 | 2048 | ASM 閃回恢復區 |
(要配置共享存儲,客戶(hù) OS 不能與共享存儲共享同一個(gè) SCSI 總線(xiàn)。指定客戶(hù) OS 使用 SCSI0,共享磁盤(pán)使用 SCSI1。)
RAC 數據庫環(huán)境概況:
| 主機名 | ASM 實(shí)例名 | RAC 實(shí)例名 | 數據庫名 | 數據庫文件存儲 | OCR 與表決磁盤(pán) (Voting Disk) |
| rac1 | +ASM1 | devdb1 | devdb | ASM | OCFS2 |
| rac2 | +ASM2 | devdb2 | devdb | ASM | OCFS2 |
您將在每個(gè)節點(diǎn)上安裝 Oracle 主目錄供冗余使用。每個(gè)節點(diǎn)上的 ASM 和 Oracle RAC 實(shí)例共享同一個(gè) Oracle 主目錄。
要創(chuàng )建和配置第一個(gè)虛擬機,您需要添加虛擬硬件設備,如磁盤(pán)和處理器。在繼續執行安裝之前,請創(chuàng )建以下 windows 文件夾以存放虛擬機和共享存儲。
D:\>mkdir vm\rac\rac1D:\>mkdir vm\rac\rac2D:\>mkdir vm\rac\sharedstorage
雙擊桌面上的 VMware Server 圖標以啟動(dòng)應用程序:
重復步驟 16-24 以創(chuàng )建四個(gè)虛擬 SCSI 硬盤(pán) — ocfs2disk.vmdk (512MB)、asmdisk1.vmdk (3GB)、asmdisk2.vmdk (3GB) 和 asmdisk3.vmdk (2GB)。
最后,額外添加一個(gè)虛擬網(wǎng)卡以用于專(zhuān)用互聯(lián),并移除軟盤(pán)驅動(dòng)器(如果有)。

修改虛擬機配置文件。還需要設置其他參數以啟用兩個(gè)虛擬 RAC 節點(diǎn)之間的磁盤(pán)共享。打開(kāi)配置文件 d:\vm\rac\rac1\Red Hat Enterprise Linux 4.vmx,并添加下面列出的粗體參數。
config.version = "8"virtualHW.version = "4"scsi0.present = "TRUE"scsi0.virtualDev = "lsilogic"memsize = "700"scsi0:0.present = "TRUE"scsi0:0.fileName = "localdisk.vmdk"ide1:0.present = "TRUE"ide1:0.fileName = "auto detect"ide1:0.deviceType = "cdrom-raw"floppy0.fileName = "A:"Ethernet0.present = "TRUE"displayName = "rac1"guestOS = "rhel4"priority.grabbed = "normal"priority.ungrabbed = "normal"disk.locking = "FALSE"diskLib.dataCacheMaxSize = "0"scsi1.sharedBus = "virtual"scsi1.present = "TRUE"scsi1:0.present = "TRUE"scsi1:0.fileName = "D:\vm\rac\sharedstorage\ocfs2disk.vmdk"scsi1:0.mode = "independent-persistent"scsi1:0.deviceType = "disk"scsi1:1.present = "TRUE"scsi1:1.fileName = "D:\vm\rac\sharedstorage\asmdisk1.vmdk"scsi1:1.mode = "independent-persistent"scsi1:1.deviceType = "disk"scsi1:2.present = "TRUE"scsi1:2.fileName = "D:\vm\rac\sharedstorage\asmdisk2.vmdk"scsi1:2.mode = "independent-persistent"scsi1:2.deviceType = "disk"scsi1:3.present = "TRUE"scsi1:3.fileName = "D:\vm\rac\sharedstorage\asmdisk3.vmdk"scsi1:3.mode = "independent-persistent"scsi1:3.deviceType = "disk"scsi1.virtualDev = "lsilogic"ide1:0.autodetect = "TRUE"floppy0.present = "FALSE"Ethernet1.present = "TRUE"Ethernet1.connectionType = "hostonly"
從 Oracle 網(wǎng)站下載 Enterprise Linux 并解壓縮文件:


恭喜,您已經(jīng)在 VMware Server 上安裝了 Enterprise Linux!
安裝 VMware 工具。VMware 工具要求同步主機和客戶(hù)機的時(shí)間。在 VMware 控制臺上,以 root 用戶(hù)身份登錄。

"/bin/tar: ./inventory/Components21/oracle.ordim.server/10.2.0.1.0: timestamp 2006-11-04 06:24:04 is 25 s in the future"要確保成功安裝 Oracle RAC,虛擬機上的時(shí)間必須與主機上的時(shí)間同步。執行下面的步驟,以 root 用戶(hù)身份同步時(shí)間。
#boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title Enterprise (2.6.9-42.0.0.0.1.ELsmp) root (hd0,0) kernel /boot/vmlinuz-2.6.9-42.0.0.0.1.ELsmp ro root=LABEL=/ rhgb quiet clock=pit nosmp noapic nolapic initrd /boot/initrd-2.6.9-42.0.0.0.1.ELsmp.img title Enterprise-up (2.6.9-42.0.0.0.1.EL) root (hd0,0) kernel /boot/vmlinuz-2.6.9-42.0.0.0.1.EL ro root=LABEL=/ rhgb quiet clock=pit nosmp noapic nolapic initrd /boot/initrd-2.6.9-42.0.0.0.1.EL.img
# reboot
# groupadd oinstall# groupadd dba# mkdir -p /export/home/oracle /ocfs# useradd -d /export/home/oracle -g oinstall -G dba -s /bin/ksh oracle# chown oracle:dba /export/home/oracle /u01# passwd oracleNew Password:Re-enter new Password:passwd: password successfully changed for oracle創(chuàng )建 oracle 用戶(hù)環(huán)境文件。
/export/home/oracle/.profile
export PS1="`/bin/hostname -s`-> "export EDITOR=viexport ORACLE_SID=devdb1export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs_1export LD_LIBRARY_PATH=$ORACLE_HOME/libexport PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/binumask 022創(chuàng )建文件系統目錄結構。以 oracle 用戶(hù)身份執行
rac1-> mkdir p $ORACLE_BASE/adminrac1-> mkdir p $ORACLE_HOMErac1-> mkdir p $ORA_CRS_HOMErac1-> mkdir -p /u01/oradata/devdb
提高 Oracle 用戶(hù)的 shell 限制。使用文本編輯器將下面列出的行添加到 /etc/security/limits.conf、/etc/pam.d/login 和 /etc/profile。其他信息可以從文檔中獲得。
/etc/security/limits.conf
oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536/etc/pam.d/login
session required /lib/security/pam_limits.so/etc/profile
if [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fifi安裝 Enterprise Linux 軟件程序包。安裝 Oracle 軟件需要以下附加程序包。如果您已經(jīng)安裝了 64 位版本的 Enterprise Linux,則安裝程序應該已安裝了這些程序包。
從 ISO CD 解壓縮這些程序包,并以 root 用戶(hù)身份執行下面的命令。
# lslibaio-0.3.105-2.i386.rpm openmotif21-2.1.30-11.RHEL4.6.i386.rpm## rpm -Uvh *.rpmwarning: libaio-0.3.105-2.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516Preparing...########################################### [100%]1:openmotif21########################################### [ 50%]2:libaio########################################### [100%]配置內核參數。使用文本編輯器將下面列出的行添加到 /etc/sysctl.conf。要使更改立即生效,請執行 /sbin/sysctl –p。
# more /etc/sysctl.confkernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128fs.file-max = 65536net.ipv4.ip_local_port_range = 1024 65000net.core.rmem_default = 1048576net.core.rmem_max = 1048576net.core.wmem_default = 262144net.core.wmem_max = 262144修改 /etc/hosts 文件。
# more /etc/hosts127.0.0.1 localhost192.168.2.131 rac1.mycorpdomain.com rac1192.168.2.31 rac1-vip.mycorpdomain.com rac1-vip10.10.10.31 rac1-priv.mycorpdomain.com rac1-priv192.168.2.132 rac2.mycorpdomain.com rac2192.168.2.32 rac2-vip.mycorpdomain.com rac2-vip10.10.10.32 rac2-priv.mycorpdomain.com rac2-priv配置 hangcheck timer 內核模塊。hangcheck timer 內核模塊可監控系統的運行情況,并重新啟動(dòng)出現故障的 RAC 節點(diǎn)。它使用兩個(gè)參數,即 hangcheck_tick(定義系統檢查頻率)和 hangcheck_margin(定義在重置 RAC 節點(diǎn)前的最大掛起延時(shí))來(lái)確定節點(diǎn)是否出現故障。
在 /etc/modprobe.conf 中添加以下行,以設置 hangcheck 內核模塊參數。
/etc/modprobe.conf
options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
要立即加載模塊,執行“modprobe -v hangcheck-timer”。
為 OCFS2 和 Oracle ASM 創(chuàng )建磁盤(pán)分區。為 OCFS2 (/dev/sdb) 和 Oracle ASM(/dev/sdc、/dev/sdd、/dev/sde)準備一組原始磁盤(pán)。
在 rac1 上,以 root 用戶(hù)身份執行
# fdisk /dev/sdb
Command (m for help): nCommand actione extendedp primary partition (1-4)pPartition number (1-4): 1First cylinder (1-512, default 1):Using default value 1Last cylinder or +size or +sizeM or +sizeK (1-512, default 512):Using default value 512Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.
# fdisk /dev/sdc
Command (m for help): nCommand actione extendedp primary partition (1-4)pPartition number (1-4): 1First cylinder (1-391, default 1):Using default value 1Last cylinder or +size or +sizeM or +sizeK (1-391, default 391):Using default value 391Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.
# fdisk /dev/sdd
Command (m for help): nCommand actione extendedp primary partition (1-4)pPartition number (1-4): 1First cylinder (1-391, default 1):Using default value 1Last cylinder or +size or +sizeM or +sizeK (1-391, default 391):Using default value 391Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.
# fdisk /dev/sde
Command (m for help): nCommand actione extendedp primary partition (1-4)pPartition number (1-4): 1First cylinder (1-261, default 1):Using default value 1Last cylinder or +size or +sizeM or +sizeK (1-261, default 261):Using default value 261Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.
# fdisk -l
Disk /dev/sda: 21.4 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/sda1 * 1 910 7309543+ 83 Linux/dev/sda2 911 1170 2088450 82 Linux swap/dev/sda3 1171 2610 11566800 83 LinuxDisk /dev/sdb: 536 MB, 536870912 bytes64 heads, 32 sectors/track, 512 cylindersUnits = cylinders of 2048 * 512 = 1048576 bytesDevice Boot Start End Blocks Id System/dev/sdb1 1 512 524272 83 LinuxDisk /dev/sdc: 3221 MB, 3221225472 bytes255 heads, 63 sectors/track, 391 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/sdc1 1 391 3140676 83 LinuxDisk /dev/sdd: 3221 MB, 3221225472 bytes255 heads, 63 sectors/track, 391 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/sdd1 1 391 3140676 83 LinuxDisk /dev/sde: 2147 MB, 2147483648 bytes255 heads, 63 sectors/track, 261 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/sde1 1 261 2096451 83 Linux安裝 oracleasmlib 程序包。 從 OTN 下載 ASM 庫,并以 root 用戶(hù)身份安裝 ASM RPM。
# rpm -Uvh oracleasmlib-2.0.2-1.i386.rpmPreparing...########################################### [100%]1:oracleasmlib########################################### [100%]
在這個(gè)階段,您應該已經(jīng)安裝了以下 ASM 程序包。
[root@rac1 swdl]# rpm -qa | grep oracleasmoracleasm-support-2.0.3-2oracleasm-2.6.9-42.0.0.0.1.ELsmp-2.0.3-2oracleasmlib-2.0.2-1為 ASM 磁盤(pán)映射原始設備。僅當您打算使用標準 Linux I/O 創(chuàng )建 ASM 磁盤(pán)時(shí),才需要原始設備映射。創(chuàng )建 ASM 磁盤(pán)的另一個(gè)方法是使用 Oracle 提供的 ASM 庫驅動(dòng)程序。稍后,您將使用 ASM 庫驅動(dòng)程序配置 ASM 磁盤(pán)。
執行以下任務(wù),將原始設備映射到先前創(chuàng )建的共享分區。每次引導集群節點(diǎn)時(shí),原始設備都必須與塊設備綁定。
將以下行添加到 /etc/sysconfig/rawdevices 中。
/etc/sysconfig/rawdevices
/dev/raw/raw1 /dev/sdc1/dev/raw/raw2 /dev/sdd1/dev/raw/raw3 /dev/sde1要使映射立即生效,以 root 用戶(hù)身份執行以下命令:
# /sbin/service rawdevices restartAssigning devices:/dev/raw/raw1 --> /dev/sdc1/dev/raw/raw1: bound to major 8, minor 33/dev/raw/raw2 --> /dev/sdd1/dev/raw/raw2: bound to major 8, minor 49/dev/raw/raw3 --> /dev/sde1/dev/raw/raw3: bound to major 8, minor 65done# chown oracle:dba /dev/raw/raw[1-3]# chmod 660 /dev/raw/raw[1-3]# ls -lat /dev/raw/raw*crw-rw---- 1 oracle dba 162, 3 Nov 4 07:04 /dev/raw/raw3crw-rw---- 1 oracle dba 162, 2 Nov 4 07:04 /dev/raw/raw2crw-rw---- 1 oracle dba 162, 1 Nov 4 07:04 /dev/raw/raw1
以 oracle 用戶(hù)身份執行
rac1-> ln -sf /dev/raw/raw1 /u01/oradata/devdb/asmdisk1rac1-> ln -sf /dev/raw/raw2 /u01/oradata/devdb/asmdisk2rac1-> ln -sf /dev/raw/raw3 /u01/oradata/devdb/asmdisk3
修改 /etc/udev/permissions.d/50-udev.permissions。原始設備在引導時(shí)會(huì )重新映射。默認情況下,在引導時(shí)原始設備的擁有者將更改為 root 用戶(hù)。如果擁有者不是 oracle 用戶(hù),則 ASM 在訪(fǎng)問(wèn)共享分區時(shí)會(huì )出現問(wèn)題。在 /etc/udev/permissions.d/50-udev.permissions 中為原始行“raw/*:root:disk:0660”添加注釋?zhuān)缓筇砑右粋€(gè)新行“raw/*:oracle:dba:0660”。
/etc/udev/permissions.d/50-udev.permissions
# raw devicesram*:root:disk:0660#raw/*:root:disk:0660raw/*:oracle:dba:0660
要創(chuàng )建第二個(gè)虛擬機,只需關(guān)閉第一個(gè)虛擬機,將 d:\vm\rac\rac1 中的所有文件復制到 d:\vm\rac\rac2,然后更改幾個(gè)配置即可。
修改網(wǎng)絡(luò )配置。
- 單擊 Start this virtual machine 啟動(dòng) rac2,保留 rac1 為電源關(guān)閉狀態(tài)。
- rac2 — 虛擬機:選擇 Create a new identifier。
IP 地址:雙擊每個(gè)以太網(wǎng)設備,并使用下面的表進(jìn)行必要的更改。
| 設備 | IP 地址 | 子網(wǎng)掩碼 | 默認網(wǎng)關(guān)地址 |
| eth0 | 192.168.2.132 | 255.255.255.0 | 192.168.2.1 |
| eth1 | 10.10.10.32 | 255.255.255.0 | <保留空白> |
MAC 地址:導航到 Hardware Device 選項卡,并探測每個(gè)以太網(wǎng)設備的新 MAC 地址。
主機名和 DNS:使用下面的表對 DNS 選項卡中的項進(jìn)行必要的更改,然后按 CTRL-S 保存。
| 主機名 | 首選 DNS | 備用 DNS | DNS 搜索路徑 |
| rac2.mycorpdomain.com | 輸入 DNS IP 地址或保留空白。 | 輸入 DNS IP 地址或保留空白。 | 接受默認設置或保留空白。 |
最后,激活每個(gè)以太網(wǎng)設備。
修改 /etc/hosts。將以下項添加到 /etc/hosts 中。
127.0.0.1 localhost
稍后,在 Oracle 集群件軟件安裝期間,VIPCA 將嘗試使用回送地址。
修改 /export/home/oracle/.profile。用 devdb2 替換 ORACLE_SID 的值。
使用 SSH 建立用戶(hù)等效性。在集群就緒服務(wù) (CRS) 和 RAC 安裝過(guò)程中,Oracle Universal Installer (OUI) 必須能夠以 oracle 的身份將軟件復制到所有 RAC 節點(diǎn),而不提示輸入口令。在 Oracle 10g 中,可以使用 ssh 代替 rsh 完成此操作。
要建立用戶(hù)等效性,請在兩個(gè)節點(diǎn)上以 oracle 用戶(hù)身份生成用戶(hù)的公鑰和私鑰。打開(kāi) rac1 的電源,在這兩個(gè)節點(diǎn)上執行以下任務(wù)。
在 rac1 上執行
rac1-> mkdir ~/.sshrac1-> chmod 700 ~/.sshrac1-> ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/export/home/oracle/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /export/home/oracle/.ssh/id_rsa.Your public key has been saved in /export/home/oracle/.ssh/id_rsa.pub.The key fingerprint is:87:54:4f:92:ba:ed:7b:51:5d:1d:59:5b:f9:44:da:b6 oracle@rac1.mycorpdomain.comrac1-> ssh-keygen -t dsaGenerating public/private dsa key pair.Enter file in which to save the key (/export/home/oracle/.ssh/id_dsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /export/home/oracle/.ssh/id_dsa.Your public key has been saved in /export/home/oracle/.ssh/id_dsa.pub.The key fingerprint is:31:76:96:e6:fc:b7:25:04:fd:70:42:04:1f:fc:9a:26 oracle@rac1.mycorpdomain.com
在 rac2 上執行
rac2-> mkdir ~/.sshrac2-> chmod 700 ~/.sshrac2-> ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/export/home/oracle/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /export/home/oracle/.ssh/id_rsa.Your public key has been saved in /export/home/oracle/.ssh/id_rsa.pub.The key fingerprint is:29:5a:35:ac:0a:03:2c:38:22:3c:95:5d:68:aa:56:66 oracle@rac2.mycorpdomain.comrac2-> ssh-keygen -t dsaGenerating public/private dsa key pair.Enter file in which to save the key (/export/home/oracle/.ssh/id_dsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /export/home/oracle/.ssh/id_dsa.Your public key has been saved in /export/home/oracle/.ssh/id_dsa.pub.The key fingerprint is:4c:b2:5a:8d:56:0f:dc:7b:bc:e0:cd:3b:8e:b9:5c:7c oracle@rac2.mycorpdomain.com在 rac1 上執行
rac1-> cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keysrac1-> cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keysrac1-> ssh rac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keysThe authenticity of host ‘rac2 (192.168.2.132)‘ can‘t be established.RSA key fingerprint is 63:d3:52:d4:4d:e2:cb:ac:8d:4a:66:9f:f1:ab:28:1f.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added ‘rac2,192.168.2.132‘ (RSA) to the list of known hosts.oracle@rac2‘s password:rac1-> ssh rac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keysoracle@rac2‘s password:rac1-> scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keysoracle@rac2‘s password:authorized_keys 100% 1716 1.7KB/s 00:00在每個(gè)節點(diǎn)上測試連接。驗證當您再次運行以下命令時(shí),系統是否不提示您輸入口令。
ssh rac1 datessh rac2 datessh rac1-priv datessh rac2-priv datessh rac1.mycorpdomain.com datessh rac2.mycorpdomain.com datessh rac1-priv.mycorpdomain.com datessh rac2-priv.mycorpdomain.com date
Oracle ASM 與 Oracle 數據庫緊密集成在一起,并與 Oracle 的數據管理工具套件配合工作。它可以簡(jiǎn)化數據庫存儲管理,并提供原始磁盤(pán) I/O 的性能。
配置 ASMLib。以 root 用戶(hù)身份在兩個(gè)節點(diǎn)上配置 ASMLib。# /etc/init.d/oracleasm configureConfiguring the Oracle ASM library driver.This will configure the on-boot properties of the Oracle ASM librarydriver. The following questions will determine whether the driver isloaded on boot and what permissions it will have. The current valueswill be shown in brackets (‘[]‘). Hitting創(chuàng )建 ASM 磁盤(pán)。以 root 用戶(hù)身份在任何一個(gè)節點(diǎn)上創(chuàng )建 ASM 磁盤(pán)。without typing ananswer will keep that current value. Ctrl-C will abort.Default user to own the driver interface []: oracleDefault group to own the driver interface []: dbaStart Oracle ASM library driver on boot (y/n) [n]: yFix permissions of Oracle ASM disks on boot (y/n) [y]: yWriting Oracle ASM library driver configuration: [ OK ]Loading module "oracleasm": [ OK ]Mounting ASMlib driver filesystem: [ OK ]Scanning system for ASM disks: [ OK ]
# /etc/init.d/oracleasm createdisk VOL1 /dev/sdc1Marking disk "/dev/sdc1" as an ASM disk: [ OK ]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdd1Marking disk "/dev/sdd1" as an ASM disk: [ OK ]# /etc/init.d/oracleasm createdisk VOL3 /dev/sde1Marking disk "/dev/sde1" as an ASM disk: [ OK ]Verify that the ASM disks are visible from every node.# /etc/init.d/oracleasm scandisksScanning system for ASM disks: [ OK ]# /etc/init.d/oracleasm listdisksVOL1VOL2VOL3VOL4
OCFS2 是 Oracle 開(kāi)發(fā)的一個(gè)通用集群文件系統,與 Enterprise Linux 內核集成在一起。它允許所有節點(diǎn)在集群文件系統上同時(shí)共享文件,因而消除了管理原始設備的需求。這里,您將在 OCFS2 文件系統中寄宿 OCR 和表決磁盤(pán)。您可以從 OCFS2 用戶(hù)指南獲取有關(guān) OCFS2 的其他信息。
在 Enterprise Linux 安裝期間,您應該已經(jīng)安裝了 OCFS2 RPM。驗證 RPM 是否已經(jīng)安裝在兩個(gè)節點(diǎn)上。
rac1-> rpm -qa | grep ocfsocfs2-tools-1.2.2-2ocfs2console-1.2.2-2ocfs2-2.6.9-42.0.0.0.1.ELsmp-1.2.3-2創(chuàng )建 OCFS2 配置文件。 在 rac1 上,以 root 用戶(hù)身份執行
# ocfs2console
# more /etc/ocfs2/cluster.conf node: ip_port = 7777 ip_address = 192.168.2.131 number = 0 name = rac1 cluster = ocfs2 node: ip_port = 7777 ip_address = 192.168.2.132 number = 1 name = rac2 cluster = ocfs2 cluster: node_count = 2 name = ocfs2
在兩個(gè)節點(diǎn)上執行下面的過(guò)程,將 O2CB 配置為在引導時(shí)啟動(dòng)。
當系統提示您指定心跳死亡閾值時(shí),您必須指定一個(gè)大于 7 的值,以防止節點(diǎn)由于較慢的 IDE 磁盤(pán)驅動(dòng)器而崩潰。心跳死亡閾值是一個(gè)用于計算隔離時(shí)間的變量。
Fence time (seconds) = (heartbeat dead threshold -1) * 2
在我們的環(huán)境中,120 秒的隔離時(shí)間很合適。兩個(gè)節點(diǎn)上的心跳死亡閾值應該完全相同。
以 root 用戶(hù)身份執行
# /etc/init.d/o2cb unloadStopping O2CB cluster ocfs2: OKUnmounting ocfs2_dlmfs filesystem: OKUnloading module "ocfs2_dlmfs": OKUnmounting configfs filesystem: OKUnloading module "configfs": OK# /etc/init.d/o2cb configureConfiguring the O2CB driver.This will configure the on-boot properties of the O2CB driver.The following questions will determine whether the driver is loaded onboot. The current values will be shown in brackets (‘[]‘). Hitting格式化文件系統。在格式化和掛載文件系統之前,應驗證 O2CB 在兩個(gè)節點(diǎn)上均聯(lián)機;O2CB 心跳當前沒(méi)有活動(dòng),因為文件系統未掛載。without typing an answer will keep that current value. Ctrl-Cwill abort.Load O2CB driver on boot (y/n) [y]: yCluster to start on boot (Enter "none" to clear) [ocfs2]:Specify heartbeat dead threshold (>=7) [7]: 61Writing O2CB configuration: OKLoading module "configfs": OKMounting configfs filesystem at /config: OKLoading module "ocfs2_nodemanager": OKLoading module "ocfs2_dlm": OKLoading module "ocfs2_dlmfs": OKMounting ocfs2_dlmfs filesystem at /dlm: OKStarting O2CB cluster ocfs2: OK
# /etc/init.d/o2cb statusModule "configfs": LoadedFilesystem "configfs": MountedModule "ocfs2_nodemanager": LoadedModule "ocfs2_dlm": LoadedModule "ocfs2_dlmfs": LoadedFilesystem "ocfs2_dlmfs": MountedChecking O2CB cluster ocfs2: OnlineChecking O2CB heartbeat: Not active
您只需在一個(gè)節點(diǎn)上格式化文件系統。在 rac1 上,以 root 用戶(hù)身份執行
# ocfs2console
# mount -t ocfs2 -o datavolume,nointr /dev/sdb1 /ocfs
要在引導時(shí)掛載文件系統,在兩個(gè)節點(diǎn)的 /etc/fstab 中添加以下行。
/etc/fstab
/dev/sdb1 /ocfs ocfs2 _netdev,datavolume,nointr 0 0創(chuàng )建 Oracle 集群件目錄。在 OCR 和表決磁盤(pán)將駐留的 OCFS2 文件系統中創(chuàng )建目錄。
在 rac1 上執行
# mkdir /ocfs/clusterware# chown -R oracle:dba /ocfs
現在,您已經(jīng)完成了 OCFS2 的設置。驗證您可以在兩個(gè)節點(diǎn)的共享集群文件系統上讀寫(xiě)文件。
下載后,在 rac1 上以 oracle 用戶(hù)身份執行
rac1-> /u01/staging/clusterware/runInstaller


rac1-> /u01/app/oracle/product/10.2.0/crs_1/bin/cluvfy stage -post crsinst -n rac1,rac2 Performing post-checks for cluster services setup Checking node reachability... Node reachability check passed from node "rac1". Checking user equivalence... User equivalence check passed for user "oracle". Checking Cluster manager integrity... Checking CSS daemon... Daemon status check passed for "CSS daemon". Cluster manager integrity check passed. Checking cluster integrity... Cluster integrity check passed Checking OCR integrity... Checking the absence of a non-clustered configuration... All nodes free of non-clustered, local-only configurations. Uniqueness check for OCR device passed. Checking the version of OCR... OCR of correct Version "2" exists. Checking data integrity of OCR... Data integrity check for OCR passed. OCR integrity check passed. Checking CRS integrity... Checking daemon liveness... Liveness check passed for "CRS daemon". Checking daemon liveness... Liveness check passed for "CSS daemon". Checking daemon liveness... Liveness check passed for "EVM daemon". Checking CRS health... CRS health check passed. CRS integrity check passed. Checking node application existence... Checking existence of VIP node application (required) Check passed. Checking existence of ONS node application (optional) Check passed. Checking existence of GSD node application (optional) Check passed. Post-check for cluster services setup was successful.
下載后,在 rac1 上以 oracle 用戶(hù)身份執行
rac1-> /u01/staging/database/runInstaller

- 磁盤(pán)組名稱(chēng):RECOVERYDEST。
- 選擇 External 冗余。
- 選擇磁盤(pán)路徑 ORCL:VOL3。如果您已經(jīng)使用標準 Linux I/O 配置了 ASM 磁盤(pán),則請選擇 /u01/oradata/devdb/asmdisk3。
- 單擊 OK。





恭喜,您已經(jīng)在 Enterprise Linux 上成功安裝了 Oracle RAC 數據庫 10g!
現在,您已經(jīng)成功安裝了虛擬雙節點(diǎn) RAC 數據庫,下面我們來(lái)探究一下您剛剛配置的環(huán)境。
檢查應用程序資源的狀態(tài)。rac1-> crs_stat -tName Type Target State Host------------------------------------------------------------ora.devdb.db application ONLINE ONLINE rac1ora....b1.inst application ONLINE ONLINE rac1ora....b2.inst application ONLINE ONLINE rac2ora....SM1.asm application ONLINE ONLINE rac1ora....C1.lsnr application ONLINE ONLINE rac1ora.rac1.gsd application ONLINE ONLINE rac1ora.rac1.ons application ONLINE ONLINE rac1ora.rac1.vip application ONLINE ONLINE rac1ora....SM2.asm application ONLINE ONLINE rac2ora....C2.lsnr application ONLINE ONLINE rac2ora.rac2.gsd application ONLINE ONLINE rac2ora.rac2.ons application ONLINE ONLINE rac2ora.rac2.vip application ONLINE ONLINE rac2rac1-> srvctl status nodeapps -n rac1VIP is running on node: rac1GSD is running on node: rac1Listener is running on node: rac1ONS daemon is running on node: rac1rac1-> srvctl status nodeapps -n rac2VIP is running on node: rac2GSD is running on node: rac2Listener is running on node: rac2ONS daemon is running on node: rac2rac1-> srvctl status asm -n rac1ASM instance +ASM1 is running on node rac1.rac1-> srvctl status asm -n rac2ASM instance +ASM2 is running on node rac2.rac1-> srvctl status database -d devdbInstance devdb1 is running on node rac1Instance devdb2 is running on node rac2rac1-> srvctl status service -d devdbrac1->檢查 Oracle 集群件的狀態(tài)。
rac1-> crsctl check crsCSS appears healthyCRS appears healthyEVM appears healthyrac2-> crsctl check crsCSS appears healthyCRS appears healthyEVM appears healthy
在命令行執行 crsctl 以查看所有可用選項。
列出 RAC 實(shí)例。SQL> select2 instance_name,3 host_name,4 archiver,5 thread#,6 status7 from gv$instance;INSTANCE_NAME HOST_NAME ARCHIVE THREAD# STATUS-------------- --------------------- ------- -------- ------devdb1 rac1.mycorpdomain.com STARTED 1 OPENdevdb2 rac2.mycorpdomain.com STARTED 2 OPEN檢查連接。
驗證您能夠連接到每個(gè)節點(diǎn)上的實(shí)例和服務(wù)。
sqlplus system@devdb1sqlplus system@devdb2sqlplus system@devdb檢查數據庫配置。
rac1-> export ORACLE_SID=devdb1rac1-> sqlplus / as sysdbaSQL> show sgaTotal System Global Area 209715200 bytesFixed Size 1218556 bytesVariable Size 104859652 bytesDatabase Buffers 100663296 bytesRedo Buffers 2973696 bytesSQL> select file_name,bytes/1024/1024 from dba_data_files;FILE_NAME BYTES/1024/1024------------------------------------------- ---------------+DG1/devdb/datafile/users.259.606468449 5+DG1/devdb/datafile/sysaux.257.606468447 240+DG1/devdb/datafile/undotbs1.258.606468449 30+DG1/devdb/datafile/system.256.606468445 480+DG1/devdb/datafile/undotbs2.264.606468677 25SQL> select2 group#,3 type,4 member,5 is_recovery_dest_file6 from v$logfile7 order by group#;GROUP# TYPE MEMBER IS_------ ------- --------------------------------------------------- ---1 ONLINE +RECOVERYDEST/devdb/onlinelog/group_1.257.606468581 YES1 ONLINE +DG1/devdb/onlinelog/group_1.261.606468575 NO2 ONLINE +RECOVERYDEST/devdb/onlinelog/group_2.258.606468589 YES2 ONLINE +DG1/devdb/onlinelog/group_2.262.606468583 NO3 ONLINE +DG1/devdb/onlinelog/group_3.265.606468865 NO3 ONLINE +RECOVERYDEST/devdb/onlinelog/group_3.259.606468875 YES4 ONLINE +DG1/devdb/onlinelog/group_4.266.606468879 NO4 ONLINE +RECOVERYDEST/devdb/onlinelog/group_4.260.606468887 YESrac1-> export ORACLE_SID=+ASM1rac1-> sqlplus / as sysdbaSQL> show sgaTotal System Global Area 92274688 bytesFixed Size 1217884 bytesVariable Size 65890980 bytesASM Cache 25165824 bytesSQL> show parameter asm_diskNAME TYPE VALUE------------------------------ ----------- ------------------------asm_diskgroups string DG1, RECOVERYDESTasm_diskstring stringSQL> select2 group_number,3 name,4 allocation_unit_size alloc_unit_size,5 state,6 type,7 total_mb,8 usable_file_mb9 from v$asm_diskgroup;ALLOC USABLEGROUP UNIT TOTAL FILENUMBER NAME SIZE STATE TYPE MB MB------ ------------ -------- ------- ------ ------ -------1 DG1 1048576 MOUNTED NORMAL 6134 18682 RECOVERYDEST 1048576 MOUNTED EXTERN 2047 1713SQL> select2 name,3 path,4 header_status,5 total_mb free_mb,6 trunc(bytes_read/1024/1024) read_mb,7 trunc(bytes_written/1024/1024) write_mb8 from v$asm_disk;NAME PATH HEADER_STATU FREE_MB READ_MB WRITE_MB----- ---------- ------------ ---------- ---------- ----------VOL1 ORCL:VOL1 MEMBER 3067 229 1242VOL2 ORCL:VOL2 MEMBER 3067 164 1242VOL3 ORCL:VOL3 MEMBER 2047 11 354創(chuàng )建表空間。
SQL> connect system/oracle@devdbConnected.SQL> create tablespace test_d datafile ‘+DG1‘ size 10M;Tablespace created.SQL> select2 file_name,3 tablespace_name,4 bytes5 from dba_data_files6 where tablespace_name=‘TEST_D‘;FILE_NAME TABLESPACE_NAME BYTES---------------------------------------- --------------- ----------+DG1/devdb/datafile/test_d.269.606473423 TEST_D 10485760創(chuàng )建在線(xiàn)重做日志文件組。
SQL> connect system/oracle@devdbConnected.SQL> alter database add logfile thread 1 group 5 size 50M;Database altered.SQL> alter database add logfile thread 2 group 6 size 50M;Database altered.SQL> select2 group#,3 thread#,4 bytes,5 members,6 status7 from v$log;GROUP# THREAD# BYTES MEMBERS STATUS---------- ---------- ---------- ---------- ----------------1 1 52428800 2 CURRENT2 1 52428800 2 INACTIVE3 2 52428800 2 ACTIVE4 2 52428800 2 CURRENT5 1 52428800 2 UNUSED6 2 52428800 2 UNUSEDSQL> select2 group#,3 type,4 member,5 is_recovery_dest_file6 from v$logfile7 where group# in (5,6)8 order by group#;GROUP# TYPE MEMBER IS_------ ------- ---------------------------------------------------- ---5 ONLINE +DG1/devdb/onlinelog/group_5.271.606473683 NO5 ONLINE +RECOVERYDEST/devdb/onlinelog/group_5.261.606473691 YES6 ONLINE +DG1/devdb/onlinelog/group_6.272.606473697 NO6 ONLINE +RECOVERYDEST/devdb/onlinelog/group_6.262.606473703 YES檢查閃回恢復區空間使用率。
SQL> select * from v$recovery_file_dest;NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES------------- ----------- ---------- ----------------- ---------------+RECOVERYDEST 1572864000 331366400 0 7SQL> select * from v$flash_recovery_area_usage;FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES------------ ------------------ ------------------------- ---------------CONTROLFILE .97 0 1ONLINELOG 20 0 6ARCHIVELOG 0 0 0BACKUPPIECE 0 0 0IMAGECOPY 0 0 0FLASHBACKLOG 0 0 0啟動(dòng)和停止應用程序資源。
遵循以下步驟啟動(dòng)和停止單獨的應用程序資源。
srvctl start nodeapps -n <node1 hostname>srvctl start nodeapps -n <node2 hostname>srvctl start asm -n <node1 hostname>srvctl start asm -n <node2 hostname>srvctl start database -d <database name>srvctl start service -d <database name> -s <service name>crs_stat -tsrvctl stop service -d <database name> -s <service name>srvctl stop database -d <database name>srvctl stop asm -n <node1 hostname>srvctl stop asm -n <node2 hostname>srvctl stop nodeapps -n <node1 hostname>srvctl stop nodeapps -n <node2 hostname>crs_stat -t
Oracle TAF 中的故障切換機制使任何失敗的數據庫連接能夠重新連接到集群中的其他節點(diǎn)。故障切換對用戶(hù)是透明的。Oracle 在故障切換實(shí)例上重新執行查詢(xún)并繼續向用戶(hù)顯示余下的結果。
創(chuàng )建一個(gè)新的數據庫服務(wù)。首先,創(chuàng )建一個(gè)名為 CRM 的新服務(wù)??梢允褂?DBCA 或 srvctl 實(shí)用程序來(lái)創(chuàng )建數據庫服務(wù)。這里,您將使用 DBCA 在 devdb1 上創(chuàng )建 CRM 服務(wù)。
| 服務(wù)名 | 數據庫名 | 首選實(shí)例 | 可用實(shí)例 | TAF 策略 |
| CRM | devdb | devdb1 | devdb2 | BASIC |
在 rac1 上,以 oracle 用戶(hù)身份執行
rac1-> dbca

數據庫配置助手將在 tnsnames.ora 中創(chuàng )建以下 CRM 服務(wù)名項:
CRM =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521))(LOAD_BALANCE = yes)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = CRM)(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC)(RETRIES = 180)(DELAY = 5))))SQL> connect system/oracle@devdb1Connected.SQL> show parameter serviceNAME TYPE VALUE------------------------------ ----------- ------------------------service_names string devdb, CRMSQL> connect system/oracle@devdb2Connected.SQL> show parameter serviceNAME TYPE VALUE------------------------------ ----------- ------------------------service_names string devdb使用 CRM 服務(wù)連接第一個(gè)會(huì )話(huà)。如果 failover_type 和 failover_mode 返回的輸出為“NONE”,則驗證是否在 tnsnames.ora 中正確配置了 CRM 服務(wù)。
SQL> connect system/oracle@crmConnected.SQL> select2 instance_number instance#,3 instance_name,4 host_name,5 status6 from v$instance;INSTANCE# INSTANCE_NAME HOST_NAME STATUS---------- ---------------- --------------------- ------------1 devdb1 rac1.mycorpdomain.com OPENSQL> select2 failover_type,3 failover_method,4 failed_over5 from v$session6 where username=‘SYSTEM‘;FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER------------- --------------- ----------------SELECT BASIC NO從其他會(huì )話(huà)中關(guān)閉該實(shí)例。在 CRM 實(shí)例上以 sys 用戶(hù)身份連接,并關(guān)閉該實(shí)例。
rac1-> export ORACLE_SID=devdb1rac1-> sqlplus / as sysdbaSQL> select2 instance_number instance#,3 instance_name,4 host_name,5 status6 from v$instance;INSTANCE# INSTANCE_NAME HOST_NAME STATUS---------- ---------------- --------------------- ------------1 devdb1 rac1.mycorpdomain.com OPENSQL> shutdown abort;ORACLE instance shut down.驗證會(huì )話(huà)已經(jīng)完成故障切換。從您先前打開(kāi)的同一 CRM 會(huì )話(huà)執行以下查詢(xún),以驗證該會(huì )話(huà)已經(jīng)故障切換到其他實(shí)例。
SQL> select2 instance_number instance#,3 instance_name,4 host_name,5 status6 from v$instance;INSTANCE# INSTANCE_NAME HOST_NAME STATUS---------- ---------------- --------------------- ------------2 devdb2 rac2.mycorpdomain.com OPENSQL> select2 failover_type,3 failover_method,4 failed_over5 from v$session6 where username=‘SYSTEM‘;FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER------------- --------------- ----------------SELECT BASIC YES將 CRM 服務(wù)重新定位到首選實(shí)例。恢復 devdb1 之后,CRM 服務(wù)不會(huì )自動(dòng)重新定位到首選實(shí)例。您必須手動(dòng)將服務(wù)重新定位到 devdb1。
rac1-> export ORACLE_SID=devdb1rac1-> sqlplus / as sysdbaSQL> startupORACLE instance started.Total System Global Area 209715200 bytesFixed Size 1218556 bytesVariable Size 104859652 bytesDatabase Buffers 100663296 bytesRedo Buffers 2973696 bytesDatabase mounted.Database opened.SQL> show parameter serviceNAME TYPE VALUE------------------------------ ----------- ------------------------service_names string devdbrac2-> export ORACLE_SID=devdb2rac2-> sqlplus / as sysdbaSQL> show parameter serviceNAME TYPE VALUE------------------------------ ----------- ------------------------service_names string devdb, CRMrac1-> srvctl relocate service -d devdb -s crm -i devdb2 -t devdb1SQL> connect system/oracle@devdb1Connected.SQL> show parameter serviceNAME TYPE VALUE------------------------------ ----------- ------------------------service_names string devdb, CRMSQL> connect system/oracle@devdb2Connected.SQL> show parameter serviceNAME TYPE VALUE------------------------------ ----------- ------------------------service_names string devdb
使用 Oracle 恢復管理器 (RMAN) 備份和恢復 Oracle RAC 數據庫的過(guò)程與單實(shí)例數據庫的備份和恢復過(guò)程相同。
在本部分中,您將看到一個(gè)非常簡(jiǎn)單的備份和恢復案例:
1. 執行完整的數據庫備份。
2. 在 test_d 表空間中創(chuàng )建 mytable 表。
3. 在 t1 時(shí)間,向 mytable 中插入第一個(gè)記錄。
4 在 t2 時(shí)間,向 mytable 中插入第二個(gè)記錄。
5. 在 t3 時(shí)間,刪除 mytable 表。
6. 將 test_d 表空間恢復到某個(gè)時(shí)間點(diǎn)。
7. 驗證恢復結果。
rac1-> rman nocatalog target /Recovery Manager: Release 10.2.0.1.0 - Production on Mon Nov 13 18:15:09 2006Copyright (c) 1982, 2005, Oracle. All rights reserved.connected to target database: DEVDB (DBID=511198553)using target database control file instead of recovery catalogRMAN> configure controlfile autobackup on;RMAN> backup database plus archivelog delete input;
19:01:56 SQL> connect system/oracle@devdb2Connected.19:02:01 SQL> create table mytable (col1 number) tablespace test_d;Table created.
19:02:50 SQL> insert into mytable values (1);1 row created.19:02:59 SQL> commit;Commit complete.
19:04:41 SQL> insert into mytable values (2);1 row created.19:04:46 SQL> commit;Commit complete.
19:05:09 SQL> drop table mytable;Table dropped.
為輔助數據庫創(chuàng )建輔助目錄。
rac1-> mkdir /u01/app/oracle/auxRMAN> recover tablespace test_d2> until time "to_date(‘13-NOV-2006 19:03:10‘,‘DD-MON-YYYY HH24:MI:SS‘)"3> auxiliary destination ‘/u01/app/oracle/aux‘;RMAN> backup tablespace test_d;RMAN> sql ‘a(chǎn)lter tablespace test_d online‘;
19:15:09 SQL> connect system/oracle@devdb2Connected.19:15:16 SQL> select * from mytable;COL1----------1
Oracle 企業(yè)管理器數據庫控制臺提供了一個(gè)非常好的集成式綜合 GUI 界面,用于管理集群數據庫環(huán)境。您可以在控制臺內執行幾乎所有的任務(wù)。
要訪(fǎng)問(wèn)數據庫控制臺,請打開(kāi) Web 瀏覽器并輸入下面的 URL。
以 sysman 用戶(hù)身份登錄,并輸入您先前在數據庫安裝期間選擇的口令。
http://rac1:1158/em

rac1-> emctl stop dbconsoleTZ set to US/EasternOracle Enterprise Manager 10g Database Control Release 10.2.0.1.0Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.http://rac1.mycorpdomain.com:1158/em/console/aboutApplicationStopping Oracle Enterprise Manager 10g Database Control ...... Stopped.rac1-> emctl start dbconsoleTZ set to US/EasternOracle Enterprise Manager 10g Database Control Release 10.2.0.1.0Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.http://rac1.mycorpdomain.com:1158/em/console/aboutApplicationStarting Oracle Enterprise Manager 10g Database Control................... started.------------------------------------------------------------------Logs are generated in directory/u01/app/oracle/product/10.2.0/db_1/rac1_devdb1/sysman/log
rac1-> emctl status dbconsoleTZ set to US/EasternOracle Enterprise Manager 10g Database Control Release 10.2.0.1.0Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.http://rac1.mycorpdomain.com:1158/em/console/aboutApplicationOracle Enterprise Manager 10g is running.------------------------------------------------------------------Logs are generated in directory/u01/app/oracle/product/10.2.0/db_1/rac1_devdb1/sysman/lograc1-> emctl status agentTZ set to US/EasternOracle Enterprise Manager 10g Database Control Release 10.2.0.1.0Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.---------------------------------------------------------------Agent Version : 10.1.0.4.1OMS Version : 10.1.0.4.0Protocol Version : 10.1.0.2.0Agent Home : /u01/app/oracle/product/10.2.0/db_1/rac1_devdb1Agent binaries : /u01/app/oracle/product/10.2.0/db_1Agent Process ID : 10263Parent Process ID : 8171Agent URL : http://rac1.mycorpdomain.com:3938/emd/mainStarted at : 2006-11-12 08:10:01Started by user : oracleLast Reload : 2006-11-12 08:20:33Last successful upload : 2006-11-12 08:41:53Total Megabytes of XML files uploaded so far : 4.88Number of XML files pending upload : 0Size of XML files pending upload(MB) : 0.00Available disk space on upload filesystem : 71.53%---------------------------------------------------------------Agent is Running and Ready
下面是可能對您有用的問(wèn)題和解決方法摘要列表。
問(wèn)題 1:無(wú)法激活以太網(wǎng)設備。
錯誤消息為“Cannot activate network device eth0!Device eth0 has different MAC address than expected, ignoring.”
解決方法:
“ifconfig”報告的 MAC 地址與 /etc/sysconfig/network-scripts/ifcfg-eth0 不匹配。您可以使用新的 MAC 地址更新文件,或者只需通過(guò) system-config-network 工具探測新的 MAC 地址。
問(wèn)題 2:無(wú)法生成 OCFS2 配置文件。
在嘗試生成 OCFS2 配置文件時(shí),出現錯誤消息“Could not start cluster stack.This must be resolved before any OCFS2 filesystem can be mounted”。
解決方法:
以 root 用戶(hù)身份(而非 oracle 用戶(hù)身份)執行 ocfs2console。
問(wèn)題 3:無(wú)法在遠程節點(diǎn)上安裝 Oracle 集群件或 Oracle 數據庫軟件。
在 Oracle 集群件軟件安裝期間,出現錯誤消息“/bin/tar:./inventory/Components21/oracle.ordim.server/10.2.0.1.0:time stamp 2006-11-04 06:24:04 is 25 s in the future”。
解決方法:
通過(guò)安裝 VMware 工具來(lái)同步客戶(hù) OS 與主機 OS 的時(shí)間,并在 /boot/grub/grub.conf 中包含選項“clock=pit nosmp noapic nolapic”。請參閱第 3 部分,以獲得更多信息。
問(wèn)題 4:無(wú)法掛載 OCFS2 文件系統。
在嘗試掛載 ocfs2 文件系統時(shí),出現錯誤消息“mount.ocfs2:Transport endpoint is not connected while mounting”。
解決方法:
執行 /usr/bin/system-config-securitylevel 以禁用防火墻。
問(wèn)題 5:無(wú)法啟動(dòng) ONS 資源。
當 VIPCA 嘗試啟動(dòng) ONS 應用程序資源時(shí),出現錯誤消息“CRS-0215:Could not start resource ‘ora.rac2.ons’”。
解決方法:
ONS 嘗試訪(fǎng)問(wèn)本地主機,但無(wú)法解析 IP 地址。將以下項添加到 /etc/hosts 中。
127.0.0.1 localhost
希望通過(guò)本指南的學(xué)習,您可以免費、快速地使用 VMware Server 構建集群 Oracle 數據庫環(huán)境。利用免費軟件,開(kāi)始學(xué)習并試用 Enterprise Linux 上的 Oracle RAC!
聯(lián)系客服