システム/データベース/テーブル/クエリーの領域のチェック | Teradata Vantage - 2.2 - 領域をチェックするためのSQL文 - Teradata Vantage

インストール後のTeradata Vantage™の構成

Product
Teradata Vantage
Release Number
2.2
Published
2021年1月
Content Type
実装
構成
Publication ID
B700-4014-011K-JPN
Language
日本語 (日本)

クライアント アプリケーション(BTEQTeradata Studioなど)から、次の任意選択のクエリーを実行して、領域をチェックします。

BTEQで、すべての結果列が見えるように、SQL文を実行する前に、次のコマンドを実行します。
.sidetitles on
.foldline on ALL
チェック項目 実行するリクエスト
システムで使用可能なディスク領域の総量(MaxPerm)
SELECT SUM(MaxPerm) FROM DBC.DiskSpaceV;
最大データベース領域(Maxperm)
SELECT SUM(t3.Maxperm) FROM
(SELECT
t1.DatabaseName
,t1.Permspace AS Maxperm
,ZEROIFNULL(SUM(t2.CurrentPerm)) AS Currentperm
FROM dbc.databases t1
LEFT OUTER JOIN dbc.tablesize t2
ON (t1.databasename=t2.databasename)
WHERE (Maxperm > 0)
GROUP BY 1,2) t3
;
データベース領域: 最大使用可能領域と現在使用中の領域
Select
t1.DatabaseName
,t1.Permspace AS Maxperm
,ZEROIFNULL(sum(t2.CurrentPerm)) AS Currentperm
FROM dbc.databases t1
LEFT OUTER JOIN dbc.tablesize t2
ON (t1.databasename=t2.databasename)
WHERE (Maxperm > 0)
GROUP BY 1,2
ORDER BY 1;
現在使用中のディスク領域
SELECT SUM(CurrentPerm),
SUM(MaxPerm),
((Cast(Sum(Currentperm) as float) /
NullifZero(Cast(Sum(maxperm) as float))
*100))
(Title '%MaxPerm', Format 'z z9.99')
FROM DBC.DiskSpaceV;
アクティブなクエリーでのスプール領域
Select
Vproc
,DatabaseName
,MaxSpool
,CurrentSpool
,PeakSpool
from dbc.diskspace
where currentspool > 0
order by 2,1
;
固定領域が残りわずかであるユーザー
SELECT Databasename (format 'X(12)')
,SUM(maxperm)
,SUM(currentperm)
,((cast(SUM(currentperm) as float))/
NULLIFZERO (cast(SUM(maxperm) as float)) * 100)
(format 'zz9.99%', TITLE 'Percent // Used')
FROM DBC.DiskSpaceV
GROUP BY 1 HAVING (cast(SUM(currentperm) as float) /
NULLIFZERO (cast(SUM(maxperm) as float)))
 > 0.9
ORDER BY 4 DESC;
0.9という値を、自分のサイトにふさわしいしきい値比率に変更することもできる。
システム内の各データベースで使用されている領域の割合
SELECT Databasename (format 'X(12)')
,SUM(maxperm)
,SUM(currentperm)
,((cast(SUM(currentperm) as float))/
NULLIFZERO (cast(SUM(maxperm) as float)) * 100)
(FORMAT 'zz9.99%', TITLE 'Percent // Used')
FROM DBC.DiskSpaceV
GROUP BY 1
ORDER BY 4 DESC
WITH SUM (currentperm), SUM(maxperm);
スプール領域を過剰に使用しているユーザー
SELECT databasename
,SUM(peakspool)
FROM DBC.DiskSpaceV
GROUP BY 1 HAVING SUM(peakspool) > 5000000000
ORDER BY 2 DESC;
500000000という値を、自分のサイトにふさわしい値に変更することもできる。もっと多くの領域があるサイトでは、スプール使用量およびスプール上限にもっと大きい許容値を使用することもできる。
データベースに残っている未割り当て領域
SELECT databasename, allocatedperm, maxperm, permskew, maxperm-allocatedperm (TITLE 'UnallocatedSpace') FROM DBC.GlobalDBSpaceV;
指定されたユーザーへの最大割り当てピーク スプール領域
SELECT databasename, PeakAllocatedSpool from DBC.GlobalDBSpaceV;
指定されたテーブルのディスク領域
SELECT SUM(currentperm)
FROM DBC.tablesizeV
WHERE databasename='xxx'
AND tablename = 'xxxx';