Help us understand the problem. What is going on with this article?

Oracle Cloud: Real Application Clusters(RAC)作成してみてみた

■目的

Real Application Clusters(RAC)は、2台以上の個々のコンピュータを連結し、1台のコンピュータとして機能するテクノロジです。
クラスタ・ノードの1台に障害が発生したり、オフラインにされた場合でも、残りのクラスタ・ノードで処理を続行するため、RACデータベース全体は使用可能なままです。
つまり、2台以上のコンピュータが、1台のより強力なコンピュータのように動作します。
また、OCIのRACは複数ノードが複数のFalt Domainに分散配置された高可用性構成となります。
ということでやってみてみます

■構成

構成図.png
Network要件等はマニュアルを参照
DBシステムのネットワーク設定
データベースのバックアップ

■RAC作成

●DB情報入力
01_RAC作成01.png
02_RAC作成02.png
03_RAC作成03.png

●データベース情報入力
04_RAC作成_DB情報04.png
05_RAC作成_DB情報05.png

■RAC作成確認

・RAC情報確認
01_RAC画面01.png

・データベース(CDB)情報確認
02_RAC画面_DB01.png

・ノード情報確認
03_RAC画面_Node02.png

●OSユーザー確認

[opc@rac19c1 ~]# uname -a
    Linux rac19c1 4.1.12-124.27.1.el7uek.x86_64 #2 SMP Mon May 13 08:56:17 PDT 2019 x86_64 x86_64 x86_64 GNU/Linux
[opc@rac19c1 ~]# cat /etc/redhat-release
    Red Hat Enterprise Linux Server release 7.5 (Maipo)

[opc@rac19c1 ~]$ id -a
    uid=54322(opc) gid=54323(opc) groups=54323(opc)

[opc@rac19c1 ~]$ sudo su - oracle

[oracle@rac19c1 ~]$ id -a
    uid=101(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dbaoper),1003(dba),1006(asmdba)

[oracle@rac19c1 ~]$ env | grep ORA
    ORACLE_UNQNAME=cdb01_nrt1t4
    ORACLE_SID=cdb011
    ORACLE_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1

●環境変数確認確認

GRID_HOMEにはパスが通ってないので、必要に応じて設定

[oracle@rac19c1 ~]$ cat .bashrc
    # .bashrc

    # Source global definitions
    if [ -f /etc/bashrc ]; then
    . /etc/bashrc
    fi

    # Uncomment the following line if you don't like systemctl's auto-paging feature:
    # export SYSTEMD_PAGER=

    # User specific aliases and functions
    ORACLE_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1; export ORACLE_HOME
    PATH=$PATH:/u01/app/oracle/product/19.0.0.0/dbhome_1/bin; export PATH
    PATH=$PATH:/u01/app/19.0.0.0/grid/bin; export PATH
    LD_LIBRARY_PATH=/u01/app/oracle/product/19.0.0.0/dbhome_1/lib; export LD_LIBRARY_PATH
    ORACLE_UNQNAME=cdb01_nrt1t4;export ORACLE_UNQNAME
    ORACLE_SID=cdb011; export ORACLE_SID

●RACリソース稼働確認

