察雅網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、自適應網(wǎng)站建設等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)。
一、 規(guī)劃 2
1. 網(wǎng)絡規(guī)劃 2
2. 磁盤規(guī)劃 2
3. 主機硬件配置 3
二、 思路清晰 3
三、 準備工作 3
1. 網(wǎng)卡準備(rac1&rac2 ) 3
2. 關閉防火墻和SElinux ( rac1&rac2 ) 5
3. 軟件包準備 5
4. 共享磁盤準備 5
四、 搭建RAC 17
1. 修改系統(tǒng)參數(shù)( rac1&rac2 ) 17
2. 修改limits 文件( rac1&rac2 ) 18
3. 修改 /etc/hosts 文件( rac1&rac2 ) 18
4. 創(chuàng)建用戶和組( rac1&rac2 ) 18
5. 創(chuàng)建軟件安裝目錄(rac1&rac2 ) 19
6. 修改環(huán)境變量(rac1&rac2 ) 19
7. 配置本地YUM ( rac1&rac2 ) 20
8. UDEV 方式綁定磁盤( rac1&rac2 ) 21
9. 安裝grid 軟件( rac1 ) 22
10. 配置 ASM 磁盤( rac1 ) 34
11. 創(chuàng)建數(shù)據(jù)庫( rac1 ) 36
12. DBCA 建庫( rac1 ) 43
五、 驗證 52
1. 驗證集群狀態(tài) 52
2. 驗證實例信息 53
3. 驗證數(shù)據(jù)文件、日志文件、控制文件信息 53
虛擬 IP :虛擬 IP 是集群搭建完成后,產(chǎn)生的 IP 。這個 IP 需要與物理 IP 在同一個網(wǎng)段。虛擬 IP 最大的特點:當這個節(jié)點服務器或集群宕機的時候,虛擬 IP 會無縫銜接到另外節(jié)點,以保證事務的連續(xù)性和查詢的連續(xù)性。所以建議在業(yè)務分離的情況下,業(yè)務連接該節(jié)點虛擬 IP 。 在雙節(jié)點的RAC 集群中,每個操作系統(tǒng)都有他本身的物理 IP ,集群各節(jié)點還會需要一個虛擬 IP ( VIP ),這兩個 IP 需要在同一個網(wǎng)段。
SCAN-IP :浮動 IP 。這個 IP 會隨機的浮動與兩個節(jié)點之間。如果業(yè)務沒有分離,建議業(yè)務連接 SCAN-IP ,以達到負載均衡的作用
磁盤規(guī)劃需要考慮兩個層面:一是集群需要的磁盤,二是數(shù)據(jù)庫需要的磁盤。
1) 集群需要的磁盤
為了滿足集群的功能,需要提供兩種作用的磁盤,OCR 和 Vote 盤。 OCR 盤記錄著集群的一些相關信息, Vote 盤在集群單節(jié)點出現(xiàn)故障,剔除該節(jié)點的時候決定性的作用。
OCR 盤和 Votefile 盤可以在同一個磁盤組,大小要求如下:
- Externel Redundancy
1 OCR(1 x 400M)=0.4G
1 voting files(1 x 300M)=0.3G
- Normal Redundancy
2 OCRs(2 x 400M)=0.8G
3 voting files(3 x 300M)=0.9G
- High Redundancy
3 OCRs(3 x 400M)=1.2G
5 Voting files(5 x 300M)=1.5G
2) 數(shù)據(jù)庫需要的磁盤
數(shù)據(jù)庫至少需要兩個磁盤組,一個是用于存放數(shù)據(jù)文件,另一個是用于存放歸檔日志文件。大小無最低要求,需要根據(jù)業(yè)務數(shù)據(jù)量情況分配大小。
(這里是我的測試環(huán)境)
step1: 網(wǎng)卡配置 (rac1&rac2)
step2: 關閉防火墻和 Selinux(rac1&rac2)
step3: 共享磁盤準備
(自己的測試環(huán)境用Openfile 作為共享存儲就行,如果是生產(chǎn)環(huán)境,則需要一 臺存儲服務器用做共享存儲)
step4: 修改內核參數(shù)文件
step5: 修改用戶限制文件
step6: 修改 Hosts 文件
step7: 創(chuàng)建用戶、組
step8: 創(chuàng)建目錄并賦予權限
step9: 配置環(huán)境變量( grid 和 oracle )
step10: 配置本地 YUM 源,安裝必需軟件包
step11: udev 方式綁定共享磁盤
step12: 安裝集群軟件( GI )
step13: 配置 ASM 磁盤
step14: 安裝數(shù)據(jù)庫軟件
step15: DBCA 建庫
step16: 結束驗證
解釋:在RAC 集群中,每臺服務器需要兩塊網(wǎng)卡,一塊用做外網(wǎng)服務,一塊用于私網(wǎng)通信。
添加私有網(wǎng)卡
# systemctl stop firewall
# systemctl disable firewall
關閉selinux
# vi /etc/selinux/config
SELINUX=disabled
( rac1 )
GI 目錄 : # mkdir -p /u01/setup/grid
DB 目錄:# mkdir -p /u01/setup/db
OS 目錄 : # mkdir -p /u01/setup/os
( rac2 )
OS 目錄:# mkdir -p /u01/setup/os
Openfile iso 文件 下載地址
http://www.openfiler.com/community/download
1) 創(chuàng)建一個虛擬機,配置如下
磁盤說明:
磁盤 1 是用于安裝 openfile 系統(tǒng), 30G ;
磁盤2 用于 ocr 和 vote 盤, 5G ;
磁盤3/4 用于 DATA 磁盤組,每個 100G ;
磁盤5 用于 ARCH 磁盤組, 50G 。
2) 打開虛擬機,安裝openfile
點擊Enter ,自動安裝
3) 訪問openfile 的管理界面(上面的地址)
username: openfiler
password: password
4) 進入service s 標簽, 啟動 iscsi 服務
5) 進入system 標簽頁
添加一個允許訪問的 IP 網(wǎng)段
6) 進入 volu mes 創(chuàng)建物理 卷
此時,物理卷已經(jīng)創(chuàng)建完成
6) 創(chuàng)建一個卷組
7) 創(chuàng)建邏輯卷
同理,將上面規(guī)劃的物理磁盤都創(chuàng)建為邏輯卷
8) 添加IQN
4) 做磁盤映射
此時 邏輯卷添加完成,要使用的話,需要對邏輯卷進行 掃描
9) 客戶 端對 openfile 服務器進行掃描
# iscsiadm -m discovery -t sendtargets -p 172.16.70.176 -l
如果iscsiadm 命令 不可 用 ,則需要安裝 iscsi-initiator rpm 包
# iscsiadm -m discovery -t st -p 192.168.0.10
-bash: iscsiadm: command not found
# mount /dev/cdrom /media -- 加載光盤,安裝 iscsi-initiator rpm 包 mount: block device /dev/cdrom is write-protected, mounting read-only # cd /media/
# cd Server/ # ls -l *iscsi* -r--r--r-- 55 root root 579386 Dec 17 2008 iscsi-initiator-utils-6.2.0.868-0.18.el5.i386.rpm # rpm -ivh iscsi-initiator-utils-6.2.0.868-0.18.el5.i386.rpm
# vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmax = 8589934591
kernel.shmmni = 4096
kernel.shmall = 2097152
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
使參數(shù)生效
# sysctl -p
# vi /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
172.16.70.170 rac1
172.16.70.171 rac2
10.0.0.100 rac1-priv
10.0.0.101 rac2-priv
172.16.70.173 rac1-vip
172.16.70.174 rac2-vip
172.16.70.175 cluster-scan-ip
( 1 )創(chuàng)建組
# groupadd -g 501 dba
# groupadd -g 50 2 oinstall
( 2 )創(chuàng)建用戶
# useradd -u 50 1 -g oinstall -G dba -d /home/oracle oracle
# useradd -u 600 -g oinstall -G dba -d /home/grid grid ( 3 ) 給oracle 和 grid 用戶設置密碼
# passwd oracle
# passwd grid
(4 )檢查
# id oracle
# id grid
# mkdir -p /u01/app/oracle
# mkdir -p /u01/app/oracle /product/11.2.0/db_1
# mkdir -p /u01/app/grid
# mkdir -p /u01/app/11.2.0/grid
# chown -R oracle:oinstall /u01
# chown -R grid:oinstall /u01 /app/grid
# chown -R grid:oinstall /u01/app/11.2.0 /grid
# chown -R oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01
(rac1 執(zhí)行 )
# chown -R grid:oinstall /u01/setup/grid
# chown -R oracle:oinstall /u01/setup/db
----- 切換到 grid 用戶下 -----
rac1
$ vi .bash_profile
export ORACLE_SID= +ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
rac2
$ vim .bash_profile
export ORACLE_SID= +ASM2
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
---- 切換到 Oracle 用戶下 ------
rac1
# su - oracle
$ vi /home/oracle/.bash_profile
export ORACLE_SID= ORCL1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
rac2
# su - oracle
$ vi /home/oracle/.bash_profile
export ORACLE_SID= ORCL2
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
使上述環(huán)境變量生效
$ source .bash_porofile
( root 用戶)
# mount -o loop /u01/setup/os/ rhel-server-7.2-x86_64-dvd.iso /mnt
# vi /etc/yum.repos.d/mnt.repo
[mnt]
name=Yum Source
baseurl=file:///mnt
enabled=1
gpgcheck=0
# yum makecache
安裝 如下包:
# yum install -y binutils compat* elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC-devel libaio-devel ksh
# vi /etc/udev/rules.d/ 99-oracle-asmdevices.rules
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT==" 14f504e46494c45524932494157712d763771782d30694f30 ", RUN+="/bin/sh -c 'mknod /dev/asm_ocr b $major $minor; chown grid:oinstall /dev/asm_ocr ; chmod 0660 /dev/asm_ocr '"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT==" 14f504e46494c45526d70325177442d616f33572d35686452 ", RUN+="/bin/sh -c 'mknod /dev/asm_data1 b $major $minor; chown grid:oinstall /dev/asm_data1 ; chmod 0660 /dev/asm_data1 '"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT==" 14f504e46494c455251726b30676d2d337842312d55375278 ", RUN+="/bin/sh -c 'mknod /dev/asm_data2 b $major $minor; chown grid:oinstall /dev/asm_data2 ; chmod 0660 /dev/asm_data2 '"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT==" 14f504e46494c45527650634d78742d4a7664622d3276506e ", RUN+="/bin/sh -c 'mknod /dev/asm_arch b $major $minor; chown grid:oinstall /dev/asm_arch ; chmod 0660 /dev/asm_arch '"
注:RESULT 參數(shù)應對應裸設備的 wwid 號;每個小版本的 udev 配置略有不同,當前這個配置只適用于 RHEL 7.2 版本
啟動udev
# /sbin/udevadm trigger --type=devices --action=change
查看asm 磁盤
# ll /dev/asm*
(1 )解壓 grid 軟件
# su - grid
$ cd /u01/setup/grid
$ unzip p*.zip
(2 )安裝 cvuqdisk
# cd rpm/
# rpm -ivh cvuqdisk-1.0.9-1.rpm
將這個 rpm 包傳輸?shù)?2 節(jié)點上安裝
( 3 )運行圖形界面
$ unzip /u01/setup/grid/ p*
$ cd /u01/setup/grid/grid
運行 ./runInstaller
注:
1) 遠程運行圖形界面需要
打開Xmanager, 雙機 Xmanager-Passive
$ export DISPLAY= 本機 IP:0.0
2 )檢查是否可以運行圖形
$ xhost +
access control disabled, clients can connect from any host s
出現(xiàn)以上字樣,代表可運行圖形界面
3 )出現(xiàn) ” 口口口口口 ” 亂碼,執(zhí)行
$ export Lang=en_US
跳過軟件更新
選擇高級安裝
SCAN name 名字要寫 /etc/hosts 文件中 scan-ip 的名字
這里的rac1/rac1-vip/rac2/rac2-vip 名字要和 /etc/hosts 文件中名字對應
輸入密碼 grid ,點擊 setup 配置互信
通用密碼寫 oracle
執(zhí)行如下兩個腳本
執(zhí)行順序:
A 機執(zhí)行腳本 1 → B 機執(zhí)行腳本 1 → A 機執(zhí)行腳本 2 → B 機執(zhí)行腳本 2
執(zhí)行腳本必須一個一個來,最好不要一起執(zhí)行。
rac1:
rac2
腳本執(zhí)行完成,點擊OK
注:
1 )如果這里 root.sh 腳本執(zhí)行失敗,可以回退,如下:
# /u01/app/11.2.0/grid/crs/install/roothas.pl -deconfig -force -verbose
2 )如果一直卡在 Adding daemon to inittab 或者 Adding Clusterware entries to inittab 或者 ohasd 進程啟動失敗 , 則此時需要新開一個窗口執(zhí)行下面腳本,等ohasd 進行啟動成功后再取消執(zhí)行腳本即可
# /bin/dd if=/var/tmp/.oracle/npohasd of=/dev/nullbs=1024 count=1
忽略報錯,不影響
Grid 用戶
$ asmca
這里需要注意一下,對于普通磁盤組(非OCR ),正常冗余模式至少需要 2 塊盤;高冗余模式至少需要 3 塊盤;不冗余模式至少需要 2 塊盤。
最后結果如下:
(Oracle 用戶)
# su - oracle
$ cd /u01/setup/db/
$ unzip p13390677_112040_Linux-x86-64_1of7.zip
$ unzip p13390677_112040_Linux-x86-64_2of7.zip
將兩個zip 包解壓會生成一個 database 目錄
$ cd database/
$ pwd
/u01/setup/db/database
$ ./runInstaller
Oracle 的密碼是 oracle ,選擇 setup 建立互信
(Oracle 用戶)
$ dbca
密碼 oracle
----------- end -------------