Teradataには、非保護モードで現在実行されているUDFのリストを生成し、実行モードを変更するためのBTEQスクリプトが用意されています。
このスクリプトは、Teradataソフトウェア ディストリビューションのetcディレクトリに入っています。このディレクトリを確認するには、コマンド ラインに以下を入力します。
pdepath -e
このスクリプトを実行するには、BTEQにユーザーDBCとしてログオンする必要があります。例えば、次のようになります。
bteq .logon dbc,dbc_password
dbc_passwordはユーザーDBCのパスワードです。
目的 | 以下のスクリプトを使用 |
---|---|
システム上の非保護モードUDFのリストを入手する | udflist.bteq. このスクリプトは、現在の作業ディレクトリ内にudflist.sqlというファイルを作成します。現在の作業ディレクトリに対する書き込み許可を持っている必要があります。 |
UDFのリストを読み取り、実行モードを保護に変更する | udf_u2p.bteq. このスクリプトはUDFのリストをudf_u2p.sqlというファイルから読み取り、実行モードを保護に変更します。udf_u2p.sqlファイルの内容を作成するには、udflist.bteqスクリプトがudflist.sqlファイル内に生成するUDFのリストを使用します。 |
UDFのリストを読み取り、実行モードを非保護に変更する | udf_p2u.bteq. このスクリプトはUDFのリストをudf_p2u.sqlというファイルから読み取り、実行モードを非保護に変更します。udf_p2u.sqlファイルの内容を作成するには、udflist.bteqスクリプトがudflist.sqlファイル内に生成するUDFのリストを使用します。 |
例えば、csデータベースに対して非保護モードで実行する2つのUDFとして、imultとisqrがインストールされているとします。udflist.bteqを実行すると、現在の作業ディレクトリにudflist.sqlというファイルが生成され、その内容は以下のようになります。
/* -------------------------------------------------------------- */ /* List Of Unprotected Mode UDFs */ /* -------------------------------------------------------------- */ '6373'xn.'696D756C74'xn /* cs.imult */ '6373'xn.'69737172'xn /* cs.isqr */
UDFの実行モードを保護に変更するには、udflist.bteqから現在の作業ディレクトリ内のudf_u2p.sqlというファイルにUDF名をコピーします。
'6373'xn.'696D756C74'xn /* cs.imult */ '6373'xn.'69737172'xn /* cs.isqr */
udf_u2p.bteqを実行すると、現在の作業ディレクトリからudf_u2p.sqlの内容が読み取られます。