[oracle@rac19c1 ~]$ /u01/app/19.0.0.0/grid/bin/crsctl stat res -t
    --------------------------------------------------------------------------------
    Name           Target  State        Server                   State details
    --------------------------------------------------------------------------------
    Local Resources
    --------------------------------------------------------------------------------
    ora.DATA.COMMONSTORE.advm
                ONLINE  ONLINE       rac19c1                  STABLE
                ONLINE  ONLINE       rac19c2                  STABLE
    ora.LISTENER.lsnr
                ONLINE  ONLINE       rac19c1                  STABLE
                ONLINE  ONLINE       rac19c2                  STABLE
    ora.chad
                ONLINE  ONLINE       rac19c1                  STABLE
                ONLINE  ONLINE       rac19c2                  STABLE
    ora.data.commonstore.acfs
                ONLINE  ONLINE       rac19c1                  mounted on /opt/orac
                                                                le/dcs/commonstore,S
                                                                TABLE
                ONLINE  ONLINE       rac19c2                  mounted on /opt/orac
                                                                le/dcs/commonstore,S
                                                                TABLE
    ora.net1.network
                ONLINE  ONLINE       rac19c1                  STABLE
                ONLINE  ONLINE       rac19c2                  STABLE
    ora.ons
                ONLINE  ONLINE       rac19c1                  STABLE
                ONLINE  ONLINE       rac19c2                  STABLE
    ora.proxy_advm
                ONLINE  ONLINE       rac19c1                  STABLE
                ONLINE  ONLINE       rac19c2                  STABLE
    --------------------------------------------------------------------------------
    Cluster Resources
    --------------------------------------------------------------------------------
    ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
        1        ONLINE  ONLINE       rac19c1                  STABLE
        2        ONLINE  ONLINE       rac19c2                  STABLE
    ora.DATA.dg(ora.asmgroup)
        1        ONLINE  ONLINE       rac19c1                  STABLE
        2        ONLINE  ONLINE       rac19c2                  STABLE
    ora.LISTENER_SCAN1.lsnr
        1        ONLINE  ONLINE       rac19c2                  STABLE
    ora.LISTENER_SCAN2.lsnr
        1        ONLINE  ONLINE       rac19c1                  STABLE
    ora.LISTENER_SCAN3.lsnr
        1        ONLINE  ONLINE       rac19c1                  STABLE
    ora.RECO.dg(ora.asmgroup)
        1        ONLINE  ONLINE       rac19c1                  STABLE
        2        ONLINE  ONLINE       rac19c2                  STABLE
    ora.asm(ora.asmgroup)
        1        ONLINE  ONLINE       rac19c1                  Started,STABLE
        2        ONLINE  ONLINE       rac19c2                  Started,STABLE
    ora.asmnet1.asmnetwork(ora.asmgroup)
        1        ONLINE  ONLINE       rac19c1                  STABLE
        2        ONLINE  ONLINE       rac19c2                  STABLE
    ora.cdb01_nrt1t4.db
        1        ONLINE  ONLINE       rac19c1                  Open,HOME=/u01/app/o
                                                                racle/product/19.0.0
                                                                .0/dbhome_1,STABLE
        2        ONLINE  ONLINE       rac19c2                  Open,HOME=/u01/app/o
                                                                racle/product/19.0.0
                                                                .0/dbhome_1,STABLE
    ora.cvu
        1        ONLINE  ONLINE       rac19c1                  STABLE
    ora.qosmserver
        1        ONLINE  ONLINE       rac19c1                  STABLE
    ora.rac19c1.vip
        1        ONLINE  ONLINE       rac19c1                  STABLE
    ora.rac19c2.vip
        1        ONLINE  ONLINE       rac19c2                  STABLE
    ora.scan1.vip
        1        ONLINE  ONLINE       rac19c2                  STABLE
    ora.scan2.vip
        1        ONLINE  ONLINE       rac19c1                  STABLE
    ora.scan3.vip
        1        ONLINE  ONLINE       rac19c1                  STABLE
    --------------------------------------------------------------------------------

■Database確認

デフォルトで作成されるDatabaseはデモDBという位置付けのため、本番利用できない内容になっています。
ということで最低、REDOログ、DataファイルのサイズやSPFILEの初期化パラメータを適宜調整します。

●sqlplus接続

[oracle@rac19c1 ~]$ sqlplus / as sysdba

    SQL*Plus: Release 19.0.0.0.0 - Production on Wed Aug 14 22:25:27 2019
    Version 19.3.0.0.0

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


    Connected to:
    Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
    Version 19.3.0.0.0

●データファイル確認

SQL> col FILE_NAME format a70
SQL> col TABLESPACE_NAME format a10
SQL> set lin 200 pages 1000
SQL> SELECT 
    a.TABLESPACE_NAME 
    ,a.BYTES/1024/1024 as "Size(MB)"
    ,a.FILE_NAME
    ,a.autoextensible as "Auto_Extent"
    ,a.increment_by * (select VALUE from v$parameter where NAME='db_block_size') /1024 as "Auto_Extent_Size(MB)"
    ,b.MAX_SIZE/1024/1024 as "MAX_SIZE(MB)"
    ,b.BLOCK_SIZE
    ,b.BIGFILE
