您好,登錄后才能下訂單哦!
虛擬機安裝oracle RAC
Oracle rac安裝的前提是必須要有一個共享存儲器。兩臺電腦上只安裝oracle實例,數據庫創建在共享存儲上,兩個實例都可以訪問數據庫。因此由于沒有存儲設備,所以用虛擬機虛擬幾個硬盤作為共享存儲。
環境如下:
Linux操作系統:Oracle Linux Server release 6.4
VMware version:Workstation 10 build-703057
Oracle版本:11G R2 oracle 64位 11.2.0.1.0 for linux
安裝包如下:
Linux: V37084-01.iso (oracle官網下載)
Oracle: linux.x64_11gR2_database_1of2.zip(oracle官網下載)
linux.x64_11gR2_database_2of2.zip(oracle官網下載)
oracleasmlib-2.0.12-1.el6.x86_64.rpm(oracle官網下載)
注意:ASM是oracle用來管理共享存儲里面的磁盤的,后面文檔中有提供下載地址
linux.x64_11gR2_grid.zip(oracle官網下載)
注意:grid是oracle集群工具
步驟規劃:
1,安裝Linux操作系統,配置虛擬機共享磁盤
2,配置系統相關的網絡,用戶相關信息
3,配置ASM
4,安裝Oracle grid
5,安裝Oracle database
6,創建ASM磁盤組
7,建立數據庫實例
1,配置虛擬機、安裝Linux操作系統
1.1 新建虛擬機:NEWSDB01 和NEWSDB02,并安裝系統
下載Oracle Linux Server release 6.4的iso后新建虛擬機后安裝即可。注意內存分配,每個虛擬機至少2G內存比較好,給每個虛擬機分配50GB硬盤容量,配置2個橋接網卡。(其中一個網卡用于主機與外部通信,另一個網卡用于兩臺主機心跳。還有“橋接”就是虛擬機的ip段和電腦本機在一個段,這樣整個局域網中的電腦都可以訪問這臺虛擬機,需要給虛擬機手動設置ip。)
1.2 配置Share Disks
新建共享硬盤,在DOS 切換到VM安裝目錄下執行:要注意要有F盤,沒有F盤就得改后面的路徑
開始--運行---CMD 進入DOS
cd F:/Software/vm10/(就是你vm的安裝路徑)
vmware-vdiskmanager.exe -c -s 1000Mb -a lsilogic -t 2 F:\VMDisk\Sharedisk\ocr.vmdk
vmware-vdiskmanager.exe -c -s 1000Mb -a lsilogic -t 2 F:\VMDisk\Sharedisk\ocr2.vmdk
vmware-vdiskmanager.exe -c -s 1000Mb -a lsilogic -t 2 F:\VMDisk\Sharedisk\votingdisk.vmdk
vmware-vdiskmanager.exe -c -s 20000Mb -a lsilogic -t 2 F:\VMDisk\Sharedisk\data.vmdk
vmware-vdiskmanager.exe -c -s 10000Mb -a lsilogic -t 2 F:\VMDisk\Sharedisk\backup.vmdk
配置虛擬機newsdb01 newsdb02目錄下的vmx虛擬機配置文件,在行最后添加如下:
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsi1.sharedBus = "virtual"
scsi1:1.present = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:1.filename = "F:\VMDisk\Sharedisk\ocr.vmdk"
scsi1:1.deviceType = "plainDisk"
scsi1:2.present = "TRUE"
scsi1:2.mode = "independent-persistent"
scsi1:2.filename = "F:\VMDisk\Sharedisk\votingdisk.vmdk"
scsi1:2.deviceType = "plainDisk"
scsi1:3.present = "TRUE"
scsi1:3.mode = "independent-persistent"
scsi1:3.filename = "F:\VMDisk\Sharedisk\data.vmdk"
scsi1:3.deviceType = "plainDisk"
scsi1:4.present = "TRUE"
scsi1:4.mode = "independent-persistent"
scsi1:4.filename = "F:\VMDisk\Sharedisk\backup.vmdk"
scsi1:4.deviceType = "plainDisk"
scsi1:5.present = "TRUE"
scsi1:5.mode = "independent-persistent"
scsi1:5.filename = "F:\VMDisk\Sharedisk\ocr2.vmdk"
scsi1:5.deviceType = "plainDisk"
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
保存退出。
再次提醒注意內存、硬盤和網卡配置。
配置虛擬機、安裝Linux操作系統完成。
2,配置OS
這種顏色的需要在兩個節點都配置需要同時在兩個節點執行。
2.1 關閉防火墻、selinux(考慮到后面安裝時會碰到一些情況,所以需要執行這步驟)
關閉selinux
setenforce 0
[root@newsdb01 ~]# vim /etc/selinux/config
SELINUX=disabled
關閉防火墻
service iptables stop
chkconfig iptables off
2.2 配置網絡
host文件,兩個節點都配置
vim /etc/hosts
192.168.0.5 newsdb01
192.168.0.6 newsdb02
192.168.0.7 newsdb01-vip
192.168.0.8 newsdb02-vip
10.10.10.10 newsdb01-priv
10.10.10.11 newsdb02-priv
192.168.0.100 scan-ip
保存退出。
配置完之后互相ping看看是否連通。
2.3 停止NTP服務和刪除配置
service ntpd stop
chkconfig ntpd off
rm -rf /etc/ntpd.conf
rm -rf /var/run/ntpd.pid
配置SSH互通
就是兩臺服務器直接SSH訪問是不需要密碼:比如 ssh newsdb02 就直接連接到newsdb02上了。在oracle 11g r2 之前的版本需要手動配置,oracle 11g r2 中不需要手動配置。
注意:
在grid安裝時會提供配置步驟,所以不需要手工配置。
在安裝grid和oracle的時候都需要創建SSH互通,該步驟的主要目的是使兩臺主機之間訪問不需要輸入密碼,安裝grid和oracle都只需要在一臺機器上運行,因為安裝過程中安裝程序會自動把node1的數據copy到node2.
2.4 配置Oracle軟件安裝用戶、組、環境變量、安裝目錄
#組
groupadd -g 1300 dba
groupadd -g 1301 oper
groupadd -g 1000 oinstall
groupadd -g 1200 asmadmin
groupadd -g 1201 asmdba
groupadd -g 1202 asmoper
#用戶
useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -s /bin/bash grid
useradd -m -u 1101 -g oinstall -G dba,oper,asmdba -s /bin/bash oracle
#用戶環境變量修改home下的
vim .bash_profile
ORACLE用戶
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=netdb1 # newsdb01(節點一)
export ORACLE_SID=netdb2 # newsdb02(節點二)
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022
GRID用戶
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=+ASM1 # newsdb01(節點一)
export ORACLE_SID=+ASM2 # newsdb02(節點二)
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022
配置目錄
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
chown grid:oinstall /u01/app/11.2.0/grid
chown grid:oinstall /u01/app/grid
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/
chown -R grid:oinstall /u01
2.5 配置系統文件
配置oracle、grid用戶的shell限制
vim /etc/security/limits.conf
添加
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
修改/etc/pam.d/login配置文件
vim /etc/pam.d/login
添加 session required pam_limits.so
修改內核配置文件/etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1054472192
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 = 1048586
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
保存退出后執行 sysctl -p 立即生效。
2.6 配置共享磁盤 (由于是共享存儲,在一個節點執行即可。另一個節點自然就有了)
查看分區
ls /dev/sd*
使用fdisk進行分區,其他區按照自己的規劃劃分就可以了,例:
fdisk /dev/sdb
[root@newsdb01 ~]# fdisk /dev/sdb
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1000, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1000, default 1000): +500M
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (502-1000, default 502):
Using default value 502
Last cylinder, +cylinders or +size{K,M,G} (502-1000, default 1000):
Using default value 1000
Command (m for help): w
The partition table has been altered!
最后配置完后查看分區
fidks -l
[root@newsdb01 ~]# ls /dev/sd*(應該有如下對應的7個分區)
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1 /dev/sdc /dev/sdc1 /dev/sdd /dev/sdd1 /dev/sdd2 /dev/sde /dev/sde1 /dev/sde2 /dev/sdf /dev/sdf1
2.7 安裝Oracle grid等需要的包(這個包在安裝檢查安裝環境的時候會提示哪些包沒有,沒有的就再裝一遍,如果確認已經安裝過了就直接下一步,因為你安裝的版本可能和系統要求的不一致所以提示未安裝,這些包在系統盤里面就有。可以把系統盤掛載到文件系統中,
mount /dev/cdrom /mnt/
cd /mnt/Packages )
這些包在系統盤里面就有。可以把系統盤掛載在上
rpm -ivh libgcc-4.4.7-3.el6.i686.rpm
rpm -ivh libgcc-4.4.7-3.el6.x86_64.rpm
rpm -ivh libstdc++-4.4.7-3.el6.i686.rpm
rpm -ivh libstdc++-4.4.7-3.el6.x86_64.rpm
rpm -ivh libstdc++-devel-4.4.7-3.el6.x86_64.rpm
rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm
rpm -ivh libaio-devel-0.3.107-10.el6.x86_64.rpm
rpm -ivh make-3.81-20.el6.x86_64.rpm
rpm -ivh sysstat-9.0.4-20.el6.x86_64.rpm
rpm -ivh ksh-20100621-19.el6.x86_64.rpm
rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
rpm -ivh compat-libstdc++-33-3.2.3-69.el6.i686.rpm
rpm -ivh gcc-4.4.7-3.el6.x86_64.rpm
rpm -ivh oracleasm-support-2.1.8-1.el6.x86_64.rpm
rpm -ivh binutils-2.20.51.0.2-5.36.el6.x86_64.rpm
rpm -ivh compat-libcap1-1.10-1.x86_64.rpm
rpm -ivh binutils-2.20.51.0.2-5.36.el6.x86_64.rpm
rpm -ivh binutils-2.20.51.0.2-5.36.el6.x86_64.rpm
rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm
rpm -ivh glibc-2.12-1.107.el6.x86_64.rpm
rpm -ivh glibc-2.12-1.107.el6.i686.rpm
rpm -ivh glibc-2.12-1.107.el6.x86_64.rpm
rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
rpm -ivh elfutils-libelf-devel-0.152-1.el6.x86_64.rpm
rpm -ivh gcc-c++-4.4.7-3.el6.x86_64.rpm
rpm -ivh libaio-devel-0.3.107-10.el6.x86_64.rpm
rpm -ivh libgcc-4.4.7-3.el6.x86_64.rpm
rpm -ivh libstdc++-4.4.7-3.el6.x86_64.rpm
rpm -ivh libaio-0.3.107-10.el6.i686.rpm
rpm -ivh glibc-2.12-1.107.el6.x86_64.rpm
rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
rpm -ivh libaio-devel-0.3.107-10.el6.i686.rpm
rpm -ivh libgcc-4.4.7-3.el6.i686.rpm
rpm -ivh libstdc++-4.4.7-3.el6.x86_64.rpm
rpm -ivh unixODBC-2.2.14-12.el6_3.x86_64.rpm
rpm -ivh unixODBC-devel-2.2.14-12.el6_3.x86_64.rpm
yum -y install pdksh
3,配置ASM
3.1 查看操作系統內核版本對應下載
uname -a
下載oracleasm
http://www.oracle.com/technetwork/server-storage/linux/asmlib/ol6-1709075.html
安裝
yum -y install kmod-oracleasm.x86_64
rpm -ivh oracleasmlib-2.0.4-1.el6.x86_64.rpm(官網下載)
rpm -ivh oracleasm-support-2.1.8-1.el6.x86_64.rpm(光盤中有)
3.2 配置ASM磁盤
在兩個節點上執行
[root@newsdb01 oracle]# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: grid
Default group to own the driver interface []: asmdba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]:
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]
創建并掃描ASM磁盤(只需要一個節點上創建,另一個節點上直接scandisks)
[root@newsdb01 oracle]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb1
[root@newsdb01 oracle]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdc1
[root@newsdb01 oracle]# /etc/init.d/oracleasm createdisk VOL3 /dev/sdd1
[root@newsdb01 oracle]# /etc/init.d/oracleasm createdisk VOL4 /dev/sdd2
[root@newsdb01 oracle]# /etc/init.d/oracleasm createdisk VOL5 /dev/sde1
[root@newsdb01 oracle]# /etc/init.d/oracleasm createdisk VOL6 /dev/sde2
[root@newsdb01 oracle]# /etc/init.d/oracleasm createdisk VOL7 /dev/sdf1
[root@newsdb01 oracle]# /etc/init.d/oracleasm scandisks
Scanning the system for Oracle ASMLib disks: [ OK ]
[root@newsdb01 ~]# /etc/init.d/oracleasm listdisks
VOL1
VOL2
VOL3
VOL4
VOL5
VOL6
VOL7
4,安裝Oracle grid
將grid 安裝包傳到服務器上 。
4.1將grid程序包拷貝到服務器節點1的/u01目錄下解壓,unzip linux.x64_11gR2_grid.zip
在root下執行 xhost +
su - grid
export DISPLAY=:0.0
export LANG=en_US.UTF-8
進入解壓開的目錄中執行
./runinstaller 打開安裝圖像界面,開始安裝。
安裝完成后會產生兩個shell文件,分別在兩個節點執行。
如果出錯則執行
先執行/u01/app/11.2.0/grid/crs/install/roothas.pl -deconfig -force -verbose
然后執行root.sh的同時執行/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1
5,安裝Oracle database軟件
需要用oracle用戶安裝
在root下執行 xhost +
su - oracle
export DISPLAY=:0.0
export LANG=en_US.UTF-8
./runInstaller
僅安裝數據庫軟件即可,這里就根據圖形界面的提示安裝就可以了,最后按照提示執行相關腳本。
6,創建ASM磁盤組
需要新建其他磁盤組來安裝數據文件等
su - grid
asmca
根據界面提示創建磁盤組。
7,建立數據庫實例
su - oracle
./runInstaller
根據圖形界面步驟提示選擇rac選項新建數據庫實例即可。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。