今日はお正月、世界中から新年のご挨拶
Oracle Active Data Guard の スタンバイ・データベースは DML(INSERT/UPDATE/DELETE)を実行することができます。
世界中に配置した Oracle Database を Active Data Guardで構成して Primary/Standby Database から直接お届けします。
■ 構成
この環境に Active Data Guard の DML操作の自動リダイレクトを有効にして、全リージョン Standby Databseでも DML操作(Insert/Update/Delete)できるよう構成して新年のご挨拶をいたします。
■ Active Data Guard の DML操作有効化
● 方法1:
Active Data Guard環境ですべてのスタンバイ・セッションのDML操作の自動リダイレクトを構成するには、ADG_REDIRECT_DML初期化パラメータを TRUE に設定します。
SQL> ALTER SYSTEM SET ADG_REDIRECT_DML=true SCOPE=BOTH;
● 方法2:
現在のセッションの DML 操作の自動リダイレクトを構成するには、次のコマンドを使用します。
SQL> ALTER SESSION ENABLE ADG_REDIRECT_DML;
■ WORLD Table 作成
CREATE TABLE WORLD
(
VAL VARCHAR2(50),
REGION VARCHAR2(20)
)
;
■ 新年の挨拶 INSERT
各リージョンの言語でSQL*PLUS接続して、ADG_REDIRECT_DMLパラメーターをセッション単位で実施し、新年のご挨拶をしてみてみます。
・各国語で「あけましておめでとう」
・NLS_LANGについて: Setting Up a Globalization Support Environment
・グローバリゼーション・コード
● Tokyo Region (Primary)
[oracle@db-tokyo1 ~]$ export NLS_LANG=Japanese_Japan.AL32UTF8
[oracle@db-tokyo1 ~]$ sqlplus WORLD/<Password>@TOKYO
SQL*Plus: Release 19.0.0.0.0 - Production on 月 1月 2 13:04:34 2023
Version 19.17.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
Version 19.17.0.0.0
に接続されました。
WORLD@TOKYO SQL> INSERT INTO world (val,region) SELECT 'あけまして おめでとうございます', DB_UNIQUE_NAME from v$database;
1行が作成されました。
● Phoenix Region (Standby)
[oracle@db-phoenix1 ~]$ export NLS_LANG=American_America.AL32UTF8
[oracle@db-phoenix1 ~]$ sqlplus world/<Password>@PHOENIX
SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jan 2 13:07:06 2023
Version 19.17.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
Connected to:
Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
Version 19.17.0.0.0
WORLD@PHOENIX SQL> ALTER SESSION ENABLE ADG_REDIRECT_DML;
Session altered.
WORLD@PHOENIX SQL> INSERT INTO world (val,region) SELECT 'Happy New Year', DB_UNIQUE_NAME from v$database;
1 row created.
WORLD@PHOENIX SQL> commit;
Commit complete.
● Ashburn Region (Standby)
PHOENIX Regionで英語で挨拶しましたので、ヘブライ語で新年のご挨拶をしてみてみます。
[oracle@db-ashburn1 ~]$ export NLS_LANG=American_America.AL32UTF8
[oracle@db-ashburn1 ~]$ sqlplus world/<Password>@ASHBURN
SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jan 2 13:11:04 2023
Version 19.17.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
Connected to:
Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
Version 19.17.0.0.0
WORLD@ASHBURN SQL> ALTER SESSION ENABLE ADG_REDIRECT_DML;
Session altered.
WORLD@ASHBURN SQL> INSERT INTO world (val,region) SELECT 'שנה טובה', DB_UNIQUE_NAME from v$database;
1 row created.
WORLD@ASHBURN SQL> commit;
Commit complete.
● Frankfurt Region (Standby)
[oracle@db-frankfurt1 ~]$ export NLS_LANG=German_Germany.AL32UTF8
[oracle@db-frankfurt1 ~]$ sqlplus WORLD/<Password>@FRANKFURT
SQL*Plus: Release 19.0.0.0.0 - Production on Mo Jan 2 13:21:13 2023
Version 19.17.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
Verbunden mit:
Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
Version 19.17.0.0.0
WORLD@FRANKFURT SQL> ALTER SESSION ENABLE ADG_REDIRECT_DML;
Session wurde geändert.
WORLD@FRANKFURT SQL> INSERT INTO world (val,region) SELECT 'Ein gutes neues Jahr', DB_UNIQUE_NAME from v$database;
1 Zeile wurde erstellt.
WORLD@FRANKFURT SQL> commit;
Transaktion mit COMMIT abgeschlossen.
● Mumbai Region (Standby)
[oracle@db-mumbai1 ~]$ export NLS_LANG=Hindi_India.AL32UTF8
[oracle@db-mumbai1 ~]$ sqlplus WORLD/<Password>@MUMBAI
SQL*Plus: Release 19.0.0.0.0 - Production on सोम जनवरी 2 13:29:48 2023
Version 19.17.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
Connected to:
Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
Version 19.17.0.0.0
WORLD@MUMBAI SQL> ALTER SESSION ENABLE ADG_REDIRECT_DML;
Session altered.
WORLD@MUMBAI SQL> INSERT INTO world (val,region) SELECT 'नया साल मुबारक हो', DB_UNIQUE_NAME from v$database;
1 row created.
WORLD@MUMBAI SQL> commit;
Commit complete.
● Seoul Region (Standby)
[oracle@db-seoul1 ~]$ export NLS_LANG=Korean_Korea.AL32UTF8
[oracle@db-seoul1 ~]$ sqlplus world/<Password>@SEOUL
SQL*Plus: Release 19.0.0.0.0 - Production on 월 1월 2 13:40:57 2023
Version 19.17.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
다음에 접속됨:
Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
Version 19.17.0.0.0
WORLD@SEOUL SQL> ALTER SESSION ENABLE ADG_REDIRECT_DML;
세션이 변경되었습니다.
WORLD@SEOUL SQL> INSERT INTO world (val,region) SELECT '새해 복 많이 받으세요', DB_UNIQUE_NAME from v$database;
1 개의 행이 만들어졌습니다.
WORLD@SEOUL SQL> commit;
커밋이 완료되었습니다.
● Osaka Region (Standby)
[oracle@db-osaka1 ~]$ export NLS_LANG='SIMPLIFIED Chinese_China.AL32UTF8'
[oracle@db-osaka1 ~]$ sqlplus WORLD/<Password>@OSAKA
SQL*Plus: Release 19.0.0.0.0 - Production on 星期一 1月 2 13:52:18 2023
Version 19.17.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
连接到:
Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
Version 19.17.0.0.0
WORLD@OSAKA SQL> ALTER SESSION ENABLE ADG_REDIRECT_DML;
会话已更改。
WORLD@OSAKA SQL> INSERT INTO world (val,region) SELECT '新年快乐', DB_UNIQUE_NAME from v$database;
已创建 1 行。
WORLD@OSAKA SQL> commit;
提交完成。
● Shibuya Region (Standby)
[oracle@db-shibuya1 ~]$ export NLS_LANG='Thai_Thailand.AL32UTF8'
[oracle@db-shibuya1 ~]$ sqlplus world/<Password>@SHIBUYA
SQL*Plus: Release 19.0.0.0.0 - Production on จ. ม.ค. 2 13:59:51 2023
Version 19.17.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
เชื่อมต่อกับ:
Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
Version 19.17.0.0.0
WORLD@SHIBUYA SQL> ALTER SESSION ENABLE ADG_REDIRECT_DML;
แก้ไขเซสชันแล้ว
WORLD@SHIBUYA SQL> INSERT INTO world (val,region) SELECT 'สวัสดีปีใหม่ ค่ะ', DB_UNIQUE_NAME from v$database;
สร้างแถวแล้ว 1 แถว
WORLD@SHIBUYA SQL> commit;
การคอมมิตเสร็จสมบูรณ์
■ 確認
Standby DatabaseでもDML操作が有効化され、各リージョンから新年の挨拶が届いていることを確認できます。
WORLD@TOKYO SQL> select * from WORLD;
VAL REGION
-------------------------------------------------- --------------------
あけまして おめでとうございます CDB_TOKYO
Happy New Year CDB_PHOENIX
שנה טובה CDB_ASHBURN
Ein gutes neues Jahr CDB_FRANKFURT
नया साल मुबारक हो CDB_MUMBAI
새해 복 많이 받으세요 CDB_SEOUL
新年快乐 CDB_OSAKA
สวัสดีปีใหม่ ค่ะ CDB_SHIBUYA
■ 新年
新しい年が平和でありますように
新しい年が愛であふれますように
Happy New Year!