FROM DBA_DATA_FILES a
    , DBA_TABLESPACES b
WHERE a.TABLESPACE_NAME=b.TABLESPACE_NAME
union all
SELECT 
    x.TABLESPACE_NAME 
    ,x.BYTES/1024/1024 as "Size(MB)"
    ,x.FILE_NAME
    ,x.autoextensible as "Auto_Extent"
    ,x.increment_by * (select VALUE from v$parameter where NAME='db_block_size') /1024 as "Auto_Extent_Size(MB)"
    ,y.MAX_SIZE/1024/1024 as "MAX_SIZE(MB)"
    ,y.BLOCK_SIZE
    ,y.BIGFILE
FROM dba_temp_files x
    , DBA_TABLESPACES y
WHERE x.TABLESPACE_NAME=y.TABLESPACE_NAME  
ORDER By TABLESPACE_NAME
;

    TABLESPACE   Size(MB) FILE_NAME                                  Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG
    ---------- ---------- ---------------------------------------------------------------------- --- -------------------- ------------ ---------- ---
    SYSAUX       1610 +DATA/CDB01_NRT1T4/DATAFILE/sysaux.261.1014777807              YES        10240         2048   8192 NO
    SYSTEM        920 +DATA/CDB01_NRT1T4/DATAFILE/system.260.1014777769              YES        10240         2048   8192 NO
    TEMP           43 +DATA/CDB01_NRT1T4/TEMPFILE/temp.263.1014777927                YES          640         2048   8192 NO
    UNDOTBS1       85 +DATA/CDB01_NRT1T4/DATAFILE/undotbs1.262.1014777825            YES         5120         2048   8192 NO
    UNDOTBS2       50 +DATA/CDB01_NRT1T4/DATAFILE/undotbs2.268.1014778247            YES        25600         2048   8192 NO
    USERS           5 +DATA/CDB01_NRT1T4/DATAFILE/users.275.1014779225               YES         1280         2048   8192 NO

    6 rows selected.

●REDO確認

col MEMBER format a60
SELECT 
    b.THREAD#
    ,b.MEMBERS
    ,a.GROUP#
    ,b.SEQUENCE#
    ,a.MEMBER
    ,b.bytes/1024/1024 as "Bytes(MB)"
    ,a.TYPE
    ,b.STATUS
    ,b.ARCHIVED
FROM
    v$logfile a
    ,v$log b
WHERE
    a.GROUP#=b.GROUP#
    ORDER BY 1,2,3
;
    THREAD#    MEMBERS    GROUP#  SEQUENCE# MEMBER                            Bytes(MB) TYPE    STATUS       ARC
    ---------- ---------- ---------- ---------- ------------------------------------------------------------ ---------- ------- ---------------- ---
        1       1          1     39 +RECO/CDB01_NRT1T4/ONLINELOG/group_1.257.1014777905            1024 ONLINE  CURRENT      NO
        1       1          2     38 +RECO/CDB01_NRT1T4/ONLINELOG/group_2.258.1014777905            1024 ONLINE  INACTIVE         YES
        2       1          3     37 +RECO/CDB01_NRT1T4/ONLINELOG/group_3.259.1014778529            1024 ONLINE  INACTIVE         YES
        2       1          4     38 +RECO/CDB01_NRT1T4/ONLINELOG/group_4.260.1014778537            1024 ONLINE  CURRENT      NO

●初期化パラメータ確認

SQL> create pfile='/tmp/init.ora' from spfile;

    File created.

