「Arg list too long」および「Argument list too long」エラーのトラブルシューティング - Teradata Database - Teradata Vantage NewSQL Engine

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/uhh1512082756414.ditamap
dita:ditavalPath
ja-JP/uhh1512082756414.ditaval
dita:id
B035-1147
Product Category
Software
Teradata Vantage

Linux上で、UDF、UDM、または外部ストアド プロシージャ(まとめて外部ルーチンと呼ぶ)の作成、置換、変更を行なうと、「Argument list too long」エラーが発生することがあります。

このエラーが発生した場合は、外部ルーチンの作成、置換、変更を行なうデータベースにすでに他の外部ルーチンが多数存在しているか、名前が非常に長い外部ルーチンが含まれている可能性があります。

新しい外部ルーチンのコンパイル(または再コンパイル)は正常に実行されますが、結果として作成されるオブジェクト ファイルの名前がデータベース内にすでに存在するすべての外部ルーチンのオブジェクト ファイルのリストに追加されると、結果として作成されるリストがコマンド ライン引数の最大サイズを超えてしまうため、コンパイラは新しいダイナミック リンク ライブラリ(.soファイル)を作成できません。

Linuxのこの制約を回避するには、次のいずれかを実行します。

  • 不要なUDTと外部ルーチンをデータベースから削除する。
  • それぞれの外部ルーチンを個別にインストールする代わりに、外部ルーチンのパッケージまたはライブラリを作成して、まとめてインストールします。
これは、すべてのケースで有効ではないことがあります。例えば、システムで許可されるUDTの最大数に到達している場合などです。