4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle Cloud: Multiple Standby Database の Data Guard環境へ PDB をコマンドで追加してみてみた

Last updated at Posted at 2022-11-10

Oracle Database の 手動PDB追加は、CREATE PLUGGABLE DATABASE文で作成できます。
ということで、前回作成した 3台のマルチ・スタンバイ・データーベースの Data Gurd 構成を使用して Primary Database へ PLUGGABLE DATABASE (PDB) を追加すると 全Standby Database へ正常に伝搬して作成/変更/削除されるか確認してみてみます。

■ 手順概要

PDBを作るための主なタスクは次です。
 :white_check_mark: STANDBY_FILE_MANAGEMENT設定
 :white_check_mark: プライマリ・データベースでのPDBの作成
 :white_check_mark: 作成した PDBの マスター暗号化キー作成およびアクティブ化
 :white_check_mark: スタンバイ・データベースへ マスター暗号化キー(walletsファイル)を配布転送
 :white_check_mark: 表領域とデータ・ファイル確認
 :white_check_mark: Standby PDB へTEMP表領域作成
 :white_check_mark: PDB表領域拡張チューニング
 :white_check_mark: アプリケーション用デフォルト表領域作成とユーザー作成
 :white_check_mark: クライアント接続のための接続記述子作成
 :white_check_mark: CDB再起動時の PDBの自動起動設定
 :white_check_mark: PDB削除

■ Data Guard 構成

今回は 4つの Database Server を直列に リアルタイム・カスケード・スタバイ させた Data Guard 構成へ PDB を追加してみてみます。

・参考: Oracle Cloud: Data Guard Broker で複数スタンバイ・データベース構成の REDO転送を制御

● Data Guard Coufiguration 確認

CDB_TOKYO → CDB_SHIBUYA → CDB_OSAKA → CDB_NAMBA の順番にリアルタイム・カスケード・スタバイさせています。

DGMGRL
DGMGRL> show configuration

Configuration - dg_config

  Protection Mode: MaxPerformance
  Members:
  CDB_TOKYO   - Primary database
    CDB_SHIBUYA - Physical standby database
      CDB_OSAKA   - Physical standby database (receiving current redo)
        CDB_NAMBA   - Physical standby database (receiving current redo)

Fast-Start Failover:  Disabled

Configuration Status:
SUCCESS   (status updated 56 seconds ago)

■ STANDBY_FILE_MANAGEMENT 設定

STANDBY_FILE_MANAGEMENT を AUTO に設定すると、データファイル作成等すると スタンバイ・データベース上にファイルが自動的に作成されます。
この設定はでデフォルトOFFなので、AUTOへ変更してデータファイル追加を自動で スタンバイ・データベース上に作成されるようにしておきます。

・参考: データベース・リファレンス: STANDBY_FILE_MANAGEMENT

● 設STANDBY_FILE_MANAGEMENT 設定

この設定はStandby DBへは自動伝搬されないので、Primary/Standby DBへ個別にログインして設定します

1) CDB接続
コンテナデータベースへ接続

2) STANDBY_FILE_MANAGEMENT 設定

Prymary/Standby DB
SQL> ALTER SYSTEM SET standby_file_management=AUTO SCOPE=BOTH;

	System altered.

3) 確認

Prymary/Standby DB
SQL> show parameter standby_file_management

	NAME				     TYPE	 VALUE
	------------------------------------ ----------- ------------------------------
	standby_file_management 	     string	 AUTO

4) 各Standby Databaseへ設定
 1) ~ 3) の手順をStandby DBへ設定します。

■ プライマリ・データベースでのPDBの作成

Oracle Data Guard構成では、プライマリ・データベースのプラガブル・データベース(PDB)は、通常のデータベースのPDBを作成するのと同じ方法で作成します。
詳細な情報と例は、http://support.oracle.com にある My Oracle Support Note#2049127.1 を参照してください。

PDBのサブセットをマルチテナント・コンテナ・データベース(CDB)のフィジカル・スタンバイに複製するように指定できます。
ENABLED_PDBS_ON_STANDBYパラメータ(ENABLED_PDBS_ON_STANDBYを参照)は、フィジカル・スタンバイでのみ有効であり、プライマリ・データベースでは無視されます。(プライマリ・データベースに設定して使用できるのは、そのデータベースがスタンバイ・データベースになった場合のみです。) これは、どのPDBをフィジカル・スタンバイ・データベースで有効化するかしないかを指定するために使用できます。
このパラメータが指定されていない場合、STANDBYS句が使用されていないかぎりCDB内のすべてのPDBがスタンバイ上に作成されます。

● CREATE PDB

Prymary DB
SYS@CDB_TOKYO SQL> CREATE PLUGGABLE DATABASE PDB ADMIN USER pdbadmin IDENTIFIED BY <adminパスワード> keystore identified by <TDE Walletパスワード> STANDBYS=All;

	Pluggable database created.

TDE Wallet パスワードを指定しなかった場合、いつしか次のエラーが出力されます。

ORA-28374: typed master key not found in wallet.

● CREATE PDB 確認

1) PDB 確認

Prymary/Standby DB
SYS@CDB_TOKYO SQL> show pdbs

		CON_ID CON_NAME			  OPEN MODE  RESTRICTED
	---------- ------------------------------ ---------- ----------
		2 PDB$SEED			  READ ONLY  NO
		3 PDB				  MOUNTED

● PDB起動

Primary/Standby DB全てOPENさせます
1) PDB OPEN (全DB)

Primary/Standby DB
SQL> alter pluggable database PDB open instances=all;

	Pluggable database altered.

2) PDB OPEN 確認

Primary/Standby DB
SQL> show pdbs

    CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
	 2 PDB$SEED			  READ ONLY  NO
	 3 PDB				  READ WRITE NO

■ 表領域とデータ・ファイル確認

● Data File 確認SQL作成

表領域とData File確認するためのSQLは長文なので、ここでは tablespaces.sql というSQLファイルを作成して sql実行します。

Prymary/Standby DB
[oracle@db-tokyo1 ~]$ cat tablespaces.sql
	col FILE_NAME format a90
	col TABLESPACE_NAME format a10
	set lin 200 pages 1000
	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/1024 as "Auto_Extent_Size(MB)"
		,TO_CHAR(a.MAXBYTES/1024/1024,'999,999,999') as "MAX_SIZE(MB)"
		,b.BLOCK_SIZE
		,b.BIGFILE
		,b.RETENTION
	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/1024 as "Auto_Extent_Size(MB)"
		,TO_CHAR(x.MAXBYTES/1024/1024,'999,999,999') as "MAX_SIZE(MB)"
		,y.BLOCK_SIZE
		,y.BIGFILE
		,y.RETENTION
	FROM dba_temp_files x
		, DBA_TABLESPACES y
	WHERE x.TABLESPACE_NAME=y.TABLESPACE_NAME
	ORDER By TABLESPACE_NAME
	;

● データ・ファイル確認

