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
日本語 (日本)

ここでは、以前にsavepkgストアド プロシージャを使用してdemddlおよびdempartシステム テーブルに保存したパッケージを復元するための手順を簡単に説明します。

  1. Windowsクライアント システム上でlobteqを起動します。

    このインターフェースとコマンドは、BTEQと同様です。

  2. 対象のTeradata Databaseにログオンします。

    BTEQで使用するものと同じLOGONコマンドを使用してください。BTEQ LOGONコマンドの詳細は、<Basic Teradata®Queryリファレンス、B035-2414>を参照してください。

  3. lobteq .exportfilesコマンドを使用して、loadpkgの次の呼び出しで返されるスクリプトを格納するためのファイルを開きます。

    .exportfilesコマンドの構文は、次のとおりです。

    .exportfiles  filename
  4. loadpkgストアド プロシージャを呼び出して、U_InfoType引数の値を「DDL」に設定します。

    ロケータによって渡されるscript OUT引数を処理するには、CALL文の後にlobteq .cursorコマンドを実行します。

  5. SELECT文とUSING修飾子を使用して、.exportfilesコマンドで開かれたファイルにスクリプト データをエクスポートすることをCLOB AS LOCATORパラメータに定義します。
  6. 手順3から5を繰り返して、U_InfoTypeストアド プロシージャのloadpkg引数を'PART'に設定します。
  7. lobteqを終了します。
  8. パッケージを再配布するために、lobteqによって取得した2番目のスクリプトを実行します。
  9. DDL文を発行するためにBTEQを通じて取得した最初のスクリプトを実行して、パッケージを再インストールします。

例: パッケージの復元

ここでは、バージョン1.0のlibcstd2.soというパッケージを復元する例を示します。

まず、loadpkgストアド プロシージャを2回呼び出します。 1回目ではパッケージをサーバーにインストールするDDL文のスクリプトを取得します。2回目ではSYSLIBテーブルからパッケージを取得するためにlobteqコマンドのスクリプトを取得します。

lobteq << EOF
.logon slugger/adm455,sn6Y24
   
.exportfiles cstdlib2_DDL.txt
.cursor
CALL SYSLIB.loadpkg('cstdlib2','1.0','SYSLIB','slugger','DDL',
script);
USING (a CLOB AS LOCATOR)
SELECT :a;
.exportfiles cstdlib2_lobload.txt
.cursor
CALL loadpkg('cstdlib2','1.0','SYSLIB','slugger','PART',script);
USING (a CLOB AS LOCATOR)
SELECT :a;

EOF
次に、cstdlib2_lobload.txtスクリプトを実行して、バージョン1.0のlibcstd2.soパッケージを再配布します。
lobteq < cstdlib2_lobload.txt
最後に、DDL文を発行し、xmlib_DDL.txtスクリプトを実行してバージョン1.0のlibcstd2.soパッケージを再インストールします。
bteq < cstdlib2_DDL.txt