SQL> host cat /tmp/init.ora
    *._datafile_write_errors_crash_instance=false
    *._db_writer_coalesce_area_size=16777216
    *._disable_interface_checking=TRUE
    *._enable_numa_support=FALSE
    *._file_size_increase_increment=2143289344
    *._fix_control='18960760:on'
    *._gc_policy_time=20
    *._gc_undo_affinity=TRUE
    *.audit_file_dest='/u01/app/oracle/admin/cdb01_nrt1t4/adump'
    *.audit_sys_operations=TRUE
    *.audit_trail='db'
    *.cluster_database=true
    *.compatible='19.0.0.0'
    *.control_file_record_keep_time=38
    *.control_files='+RECO/CDB01_NRT1T4/CONTROLFILE/current.256.1014777901'
    *.control_management_pack_access='DIAGNOSTIC+TUNING'
    *.cpu_count=0
    *.cursor_sharing='EXACT'
    *.db_block_checking='FULL'
    *.db_block_checksum='FULL'
    *.db_block_size=8192
    *.db_create_file_dest='+DATA'
    *.db_create_online_log_dest_1='+RECO'
    *.db_domain='publicsubnet01.vcn172160016.oraclevcn.com'
    *.db_files=1024
    *.db_lost_write_protect='TYPICAL'
    *.db_name='cdb01'
    *.db_recovery_file_dest='+RECO'
    *.db_recovery_file_dest_size=255g
    *.db_unique_name='cdb01_nrt1t4'
    *.diagnostic_dest='/u01/app/oracle'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=cdb01XDB)'
    *.enable_ddl_logging=TRUE
    *.enable_pluggable_database=true
    *.encrypt_new_tablespaces='CLOUD_ONLY'
    *.fast_start_mttr_target=300
    *.filesystemio_options='setall'
    *.global_names=TRUE
    *.inmemory_size=0m
    family:dw_helper.instance_mode='read-only'
    cdb011.instance_number=1
    cdb012.instance_number=2
    *.local_listener='-oraagent-dummy-'
    *.log_archive_format='%t_%s_%r.dbf'
    *.log_buffer=16777216
    *.nls_language='AMERICAN'
    *.nls_territory='AMERICA'
    *.open_cursors=1000
    *.os_authent_prefix='ops$'
    *.parallel_execution_message_size=16384
    *.parallel_threads_per_cpu=2
    *.pga_aggregate_limit=30720m
    *.pga_aggregate_target=15360m
    *.processes=400
    *.remote_login_passwordfile='exclusive'
    *.sec_case_sensitive_logon=FALSE
    *.session_cached_cursors=100
    *.sga_target=7680m
    *.spatial_vector_acceleration=TRUE
    *.sql92_security=TRUE
    cdb012.thread=2
    cdb011.thread=1
    *.undo_retention=900
    cdb011.undo_tablespace='UNDOTBS1'
    cdb012.undo_tablespace='UNDOTBS2'
    *.use_large_pages='only'

■REDOログ設定(サイズ変更とGroup追加)

デフォルトはサイズ1G、各ThreadノードGroup 2つ
少ないので、サイズ変更と各Threadノード 4 Group構成にしてみてみます
REDOは動的にサイズ変更できないので、全削除して作り直しをします

●手順概要

① 新規REDO THREAD 1 GROUP 11 ~ 14 追加
② 新規REDO THREAD 2 GROUP 21 ~ 22 追加
③ 既存REDO THREAD 1 GROUP 1, 2 削除
④ 既存REDO THREAD 2 GROUP 3, 4 削除

●THREAD 1 GROUP 11 ~ 14 追加

SQL> ALTER DATABASE  ADD LOGFILE THREAD 1 GROUP 11  SIZE 10G ;
SQL> ALTER DATABASE  ADD LOGFILE THREAD 1 GROUP 12  SIZE 10G ;
SQL> ALTER DATABASE  ADD LOGFILE THREAD 1 GROUP 13  SIZE 10G ;
SQL> ALTER DATABASE  ADD LOGFILE THREAD 1 GROUP 14  SIZE 10G ;

●THREAD 2 GROUP 21 ~ 22 追加

SQL> ALTER DATABASE  ADD LOGFILE THREAD 2 GROUP 21  SIZE 10G ;
SQL> ALTER DATABASE  ADD LOGFILE THREAD 2 GROUP 22  SIZE 10G ;
SQL> ALTER DATABASE  ADD LOGFILE THREAD 2 GROUP 23  SIZE 10G ;
SQL> ALTER DATABASE  ADD LOGFILE THREAD 2 GROUP 24  SIZE 10G ;

●既存REDO削除 

削除するREDOはSTATUS= INACTIVEにする必要があります
REDOのSTATUS= INACTIVEになるようにlogスイッチ を実行