Prymary/Standby DB
SYS@CDB_TOKYO1 SQL> @tablespaces.sql

	TABLESPACE   Size(MB) FILE_NAME 										 Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG RETENTION
	---------- ---------- ------------------------------------------------------------------------------------------ --- -------------------- ------------ ---------- --- -----------
	SYSAUX		  420 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.277.1120232775		 YES		       10	32,768	     8192 NO  NOT APPLY
	SYSTEM		  380 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.271.1120232775		 YES		       10	32,768	     8192 NO  NOT APPLY
	TEMP		  223 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.273.1120232785		 YES		     .625	32,768	     8192 NO  NOT APPLY
	UNDOTBS1	   65 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.275.1120232775 	 YES			5	32,768	     8192 NO  NOGUARANTEE
	UNDO_2		   65 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undo_2.270.1120232975		 YES			5	32,768	     8192 NO  NOGUARANTEE

■ Standby PDB へ TEMP表領域作成

手動で作成した場合、Standby Database側へはTEMP表領域は自動作成されないことがあります。

1) PDB へログイン

SYS@CDB_SHIBUYA SQL> alter session set container = PDB;

	Session altered.

SYS@CDB_SHIBUYA SQL> show con_name

	CON_NAME
	------------------------------
	PDB

2) Temporary Tablespace 存在確認

SYS@CDB_SHIBUYA SQL> column tablespace_name format a12;
SYS@CDB_SHIBUYA SQL> column file_name format a100
SYS@CDB_SHIBUYA SQL> select tb.tablespace_name, tf.file_name from dba_tablespaces tb left join dba_temp_files tf on tf.tablespace_name = tb.tablespace_name where tb.contents = 'TEMPORARY';

	TABLESPACE_N FILE_NAME
	------------ --------------------------------------------------
	TEMP

3) Temporary Tablespace 追加

SYS@CDB_SHIBUYA SQL> alter tablespace TEMP add tempfile '+DATA' size 100M reuse autoextend on next 10M maxsize unlimited;

	Tablespace altered.

4) Temporary Tablespace 追加確認

SYS@CDB_SHIBUYA SQL> select tb.tablespace_name, tf.file_name from dba_tablespaces tb left join dba_temp_files tf on tf.tablespace_name = tb.tablespace_name where tb.contents = 'TEMPORARY';

	TABLESPACE_NAME 	       FILE_NAME
	------------------------------ ----------------------------------------------------------------------------------------------------
	TEMP			       +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.307.1125313413

■ 表領域とデータファイルのチューニング

作成されたData Fileは最小サイズです。本番/開発用途では小さすぎるサイズであるので、必要に応じて拡張設定する必要があります。

・参考: SQL言語リファレンス: CREATE TABLESPACE

● PDB接続

Prymary DB
SYS@CDB_TOKYO1 SQL> alter session set container = PDB;

● UNDO表領域再作成

RAC Instance 2番以降の UNDO表領域は、UNDO_# という名前になり、Instance 1番と異なるので、1番とあわせるため再作成します。

1) 全Node Instance PDB状態確認
全InstanceのPDBが起動(READ WRITE)していることを確認

Prymary DB
SYS@CDB_TOKYO1 SQL> col NAME format a20
SYS@CDB_TOKYO1 SQL> select INST_ID,con_id,name,open_mode,LOCAL_UNDO,restricted from gv$pdbs order by CON_ID,INST_ID;

   INST_ID     CON_ID NAME		   OPEN_MODE  LOCAL_UNDO RES
---------- ---------- -------------------- ---------- ---------- ---
	 1	    3 PDB		   READ WRITE	       1 NO
	 2	    3 PDB		   READ WRITE	       1 NO

2) Instance2用 UNDOTBS 作成
Instance番号1番とおなじように UNDOTBS# の名前のUNDO表領域を作成します。

Prymary DB
SYS@CDB_TOKYO1 SQL> CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED RETENTION NOGUARANTEE;

	Tablespace created.

3) Instance2用 UNDOTBS 作成確認
Primary DB(CDB_TOKYO)に作成したUNDO表領域が作成されていることと、他の Standby DB も作成されていることを確認

・CDB_TOKYO確認

Prymary DB
SYS@CDB_TOKYO1 SQL> @tablespaces.sql

	TABLESPACE   Size(MB) FILE_NAME 										 Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG RETENTION
	---------- ---------- ------------------------------------------------------------------------------------------ --- -------------------- ------------ ---------- --- -----------
	SYSAUX		  420 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.277.1120232775		 YES		       10	32,768	     8192 NO  NOT APPLY
	SYSTEM		  380 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.271.1120232775		 YES		       10	32,768	     8192 NO  NOT APPLY
	TEMP		  223 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.273.1120232785		 YES		     .625	32,768	     8192 NO  NOT APPLY
	UNDOTBS1	   65 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.275.1120232775 	 YES			5	32,768	     8192 NO  NOGUARANTEE
	UNDOTBS2	  100 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs2.281.1120368277 	 YES		      100	32,768	     8192 NO  NOGUARANTEE
	UNDO_2		   65 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undo_2.270.1120232975		 YES			5	32,768	     8192 NO  NOGUARANTEE

	6 rows selected.


[grid@db-tokyo2 ~]$ asmcmd ls -l +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE
		Type      Redund  Striped  Time             Sys  Name
		DATAFILE  UNPROT  COARSE   NOV 10 04:00:00  Y    SYSAUX.277.1120232775
		DATAFILE  UNPROT  COARSE   NOV 10 04:00:00  Y    SYSTEM.271.1120232775
		DATAFILE  UNPROT  COARSE   NOV 10 04:00:00  Y    UNDOTBS1.275.1120232775
		DATAFILE  UNPROT  COARSE   NOV 10 05:00:00  Y    UNDOTBS2.281.1120368277
		DATAFILE  UNPROT  COARSE   NOV 10 04:00:00  Y    UNDO_2.270.1120232975

4) Standby DB確認
Primary DBで作成したUNDO表領域がStandby DBへ伝搬していることを確認

Standby DB
・CDB_SHIBUYA確認

SYS@CDB_SHIBUYA1 SQL> @tablespaces.sql
	TABLESPACE   Size(MB) FILE_NAME 										 Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG RETENTION
	---------- ---------- ------------------------------------------------------------------------------------------ --- -------------------- ------------ ---------- --- -----------
	SYSAUX		  420 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.275.1120232791 	 YES		       10	32,768	     8192 NO  NOT APPLY
	SYSTEM		  380 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.271.1120232787 	 YES		       10	32,768	     8192 NO  NOT APPLY
	TEMP		  100 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.307.1125313413		 YES       10	32,768	     8192 NO  NOT APPLY
	UNDOTBS1	   65 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.268.1120232795	 YES			5	32,768	     8192 NO  NOGUARANTEE
	UNDOTBS2	  100 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs2.284.1120368279	 YES		      100	32,768	     8192 NO  NOGUARANTEE
	UNDO_2		   65 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undo_2.283.1120232977 	 YES			5	32,768	     8192 NO  NOGUARANTEE


・CDB_OSAKA確認

