こんにちは!
この記事ではTeradata Vantageをデプロイした直後にデータベースを利用するためにまず行うべき内容について記述します。
セッションキャラクターセット
Teradata Vantageではデプロイ後のデフォルト状態でASCII、UTF-8、UTF-16の各キャラクターセットのクライアントからのログインが許可されています。
「各キャラクターセットのクライアント」とはそのクライアントがVantageに投げるクエリーが指定したキャラクターセットで書かれているということです。
Teradata Vantageは内部的にはデータをUnicodeで管理していますが、このセッションキャラクターセットにより文字リテラル等のコード変換を行います。したがってキャラクターセットが誤った設定となっているとデータを利用する際に文字化けが発生する可能性があるのです。
日本語環境でデータウェアハウスシステムを使用する際には特にある程度古いシステムをソースとするデータではShift-JISコードで書かれたデータが連携されることがよくあります。
デプロイ直後のデフォルト状態ではそのようなデータを正しく取り込むためのセッションを張れないということになりますので、Teradata Vantageで利用できるキャラクターセットを拡張する必要があるのです。
セッションキャラクターセットの拡張方法
Teradata Vantageをデプロイしたら、Teradata StudioのようなSQL実行ツールを使用しデフォルトのキャラクターセットを使用してスーパーユーザー”DBC"でログインしてみてください。
そして下記のクエリーを実行してみてください。
SELECT CharSetName,CharSetId,InstallFlag FROM DBC.CharTranslationsV ORDER BY CharSetId;
このような結果が返るはずです。
CharSetName | CharSetId | InstallFlag |
---|---|---|
EBCDIC037_0E | 96 | N |
EBCDIC273_0E | 97 | N |
… | … | … |
KANJIEUC_0U | 118 | N |
KANJISJIS_0S | 119 | N |
… | … | … |
LATIN9_0A | 125 | N |
LATIN1_0A | 126 | N |
全部で29行の結果が返るはずですが、途中を端折らせていただきました。
この表にをご覧いただくとわかる通り例えばShift-JISのためのキャラクターセット”KANJISJIS_0S”のInstallFlagは”N"となっています。
使用できるキャラクターセットの拡張はこのInstallFlgを”Y"に更新することで行うことができます。
したがって、
UPDATE DBC.CharTranslationsV SET InstallFlag = 'Y' WHERE CharSetId = 119;
というクエリーを実行すればよいことになります。
更新結果を確認すると
SELECT CharSetName,CharSetId,InstallFlag FROM DBC.CharTranslationsV WHERE CharSetId = 119;
CharSetName | CharSetId | InstallFlag |
---|---|---|
KANJISJIS_0S | 119 | Y |
とInstallFlgが変化していることでしょう。
このように、使用が考えられるキャラクターセットについてはInstallFlagを”Y”に更新してください。
データベースのリブート
このキャラクターセットの変更は実はデータベースを再起動するまで有効とはなりません。
したがってテーブル設定値の変更を行ったのちには、VaaSをご利用の場合はコンソールからデータベースの再起動を実施してください。
これでデプロイされたTeradata VantageにShift-JISコードで書かれたファイルをロードする準備が整いました。
この後はデータベース(ユーザー)を作成し、データの取り込みを開始しましょう!
では、次の機会にまたお会いしましょう!
インフォメーション
このスタートアップガイドはWEB上で公開されておりますTeradata Vantageドキュメンテーションよりトピックに必要な情報を抜粋したものです。