隨著 Oracle 12c 的推出,一個(gè)名為 Oracle Flex ASM 的特性解除了上述限制,它的一個(gè)主要特性是故障切換到集群中的其他節(jié)點(diǎn)。本質(zhì)上是一個(gè)中心和葉架構(gòu),Oracle Clusterware 通過一個(gè)替代 ASM 實(shí)例將故障節(jié)點(diǎn)的連接將無(wú)縫轉(zhuǎn)移到另一個(gè)成員節(jié)點(diǎn)。在給定集群中運(yùn)行的 ASM 實(shí)例數(shù)被稱作 ASM 基數(shù),默認(rèn)值為 3。但此基數(shù)值可以使用 Clusterware 命令修改。
純 12c Flex ASM(相同版本)
Grid Infrasctructure (GI) 和數(shù)據(jù)庫(kù)都運(yùn)行在 Oracle 12c 上
Oracle 12c 之前的混合版本(不同版本)
和平常一樣,ASM 實(shí)例將在每個(gè)節(jié)點(diǎn)上運(yùn)行,F(xiàn)lex 配置支持 12c 之前的數(shù)據(jù)庫(kù)。使用 ASM 磁盤組的兼容性參數(shù)管理各數(shù)據(jù)庫(kù)實(shí)例之間的兼容性。這種方法的優(yōu)點(diǎn)是,如果 Oracle 12c 數(shù)據(jù)庫(kù)實(shí)例與一個(gè) ASM 實(shí)例的連接斷開,數(shù)據(jù)庫(kù)連接將故障切換至其他服務(wù)器上的另一個(gè) ASM 實(shí)例。通過將基數(shù)設(shè)置為 all 即可以實(shí)現(xiàn)這種故障切換。
[grid@rac12node1 ~]$ hostname
rac12node1
[grid@rac12node1 ~]$ ps -ef | grep pmon
grid 2038 25582 0 16:37 pts/1 00:00:00 grep pmon
grid 11838 1 0 15:04 ? 00:00:00 asm_pmon_+ASM1
oracle 12830 1 0 15:05 ? 00:00:00 ora_pmon_rac12db1
[grid@rac12node1 ~]$ srvctl status asm
ASM is running on rac12node1,rac12node2
[grid@rac12node1 ~]$ crsctl check cluster
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[grid@rac12node1 ~]$ asmcmd
ASMCMD> showclustermode
ASM cluster : Flex mode enabled
ASMCMD> showclusterstate
Normal
ASMCMD>
[grid@rac12node1 ~]$ srvctl status asm -detail
ASM is running on rac12node1,rac12node2
ASM is enabled.
ASM instance +ASM1 is running on node rac12node1
Number of connected clients: 2
Client names: rac12db1:rac12db:rac12no-cluster rac12node1:_OCR:rac12no-cluster
ASM instance +ASM2 is running on node rac12node2
Number of connected clients: 3
Client names: -MGMTDB:_mgmtdb:rac12no-cluster rac12db2:rac12db:rac12no-cluster rac12node2:_OCR:rac12no-cluster
[grid@rac12node1 ~]$
[grid@rac12node2 ~]$ asmcmd
ASMCMD> showclustermode
ASM cluster : Flex mode enabled
ASMCMD> showclusterstate
Normal
ASMCMD>
[grid@rac12node2 ~]$ srvctl config asm -detail
ASM home:
Password file: +ocrdg/orapwASM
Backup of Password file:
ASM listener: LISTENER
ASM is enabled.
ASM is individually enabled on nodes:
ASM is individually disabled on nodes:
ASM instance count: 3
Cluster ASM listener: ASMNET1LSNR_ASM
[grid@rac12node2 ~]$
節(jié)點(diǎn)2初始狀態(tài),grid用戶下:
set line 200
col INSTANCE_NAME for a60
select distinct instance_name,db_name,status from v$asm_client;
INSTANCE_NAME DB_NAME STATUS
---------------------------------- ------------------ -----------------------
+ASM2 +ASM CONNECTED
-MGMTDB _mgmtdb CONNECTED
rac12db2 rac12db CONNECTED
rac12node2 _OCR CONNECTED
[grid@rac12node1 ~]$ srvctl stop asm -node rac12node1 -stopoption abort -force
[grid@rac12node1 ~]$ srvctl status asm
ASM is running on rac12node2
[grid@rac12node1 ~]$ crsctl check cluster
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[grid@rac12node1 ~]$ ps -ef | grep pmon
grid 3339 25582 0 16:42 pts/1 00:00:00 grep pmon
oracle 12830 1 0 15:05 ? 00:00:00 ora_pmon_rac12db1
注:在這里,數(shù)據(jù)庫(kù)實(shí)例與特定節(jié)點(diǎn)中運(yùn)行的特定 ASM 實(shí)例關(guān)聯(lián)。如果因?yàn)槟撤N原因,ASM 實(shí)例無(wú)法啟動(dòng)/服務(wù)關(guān)閉,數(shù)據(jù)庫(kù)實(shí)例仍然可以啟動(dòng),因?yàn)閿?shù)據(jù)庫(kù)實(shí)例將查找同一集群中運(yùn)行的 ASM 實(shí)例。圖 3 描繪了 Flex ASM 的高可用特性。
[oracle@rac12node1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Thu Oct 17 16:45:05 2019
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
---在節(jié)點(diǎn)1上數(shù)據(jù)庫(kù)實(shí)例并未受到影響
SQL> select instance_name,instance_number from gv$instance;
INSTANCE_NAME INSTANCE_NUMBER
---------------- ---------------
rac12db1 1
rac12db2 2
SQL> select instance_name,instance_number from v$instance;
INSTANCE_NAME INSTANCE_NUMBER
---------------- ---------------
rac12db1 1
SQL>
grid用戶下:
查看節(jié)點(diǎn)2 asm連接信息,查看節(jié)點(diǎn)2上訪問ASM實(shí)例的客戶端,有了來(lái)自節(jié)點(diǎn)1的客戶端訪問。
SQL> select distinct instance_name,db_name,status from v$asm_client;
INSTANCE_NAME DB_NAME STATUS
---------------------------- ---------------- -----------------------
+ASM2 +ASM CONNECTED
-MGMTDB _mgmtdb CONNECTED
rac12db1 rac12db CONNECTED
rac12db2 rac12db CONNECTED
rac12node2 _OCR CONNECTED
asmcmd連接查看
---強(qiáng)制連接到+ASM1
[grid@rac12node1 ~]$ asmcmd --privilege sysasm --inst +ASM1
Connected to an idle instance.
---強(qiáng)制連接到+ASM2
[grid@rac12node1 ~]$ asmcmd --privilege sysasm --inst +ASM2
ASMCMD> lsct //查看asm實(shí)例連接情況
DB_Name Status Software_Version Compatible_version Instance_Name Disk_Group
+ASM CONNECTED 12.2.0.1.0 12.2.0.1.0 +ASM2 DATADG
+ASM CONNECTED 12.2.0.1.0 12.2.0.1.0 +ASM2 MGMTDG
+ASM CONNECTED 12.2.0.1.0 12.2.0.1.0 +ASM2 OCRDG
_mgmtdb CONNECTED 12.2.0.1.0 12.2.0.0.0 -MGMTDB MGMTDG
rac12db CONNECTED 12.2.0.1.0 12.2.0.0.0 rac12db1 DATADG
rac12db CONNECTED 12.2.0.1.0 12.2.0.0.0 rac12db2 DATADG
_OCR CONNECTED - - rac12node2 OCRDG
ASMCMD> lsdg
State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 512 4096 4194304 8192 1824 0 1824 0 N DATADG/
MOUNTED EXTERN N 512 512 4096 4194304 40960 34232 0 34232 0 N MGMTDG/
MOUNTED EXTERN N 512 512 4096 4194304 3072 2736 0 2736 0 Y OCRDG/
ASMCMD>
總結(jié):數(shù)據(jù)庫(kù)實(shí)例使用一個(gè)專用 ASM 實(shí)例,我們強(qiáng)制該 ASM 實(shí)例被停止工作來(lái)模擬故障,因此數(shù)據(jù)庫(kù)實(shí)例重新連接到另一節(jié)點(diǎn)(在本示例中為節(jié)點(diǎn) 2 (rac2))上的現(xiàn)有 ASM 實(shí)例。
節(jié)點(diǎn)2初始狀態(tài):
set line 200
col INSTANCE_NAME for a60
select distinct instance_name,db_name,status from v$asm_client;
INSTANCE_NAME DB_NAME STATUS
----------------------------------------------- ------------------------ --------------------------
+ASM2 +ASM CONNECTED
-MGMTDB _mgmtdb CONNECTED
rac12db2 rac12db CONNECTED
rac12node2 _OCR CONNECTED
手動(dòng)關(guān)掉節(jié)點(diǎn)1 asm實(shí)例:
[grid@rac12node1 ~]$ srvctl stop asm -node rac12node1 -stopoption abort -force
手動(dòng)關(guān)掉節(jié)點(diǎn)1 asm實(shí)例:
[grid@rac12node1 ~]$ srvctl stop asm -node rac12node1 -stopoption abort -force
再次查看節(jié)點(diǎn)2 asm連接信息,查看節(jié)點(diǎn)2上訪問ASM實(shí)例的客戶端,有了來(lái)自節(jié)點(diǎn)1的客戶端訪問。
SQL> select distinct instance_name,db_name,status from v$asm_client;
INSTANCE_NAME DB_NAME STATUS
-------------------------------------------- ---------------------- -------------------------------
+ASM2 +ASM CONNECTED
-MGMTDB _mgmtdb CONNECTED
rac12db1 rac12db CONNECTED
rac12db2 rac12db CONNECTED
rac12node2 _OCR CONNECTED
1. 登錄 RAC 數(shù)據(jù)庫(kù)實(shí)例 1 (rac1)
login as: oracle
oracle@192.168.xx.xxs password:
Last login: Fri Sep 27 06:05:44 2013
2. 檢查 ASM 實(shí)例和 RAC 數(shù)據(jù)庫(kù)實(shí)例的狀態(tài):
[oracle@rac1 ~]$ ps -ef | grep pmon
oracle 3053 1 0 05:56 ? 00:00:00 asm_pmon_+ASM1
oracle 3849 1 0 05:57 ? 00:00:00 ora_pmon_flavia1
3. 在 RAC 數(shù)據(jù)庫(kù)實(shí)例 1 (rac1) 中檢查 ASM 實(shí)例的狀態(tài)
[oracle@rac1 ~]$ srvctl status asm
ASM is running on rac2,rac1
4. 在 RAC 數(shù)據(jù)庫(kù)實(shí)例 1 (rac1) 中檢查集群的狀態(tài)
[oracle@rac1 ~]$ crsctl check cluster
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
5. 在 RAC 數(shù)據(jù)庫(kù)實(shí)例 1 (rac1) 中停止 ASM 實(shí)例
[oracle@rac1 ~]$ srvctl stop asm -n rac1 -o abort -f
6. 在 RAC 數(shù)據(jù)庫(kù)實(shí)例 1 (rac1) 中檢查 ASM 實(shí)例的狀態(tài)
[oracle@rac1 ~]$ srvctl status asm
ASM is running on rac2
7. 檢查 ASM 實(shí)例和 RAC 數(shù)據(jù)庫(kù)實(shí)例 (rac1) 的狀態(tài)
[oracle@rac1 ~]$ ps -ef | grep pmon
oracle 7885 5795 0 06:20 pts/0 00:00:00 grep pmon
總結(jié):數(shù)據(jù)庫(kù)實(shí)例與 ASM 實(shí)例強(qiáng)關(guān)聯(lián)。如果 ASM 實(shí)例發(fā)生故障,同一節(jié)點(diǎn)上的數(shù)據(jù)庫(kù)實(shí)例也會(huì)發(fā)生故障。
支持的最大磁盤組數(shù)為 511。
可以靈活地重命名磁盤組中的 ASM 磁盤。
ASM 實(shí)例的補(bǔ)丁級(jí)驗(yàn)證
滾動(dòng)補(bǔ)丁期間禁用補(bǔ)丁級(jí)驗(yàn)證
復(fù)制物理元數(shù)據(jù)
在早期版本中,集群要求:
一個(gè)供客戶端應(yīng)用訪問的公共網(wǎng)絡(luò)
一個(gè)或多個(gè)用于集群內(nèi)節(jié)點(diǎn)間通信(包括 ASM 通信)的專用網(wǎng)絡(luò)
Flex ASM 增加 ASM 網(wǎng)絡(luò),可用于 ASM 與其客戶端之間的通信,以便隔離和分流 ASM 通信。
更多精彩干貨分享
點(diǎn)擊下方名片關(guān)注
IT那活兒
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/129880.html
摘要:什么是字節(jié)碼程序通過編譯之后生成文件就是字節(jié)碼集合正是有這樣一種中間碼字節(jié)碼,使得等函數(shù)語(yǔ)言只用實(shí)現(xiàn)一個(gè)編譯器即可運(yùn)行在上。 什么是字節(jié)碼? java程序通過javac編譯之后生成文件.class就是字節(jié)碼集合,正是有這樣一種中間碼(字節(jié)碼),使得scala/groovy/clojure等函數(shù)語(yǔ)言只用實(shí)現(xiàn)一個(gè)編譯器即可運(yùn)行在JVM上。看看一段簡(jiǎn)單代碼。 public long ...
摘要:全稱應(yīng)用性能管理監(jiān)控后面我會(huì)通過一系列的文章來(lái)介紹的原理框架設(shè)計(jì)與實(shí)現(xiàn)等等。在應(yīng)用構(gòu)建期間,通過修改字節(jié)碼的方式來(lái)進(jìn)行字節(jié)碼插樁就是實(shí)現(xiàn)自動(dòng)化的方案之一。 showImg(https://segmentfault.com/img/bVbbRX6?w=1995&h=1273); 歡迎關(guān)注微信公眾號(hào):BaronTalk,獲取更多精彩好文! 一. 前言 性能問題是導(dǎo)致 App 用戶流失的罪魁...
摘要:?jiǎn)栴}九庫(kù)控制文件擴(kuò)展報(bào)錯(cuò)庫(kù)的擴(kuò)展報(bào)錯(cuò),用的是裸設(shè)備,和還是原來(lái)大小,主庫(kù)的沒有報(bào)錯(cuò),并且大小沒有變,求解釋。專家解答從報(bào)錯(cuò)可以看出,控制文件從個(gè)塊擴(kuò)展到個(gè)塊時(shí)報(bào)錯(cuò),而裸設(shè)備最大只支持個(gè)塊,無(wú)法擴(kuò)展,可以嘗試將參數(shù)改小,避免控制文件報(bào)錯(cuò)。 鏈接描述引言 近期我們?cè)贒BASK小程序新關(guān)聯(lián)了運(yùn)維之美、高端存儲(chǔ)知識(shí)、一森咖記、運(yùn)維咖啡吧等數(shù)據(jù)領(lǐng)域的公眾號(hào),歡迎大家閱讀分享。 問答集萃 接下來(lái),...
每篇一句 胡適:多談些問題,少聊些主義 前言 Spring MVC和MyBatis作為當(dāng)下最為流行的兩個(gè)框架,大家平時(shí)開發(fā)中都在用。如果你往深了一步去思考,你應(yīng)該會(huì)有這樣的疑問: 在使用Spring MVC的時(shí)候,你即使不使用注解,只要參數(shù)名和請(qǐng)求參數(shù)的key對(duì)應(yīng)上了,就能自動(dòng)完成數(shù)值的封裝 在使用MyBatis(接口模式)時(shí),接口方法向xml里的SQL語(yǔ)句傳參時(shí),必須(當(dāng)然不是100%的必須,...
摘要:來(lái)自于應(yīng)用的一個(gè)新領(lǐng)域編譯成的應(yīng)用它是應(yīng)用的一個(gè)全新流派,由的項(xiàng)目催生而來(lái)。所有外部數(shù)據(jù)在一個(gè)稱為堆的對(duì)象中存儲(chǔ)并被引用。到目前為止,大部分的使用情況下,代碼性能是至關(guān)重要的比如運(yùn)行游戲,圖像,處理語(yǔ)言翻譯和庫(kù)。 正如許多開發(fā)者一樣,我也為Asm.js的前景而感到興奮不已。最近的新聞——Asm.js正在被Firefox支持——引起了我的興趣。同樣感興趣的還有Mozilla和Epic聲明...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20