SYS@CDB_OSAKA1 SQL> @tablespaces.sql

	TABLESPACE   Size(MB) FILE_NAME 										 Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG RETENTION
	---------- ---------- ------------------------------------------------------------------------------------------ --- -------------------- ------------ ---------- --- -----------
	SYSAUX		  420 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.301.1120232793		 YES		       10	32,768	     8192 NO  NOT APPLY
	SYSTEM		  380 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.300.1120232787		 YES		       10	32,768	     8192 NO  NOT APPLY
	TEMP 	      100 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.315.1125305101		    YES 		  10	   32,768	8192 NO  NOT APPLY
	UNDOTBS1	   65 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.302.1120232799 	 YES			5	32,768	     8192 NO  NOGUARANTEE
	UNDOTBS2	  100 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs2.311.1120368281 	 YES		      100	32,768	     8192 NO  NOGUARANTEE
	UNDO_2		   65 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undo_2.309.1120232977		 YES			5	32,768	     8192 NO  NOGUARANTEE


・CDB_NAMBA確認

SYS@CCDB_NAMBA1 SQL> @tablespaces.sql

	TABLESPACE   Size(MB) FILE_NAME 										 Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG RETENTION
	---------- ---------- ------------------------------------------------------------------------------------------ --- -------------------- ------------ ---------- --- -----------
	SYSAUX		  420 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.270.1120232791		 YES		       10	32,768	     8192 NO  NOT APPLY
	SYSTEM		  380 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.277.1120232787		 YES		       10	32,768	     8192 NO  NOT APPLY
	TEMP		  100 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.291.1125313935		 YES		       10	32,768	     8192 NO  NOT APPLY
	UNDOTBS1	   65 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.272.1120232797 	 YES			5	32,768	     8192 NO  NOGUARANTEE
	UNDOTBS2	  100 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs2.286.1120368283 	 YES		      100	32,768	     8192 NO  NOGUARANTEE
	UNDO_2		   65 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undo_2.281.1120232979		 YES			5	32,768	     8192 NO  NOGUARANTEE

4)Instance#2 の undo_tablespaceパラメータ修正

Primary DB
SYS@CDB_TOKYO2 SQL> alter system set undo_tablespace='UNDOTBS2' sid='CDB2' scope=SPFILE;

	System altered.
※ CDB上で実行の場合
 alter system set undo_tablespace='UNDOTBS2' sid='CDB2' container='PDB' scope=SPFILE;

5)Instance#2 の PDB再起動

Primary DB
SYS@CDB_TOKYO2 SQL> alter pluggable database PDB close instances=('CDB2');

	Pluggable database altered.

SYS@CDB_TOKYO2 SQL> alter pluggable database PDB open instances=('CDB2');

	Pluggable database altered.

6) instance#2 OPEN確認

Primary DB
SYS@CDB_TOKYO2 SQL>  select INST_ID,con_id,name,open_mode,LOCAL_UNDO,restricted from gv$pdbs order by CON_ID,INST_ID;

   INST_ID     CON_ID NAME		   OPEN_MODE  LOCAL_UNDO RES
---------- ---------- -------------------- ---------- ---------- ---
	 1	    3 PDB		   READ WRITE	       1 NO
	 2	    3 PDB		   READ WRITE	       1 NO

7) PDB undo_tablespace パラメータ修正確認

Primary DB
SYS@CDB_TOKYO2 SQL>  col NAME format a30
SYS@CDB_TOKYO2 SQL>  col VALUE format a30 
SYS@CDB_TOKYO2 SQL>  set lin 200
SYS@CDB_TOKYO2 SQL>  select INST_ID,CON_ID, NAME, VALUE from gv$parameter where NAME like 'undo%' order by NAME,INST_ID;

	INST_ID     CON_ID NAME		   VALUE
	---------- ---------- -------------------- ------------------------------
		1	    3 undo_management	   AUTO
		2	    3 undo_management	   AUTO
		1	    3 undo_retention	   900
		2	    3 undo_retention	   900
		1	    3 undo_tablespace	   UNDOTBS1
		2	    3 undo_tablespace	   UNDOTBS2

	6 rows selected.

8)旧UNDO表領域削除**

Primary DB
SYS@CDB_TOKYO2 SQL> drop tablespace UNDO_2 including contents and datafiles cascade constraints;

	Tablespace dropped.

9)旧UNDO表領域削除確認
Primary DBの 旧UNDO表領域UNDO_2が削除されていることを確認

Primary DB
・表領域削除確認
SYS@CDB_TOKYO1 SQL> @tablespaces.sql

	TABLESPACE   Size(MB) FILE_NAME 										 Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG RETENTION
	---------- ---------- ------------------------------------------------------------------------------------------ --- -------------------- ------------ ---------- --- -----------
	SYSAUX		  420 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.277.1120232775		 YES		       10	32,768	     8192 NO  NOT APPLY
	SYSTEM		  380 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.271.1120232775		 YES		       10	32,768	     8192 NO  NOT APPLY
	TEMP		  223 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.273.1120232785		 YES		     .625	32,768	     8192 NO  NOT APPLY
	UNDOTBS1	   65 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.275.1120232775 	 YES			5	32,768	     8192 NO  NOGUARANTEE
	UNDOTBS2	  100 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs2.281.1120368277 	 YES		      100	32,768	     8192 NO  NOGUARANTEE

・OSファイル削除確認
[grid@db-tokyo2 ~]$ asmcmd ls -l +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE
	Type      Redund  Striped  Time             Sys  Name
	DATAFILE  UNPROT  COARSE   NOV 10 04:00:00  Y    SYSAUX.277.1120232775
	DATAFILE  UNPROT  COARSE   NOV 10 04:00:00  Y    SYSTEM.271.1120232775
	DATAFILE  UNPROT  COARSE   NOV 10 04:00:00  Y    UNDOTBS1.275.1120232775
	DATAFILE  UNPROT  COARSE   NOV 10 05:00:00  Y    UNDOTBS2.281.1120368277

10)Standby DBでの 旧UNDO表領域削除確認
Standby DBの 旧UNDO表領域UNDO_2が削除されていることを確認

Standby DB
・CDB_NAMBA
SYS@CDB_NAMBA1 SQL> @tablespaces.sql

	TABLESPACE   Size(MB) FILE_NAME 										 Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG RETENTION
	---------- ---------- ------------------------------------------------------------------------------------------ --- -------------------- ------------ ---------- --- -----------
	SYSAUX		  420 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.270.1120232791		 YES		       10	32,768	     8192 NO  NOT APPLY
	SYSTEM		  380 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.277.1120232787		 YES		       10	32,768	     8192 NO  NOT APPLY
	TEMP	 	  100 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.291.1125313935		 YES		       10	32,768	     8192 NO  NOT APPLY
	UNDOTBS1	   65 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.272.1120232797 	 YES			5	32,768	     8192 NO  NOGUARANTEE
	UNDOTBS2	  100 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs2.286.1120368283 	 YES		      100	32,768	     8192 NO  NOGUARANTEE

