株式会社コーソル

コーソルDatabaseエンジニアのブログ

技術ブログ

19c新機能 SEHA / GIベース シングルHA構成 – SE2-RAC廃止対応

渡部です。19cでのSE2-RAC廃止を受け、多くのStandard Editionユーザーが待っていたオラクル提供のOracle DatabaseシングルHA構成がリリースされました。

特徴と構築手順を簡単にまとめておきます。

2020/12/09 追記 Oracle SEHAセミナーを実施します!

12/22にOracle SEHAセミナーを実施します。Oracle SEHAにご興味ある方はぜひご参加くださいませ。

12/22開催SIOS社共催Oracle SEHAセミナーのお知らせ+前回セミナー質問への回答

なお、参加後のアンケートに回答いただくと Oracle SEHA と LifeKeeper の比較検証レポートを入手可能だそうです。

Oracle DatabaseシングルHA構成(SEHA)の位置づけ

  • オラクルが提供するOracle Database Standard Edition 2向けの高可用性ソリューションです。
  • Oracle Database 18c以前は、Oracle Database Standard Edition 2向けの高可用性ソリューションとしてSE2-RAC(Standard Edition 2 RAC)が提供されていました。
  • しかし、SE2-RAC(Standard Edition 2 RAC)はOracle Database 19cで廃止されました。
  • このため、Oracle Database Standard Edition 2向けの高可用性ソリューションが求められており、Oracle DatabaseシングルHA構成(SEHA)はこれに応えるものです。
  • とはいえ、RACとは異なるActive-Standby方式のクラスタ構成です。
    • 1つのノードがインスタンスが起動する"Active"ノードで、もう1つのノードではインスタンスが起動してない"Standby"ノードとなる。
    • RACはActive-Active方式のクラスタ。原則、全ノードでインスタンスが起動する。
  • 対応プラットフォームはLinux, Windows, Solarisです。
    • Windows に対応しているため、19cで非推奨となったOracle Fail Safeの後継ソリュ―ションとして位置付けることもできます。

19c オラクル提供シングルHA構成の特徴

主な特徴を以下に記載します。

  • Oracle Database 19.7 / Oracle Grid Infrastructure 19.7 から提供されます。
  • クラスタウェアの役割はOracle Grid Infrastructureが担います。3rd Party製のクラスタウェアは不要です。Oracle Grid InfrastructureはHA構成のため、無償で使用できます。
  • 必要な機能やモジュールはオラクル製品に同梱され、追加でのスクリプト導入などは不要です。
  • Clusterwareリソースの観点での扱いは、crsctlで管理されるカスタムリソース扱いではなく、srvctlで管理されるオラクル標準リソース扱いです。
  • GIクラスタ環境で、DBCAでシングルデータベースを作成すると、DBCA実行ノードを稼働先ノードとして自動的にリソース登録されます。
  • DBCAでデータベースを作成した後、要件を満たすためにいくつかの追加構成作業が必要です。
  • リスナーはGIホームのSCANリスナーおよびノードリスナーを使います。DBホームのリスナーは使用しません。
  • データベース関連ファイルはASMまたはACFSに配置します。
  • RACと同様に共有ディスクが必要です。
  • 待機ノードのOracle稼働日数が10日間以内であれば、待機ノードのOracleライセンスが不要な、いわゆる「10日間ルール」を適用可能です。

19c オラクル提供シングルHA構成の導入手順

現時点でオラクルから網羅的な説明は提供されていませんが、マニュアルに概ね記載されています。

上記マニュアルをもとに、検証して構築に成功した手順を以下に示します。
現時点でオラクルから網羅的な説明は提供されていませんので、この手順には誤りがある可能性があります。

項番1~15は上記マニュアルの項番に対応しています。手順の詳細はマニュアルから確認できます。

ノード1,2

    1. GI 19.7のクラスタを構成

ノード1

    1. rootユーザーでノード1にORACLE_BASEを作成
    1. oracleユーザーでノード1にログイン
    1. DB 19.3ダウンロード
    1. DB RU 19.7ダウンロードしてunzip
    1. ORACLE_HOMEを作成して、DB 19.3をunzip
    1. -applyRUオプションにRU19.7を指定してDBインストール

