国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

深入了解 Oracle Flex ASM 及其優點

IT那活兒 / 2517人閱讀
深入了解 Oracle Flex ASM 及其優點
一. 簡 介

在 Oracle 12c 之前,對于要使用 ASM 的數據庫實例來說,所有節點上的 ASM 實例必須已處于運行狀態,才能啟動數據庫實例。如果 ASM 實例未運行,則意味著在存儲級使用 ASM 的數據庫實例不能啟動。這實際上意味著無論采用何種技術(即 RAC、ASM 和共享存儲),均不能訪問數據庫實例。

隨著 Oracle 12c 的推出,一個名為 Oracle Flex ASM 的特性解除了上述限制,它的一個主要特性是故障切換到集群中的其他節點。本質上是一個中心和葉架構,Oracle Clusterware 通過一個替代 ASM 實例將故障節點的連接將無縫轉移到另一個成員節點。在給定集群中運行的 ASM 實例數被稱作 ASM 基數,默認值為 3。但此基數值可以使用 Clusterware 命令修改。


二. Oracle Flex ASM的實現方面

Oracle Flex ASM 可通過兩種方式實現:
  • 純 12c Flex ASM(相同版本)

  • Grid Infrasctructure (GI) 和數據庫都運行在 Oracle 12c 上

  • Oracle 12c 之前的混合版本(不同版本)

  • 和平常一樣,ASM 實例將在每個節點上運行,Flex 配置支持 12c 之前的數據庫。使用 ASM 磁盤組的兼容性參數管理各數據庫實例之間的兼容性。這種方法的優點是,如果 Oracle 12c 數據庫實例與一個 ASM 實例的連接斷開,數據庫連接將故障切換至其他服務器上的另一個 ASM 實例。通過將基數設置為 all 即可以實現這種故障切換。


使用Oracle Flex ASM的Oracle RAC 12c

標準 Oracle Flex ASM 配置:

 Oracle Flex ASM 配置上的 ASM 實例故障:

  • 登錄 RAC 數據庫實例 1 (rac1)
[grid@rac12node1 ~]$ hostname
rac12node1
  • 檢查 ASM 實例和 RAC 數據庫實例的狀態

[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
  • 從實例 1 (rac1) 檢查 RAC 數據庫實例中 ASM 實例的狀態

[grid@rac12node1 ~]$ srvctl status asm
ASM is running on rac12node1,rac12node2
  • 在實例 1 (rac1) 中檢查集群狀態

[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
  • 用于檢查 Oracle Flex ASM 是否啟用的命令 (rac1)

[grid@rac12node1 ~]$ asmcmd
ASMCMD> showclustermode
ASM cluster : Flex mode enabled
ASMCMD> showclusterstate
Normal
ASMCMD>
  • 用于更改 ASM 基數的命令 (rac1)

[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 ~]$
  • 用于檢查 Oracle Flex ASM 是否啟用的命令 (rac2)

[grid@rac12node2 ~]$ asmcmd
ASMCMD> showclustermode
ASM cluster : Flex mode enabled
ASMCMD> showclusterstate
Normal
ASMCMD>
  • 如何更改 ASM 基數 (rac2)

[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 ~]$
  • 查看節點2上訪問ASM實例的客戶端。

節點2初始狀態,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
  • 在 RAC 數據庫實例 1 (rac1) 中關閉 ASM 實例

[grid@rac12node1 ~]$ srvctl stop asm -node rac12node1 -stopoption abort -force
  • 在 RAC 數據庫實例 1 (rac1) 中檢查 ASM 實例的狀態

[grid@rac12node1 ~]$ srvctl status asm
ASM is running on rac12node2
  • 在 RAC 數據庫實例 1 (rac1) 中檢查集群服務的狀態

[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
  • 在實例 1 (rac1) 中檢查 ASM 和 RAC 數據庫的狀態

[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

注:在這里,數據庫實例與特定節點中運行的特定 ASM 實例關聯。如果因為某種原因,ASM 實例無法啟動/服務關閉,數據庫實例仍然可以啟動,因為數據庫實例將查找同一集群中運行的 ASM 實例。圖 3 描繪了 Flex ASM 的高可用特性。

  • 從 RAC 數據庫實例 1 (rac1) 登錄數據庫實例

[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
---在節點1上數據庫實例并未受到影響
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用戶下:

查看節點2 asm連接信息,查看節點2上訪問ASM實例的客戶端,有了來自節點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
Flex ASM可以在ASM實例意外終止后(節點 1),讓受影響節點作為客戶端訪問遠程節點(節點2)的ASM實例。
  • asmcmd連接查看

---強制連接到+ASM1

[grid@rac12node1 ~]$ asmcmd --privilege sysasm --inst +ASM1
Connected to an idle instance.

---強制連接到+ASM2

[grid@rac12node1 ~]$ asmcmd --privilege sysasm --inst +ASM2
ASMCMD> lsct //查看asm實例連接情況
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>

總結:數據庫實例使用一個專用 ASM 實例,我們強制該 ASM 實例被停止工作來模擬故障,因此數據庫實例重新連接到另一節點(在本示例中為節點 2 (rac2))上的現有 ASM 實例。

  • 查看節點2上訪問ASM實例的客戶端,有了來自節點1的客戶端訪問。

節點2初始狀態:

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

手動關掉節點1 asm實例:
[grid@rac12node1 ~]$ srvctl stop asm -node rac12node1 -stopoption abort -force

手動關掉節點1 asm實例:

[grid@rac12node1 ~]$ srvctl stop asm -node rac12node1 -stopoption abort -force

再次查看節點2 asm連接信息,查看節點2上訪問ASM實例的客戶端,有了來自節點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


三. Oracle Database 11.2 或早期版本

如前面針對 Oracle 12c 的介紹所述,ASM 與數據庫實例的關聯本質上是特定的。這意味著,如果 ASM 實例無法啟動,該節點/ASM 中的關聯數據庫實例也無法啟動,從而導致該數據庫無法訪問。

1. 登錄 RAC 數據庫實例 1 (rac1)

login as: oracle
oracle@192.168.xx.xxs password:
Last login: Fri Sep 27 06:05:44 2013

2. 檢查 ASM 實例和 RAC 數據庫實例的狀態:

[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 數據庫實例 1 (rac1) 中檢查 ASM 實例的狀態

[oracle@rac1 ~]$ srvctl status asm
ASM is running on rac2,rac1

4. 在 RAC 數據庫實例 1 (rac1) 中檢查集群的狀態

[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 數據庫實例 1 (rac1) 中停止 ASM 實例

[oracle@rac1 ~]$ srvctl stop asm -n rac1 -o abort -f

6. 在 RAC 數據庫實例 1 (rac1) 中檢查 ASM 實例的狀態

[oracle@rac1 ~]$ srvctl status asm
ASM is running on rac2

7. 檢查 ASM 實例和 RAC 數據庫實例 (rac1) 的狀態

[oracle@rac1 ~]$ ps -ef | grep pmon
oracle 7885  5795  0 06:20 pts/0    00:00:00 grep pmon

總結:數據庫實例與 ASM 實例強關聯。如果 ASM 實例發生故障,同一節點上的數據庫實例也會發生故障。


四. 為何使用Oracle Flex ASM

  • Oracle Flex ASM 支持 Oracle Database 12c 客戶端使用更大的 LUN 大小。
  • 支持的最大磁盤組數為 511。

  • 可以靈活地重命名磁盤組中的 ASM 磁盤。

  • ASM 實例的補丁級驗證

  • 滾動補丁期間禁用補丁級驗證

  • 復制物理元數據


五. Oracle Flex ASM中的網絡增強

  • 在早期版本中,集群要求:

  • 一個供客戶端應用訪問的公共網絡

    一個或多個用于集群內節點間通信(包括 ASM 通信)的專用網絡

  • Flex ASM 增加 ASM 網絡,可用于 ASM 與其客戶端之間的通信,以便隔離和分流 ASM 通信。


六. 部署 Flex ASM

在12.2.0.1版本中,已經強制使用Flex ASM,在安裝是無需選擇,Flex ASM已經默認集成在12.2.0.1版本中


END


更多精彩干貨分享

點擊下方名片關注

IT那活兒

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/129880.html

相關文章

  • 深入字節碼 -- 計算方法執行時間

    摘要:什么是字節碼程序通過編譯之后生成文件就是字節碼集合正是有這樣一種中間碼字節碼,使得等函數語言只用實現一個編譯器即可運行在上。 什么是字節碼? java程序通過javac編譯之后生成文件.class就是字節碼集合,正是有這樣一種中間碼(字節碼),使得scala/groovy/clojure等函數語言只用實現一個編譯器即可運行在JVM上。看看一段簡單代碼。 public long ...

    娣辯孩 評論0 收藏0
  • Android 性能監控系列一(原理篇)

    摘要:全稱應用性能管理監控后面我會通過一系列的文章來介紹的原理框架設計與實現等等。在應用構建期間,通過修改字節碼的方式來進行字節碼插樁就是實現自動化的方案之一。 showImg(https://segmentfault.com/img/bVbbRX6?w=1995&h=1273); 歡迎關注微信公眾號:BaronTalk,獲取更多精彩好文! 一. 前言 性能問題是導致 App 用戶流失的罪魁...

    yacheng 評論0 收藏0
  • DBASK問答集萃第四期

    摘要:問題九庫控制文件擴展報錯庫的擴展報錯,用的是裸設備,和還是原來大小,主庫的沒有報錯,并且大小沒有變,求解釋。專家解答從報錯可以看出,控制文件從個塊擴展到個塊時報錯,而裸設備最大只支持個塊,無法擴展,可以嘗試將參數改小,避免控制文件報錯。 鏈接描述引言 近期我們在DBASK小程序新關聯了運維之美、高端存儲知識、一森咖記、運維咖啡吧等數據領域的公眾號,歡迎大家閱讀分享。 問答集萃 接下來,...

    SKYZACK 評論0 收藏0
  • 為何Spring MVC可獲取到方法參數名,而MyBatis卻不行?【享學Spring MVC】

    每篇一句 胡適:多談些問題,少聊些主義 前言 Spring MVC和MyBatis作為當下最為流行的兩個框架,大家平時開發中都在用。如果你往深了一步去思考,你應該會有這樣的疑問: 在使用Spring MVC的時候,你即使不使用注解,只要參數名和請求參數的key對應上了,就能自動完成數值的封裝 在使用MyBatis(接口模式)時,接口方法向xml里的SQL語句傳參時,必須(當然不是100%的必須,...

    孫淑建 評論0 收藏0
  • Asm.js: Javascript的編譯目標

    摘要:來自于應用的一個新領域編譯成的應用它是應用的一個全新流派,由的項目催生而來。所有外部數據在一個稱為堆的對象中存儲并被引用。到目前為止,大部分的使用情況下,代碼性能是至關重要的比如運行游戲,圖像,處理語言翻譯和庫。 正如許多開發者一樣,我也為Asm.js的前景而感到興奮不已。最近的新聞——Asm.js正在被Firefox支持——引起了我的興趣。同樣感興趣的還有Mozilla和Epic聲明...

    用戶84 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<