・CDB_OSAKA
SYS@CDB_OSAKA1 SQL> @tablespaces.sql

	TABLESPACE   Size(MB) FILE_NAME 										 Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG RETENTION
	---------- ---------- ------------------------------------------------------------------------------------------ --- -------------------- ------------ ---------- --- -----------
	SYSAUX		  420 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.301.1120232793		 YES		       10	32,768	     8192 NO  NOT APPLY
	SYSTEM		  380 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.300.1120232787		 YES		       10	32,768	     8192 NO  NOT APPLY
	TEMP  	      100 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.315.1125305101		    YES 		  10	   32,768	8192 NO  NOT APPLY
	UNDOTBS1	   65 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.302.1120232799 	 YES			5	32,768	     8192 NO  NOGUARANTEE
	UNDOTBS2	  100 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs2.311.1120368281 	 YES		      100	32,768	     8192 NO  NOGUARANTEE

・CDB_SHIBUYA
SYS@CDB_SHIBUYA1 SQL> @tablespaces.sql

	TABLESPACE   Size(MB) FILE_NAME 										 Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG RETENTION
	---------- ---------- ------------------------------------------------------------------------------------------ --- -------------------- ------------ ---------- --- -----------
	SYSAUX		  420 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.275.1120232791 	 YES		       10	32,768	     8192 NO  NOT APPLY
	SYSTEM		  380 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.271.1120232787 	 YES		       10	32,768	     8192 NO  NOT APPLY
	TEMP		  100 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.307.1125313413		 YES       10	32,768	     8192 NO  NOT APPLY
	UNDOTBS1	   65 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.268.1120232795	 YES			5	32,768	     8192 NO  NOGUARANTEE
	UNDOTBS2	  100 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs2.284.1120368279	 YES		      100	32,768	     8192 NO  NOGUARANTEE

● 表領域拡張チューニング

初期サイズは小さすぎるので実際に使用するサイズまでリサイズします。
また、自動拡張サイズも小さすぎるので、自動拡張が頻繁にされないようにサイズを調整します。

1) 表領域データファイル確認

Primary DB
SYS@CDB_TOKYO1 SQL> @tablespaces.sql

	TABLESPACE   Size(MB) FILE_NAME 										 Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG RETENTION
	---------- ---------- ------------------------------------------------------------------------------------------ --- -------------------- ------------ ---------- --- -----------
	SYSAUX		  420 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.277.1120232775		 YES		       10	32,768	     8192 NO  NOT APPLY
	SYSTEM		  380 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.271.1120232775		 YES		       10	32,768	     8192 NO  NOT APPLY
	TEMP		  223 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.273.1120232785		 YES		     .625	32,768	     8192 NO  NOT APPLY
	UNDOTBS1	   65 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.275.1120232775 	 YES			5	32,768	     8192 NO  NOGUARANTEE
	UNDOTBS2	  100 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs2.281.1120368277 	 YES		      100	32,768	     8192 NO  NOGUARANTEE

2) 表領域データファイル拡張チューニング

Primary DB
SYS@CDB_TOKYO1 SQL> 
	ALTER DATABASE DATAFILE '+DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.277.1120232775' AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
	ALTER DATABASE DATAFILE '+DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.277.1120232775' AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
	ALTER DATABASE DATAFILE '+DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.271.1120232775' AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
	ALTER DATABASE DATAFILE '+DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.275.1120232775' AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
	ALTER DATABASE TEMPFILE '+DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.273.1120232785' AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;

3) 表領域データファイル自動拡張設定

Primary DB
SYS@CDB_TOKYO1 SQL> 
	ALTER DATABASE DATAFILE '+DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.277.1120232775' resize 500M;
	ALTER DATABASE DATAFILE '+DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.271.1120232775' resize 500M;
	ALTER DATABASE DATAFILE '+DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.275.1120232775' resize 100M;
	ALTER DATABASE TEMPFILE '+DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.273.1120232785' resize 250M;

4) 表領域データファイル変更確認

Primary DB
SYS@CDB_TOKYO1 SQL> @tablespaces.sql

	TABLESPACE   Size(MB) FILE_NAME 										 Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG RETENTION
	---------- ---------- ------------------------------------------------------------------------------------------ --- -------------------- ------------ ---------- --- -----------
	SYSAUX		  500 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.277.1120232775		 YES		      100	32,768	     8192 NO  NOT APPLY
	SYSTEM		  500 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.271.1120232775		 YES		      100	32,768	     8192 NO  NOT APPLY
	TEMP		  250 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.273.1120232785		 YES		      100	32,768	     8192 NO  NOT APPLY
	UNDOTBS1	  100 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.275.1120232775 	 YES		      100	32,768	     8192 NO  NOGUARANTEE
	UNDOTBS2	  100 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs2.281.1120368277 	 YES		      100	32,768	     8192 NO  NOGUARANTEE

5) Standby DB 表領域データファイル変更確認

Standby DB
SYS@CDB_SHIBUYA1 SQL> @tablespaces.sql

	TABLESPACE   Size(MB) FILE_NAME 										 Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG RETENTION
	---------- ---------- ------------------------------------------------------------------------------------------ --- -------------------- ------------ ---------- --- -----------
	SYSAUX		  500 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.275.1120232791 	 YES		      100	32,768	     8192 NO  NOT APPLY
	SYSTEM		  500 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.271.1120232787 	 YES		      100	32,768	     8192 NO  NOT APPLY
	TEMP		  100 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.307.1125313413		 YES       10	32,768	     8192 NO  NOT APPLY
	UNDOTBS1	  100 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.268.1120232795	 YES		      100	32,768	     8192 NO  NOGUARANTEE
	UNDOTBS2	  100 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs2.284.1120368279	 YES		      100	32,768	     8192 NO  NOGUARANTEE

SYS@CDB_NAMBA1 SQL> @tablespaces.sql

	TABLESPACE   Size(MB) FILE_NAME 										 Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG RETENTION
	---------- ---------- ------------------------------------------------------------------------------------------ --- -------------------- ------------ ---------- --- -----------
	SYSAUX		  500 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.270.1120232791		 YES		      100	32,768	     8192 NO  NOT APPLY
	SYSTEM		  500 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.277.1120232787		 YES		      100	32,768	     8192 NO  NOT APPLY
	TEMP		  100 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.291.1125313935		 YES		       10	32,768	     8192 NO  NOT APPLY
	UNDOTBS1	  100 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.272.1120232797 	 YES		      100	32,768	     8192 NO  NOGUARANTEE
	UNDOTBS2	  100 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs2.286.1120368283 	 YES		      100	32,768	     8192 NO  NOGUARANTEE

SYS@CDB_OSAKA1 SQL> @tablespaces.sql

	TABLESPACE   Size(MB) FILE_NAME 										 Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG RETENTION
	---------- ---------- ------------------------------------------------------------------------------------------ --- -------------------- ------------ ---------- --- -----------
	SYSAUX		  500 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.301.1120232793		 YES		      100	32,768	     8192 NO  NOT APPLY
	SYSTEM		  500 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.300.1120232787		 YES		      100	32,768	     8192 NO  NOT APPLY
	TEMP  	     100 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.315.1125305101		    YES 		  10	   32,768	8192 NO  NOT APPLY	
	UNDOTBS1	  100 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.302.1120232799 	 YES		      100	32,768	     8192 NO  NOGUARANTEE
	UNDOTBS2	  100 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs2.311.1120368281 	 YES		      100	32,768	     8192 NO  NOGUARANTEE