SQL> alter system archive log current;
    System altered.

STATUSがACTIVEのままでINACTIVEになかなかならない場合チェックポイントします

SQL> alter system checkpoint;

●既存THREAD 1 GROUP 1, 2 削除

SQL> alter database drop logfile group 1;
SQL> alter database drop logfile group 2;

●既存THREAD 2 GROUP 3, 4 削除

SQL> alter database drop logfile group 3;
SQL> alter database drop logfile group 4;

●REDO作成確認

SQL> SELECT 
    b.THREAD#
    ,b.MEMBERS
    ,a.GROUP#
    ,b.SEQUENCE#
    ,a.MEMBER
    ,b.bytes/1024/1024 as "Bytes(MB)"
    ,a.TYPE
    ,b.STATUS
    ,b.ARCHIVED
FROM
    v$logfile a
    ,v$log b
WHERE
    a.GROUP#=b.GROUP#
    ORDER BY 1,2,3
;

    THREAD#    MEMBERS    GROUP#  SEQUENCE# MEMBER                            Bytes(MB) TYPE    STATUS       ARC
    ---------- ---------- ---------- ---------- ------------------------------------------------------------ ---------- ------- ---------------- ---
        1       1         11     54 +RECO/CDB01_NRT1T4/ONLINELOG/group_11.332.1016285139          10240 ONLINE  INACTIVE         YES
        1       1         12     55 +RECO/CDB01_NRT1T4/ONLINELOG/group_12.333.1016285231          10240 ONLINE  CURRENT      NO
        1       1         13      0 +RECO/CDB01_NRT1T4/ONLINELOG/group_13.334.1016285453          10240 ONLINE  UNUSED       YES
        1       1         14      0 +RECO/CDB01_NRT1T4/ONLINELOG/group_14.335.1016285539          10240 ONLINE  UNUSED       YES
        2       1         21     50 +RECO/CDB01_NRT1T4/ONLINELOG/group_21.336.1016285625          10240 ONLINE  INACTIVE         YES
        2       1         22     51 +RECO/CDB01_NRT1T4/ONLINELOG/group_22.337.1016285711          10240 ONLINE  CURRENT      NO
        2       1         23      0 +RECO/CDB01_NRT1T4/ONLINELOG/group_23.338.1016285799          10240 ONLINE  UNUSED       YES
        2       1         24      0 +RECO/CDB01_NRT1T4/ONLINELOG/group_24.339.1016285885          10240 ONLINE  UNUSED       YES

    8 rows selected.

●logスイッチ動作確認

logスイッチ を実行して一回りしてもエラーでないことを確認しておきます

SQL> alter system archive log current;
    System altered.

■ACFS領域確認とサイズ変更

Oracle ACFS(ASM Cluster File System)は、POSIX、X/OPEN、およびWindowsに準拠した業界標準のクラスタ・ファイル・システムで複数のノードからアクセスできる共有ファイルシステムで、expdp/impdp,バッチやデータ・ロード用途のファイル配置場所として使用します
ACFSの管理コマンドとしてacfsutilがあり、ファイルシステムを動的拡張することができ、18c以降ではファイル・システムのサイズを縮小することもできます
 ・ACFSホワイトペーパ: Oracle ACFS 18c ASM Cluster File System
 ・Oracle Automatic Storage Management 管理者ガイド19c: acfsutil size
ということで、データ移行用途でデータ・ポンプのdumpファイルを配置する場合、容量が足りないことがあるので、拡張してみてみます

※ 初期利用領域は+DATAのASMディスクが設定されています

●ACFSマウントポイントと容量確認

[root@rac19c1 ~]# df -hT | grep acfs
    /dev/asm/commonstore-431           acfs       100G  833M  100G    1% /opt/oracle/dcs/commonstore

●ACFS +DATAディスク・グループ容量確認

[root@rac19c1 ~]# /sbin/acfsutil info storage
    Diskgroup      Consumer      Space     Size With Mirroring  Usable Free  %Free   Path
    DATA                       1024.00            1024.00         919.46       89%
                COMMONSTORE     100.00             100.00          99.19       99%   /opt/oracle/dcs/commonstore
    RECO                        256.00             256.00         248.91       97%
    ----
    unit of measurement: GB

