![](https://xn--w8j8bac3czf5bl7e.com/wp-content/uploads/blog/risu-e1567145532667.png)
目次
新たな連載スタート!
みなさん、こんにちは🤗
新たな連載がスタートします。
DMUはご存知でしょうか?4回に分けてわかりやすく紹介していきますので、宜しくお願い致します。
今回の著者は
●ORACLE MASTER Silver Oracle Database 12cを取得しました!
●ORACLE MASTER Bronze Oracle Database 12cを取得しました!
●Oracle Cloud Infrastructure Classic 2018 Associate Architectを取得しました!
に登場した社員です🍀
なんと昨年の新入社員で、とても頼りになる存在です❗
ごあいさつ🌸
初めまして。
資格取得以外では初投稿です。
私は2019年に新卒で入社し、Oracle DBの構築や移行のお仕事を担当しています👀
今回、Database Migration Assistant for Unicode(DMU)の検証をする機会がありましたので、DMUについて記事を執筆していきたいと思います。
よろしくお願いいたします🤗
※今回使用した検証環境は以下の通りです。
DMU | 2.1.1 |
---|---|
DB | 12.1 single |
OS | RHEL 7.3 |
Database Migration Assistant for Unicode(DMU)とは?
初回は「DMUとは何か?」という点をお伝えできればと思います。
DMUとは?
DMUのダウンロードサイトには以下のように記載されています。
Oracle Database Migration Assistant for Unicode(Oracle DMU)は、データベースをレガシー・エンコーディングからUnicodeに変更するためのエンド・ツー・エンドのソリューションを提供する、オラクル独自の次世代移行ツールです。
つまりDMUは
Oracle DBのデータベース キャラクタセット をUnicodeへ変更する際の全面的なサポートをしてくれるGUIツールです。
キャラクタセット 変更時の問題点
キャラクタセット の変更は、大きく分けると
1. 問題点の検知
2. 問題点の解消
3. キャラクタセット の変更
という流れで実行されます。
では、問題点とはいったいどのようなものがあるのでしょうか?
一例として、データベース キャラクタセット を JA16SJISTILDE から AL32UTF8 へ変更する場合を考えてみましょう。
JA16SJISTILDE では、ほとんどの日本語が1文字2バイトで格納されます。
一方、AL32UTF8 では日本語1文字は3バイトで格納されます。
つまり、同じ ”ひとりでできるもん” というデータが、JA16SJISTILDE では18バイト、AL32UTF8 では27バイトで格納されるため、 キャラクタセット の変更後にデータがあふれてしまう可能性があります。
例 最大バイト数が20のカラムに ”ひとりでできるもん” が格納されている場合
JA16SJISTILDE | AL32UTF8 | |
---|---|---|
カラムの最大バイト数 | 20 | 20 |
実際の格納バイト数 | 18 | 27 |
上記の場合、キャラクタセットの変更後にデータがあふれてしまうという問題が生じます。
DMUで出来ること
キャラクタセットの変更は、大きく分けると、
1. 問題点の検知
2. 問題点の解消
3. キャラクタセットの変更
という流れで実行されることをお伝えしました。
それでは、DMUを使用すると何ができるのでしょうか…
実はDMUを使用すると、上記工程の全てを実行することができます❗
例えば、以下の作業全てをDMUから実行することが可能です。
1. データが溢れてしまうカラムを特定する
2. データが溢れてしまうカラムを拡張する
3. 問題が解消されたことを確認して、キャラクタセットを変更する
移行プロセスが簡素化されて、とっても便利ですね🌸
DMUのサポート環境
DMUは11.2.0.4以降のOracleデータベースをサポートし、Java SE Development Kit(JDK)8を使用します。
DMUがサポートされているクライアントプラットフォームは以下の通りです。
● Microsoft Windows Vista(SP2)
● Microsoft Windows 7(SP1)
● Microsoft Windows 8.x
● Microsoft Windows 10
● Microsoft Windows Server 2008 R2(SP1)
● Microsoft Windows Server 2012
● Microsoft Windows Server 2012 R2
● Microsoft Windows Server 2016
● Red Hat Enterprise Linux 7.x
● Red Hat Enterprise Linux 6.x
● Red Hat Enterprise Linux 5.5+
● Oracle Enterprise Linux 7.x
● Oracle Enterprise Linux 6.x
● Oracle Enterprise Linux 5.x
● Oracle Enterprise Linux 4.x
● SUSE Linux Enterprise Server(SLES)10 SP2 +
● SUSE Linux Enterprise Server(SLES)11.x
● SUSE Linux Enterprise Server(SLES)12.x
● Oracle Solaris SPARC 10 Update 9+
● Oracle Solaris SPARC 11.x
● Oracle Solaris Intel 10 Update 9+
● Oracle Solaris Intel 11.x
● Hewlett-Packard HP-UX PA-RISC
● Hewlett-Packard HP-UX Itanium
さいごに
今回、簡単にではありますが「DMUとは何か?」ということを紹介しました👀
次回は、 キャラクタセット 変更時における問題点の検知を検証していきたいと思います。
よろしくお願いいたします。
お楽しみに😆
投稿者プロフィール
![技術チーム](https://xn--w8j8bac3czf5bl7e.com/wp-content/uploads/blog/41007909421_6ae3fe3ef0_z-150x150.jpg)
Oracle Cloud2024年9月3日OCIとADアカウント連携してみました
インフラ2024年6月21日Zabbixエージェントをインストール・対象サーバを監視してみました!
Infrastructure(IaaS)2024年6月4日OCI ブート・ボリュームのバックアップ・リストア
Oracle Cloud2024年5月31日OCIのMySQLでリードレプリカを構成してみました!