■ 作成したPDBの マスター暗号化キー作成およびアクティブ化

作成した PDB のTDE暗号化が有効になっていない場合、表領域作成で ORA-28361: master key not yet set エラーが発生します。その場合この手順を実行します。

● ORA-28361 エラー発生確認

1)表領域作成で ORA-28361 エラー

Primary DB
SYS@CDB_TOKYO1 SQL> CREATE BIGFILE TABLESPACE USERS DATAFILE SIZE 10M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;
	CREATE BIGFILE TABLESPACE USERS DATAFILE SIZE 10M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
	*
	ERROR at line 1:
	ORA-28361: master key not yet set

2) アラート・ログ確認

Primary/Standby DB
[oracle@db-tokyo1 ~]$ tail -f $ORACLE_BASE/diag/rdbms/${ORACLE_UNQNAME,,}/$ORACLE_SID/trace/alert_$ORACLE_SID.log

	2022-11-14T15:16:18.046289+00:00
	PDB1(4):CREATE BIGFILE TABLESPACE USERS DATAFILE SIZE 10M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
	2022-11-14T15:16:18.046346+00:00
	PDB1(4):Force tablespace USERS to be encrypted
	PDB1(4):Master key not set for this container (4). Please ensure that wallet is configured and master key is set.
	PDB1(4):ORA-28361 signalled during: CREATE BIGFILE TABLESPACE USERS DATAFILE SIZE 10M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED...

● Wallet Status 確認

追加した PDB の STATUS が OPEN_NO_MASTER_KEY であることを確認
OPEN_NO_MASTER_KEYである場合、表領域を作成しようとすると ORA-28361: master key not yet set が出力され表領域を作成することはできません。

Primary DB
SQL> set lin 200
SQL> col WRL_PARAMETER format a60
SQL> col NAME format a20
SQL> select a.*,b.NAME from v$encryption_wallet a, v$pdbs b where a.CON_ID=b.CON_ID(+) order by a.CON_ID;

	WRL_TYPE	     WRL_PARAMETER						  STATUS			 WALLET_TYPE	      WALLET_OR KEYSTORE FULLY_BAC     CON_ID NAME
	-------------------- ------------------------------------------------------------ ------------------------------ -------------------- --------- -------- --------- ---------- --------------------
	FILE		     /opt/oracle/dcs/commonstore/wallets/CDB_NAMBA/tde/ 	  OPEN				 AUTOLOGIN	      SINGLE	NONE	 NO		    1
	FILE										  OPEN				 AUTOLOGIN	      SINGLE	UNITED	 NO		    2 PDB$SEED
	FILE										  OPEN_NO_MASTER_KEY		 AUTOLOGIN	      SINGLE	UNITED	 UNDEFINED	    3 PDB

● Wallet ファイル(cwallet.sso and ewallet.p12)をバックアップ

slnet.ora にある ENCRYPTION_WALLET_LOCATION に Wallet ファイルがあるのでバックアップします。
バックアップはPrimary\Standby DB全てのノードの Wallet ファイルをバックアップします。

1) ENCRYPTION_WALLET_LOCATION確認

Primary/Standby DB
[oracle@db-tokyo1 ~]$ cat $TNS_ADMIN/sqlnet.ora | grep ENCRYPTION_WALLET_LOCATION
	# ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME)))
	ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/opt/oracle/dcs/commonstore/wallets/$ORACLE_UNQNAME/tde)))

2) Wallet ファイル確認

Primary/Standby DB
[oracle@db-tokyo1 ~]$ cd /opt/oracle/dcs/commonstore/wallets/$ORACLE_UNQNAME

[oracle@db-tokyo1 CDB_TOKYO]$ ls -l
	total 212
	-rw-r--r-- 1 oracle oinstall   309 Nov  9 05:08 cdb_ocids.json
	drwx------ 2 oracle oinstall 20480 Oct  5 13:02 db
	drwxr-xr-x 2 oracle oinstall 20480 Oct  5 13:09 EA4A2316EB740870E0530A010A0AA68A
	drwx------ 2 oracle oinstall 20480 Oct  5 12:59 tde

[oracle@db-tokyo1 CDB_TOKYO]$ ls -l ./tde
	total 32
	-rwx------ 1 oracle oinstall 5512 Oct  5 12:59 cwallet.sso
	-rwx------ 1 oracle oinstall 2555 Oct  5 12:53 ewallet_2022100512534983.p12
	-rwx------ 1 oracle oinstall 3995 Oct  5 12:59 ewallet_2022100512590406.p12
	-rwx------ 1 oracle oinstall 5467 Oct  5 12:59 ewallet.p12

3) Wallet ファイル バックアップ

Primary/Standby DB
[oracle@db-tokyo1 CDB_TOKYO]$ cp -r tde tde_backup
[oracle@db-tokyo1 CDB_TOKYO]$ ls -l
	total 212
	-rw-r--r-- 1 oracle oinstall   309 Nov  9 05:08 cdb_ocids.json
	drwx------ 2 oracle oinstall 20480 Oct  5 13:02 db
	drwxr-xr-x 2 oracle oinstall 20480 Oct  5 13:09 EA4A2316EB740870E0530A010A0AA68A
	drwx------ 2 oracle oinstall 20480 Oct  5 12:59 tde
	drwx------ 2 oracle oinstall 20480 Nov 10 10:09 tde_backup

● TDEウォレット内のTDE暗号化キーを更新

Primary DBのみで作業します

1) dbid確認
dbcliコマンド実行にdbid必要なので確認しておきます

Primary DB
[root@db-tokyo1 ~]# dbcli list-databases

	ID                                       DB Name    DB Type  DB Version           CDB        Class    Shape    Storage    Status        DbHomeID
	---------------------------------------- ---------- -------- -------------------- ---------- -------- -------- ---------- ------------ ----------------------------------------
	cdc6-98a0-417e-9ad7-d96c     CDB        Rac      19.16.0.0.0          true       Oltp              ASM        Configured   a364-a3b7-447d-87cc-8e61

2) TDEウォレット内のTDE暗号化キーを更新
サポート手順はこちらになります。
・My Oracle Support: OCI DB SYSTEM:Create tablespace error "ORA-28361: Master Key Not Yet Set" on migrated database (Doc ID 2716604.1)

今回は Database Cloud Service で使用できる dbcli update-tdekeyコマンド を使用して、TDEウォレット内のTDE暗号化キーを更新してみます。
プラガブル・データベース(-pdbNamesが指定されている場合)またはコンテナ・データベース(- rootDatabaseが指定されている場合)の暗号化キー(あるいはその両方)を更新できます。

Primary DB
[root@db-tokyo1 ~]# dbcli update-tdekey -i cdc6-98a0-417e-9ad7-d96c -p -n PDB
TDE Admin wallet password: <-- adminパスワード入力して[Enter]

	{
	"jobId" : "995f0d78-4ba9-4a4e-a86c-cdb28303f46d",
	"status" : "Created",
	"message" : null,
	"reports" : [ ],
	"createTimestamp" : "November 10, 2022 10:21:06 AM UTC",
	"resourceList" : [ ],
	"description" : "TDE update CDB - PDBs: [PDB]",
	"updatedTime" : "November 10, 2022 10:21:07 AM UTC",
	"percentageProgress" : "0%",
	"cause" : null,
	"action" : null
	}

