テナント構成におけるシステム系表領域の仕様がイマイチよく分からない。
今回はシステム系の中でも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のサイズ決定の根拠が分からん・・・