●ACFS拡張

[root@rac19c1 ~]# /sbin/acfsutil size 200G /opt/oracle/dcs/commonstore
    acfsutil size: Resizing file system in steps
    acfsutil size: Resizing file system to 0.1133 TB
    acfsutil size: Resizing file system to 0.1289 TB
    acfsutil size: Resizing file system to 0.1445 TB
    acfsutil size: Resizing file system to 0.1602 TB
    acfsutil size: Resizing file system to 0.1758 TB
    acfsutil size: Resizing file system to 0.1914 TB
    acfsutil size: Resizing file system to 0.1953 TB
    acfsutil size: new file system size: 214748364800 (204800MB)

●ACFS拡張確認

[root@rac19c1 ~]# df -hT | grep acfs
    /dev/asm/commonstore-431           acfs       200G  1.1G  199G    1% /opt/oracle/dcs/commonstore

[root@rac19c1 ~]# /sbin/acfsutil info storage
    Diskgroup      Consumer      Space     Size With Mirroring  Usable Free  %Free   Path
    DATA                       1024.00            1024.00         819.46       80%
                COMMONSTORE     200.00             200.00         198.99       99%   /opt/oracle/dcs/commonstore
    RECO                        256.00             256.00         248.91       97%

    ----
    unit of measurement: GB

●ACFS縮小

[root@rac19c1 ~]# /sbin/acfsutil size 100G /opt/oracle/dcs/commonstore
    acfsutil size: Resizing file system in steps
    acfsutil size: Resizing file system to 0.1797 TB
    acfsutil size: Resizing file system to 0.1641 TB
    acfsutil size: Resizing file system to 0.1484 TB
    acfsutil size: Resizing file system to 0.1328 TB
    acfsutil size: Resizing file system to 0.1172 TB
    acfsutil size: Resizing file system to 0.1016 TB
    acfsutil size: Resizing file system to 0.0977 TB
    acfsutil size: new file system size: 107374182400 (102400MB)

●ACFS縮小確認

[root@rac19c1 ~]# df -hT | grep acfs
    /dev/asm/commonstore-431           acfs       100G  940M  100G    1% /opt/oracle/dcs/commonstore

■Transparent Application Failover(TAF)接続

透過的アプリケーションフェイルオーバー TAFは接続先のデータベース・インスタンスに障害が発生した場合でも、アプリケーションはデータベースに自動的に再接続でき、
オープン・カーソルもフェッチを続行するのでSELECT文はエラーすることなく処理を続行することができます

●TAFクライアント接続設定

TAF接続できるようにクライアントのtnsname.oraを設定します

[oracle@rac19c1 admin]$ vi $ORACLE_HOME/network/admin/tnsnames.ora

CDB01_NRT1T4 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac19c-scan.publicsubnet01.vcn172160016.oraclevcn.com)(PORT = 1521))
    (CONNECT_DATA =
        (SERVER = DEDICATED)
        (SERVICE_NAME = cdb01_nrt1t4.publicsubnet01.vcn172160016.oraclevcn.com)
    )
  )

==>次の様にFAILOVER_MODE項目を追加

CDB01_NRT1T4 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac19c-scan.publicsubnet01.vcn172160016.oraclevcn.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = cdb01_nrt1t4.publicsubnet01.vcn172160016.oraclevcn.com)
      (FAILOVER_MODE = (TYPE = select)(METHOD = basic) )
    )
  )

●TAF接続動作確認

dba_objectsなど件数の多いテーブルをSELECT中に 接続インスタンスのプロセスをKillしてインスタンス・ダウン障害を発生させ、SELECTが途中でエラーせず処理完了することを確認し、別ノードのインスタンスに接続していることを確認します

①接続インスタンス確認

SQL> select instance_name from v$instance;

    INSTANCE_NAME
    ----------------
    cdb011

②SELECT文実行

SQL> select * from dba_objects;
    ・・・・

③接続インスタンス障害実行
ここではpmonプロセスをkillしてインスタンス障害を発生させます