3) STATUS確認
追加したPODのSTATUS が OPEN であることを確認
Primary DBのみで作業します

Primary DB
set lin 200
col WRL_PARAMETER format a60
col NAME format a20
select a.*,b.NAME from v$encryption_wallet a, v$pdbs b where a.CON_ID=b.CON_ID(+) order by a.CON_ID;

	WRL_TYPE	     WRL_PARAMETER						  STATUS			 WALLET_TYPE	      WALLET_OR KEYSTORE FULLY_BAC     CON_ID NAME
	-------------------- ------------------------------------------------------------ ------------------------------ -------------------- --------- -------- --------- ---------- --------------------
	FILE		     /opt/oracle/dcs/commonstore/wallets/CDB_TOKYO/tde/ 	  OPEN				 AUTOLOGIN	      SINGLE	NONE	 NO		    1
	FILE										  OPEN				 AUTOLOGIN	      SINGLE	UNITED	 NO		    2 PDB$SEED
	FILE										  OPEN				 AUTOLOGIN	      SINGLE	UNITED	 NO		    3 PDB

● 全Standby DBへ walletsファイルを転送

Primary DBで更新した Wallet ファイルは StandbyDB へ転送して更新する必要があります

1) walletsディレクトリ移動

Primary DB
[oracle@db-tokyo1 ~]$ cd /opt/oracle/dcs/commonstore/wallets/$ORACLE_UNQNAME/tde

2) cwallet.sso と ewallet.p12 確認

Primary DB
[oracle@db-tokyo1 CDB_TOKYO]$ ls -l
	total 64
	-rw------- 1 oracle oinstall 8264 Nov 10 10:21 cwallet.sso
	-rwx------ 1 oracle oinstall 2555 Oct  5 12:53 ewallet_2022100512534983.p12
	-rwx------ 1 oracle oinstall 3995 Oct  5 12:59 ewallet_2022100512590406.p12
	-rwx------ 1 oracle asmadmin 5467 Nov 10 10:21 ewallet_2022111010211936_OdaRotateKey.p12
	-rw------- 1 oracle asmadmin 6747 Nov 10 10:21 ewallet_2022111010211998_OdaRotateKey.p12
	-rw------- 1 oracle oinstall 8219 Nov 10 10:21 ewallet.p12

3) scpで全Standby DBへ cwallet.sso と ewallet.p12を転送

Primary DB
[oracle@db-tokyo1 tde]$ scp -i ~/.ssh/id_rsa cwallet.sso ewallet.p12 oracle@db-shibuya1.clientsubnet.vcnexatokyo.oraclevcn.com:/opt/oracle/dcs/commonstore/wallets/CDB_SHIBUYA/tde/
	cwallet.sso                100% 8264    23.9MB/s   00:00
	ewallet.p12                100% 8219    26.1MB/s   00:00

[oracle@db-tokyo1 tde]$ scp -i ~/.ssh/id_rsa cwallet.sso ewallet.p12 oracle@db-namba1.clientsubnet.vcnexaosaka.oraclevcn.com:/opt/oracle/dcs/commonstore/wallets/CDB_NAMBA/tde/
	cwallet.sso                100% 8264   857.6KB/s   00:00
	ewallet.p12                100% 8219   857.4KB/s   00:00

[oracle@db-tokyo1 tde]$ scp -i ~/.ssh/id_rsa cwallet.sso ewallet.p12 oracle@db-osaka1.clientsubnet.vcnexaosaka.oraclevcn.com:/opt/oracle/dcs/commonstore/wallets/CDB_OSAKA/tde/
	cwallet.sso                100% 8264   856.1KB/s   00:00
	ewallet.p12                100% 8219   865.4KB/s   00:00

4)全Standby DB の Wallet STATUS OPEN 確認
全Standby DB で OPEN_NO_MASTER_KEY から OPENになっていることを確認

Standby DB
SQL> set lin 200
SQL> col WRL_PARAMETER format a60
SQL> col NAME format a20
SQL> select a.*,b.NAME from v$encryption_wallet a, v$pdbs b where a.CON_ID=b.CON_ID(+) order by a.CON_ID;

		WRL_TYPE	     WRL_PARAMETER						  STATUS			 WALLET_TYPE	      WALLET_OR KEYSTORE FULLY_BAC     CON_ID NAME
		-------------------- ------------------------------------------------------------ ------------------------------ -------------------- --------- -------- --------- ---------- --------------------
		FILE		     /opt/oracle/dcs/commonstore/wallets/CDB_SHIBUYA/tde/	  OPEN				 AUTOLOGIN	      SINGLE	NONE	 NO		    1
		FILE										  OPEN				 AUTOLOGIN	      SINGLE	UNITED	 NO		    2 PDB$SEED
		FILE										  OPEN				 AUTOLOGIN	      SINGLE	UNITED	 NO		    3 PDB

■ アプリケーション用デフォルト表領域作成

アプリケーション、作業用の表領域を作成します。
ORA-28374: typed master key not found in wallet が発生した場合は上記の「作成したPDBの マスター暗号化キー作成およびアクティブ化」を実施します

1) PDBへ接続

Primary DB
SYS@CDB_TOKYO1 SQL> ALTER SESSION SET CONTAINER=PDB;

2) アプリケーション用デフォルト表領域USERS作成

Primary DB
SYS@CDB_TOKYO1 SQL> CREATE BIGFILE TABLESPACE USERS DATAFILE SIZE 10M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;

	Tablespace created.

3) 表領域USERS作成確認

Primary DB
SYS@CDB_TOKYO1 SQL> @tablespaces.sql

	TABLESPACE   Size(MB) FILE_NAME 										 Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG RETENTION
	---------- ---------- ------------------------------------------------------------------------------------------ --- -------------------- ------------ ---------- --- -----------
	SYSAUX		  500 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.277.1120232775		 YES		      100	32,768	     8192 NO  NOT APPLY
	SYSTEM		  500 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.271.1120232775		 YES		      100	32,768	     8192 NO  NOT APPLY
	TEMP		  250 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.273.1120232785		 YES		      100	32,768	     8192 NO  NOT APPLY
	UNDOTBS1	  100 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.275.1120232775 	 YES		      100	32,768	     8192 NO  NOGUARANTEE
	UNDOTBS2	  100 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs2.281.1120368277 	 YES		      100	32,768	     8192 NO  NOGUARANTEE
	USERS		   10 +DATA/CDB_TOKYO/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/users.285.1120702885		 YES		       10   33,554,432	     8192 YES NOT APPLY

	6 rows selected.

4) Standby DB 表領域USERS作成確認
Standby DBへ USERS表領域作成されていることを確認

