LoginSignup
6
0

More than 1 year has passed since last update.

[お正月] 世界中に配置した Active Data Guard から新年のご挨拶

Last updated at Posted at 2023-01-02

今日はお正月、世界中から新年のご挨拶
Oracle Active Data Guard の スタンバイ・データベースは DML(INSERT/UPDATE/DELETE)を実行することができます。
世界中に配置した Oracle Database を Active Data Guardで構成して Primary/Standby Database から直接お届けします。

■ 構成

構成.jpg
前回構成した環境を使用します。

この環境に 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!

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0