[root@rac19c1 opc]# ps -ef | grep ora_pmon_cdb011
    oracle   36047     1  0 16:40 ?        00:00:00 ora_pmon_cdb011

[root@rac19c1 opc]# kill -9 36047

④SELECT文正終了確認
SELECT文が正常終了したことを確認します

    ・・・・
    SYS                                                              SYS_HUB             DATABASE LINK       16-JUN-19                   VALID   N N N                                         NONE         N N                                                      N N

    73135 rows selected.


SQL>

⑤接続インスタンス確認
v$instanceで接続インスタンスを確認し、SELECT実行した別のインスタンス・ノードへ自動接続フェールオーバーしていることを確認します

SQL> select instance_name from v$instance;

    INSTANCE_NAME
    ----------------
    cdb012

■Application Continuity(AC)

TAFはcommit必要なSQLはフェールオーバーできませんが、Application Continuity(AC)はできます。
ということで、12.2からはACをつかいましょう
 ・参考:Oracle Database: SQL*PlusでApplication Continuity(AC)やってみてみた

■EM Express接続

●EM ポート確認

SQL> select dbms_xdb_config.getHttpsPort() from dual;

    DBMS_XDB_CONFIG.GETHTTPSPORT()
    ------------------------------
                5500

●EM 起動確認

SQL> host lsnrctl status | grep HTTP
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=rac19c1.publicsubnet01.vcn172160016.oraclevcn.com)(PORT=5500))(Security=(my_wallet_directory=/u01/app/oracle/product/19.0.0.0/dbhome_1/admin/cdb01_nrt1t4/xdb_wallet))(Presentation=HTTP)(Session=RAW))

●iptables設定

5500ポートアクセスできるようにiptablesを設定します
全RACノードで実施します

・iptables起動確認

[root@rac19c1 init.d]# systemctl status iptables
     iptables.service - IPv4 firewall with iptables
    Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
    Active: active (exited) since  2019-07-28 01:28:30 UTC; 2 weeks 3 days ago
    Main PID: 4226 (code=exited, status=0/SUCCESS)
    CGroup: /system.slice/iptables.service

    7 28 01:28:30 localhost systemd[1]: Starting IPv4 firewall with iptables...
    7 28 01:28:30 localhost iptables.init[4226]: iptables: Applying firewall rules: [  OK  ]
    7 28 01:28:30 localhost systemd[1]: Started IPv4 firewall with iptables.

・5500ポート設定

[root@rac19c1 init.d]# vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5500 -j ACCEPT -m comment --comment "Required for access to EM. "

・iptables設定反映再起動
※全ノード

[root@rac19c1 init.d]# systemctl restart iptables.service

●EM Expressアクセス

https://<RACノードIPアドレス>:5500/em

・Login情報を入力し、[Log in]をクリック

Username: sys
Password: sysユーザ・パスワード

em01.png
em02.png

■REPORT_PERFHUBファンクション

Enterprise Managerを使用でいない場合、REPORT_PERFHUBファンクションで指定した期間のデータベース・システム全体のコンポジット・アクティブ・パフォーマンス・レポートのHTMLを生成することができます。
・参考:REPORT_PERFHUBファンクション

    SQL> set pages 0 linesize 32767 trimspool on trim on long 1000000 longchunksize 10000000
    SQL> spool perfhub_active.html
    SQL> select dbms_perf.report_perfhub(is_realtime=>1,type=>'active') from dual;
    SQL> spool off
        ・・・
        d2QhZDvj63uAZqx9Uaz/4Ibt9nXns6p/jNPVumL0uTXH1b1S7L054Nv15Xp5gv42
        fyD+An46Sr0=
                    </report>
            </report>
        </report>
        <!--FXTMODEL-->
        </script>
        </body>
        </html>

名称未設定.png

shirok
自宅から専用線を引きたい今日この頃 ※ここでの発言は私個人の見解であり、所属する会社&組織の見解を反映したものではありません。ご了承ください。
oracle
Oracle Cloudは、最先端の機能をSoftware as a Service、Platform as a ServiceおよびInfrastructure as a ServiceおよびData as a Serviceとして提供します。
https://cloud.oracle.com/ja_JP/home
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした