1.4.9 暗号化列を含む表を使用している場合
暗号化列を含む表がHiRDBに定義されていると,pdvrupコマンドが異常終了します。暗号化列を含む表を使用している場合,10-05以前から10-06以降にHiRDBをバージョンアップする際,バージョンアップ前に,暗号化列を含む表はすべて搬出し暗号化列を含む表を削除してください。バージョンアップ後に,搬出した表を再定義し,データを搬入してください。
暗号化列を含む表を使用している場合の,HiRDB 10-05以前から10-06以降にバージョンアップする前,及びバージョンアップ後に必要な手順を次の図に示します。
- 〈この項の構成〉
(1) バージョンアップ前の手順
- 注※1
-
次のSQL文で暗号化列を含む表の一覧が取得できます。
SELECT TABLE_SCHEMA,TABLE_NAME FROM MASTER.SQL_TABLES WHERE CONSTRUCTOR_TYPE IS NOT NULL WITHOUT LOCK NOWAIT;
- 注※2
-
次のSQL文で暗号化列を含む表を使用しているビュー表の一覧が取得できます。
SELECT VIEW_SCHEMA,VIEW_NAME FROM MASTER.SQL_VIEW_TABLE_USAGE AS V INNER JOIN MASTER.SQL_TABLES AS T ON V.BASE_OWNER=T.TABLE_SCHEMA AND V.BASE_TABLE_NAME= T.TABLE_NAME WHERE CONSTRUCTOR_TYPE IS NOT NULL WITHOUT LOCK NOWAIT;
- 注※3
-
暗号化列を含む表を使用した次の定義についても,バージョンアップ後に再定義が必要になります。
-
暗号化列を含む表を操作している手続き
-
暗号化列を含む表の更新で動作するトリガー
-
暗号化列を含む表を操作しているトリガー
-
暗号化列を含む表を参照制約で使用している表
-
- 注※4
-
次のオプションを指定して表移行用アンロードファイルを作成してください。
pdrorg -k unld -W bin -w -t [暗号化列を含む表名] [コントロールファイル]
(2) バージョンアップ後の手順
- 注※1
-
暗号化列を含む表を使用した次の定義についても,バージョンアップ後に再定義が必要になります。
-
暗号化列を含む表を操作している手続き
-
暗号化列を含む表の更新で動作するトリガー
-
暗号化列を含む表を操作しているトリガー
-
暗号化列を含む表を参照制約で使用している表
-
- 注※2
-
次のオプションを指定して表移行用アンロードファイルをインポートしてください。
pdload -W -w all -b [暗号化列を含む表名] [コントロールファイル]
- 注※3
-
「バージョンアップ後の手順」後,再定義していたルーチンのSQLオブジェクトを再登録するため,ALTER ROUTINE文で再登録を行ってください。