17.00 - 17.05 - ファイル システムのクリーンアップ - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1147-170K-JPN
Language
日本語 (日本)

CまたはC++の外部ルーチンを作成、置換または削除する度に、Teradata Databaseは、新しいダイナミック リンク ライブラリ(DLLまたはSO)を作成します。このDLLまたはSOは、外部ルーチンが配置、配布されるすべてのノードのデータベースに関連付けられます。

通常の環境では、古いバージョンのライブラリがあれば、データベースはそれを削除して、その時点で古いバージョンのライブラリが使用されないようにします(例えば、古いバージョンのライブラリに含まれる外部ルーチンを実行しているトランザクションが存在しないようにします)。

外部ルーチンの作成や置換を頻繁に繰り返していて、それらの外部ルーチンをほとんど実行しないような環境では、気付かないうちにデータベースで削除できないライブラリを蓄積していることがあります。

ファイル システムを使い果たすほどのライブラリを蓄積すると、外部ルーチンを作成または置換しようとしたときに、Teradata Databaseが新しいUDF/外部ストアド プロシージャ/UDMのDLLを作成できないことを示すエラー メッセージを受け取ることになります。

このメッセージを受け取ったときには、データベースがライブラリを保存する、サブディレクトリを確認してください。

<tdconfig>/udflib

<tdconfig>は、Teradataソフトウェア ディストリビューションの構成ディレクトリになります。このディレクトリを確認するには、コマンド ラインに以下を入力します。

pdepath -c

通常、tdbs_1053というような名前の付いたサブディレクトリごとに、1つのダイナミック リンク ライブラリが格納されています。

古いライブラリをクリーン アップするための最善策は、データベースを再始動することです。手動でライブラリを削除することはお勧めできません。これは、問題の原因になることがあります。