17.00 - 17.05 - C/C++外部ルーチン用の保護モード プロセスとサーバー管理 - 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++外部ルーチンを実行する場合は、追加の管理作業が必要になります。

データベースのインストール プロセスは、オペレーティング システム固有の'tdatuser'という名前のローカル ユーザーを、データベースを実行する各ノード上に作成します。'tdatuser' IDは、外部ルーチンを保護モードで実行するために、AMP vprocおよびPE vprocごとに、2つのデフォルトのプロセスと関連付けられます。

外部ルーチンおよびTeradata Databaseを適切に機能させるために、以下のルールに従ってください。
  • 'tdatuser'は削除しないでください。
  • 'tdatuser'のパスワードは追加しないでください。

    そのようにすると、ユーザーはシステムにログオンできなくなります。

  • 変更を加える必要がある場合は、まずTeradataサポート センターに連絡してください。

'tdatuser'の作成に加えて、インストール プロセスは、'tdatudf'という名前の新規グループも各ノード上に作成します。前述の注意事項は、'tdatudf'グループにも適用されます。これは変更しないでください。

'tdatuser'ユーザーには、システム上の特別な権限はありません。どのユーザーにも'tdatuser'としてログオンする権限を与えるべきではありません。

保護モードで実行する外部ルーチンがシステム リソースにアクセスする必要がある場合(ファイルを開く場合など)は、適切なアクセス権限を設定して'tdatuser'を付加する必要があります。

デフォルトでは、各vprocに対し、保護モード外部ルーチンを実行する全トランザクションによって共有される保護モード サーバーは2個しかありません。vprocごとの保護モード サーバーの数を増やすには、cufconfigユーティリティを使用します。詳細は、<Teradata Vantage™ - データベース ユーティリティ、B035-1102>を参照してください。

保護モードで実行するテーブル関数は、テーブル関数を実行するステップの期間内はサーバー プロセスを確保します。割り振る保護モードのサーバーの数を、実行するさまざまなセッションからの同時問合わせの数より多くすることは重要です。割り振る数が少なすぎると、いくつかの問合わせは待機することが必要になります。すべてのサーバーが使用されてしまうと、検出されないデッドロックが発生する可能性もあります。