【Oracle】【19cRAC】【テナント構成】作成されるUNDO

テナント構成におけるシステム系表領域の仕様がイマイチよく分からない。
今回はシステム系の中でもUNDO表領域について記録を残してみる。
ローカルUNDO表領域での運用です。

#構成
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.6.0.0.0

2node RAC構成、シングルテナント、ローカルUNDOモードONです。

#UNDOの様子

◆CDB$ROOT

    TABLESPACE_NAME                        MB FILE_NAME
    ------------------------------ ---------- ----------------------------------------------------------------------------------------------------
    SYSAUX                               4230 +DG_DATA01/CDWH/DATAFILE/sysaux.258.1032540603
    SYSTEM                               1020 +DG_DATA01/CDWH/DATAFILE/system.256.1032540597
    UNDOTBS1                              200 +DG_DATA01/CDWH/DATAFILE/undotbs1.260.1032540607
    UNDOTBS2                              200 +DG_DATA01/CDWH/DATAFILE/undotbs2.264.1032540623
    USERS                                  74 +DG_DATA01/CDWH/DATAFILE/users.265.1032540623

◆PDB$SEED

    TABLESPACE_NAME                        MB FILE_NAME
    ------------------------------ ---------- ----------------------------------------------------------------------------------------------------
    SYSAUX                                455 +DG_DATA01/CDWH/9EADAF3F730246B2E0533D38A8C01C2F/DATAFILE/sysaux.259.1032540605
    SYSTEM                                340 +DG_DATA01/CDWH/9EADAF3F730246B2E0533D38A8C01C2F/DATAFILE/system.257.1032540599
    UNDOTBS1                               60 +DG_DATA01/CDWH/9EADAF3F730246B2E0533D38A8C01C2F/DATAFILE/undotbs1.261.1032540609

◆PDB

    TABLESPACE_NAME                        MB FILE_NAME
    ------------------------------ ---------- ----------------------------------------------------------------------------------------------------
    PART01                                100 +DG_DATA01/CDWH/9EAE5B9275B64789E0533D38A8C04C12/DATAFILE/part01.273.1033039863
    PART02                                100 +DG_DATA01/CDWH/9EAE5B9275B64789E0533D38A8C04C12/DATAFILE/part02.274.1033039883
    PART03                                100 +DG_DATA01/CDWH/9EAE5B9275B64789E0533D38A8C04C12/DATAFILE/part03.275.1033039883
    SYSAUX                                855 +DG_DATA01/CDWH/9EAE5B9275B64789E0533D38A8C04C12/DATAFILE/sysaux.269.1032543487
    SYSTEM                                360 +DG_DATA01/CDWH/9EAE5B9275B64789E0533D38A8C04C12/DATAFILE/system.268.1032543487
    UNDOTBS1                               60 +DG_DATA01/CDWH/9EAE5B9275B64789E0533D38A8C04C12/DATAFILE/undotbs1.267.1032543487
    UNDO_2                                 60 +DG_DATA01/CDWH/9EAE5B9275B64789E0533D38A8C04C12/DATAFILE/undo_2.272.1032629137
    USERS                                   5 +DG_DATA01/CDWH/9EAE5B9275B64789E0533D38A8C04C12/DATAFILE/users.271.1032543499

#思われること

まずはじめに、特に私はテナント構成に慣れていないので
1つシングルテナントを構築しただけで、UNDOがすでに3か所、合計5個もあるやん・・・ってこと。

UNDOを考えるにあたり、3か所も考えるの＞みたいな。
仕方ないのでそれぞれ考える。

◆PDB$SEED
あ、1個しかないのね。
テンプレートということで、確かに2node分を持っていなくても、片側だけで十分かも。
っていうか、UNDO表領域用に準備すべきディスク容量って、1.5倍(node1、node2分に加えて、SEED分として片node分)必要になるの？？

ばかばかしいので、SEEDのUNDOを小さく作ってからPDBを作成。その後PDB側のUNDOを拡張するという・・・
シングルテナント構成自体が、マルチテナント構成からみて特殊な位置づけになってしまうんでしょうかね。
環境コピーを繰り返せば、1個分のリソースをテンプレとして使用できなくても小さなもんじゃん、みたいな？

◆PDB
SEEDは1個だが、PDB側はちゃんとnode分作られる。
ただし、名前を見て唖然。「UNDO_2」って何だよおい！！
「UNDOTBS2」に何故ならんのよ！！

どうやら18cあたりからこんな感じらしい。
表領域名の変更はalter文で変更可能だが、、、ファイル名ももれなくundo_2なのね。
ファイル名の変更となると、再作成しか無いということで・・・

◆CDB$ROOT
もはや不明。どの程度のサイズを用意したらよいのかや、
何に使ってるの？　みたいな。

PDB=業務と同じサイズじゃ、たまりません。まさかの2.5倍っすか！？


#サイズ指定について、
PDB$SEEDのUNDOのサイズは、読み取り専用ということで変更不可。
かつ、DB作成時に指定できないので、どうしようもない。

何この仕様・・・

唯一、CDB$ROOTのサイズに依存して決定されているようで
少なくともCDB$ROOTのサイズを超えてくることはなさそう。

CDB$ROOTのUNDOサイズは指定可能であるため、なるべくこれを小さく設定して初期構築。
その後、CDB$ROOTとPDBのUNDOを膨らませる感じ。

PDBは業務用なので、それなりにサイズの見積もり様はあるが
結局、CDB$ROOTのサイズ決定の根拠が分からん・・・