Standby DB
・CDB_SHIBUYA
SYS@CDB_SHIBUYA1 SQL> @tablespaces.sql

	TABLESPACE   Size(MB) FILE_NAME 										 Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG RETENTION
	---------- ---------- ------------------------------------------------------------------------------------------ --- -------------------- ------------ ---------- --- -----------
	SYSAUX		  500 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.275.1120232791 	 YES		      100	32,768	     8192 NO  NOT APPLY
	SYSTEM		  500 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.271.1120232787 	 YES		      100	32,768	     8192 NO  NOT APPLY
	TEMP		  100 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.307.1125313413		 YES       10	32,768	     8192 NO  NOT APPLY
	UNDOTBS1	  100 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.268.1120232795	 YES		      100	32,768	     8192 NO  NOGUARANTEE
	UNDOTBS2	  100 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs2.284.1120368279	 YES		      100	32,768	     8192 NO  NOGUARANTEE
	USERS		   10 +DATA/CDB_SHIBUYA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/users.266.1120401521		 YES		       10   33,554,432	     8192 YES NOT APPLY

・CDB_OSAKA
SYS@CDB_OSAKA1 SQL> @tablespaces.sql

	TABLESPACE   Size(MB) FILE_NAME 										 Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG RETENTION
	---------- ---------- ------------------------------------------------------------------------------------------ --- -------------------- ------------ ---------- --- -----------
	SYSAUX		  500 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.301.1120232793		 YES		      100	32,768	     8192 NO  NOT APPLY
	SYSTEM		  500 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.300.1120232787		 YES		      100	32,768	     8192 NO  NOT APPLY
	TEMP 	      100 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.315.1125305101		    YES 		  10	   32,768	8192 NO  NOT APPLY
	UNDOTBS1	  100 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.302.1120232799 	 YES		      100	32,768	     8192 NO  NOGUARANTEE
	UNDOTBS2	  100 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs2.311.1120368281 	 YES		      100	32,768	     8192 NO  NOGUARANTEE
	USERS		   10 +DATA/CDB_OSAKA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/users.303.1120401585		 YES		       10   33,554,432	     8192 YES NOT APPLY

・CDB_NAMBA
SYS@CDB_NAMBA1 SQL> @tablespaces.sql

	TABLESPACE   Size(MB) FILE_NAME 										 Aut Auto_Extent_Size(MB) MAX_SIZE(MB) BLOCK_SIZE BIG RETENTION
	---------- ---------- ------------------------------------------------------------------------------------------ --- -------------------- ------------ ---------- --- -----------
	SYSAUX		  500 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/sysaux.270.1120232791		 YES		      100	32,768	     8192 NO  NOT APPLY
	SYSTEM		  500 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/system.277.1120232787		 YES		      100	32,768	     8192 NO  NOT APPLY
	TEMP		  100 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/TEMPFILE/temp.291.1125313935		 YES		       10	32,768	     8192 NO  NOT APPLY
	UNDOTBS1	  100 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs1.272.1120232797 	 YES		      100	32,768	     8192 NO  NOGUARANTEE
	UNDOTBS2	  100 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/undotbs2.286.1120368283 	 YES		      100	32,768	     8192 NO  NOGUARANTEE
	USERS		   10 +DATA/CDB_NAMBA/ECF7F916E9F5D59CE0530A010A0A3C69/DATAFILE/users.276.1120401341		 YES		       10   33,554,432	     8192 YES NOT APPLY

■ アプリケーション用ユーザー作成

1) PDB接続

Primary DB
SYS@CDB_TOKYO1 SQL> ALTER SESSION SET CONTAINER=PDB;

2) TESTユーザー作成

Primary DB
SYS@CDB_TOKYO1 SQL> create user TEST identified by <パスワード>
	default tablespace USERS
	quota unlimited on USERS
	temporary tablespace TEMP
	container=current;

	User created.

3)TESTユーザー権限付与

Primary DB
SYS@CDB_TOKYO1 SQL> grant CREATE SESSION to TEST;

	Grant succeeded.

SYS@CDB_TOKYO1 SQL> grant CREATE TABLE to TEST ;

	Grant succeeded.

4)SQL*PLUS 接続確認

Primary DB
[oracle@db-tokyo1 ~]$ sqlplus test/<パスワード>@PDB

	SQL*Plus: Release 19.0.0.0.0 - Production on Thu Nov 10 15:00:10 2022
	Version 19.16.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.16.0.0.0

TEST@PDB_TOKYO SQL> show user
	USER is "TEST"

5) トランザクション: TABLE作成/INSERT/SELECT 確認

Primary DB
TEST@PDB_TOKYO SQL> CREATE TABLE test_table1 (id number(3), name varchar2(10));

	Table created.

TEST@PDB_TOKYO SQL> INSERT INTO test_table1  VALUES (1,'AAA');

	1 row created.

TEST@PDB_TOKYO SQL> commit;

	Commit complete.

TEST@PDB_TOKYO SQL> select * from test_table1;

		ID NAME
	---------- ----------
		1 AAA

6) Standby DB 伝搬確認
Primary DBへ実行したトランザクションが伝搬されていることを確認

・PDB_SHIBUYA
[oracle@db-shibuya1 admin]$ sqlplus test/<パスワード>@PDB_SHIBUYA
	・・・
TEST@PDB_SHIBUYA SQL> select * from test_table1;

		ID NAME
	---------- ----------
		1 AAA

・PDB_OSAKA
[oracle@db-osaka1 ~]$ sqlplus test/<パスワード>@PDB_OSAKA
	・・・
TEST@PDB_OSAKA SQL> select * from test_table1;

		ID NAME
	---------- ----------
		1 AAA

・PDB_NAMBA
[oracle@db-namba1 admin]$ sqlplus test/<パスワード>@PDB_NAMBA
	・・・
TEST@PDB_NAMBA SQL> select * from test_table1;

		ID NAME
	---------- ----------
		1 AAA

■ CDB再起動時の PDB自動起動設定

CDBの再起動時にPDBのモードを保持するには、SAVE STATEを指定します。
・参考: CDB再起動時のPDBのオープン・モードの保持または破棄

1) 現在の OPEN MODE 確認
READ WRITE であることを確認

Primary/Standby DB
SQL> show pdbs

    CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
	 2 PDB$SEED			  READ ONLY  NO
	 3 PDB				  READ WRITE NO

2) SAVE STATEを指定

Primary DB
SYS@CDB_TOKYO SQL> alter pluggable database PDB save state;

	Pluggable database altered.

3) CDB再起動

Primary DB
[oracle@db-tokyo1 ~]$ srvctl stop db -d CDB_TOKYO
[oracle@db-tokyo1 ~]$ srvctl start db -d CDB_TOKYO
Standby DB
・CDB_SHIBUYA
[oracle@db-shibuya1 ~]$ srvctl stop db -d CDB_SHIBUYA
[oracle@db-shibuya1 ~]$ srvctl start db -d CDB_SHIBUYA

・CDB_OSAKA
[oracle@db-osaka1 ~]$ srvctl stop db -d CDB_OSAKA
[oracle@db-osaka1 ~]$ srvctl start db -d CDB_OSAKA

・CDB_NAMBA
[oracle@db-namba1 ~]$ srvctl stop db -d CDB_NAMBA
[oracle@db-namba1 ~]$ srvctl start db -d CCDB_NAMBA

4) PDB再起動確認
Primary DB は READ WRITEで起動していることを確認