OUI - ノード1

    1. ソフトウェアのみ
    1. シングルインスタンス
    1. Standard Edition 2.
    1. 適宜進める
    1. rootスクリプト実行(OH/root.sh)

ノード1

    1. (オプション) ORACLE_HOME読取り専用化

ノード2

    1. ORACLE_BASEを作成

ノード1

    1. addnode.shを実行して、ノード2にDBソフトウェアを拡張

ノード2

    1. OH/root.sh実行

ノード1

    1. DBCAを実行してデータベース作成

いずれかのノード

    1. LOCAL_LISTENERパラメータの設定削除
    1. サービスの作成
    1. DBリソースの動作対象ノードにノード2を追加
    1. パスワードファイルをASMディスクグループ内に移動

DBCAでデータベースを作成した直後のリソース属性

[oracle@lj70sha1 ~]$ srvctl config database -d j70sha
Database unique name: j70sha
Database name: j70sha
Oracle home: /u01/app/oracle/product/19.7.0/dbhome_1
Oracle user: oracle
Spfile: +DATA/J70SHA/PARAMETERFILE/spfile.269.1040216641
Password file:
Domain: world
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: FRA,DATA
Mount point paths:
Services:
Type: SINGLE←★
OSDBA group: dba
OSOPER group: oper
Database instance: j70sha
Configured nodes: lj70sha1←★この時点で動作ノードはノード1のみ
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed
[oracle@lj70sha1 ~]$

DB作成直後のClusterwareリソースの構成

[grid@lj70sha1 ~]$ crsctl status res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details      
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       lj70sha1                 STABLE
               ONLINE  ONLINE       lj70sha2                 STABLE
ora.chad
               ONLINE  ONLINE       lj70sha1                 STABLE
               ONLINE  ONLINE       lj70sha2                 STABLE
ora.net1.network
               ONLINE  ONLINE       lj70sha1                 STABLE
               ONLINE  ONLINE       lj70sha2                 STABLE
ora.ons
               ONLINE  ONLINE       lj70sha1                 STABLE
               ONLINE  ONLINE       lj70sha2                 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       lj70sha1                 STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        ONLINE  OFFLINE                               STABLE
ora.CLU.dg(ora.asmgroup)
      1        ONLINE  ONLINE       lj70sha1                 STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       lj70sha1                 STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        ONLINE  OFFLINE                               STABLE
ora.FRA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       lj70sha1                 STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        ONLINE  OFFLINE                               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       lj70sha1                 STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       lj70sha1                 STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       lj70sha1                 Started,STABLE
      2        ONLINE  ONLINE       lj70sha2                 Started,STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       lj70sha1                 STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       lj70sha1                 STABLE
ora.j70sha.db
      1        ONLINE  ONLINE       lj70sha1                 Open,HOME=/u01/app/o
                                                             racle/product/19.7.0
                                                             /dbhome_1,STABLE
ora.lj70sha1.vip
      1        ONLINE  ONLINE       lj70sha1                 STABLE
ora.lj70sha2.vip
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.qosmserver
      1        ONLINE  ONLINE       lj70sha1                 STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       lj70sha1                 STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       lj70sha1                 STABLE
--------------------------------------------------------------------------------
[grid@lj70sha1 ~]$

addnode.sh

[oracle@lj70sha1 ~]$ $ORACLE_HOME/addnode/addnode.sh -silent -ignorePrereqFailure "CLUSTER_NEW_NODES={lj70sha2}"
[WARNING] [INS-13013] Target environment does not meet some mandatory requirements.
   CAUSE: Some of the mandatory prerequisites are not met. See logs for details. /u01/app/oraInventory/logs/addNodeActions2020-05-12_11-01-07AM.log
   ACTION: Identify the list of failed prerequisite checks from the log: /u01/app/oraInventory/logs/addNodeActions2020-05-12_11-01-07AM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.

Prepare Configuration in progress.

Prepare Configuration successful.
..................................................   7% Done.

Copy Files to Remote Nodes in progress.
..................................................   12% Done.
..................................................   18% Done.
..............................
Copy Files to Remote Nodes successful.
You can find the log of this install session at:
 /u01/app/oraInventory/logs/addNodeActions2020-05-12_11-01-07AM.log

