前回のおさらい

みなさん、こんにちは😊
前回は、DMUを使用して、 キャラクタセット 変更時の問題点を解消しました。
いかがでしたでしょうか?

今回は、ついに キャラクタセット の変更をしていきたいと思います
宜しくお願い致します。

※今回使用した検証環境は以下の通りです。

DMU 2.1.1
DB 12.1 single
OS RHEL 7.3

画像引用元:DMUダウンロードサイト


バックナンバー
●1回目 DUMとはどんなものか?
●2回目 ( キャラクタセット 変更時における問題点の検知)
●3回目 ( キャラクタセット 変更時における問題点の解消)

こちらも是非見てくださいね🌸

 キャラクタセット の変更

初回に、 キャラクタセット 変更の大まかな流れは以下のようになるとお伝えしました👀
1. 問題点の検知
2. 問題点の解消
3. キャラクタセット の変更

今回は最後のプロセス、「 キャラクタセット の変更」を検証していきたいと思います。
※キャラクタセットを JA16SJISTILDE から AL32UTF8 に変更します。

 キャラクタセット 変更前の確認

まずは、変更前の キャラクタセット と検証用のテーブルを確認してみましょう🤗

SQL> select * from nls_database_parameters where parameter=’NLS_CHARACTERSET’;
PARAMETER              VALUE
----------------   ------------------
NLS_CHARACTERSET     JA16SJISTILDE 

 

SQL> select * from test; 
COL1          COL2
-----------  ------------
ひれ          りぶろーす
さーろいん    はらみ

 

それでは、 キャラクタセット を変更します。
変更前に再度DMUを使用してスキャンし、問題が無いことをスキャンレポートから確認しましょう。

問題が解消されていない場合は、以下のエラーにより変更が失敗します💦

 キャラクタセット 変更

全ての問題を解消した後、Convert Databaseを選択します。


その後の画面では各種設定や確認ができます。
データベースの変換に使用される同時処理の数や、各処理でエラーが発生した場合の対処方法などを指定することができます。

設定が完了すると、最後にスキャンした日時と変更後のキャラクタセットの最終確認があります。
この2点の確認完了後、キャラクタセットの変更が始まります。

...成功しました❗


–DMU切断後、DBを再起動し、 キャラクタセット と検証用のテーブルを確認します。
–無事 キャラクタセット が変更されていることを確認できました❗

SQL> select * from nls_database_parameters where parameter=’NLS_CHARACTERSET’;
PARAMETER              VALUE
----------------   ------------------
NLS_CHARACTERSET     AL32UTF8

 

–データも破損していないことが確認できます。

SQL> select * from test; 
COL1          COL2
-----------  ------------
ひれ          りぶろーす
さーろいん    はらみ

 

次にDMUからも確認してみましょう。
キャラクタセット の変更が完了するとリポジトリが削除されるため、リポジトリを再インストールします。

その後データベース全体をスキャンし、レポートを確認します。
既にキャラクタセットの変更が完了しているので、全てNeed No Change(変換の必要なし)になっていますね😳

未解決の問題や無効なデータが無いことも確認できます。

さいごに

今回は
1. 問題点の検知
2. 問題点の解消
3. キャラクタセットの変更
を全てDMUで行いましたが、ある特定のプロセスのみDMUを使用することも可能です❗

例えば、
1. DMUで「問題点の検知」
2. alter文などで「問題点の解消」
3. DB全体をexport
4. 新たなキャラクタセットが設定されているDB にimport し「キャラクタセットの変更」という方法も可能です。
※export/importを異なるキャラクタセットのDBで実施すると、キャラクタセット変更処理が行われます

実際に検証を行った感覚としては、
どのカラムに問題があるかを一括で簡単に特定できる点はDMU特有の強みであり
「問題点の検知」はDMUで行うのがおススメです!

以上で、DMUの検証は終了です。
いかたでしたでしょうか?何か皆さんのお仕事のお役にたてれば幸いです。

最後までお付き合いいただきありがとうございました🤗

バックナンバー
●1回目 DUMとはどんなものか?
●2回目 ( キャラクタセット 変更時における問題点の検知)
●3回目 ( キャラクタセット 変更時における問題点の解消)

こちらも是非見てくださいね🌸

投稿者プロフィール

技術チーム
技術チーム
DBひとりでできるもんを盛り上げるべく、技術チームが立ち上がり早6年。ひとりでできるもんと言いつつ、技術者が読んでプッとなるような、極めてピンポイントでマニアックな技術ネタを執筆しています!