Primary DB
SYS@CDB_TOKYO1 SQL> show pdbs

    CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
	 2 PDB$SEED			  READ ONLY  NO
	 3 PDB				  READ WRITE NO

5)他Standby DB確認
Standby DB は READ ONLYで起動していることを確認

Standby DB
SYS@CDB_SHIBUYA1 SQL>  show pdbs

		CON_ID CON_NAME			  OPEN MODE  RESTRICTED
	---------- ------------------------------ ---------- ----------
		2 PDB$SEED			  READ ONLY  NO
		3 PDB				  READ ONLY  NO

SYS@CDB_OSAKA1 SQL> show pdbs

		CON_ID CON_NAME			  OPEN MODE  RESTRICTED
	---------- ------------------------------ ---------- ----------
		2 PDB$SEED			  READ ONLY  NO
		3 PDB				  READ ONLY  NO

SYS@CDB_NAMBA1 SQL> show pdbs

		CON_ID CON_NAME			  OPEN MODE  RESTRICTED
	---------- ------------------------------ ---------- ----------
		2 PDB$SEED			  READ ONLY  NO
		3 PDB				  READ ONLY  NO

■ クライアント接続のための接続記述子TNSNAME作成

1) Service名確認
Service名は各DB毎に異なります。

Primary/Standby DB
[oracle@db-tokyo1 ~]$ lsnrctl stat | grep pdb
	Service "pdb.clientsubnet.vcnexatokyo.oraclevcn.com" has 1 instance(s).

2) tnsnames.ora 追加

Primary/Standby DB
[oracle@db-tokyo1 ~]$vi $TNS_ADMIN/tnsnames.ora

	PDB_TOKYO =
		(DESCRIPTION =
			(ADDRESS = (PROTOCOL = TCP)(HOST = db-tokyo-scan.clientsubnet.vcnexatokyo.oraclevcn.com)(PORT = 1521))
			(CONNECT_DATA =
				(SERVER = DEDICATED)
				(SERVICE_NAME = pdb.clientsubnet.vcnexatokyo.oraclevcn.com)
			)
		)

	PDB_SHIBUYA =
		(DESCRIPTION =
			(ADDRESS = (PROTOCOL = TCP)(HOST = db-shibuya-scan.clientsubnet.vcnexashibuya.oraclevcn.com)(PORT = 1521))
			(CONNECT_DATA =
				(SERVER = DEDICATED)
				(SERVICE_NAME = pdb.clientsubnet.vcnexashibuya.oraclevcn.com)
			)
		)

	PDB_OSAKA =
		(DESCRIPTION =
			(ADDRESS = (PROTOCOL = TCP)(HOST = db-osaka-scan.clientsubnet.vcnexaosaka.oraclevcn.com)(PORT = 1521))
			(CONNECT_DATA =
				(SERVER = DEDICATED)
				(SERVICE_NAME = pdb.clientsubnet.vcnexaosaka.oraclevcn.com)
			)
		)

	PDB_NAMBA =
		(DESCRIPTION =
			(ADDRESS = (PROTOCOL = TCP)(HOST = db-namba-scan.clientsubnet.vcnexanamba.oraclevcn.com)(PORT = 1521))
			(CONNECT_DATA =
				(SERVER = DEDICATED)
				(SERVICE_NAME = pdb.clientsubnet.vcnexanamba.oraclevcn.com)
			)
		)

■ PDB削除

削除する場合、Primary,Standby の削除する PDB を停止してから削除します

・参考:
 - SQL言語リファレンス: DROP PLUGGABLE DATABASE
 - HowTo drop a PDB in a DataGuard environment

● 全DB CLOSE

Primary/Standby DB 全て削除するPDBを停止

Primary/Standby DB
・CDB_TOKYO
SYS@CDB_TOKYO1 SQL> ALTER PLUGGABLE DATABASE PDB CLOSE instances=all;

	Pluggable database altered.

・CDB_SHIBAUA
SYS@CDB_SHIBUYA1 SQL> ALTER PLUGGABLE DATABASE PDB CLOSE instances=all;

	Pluggable database altered.

・CDB_OSAKA
SYS@CDB_OSAKA1 SQL> ALTER PLUGGABLE DATABASE PDB CLOSE instances=all;

	Pluggable database altered.

・CDB_NAMBA
SYS@CDB_NAMBA1 SQL> ALTER PLUGGABLE DATABASE PDB CLOSE instances=all;

	Pluggable database altered.

● CDB再起動時のPDBのオープン・モードの破棄

Primary/Standby DB
ALTER PLUGGABLE DATABASE PDB DISCARD STATE;

● PDB削除

Primary DB
SYS@CDB_TOKYO1 SQL> DROP PLUGGABLE DATABASE PDB INCLUDING DATAFILES;

	Pluggable database dropped.

● PDB削除 確認

Primary DB
SYS@CDB_TOKYO1 SQL> show pdbs

		CON_ID CON_NAME			  OPEN MODE  RESTRICTED
	---------- ------------------------------ ---------- ----------
		2 PDB$SEED			  READ ONLY  NO


SYS@CDB_SHIBUYA1 SQL> show pdbs

		CON_ID CON_NAME			  OPEN MODE  RESTRICTED
	---------- ------------------------------ ---------- ----------
		2 PDB$SEED			  READ ONLY  NO


SYS@CDB_OSAKA1 SQL> show pdbs

		CON_ID CON_NAME			  OPEN MODE  RESTRICTED
	---------- ------------------------------ ---------- ----------
		2 PDB$SEED			  READ ONLY  NO

		
SYS@CDB_NAMBA1 SQL> show pdbs

		CON_ID CON_NAME			  OPEN MODE  RESTRICTED
	---------- ------------------------------ ---------- ----------
		2 PDB$SEED			  READ ONLY  NO

■ 参考

データベース管理者ガイド
 - PDBの管理
 - CDB再起動時のPDBのオープン・モードの保持または破棄
 - データベース・レベルでのPDBの変更
 - データファイルおよび一時ファイルの管理
 - UNDOの管理

Oracle Data Guard 概要および管理
 - データファイルの追加または表領域の作成
 - フィジカルおよびスナップショット・スタンバイ・データベースの管理
 - プライマリ・データベースでのPDBの作成

SQL言語リファレンス
 - CREATE PLUGGABLE DATABASE
 - DROP PLUGGABLE DATABASE
 - CREATE TABLESPACE
 - ALTER DATABASE
 - ALTER SYSTEM
 
データベース・リファレンス
 - STANDBY_FILE_MANAGEMENT

Oracle Communities
 - HowTo drop a PDB in a DataGuard environment

Oracle Cloud Infrastructureドキュメント
 - Oracle Database CLIリファレンス: TDEコマンド

・My Oracle Support
 - OCI DB SYSTEM:Create tablespace error "ORA-28361: Master Key Not Yet Set" on migrated database (Doc ID 2716604.1)
 - Data Guard Impact on Oracle Multitenant Environments (Doc ID 2049127.1)
 - Oracle Multitenantにおける 遅延 PDB リカバリと STANDBYS=NONE 機能の使用方法 (Doc ID 2651946.1)

4
2
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
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?