Instantiate files in progress.

Instantiate files successful.
..................................................   52% Done.

Saving cluster inventory in progress.
..................................................   89% Done.

Saving cluster inventory successful.
The Cluster Node Addition of /u01/app/oracle/product/19.7.0/dbhome_1 was successful.
Please check '/u01/app/oraInventory/logs/silentInstall2020-05-12_11-01-07AM.log' for more details.

Setup Oracle Base in progress.

Setup Oracle Base successful.
..................................................   96% Done.

As a root user, execute the following script(s):
        1. /u01/app/oracle/product/19.7.0/dbhome_1/root.sh

Execute /u01/app/oracle/product/19.7.0/dbhome_1/root.sh on the following nodes:
[lj70sha2]

Successfully Setup Software with warning(s).
..................................................   100% Done.
[oracle@lj70sha1 ~]$

LOCAL_LISTENERの設定削除

[oracle@lj70sha1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Tue May 12 16:15:37 2020
Version 19.7.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Connected to:
Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production
Version 19.7.0.0.0

SQL> show parameter listener

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
forward_listener                     string
listener_networks                    string
local_listener                       string      LISTENER_J70SHA←★不要な設定
remote_listener                      string       lj70sha-scan.domain:1521
SQL> ALTER SYSTEM RESET LOCAL_LISTENER SCOPE = BOTH;

System altered.

SQL> show parameter listener

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
forward_listener                     string
listener_networks                    string
local_listener                       string
remote_listener                      string       lj70sha-scan.domain:1521

SQL> exit
Disconnected from Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production
Version 19.7.0.0.0
[oracle@lj70sha1 ~]$ srvctl stop database -d j70sha
[oracle@lj70sha1 ~]$ srvctl start database -d j70sha
[oracle@lj70sha1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Tue May 12 16:32:54 2020
Version 19.7.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Connected to:
Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production
Version 19.7.0.0.0

SQL> show parameter listener

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
forward_listener                     string
listener_networks                    string
local_listener                       string       (ADDRESS=(PROTOCOL=TCP)(HOST=
                                                 172.31.39.32)(PORT=1521))←★Clustewareで自動設定された値
remote_listener                      string       lj70sha-scan.domain:1521

稼働ノードを追加

[oracle@lj70sha1 ~]$ srvctl config database -db j70sha
Database unique name: j70sha
Database name: j70sha
Oracle home: /u01/app/oracle/product/19.7.0/dbhome_1
Oracle user: oracle
Spfile: +DATA/J70SHA/PARAMETERFILE/spfile.269.1040216641
Password file:
Domain: world
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: FRA,DATA
Mount point paths:
Services:
Type: SINGLE
OSDBA group: dba
OSOPER group: oper
Database instance: j70sha
Configured nodes: lj70sha1←★この時点ではDBCA実行ノードのみ
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed
[oracle@lj70sha1 ~]$ srvctl modify database -db j70sha -node lj70sha1,lj70sha2←★
[oracle@lj70sha1 ~]$ srvctl config database -db j70sha
Database unique name: j70sha
Database name: j70sha
Oracle home: /u01/app/oracle/product/19.7.0/dbhome_1
Oracle user: oracle
Spfile: +DATA/J70SHA/PARAMETERFILE/spfile.269.1040216641
Password file:
Domain: world
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: FRA,DATA
Mount point paths:
Services:
Type: SINGLE
OSDBA group: dba
OSOPER group: oper
Database instance: j70sha
Configured nodes: lj70sha1,lj70sha2←★2ノード
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed
[oracle@lj70sha1 ~]$

データベースリソースのリロケート

[oracle@lj70sha1 ~]$ srvctl relocate database -db j70sha
PRKO-2148 : Option '-node' must be supplied when running 'srvctl relocate database' for administrator-managed RAC One Node database
[oracle@lj70sha1 ~]$ srvctl relocate database -db j70sha -node lj70sha2
[oracle@lj70sha1 ~]$ srvctl status database -db j70sha
Instance j70sha is running on node lj70sha2
[grid@lj70sha1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       lj70sha1                 STABLE
               ONLINE  ONLINE       lj70sha2                 STABLE
ora.chad
               ONLINE  ONLINE       lj70sha1                 STABLE
               ONLINE  ONLINE       lj70sha2                 STABLE
ora.net1.network
               ONLINE  ONLINE       lj70sha1                 STABLE
               ONLINE  ONLINE       lj70sha2                 STABLE
ora.ons
               ONLINE  ONLINE       lj70sha1                 STABLE
               ONLINE  ONLINE       lj70sha2                 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       lj70sha1                 STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        ONLINE  OFFLINE                               STABLE
ora.CLU.dg(ora.asmgroup)
      1        ONLINE  ONLINE       lj70sha1                 STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       lj70sha1                 STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.FRA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       lj70sha1                 STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       lj70sha1                 STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       lj70sha1                 STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       lj70sha1                 Started,STABLE
      2        ONLINE  ONLINE       lj70sha2                 Started,STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       lj70sha1                 STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       lj70sha1                 STABLE
ora.j70sha.db
      1        ONLINE  ONLINE       lj70sha2                 Open,HOME=/u01/app/o←★ノード2で稼働
                                                             racle/product/19.7.0
                                                             /dbhome_1,STABLE
ora.lj70sha1.vip
      1        ONLINE  ONLINE       lj70sha1                 STABLE
ora.lj70sha2.vip
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.qosmserver
      1        ONLINE  ONLINE       lj70sha1                 STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       lj70sha1                 STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       lj70sha1                 STABLE
--------------------------------------------------------------------------------
[grid@lj70sha1 ~]$

サービスの追加

[oracle@lj70sha1 ~]$ MYDBNAME=j70sha
[oracle@lj70sha1 ~]$ srvctl config service -d ${MYDBNAME}
Service name: j70shasv←★
Server pool:
Cardinality: 1
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Global: false
Commit Outcome: false
Failover type:
Failover method:
Failover retries:
Failover delay:
Failover restore: NONE
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: NONE
Edition:
Pluggable database name:
Hub service:
Maximum lag time: ANY
SQL Translation Profile:
Retention: 86400 seconds
Replay Initiation Time: 300 seconds
Drain timeout:
Stop option:
Session State Consistency: DYNAMIC
GSM Flags: 0
Service is enabled
Exception in thread "main" java.lang.NullPointerException
        at oracle.ops.opsctl.ConfigAction.internalExecuteService(ConfigAction.java:1967)
        at oracle.ops.opsctl.ConfigAction.executeService(ConfigAction.java:1485)
        at oracle.ops.opsctl.Action.execute(Action.java:505)
        at oracle.ops.opsctl.OPSCTLDriver.execute(OPSCTLDriver.java:533)
        at oracle.ops.opsctl.OPSCTLDriver.main(OPSCTLDriver.java:252)
[oracle@lj70sha1 ~]$ srvctl status service -d ${MYDBNAME}
Service j70shasv is not running.
[oracle@lj70sha1 ~]$ srvctl start service -db ${MYDBNAME} -service ${MYDBNAME}sv
[oracle@lj70sha1 ~]$ srvctl status service -d ${MYDBNAME}
Service j70shasv is running on instance(s)
[oracle@lj70sha1 ~]$

パスワードファイルをASMへ移動

[oracle@lj70sha1 ~]$ DBNAME=j70sha
[oracle@lj70sha1 ~]$ srvctl config database -db ${DBNAME}
Database unique name: j70sha
Database name: j70sha
Oracle home: /u01/app/oracle/product/19.7.0/dbhome_1
Oracle user: oracle
Spfile: +DATA/J70SHA/PARAMETERFILE/spfile.269.1040216641
Password file:←★
Domain: world
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: FRA,DATA
Mount point paths:
Services: j70shasv
Type: SINGLE
OSDBA group: dba
OSOPER group: oper
Database instance: j70sha
Configured nodes: lj70sha1,lj70sha2
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed

[oracle@lj70sha1 ~]$ DBUNIQUENAME=j70sha
[oracle@lj70sha1 ~]$ ORIGPWDFILEPATH=/u01/app/oracle/product/19.7.0/dbhome_1/dbs/orapwj70sha
[oracle@lj70sha1 ~]$
[oracle@lj70sha1 ~]$ orapwd FILE="+DATA/${DBUNIQUENAME}/orapw${DBUNIQUENAME}" DBUNIQUENAME="${DBUNIQUENAME}" \
>   INPUT_FILE="${ORIGPWDFILEPATH}" FORCE=y
[oracle@lj70sha1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Tue May 12 19:04:11 2020
Version 19.7.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Connected to:
Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production
Version 19.7.0.0.0

SQL> SELECT * FROM V$PASSWORDFILE_INFO;

FILE_NAME
--------------------------------------------------------------------------------
FORMAT IS_AS     CON_ID
------ ----- ----------
+DATA/j70sha/orapwj70sha←★
12.2   TRUE           0

SQL> exit
Disconnected from Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production
Version 19.7.0.0.0
[oracle@lj70sha1 ~]$ DBNAME=j70sha
[oracle@lj70sha1 ~]$ PWDFILEPATH="+DATA/${DBUNIQUENAME}/orapw${DBUNIQUENAME}"
[oracle@lj70sha1 ~]$ srvctl config database -db ${DBNAME}
Database unique name: j70sha
Database name: j70sha
Oracle home: /u01/app/oracle/product/19.7.0/dbhome_1
Oracle user: oracle
Spfile: +DATA/J70SHA/PARAMETERFILE/spfile.269.1040216641
Password file: +DATA/j70sha/orapwj70sha←★Clusterwareにもパスワード変更が設定される
Domain: world
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: FRA,DATA
Mount point paths:
Services: j70shasv
Type: SINGLE
OSDBA group: dba
OSOPER group: oper
Database instance: j70sha
Configured nodes: lj70sha1,lj70sha2
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed
[oracle@lj70sha1 ~]$

フェイルオーバー

フェイルオーバー実行前

[grid@lj70sha1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details      
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       lj70sha1                 STABLE
               ONLINE  ONLINE       lj70sha2                 STABLE
ora.chad
               ONLINE  ONLINE       lj70sha1                 STABLE
               ONLINE  ONLINE       lj70sha2                 STABLE
ora.net1.network
               ONLINE  ONLINE       lj70sha1                 STABLE
               ONLINE  ONLINE       lj70sha2                 STABLE
ora.ons
               ONLINE  ONLINE       lj70sha1                 STABLE
               ONLINE  OFFLINE      lj70sha2                 STARTING
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       lj70sha1                 STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        ONLINE  OFFLINE                               STABLE
ora.CLU.dg(ora.asmgroup)
      1        ONLINE  ONLINE       lj70sha1                 STABLE
      2        OFFLINE OFFLINE                               STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       lj70sha1                 STABLE
      2        OFFLINE OFFLINE                               STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.FRA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       lj70sha1                 STABLE
      2        OFFLINE OFFLINE                               STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       lj70sha1                 STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       lj70sha1                 STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       lj70sha1                 Started,STABLE
      2        ONLINE  OFFLINE      lj70sha2                 Instance Shutdown,ST
                                                             ARTING
      3        OFFLINE OFFLINE                               STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       lj70sha1                 STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       lj70sha1                 STABLE
ora.j70sha.db
      1        ONLINE  ONLINE       lj70sha1                 Open,HOME=/u01/app/o
                                                             racle/product/19.7.0
                                                             /dbhome_1,STABLE
ora.j70sha.j70shasv.svc
      2        ONLINE  OFFLINE                               STABLE
ora.lj70sha1.vip
      1        ONLINE  ONLINE       lj70sha1                 STABLE
ora.lj70sha2.vip
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.qosmserver
      1        ONLINE  ONLINE       lj70sha1                 STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       lj70sha1                 STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       lj70sha1                 STABLE
--------------------------------------------------------------------------------
[grid@lj70sha1 ~]$

ここでノード1を強制停止

[grid@lj70sha2 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details      
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       lj70sha2                 STABLE
ora.chad
               ONLINE  ONLINE       lj70sha2                 STABLE
ora.net1.network
               ONLINE  ONLINE       lj70sha2                 STABLE
ora.ons
               ONLINE  ONLINE       lj70sha2                 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        ONLINE  OFFLINE                               STABLE
ora.CLU.dg(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.FRA.dg(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  OFFLINE                               STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  OFFLINE                               STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       lj70sha2                 Started,STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  OFFLINE      lj70sha2                 STARTING
ora.j70sha.db
      1        ONLINE  OFFLINE      lj70sha2                 STARTING←★
ora.j70sha.j70shasv.svc
      2        ONLINE  OFFLINE                               STABLE
ora.lj70sha1.vip
      1        ONLINE  OFFLINE      lj70sha2                 STARTING←★
ora.lj70sha2.vip
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.qosmserver
      1        ONLINE  OFFLINE      lj70sha2                 STARTING
ora.scan1.vip
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.scan2.vip
      1        ONLINE  OFFLINE      lj70sha2                 STARTING
ora.scan3.vip
      1        ONLINE  OFFLINE      lj70sha2                 STARTING
--------------------------------------------------------------------------------
[grid@lj70sha2 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details      
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       lj70sha2                 STABLE
ora.chad
               ONLINE  ONLINE       lj70sha2                 STABLE
ora.net1.network
               ONLINE  ONLINE       lj70sha2                 STABLE
ora.ons
               ONLINE  ONLINE       lj70sha2                 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        ONLINE  OFFLINE                               STABLE
ora.CLU.dg(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.FRA.dg(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       lj70sha2                 Started,STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.j70sha.db
      1        ONLINE  OFFLINE      lj70sha2                 STARTING
ora.j70sha.j70shasv.svc
      2        ONLINE  OFFLINE                               STABLE
ora.lj70sha1.vip
      1        ONLINE  INTERMEDIATE lj70sha2                 FAILED OVER,STABLE←★
ora.lj70sha2.vip
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.qosmserver
      1        ONLINE  OFFLINE      lj70sha2                 STARTING
ora.scan1.vip
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       lj70sha2                 STABLE
--------------------------------------------------------------------------------
[grid@lj70sha2 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details      
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       lj70sha2                 STABLE
ora.chad
               ONLINE  ONLINE       lj70sha2                 STABLE
ora.net1.network
               ONLINE  ONLINE       lj70sha2                 STABLE
ora.ons
               ONLINE  ONLINE       lj70sha2                 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        ONLINE  OFFLINE                               STABLE
ora.CLU.dg(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.FRA.dg(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       lj70sha2                 Started,STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  OFFLINE                               STABLE
      2        ONLINE  ONLINE       lj70sha2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.j70sha.db
      1        ONLINE  ONLINE       lj70sha2                 Open,HOME=/u01/app/o←★
                                                             racle/product/19.7.0
                                                             /dbhome_1,STABLE
ora.j70sha.j70shasv.svc
      2        ONLINE  ONLINE       lj70sha2                 STABLE
ora.lj70sha1.vip
      1        ONLINE  INTERMEDIATE lj70sha2                 FAILED OVER,STABLE
ora.lj70sha2.vip
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.qosmserver
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       lj70sha2                 STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       lj70sha2                 STABLE
--------------------------------------------------------------------------------
[grid@lj70sha2 ~]$

まとめ / SE2-RAC後継ソリューション

19cでSE2-RACが廃止され、代替となるOracle Database Standard Edition向けの高可用性ソリューションが必要とされていました。
今回説明したオラクル提供のHA構成は、その1つになり得ます。

弊社では、これを含めた以下の3つの構成をSE2-RAC後継ソリューションとして考えています

  1. オラクル提供のHA構成(共有ディスクを使用)
  2. 3rd Partyクラスタウェア製品を使用したHA構成(マルチパス接続の共有ディスクを使用、または、非共有ディスクのソフトウェアディスクミラーを使用)
  3. Dbvisitを用いた基本スタンバイ構成

SE2-RAC後継ソリューションをご検討の方は是非コーソルまでご相談くださいませ。

プロフィール

On7tWW6m1Ul4

渡部 亮太

・Oracle ACE
・AWS Certified Solutions Architect - Associate
・ORACLE MASTER Platinum Oracle Database 11g, 12c 他多数

カテゴリー

アーカイブ