
{"id":7263,"date":"2021-07-29T14:30:12","date_gmt":"2021-07-29T14:30:12","guid":{"rendered":"https:\/\/rax-stg-wp-aws.com\/blogs\/converting-a-12c-ebs-database-to-unicode-using-dmu\/"},"modified":"2026-11-03T19:28:21","modified_gmt":"2026-11-03T19:28:21","slug":"converting-a-12c-ebs-database-to-unicode-using-dmu","status":"publish","type":"blogs","link":"https:\/\/www.rackspace.com\/en-gb\/blogs\/converting-a-12c-ebs-database-to-unicode-using-dmu\/","title":{"rendered":"Converting a 12c EBS database to Unicode using DMU"},"content":{"rendered":"<p>This blog post describes how you can convert your client database running with a&nbsp;single-byte character set database,&nbsp;<em>WE8ISO8859P1<\/em>, to a <em>Unicode Character Database (UCD)<\/em>,&nbsp;<em>AL32UTF8<\/em>, by using the Oracle Data Migration Assistant for Unicode (DMU) tool.&nbsp;<\/p>\n<p>To migrate Oracle\u00ae; Database 12.1.0.2 and R12.1.3 E-Business Suite\u00ae; (EBS) application file system character set databases from WE8ISO8859P1 to AL32UTF8, complete the following steps:<\/p>\n<p>1. Prerequisites Task<br \/>\n2. Install DMU, create the repository, and connect the DB into DMU<br \/>\n3. Scan the full Database<br \/>\n4. Cleanse Sys schemas and application schemas<br \/>\n5. Convert the database<br \/>\n6. EBS-related post-migration steps<br \/>\n7. Validate the UCD<\/p>\n<p><strong>1. Prerequisite tasks<\/strong><\/p>\n<p><strong>Perform the following tasks before starting the migration:<br \/>\n&nbsp;<br \/>\n1. <\/strong>Take a complete backup of the DB and applications. Count the invalid details and disable DB force logging.<br \/>\n<strong>2.<\/strong> Run <em>Purge RECYCLEBIN<\/em>&nbsp;and use the <em>GATHER AUTO<\/em>&nbsp;option to gather statistics on e-Business schemas. Check the <em>optimizer_features_enable<\/em>&nbsp;setting and correct it as needed.<br \/>\n<strong>3. Apply patch 28956851:R12.TXK.B (R12.1.3). <\/strong>Refer to Oracle Doc ID 393861.1.<br \/>\n<strong>4.<\/strong> Run AutoConfig on the Application node<br \/>\n<strong>5. <\/strong>Create the <strong>\/admin\/out\/appsutil.zip<\/strong>&nbsp;file on the application node by running the following command:<\/p>\n<p><em>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$perl $AD_TOP\/bin\/admkappsutil.pl<\/em><\/p>\n<p>6. Copy <strong>appsutil.zip<\/strong>&nbsp;to <strong>RDBMS ORACLE_HOME<\/strong>&nbsp;and run the following command:<br \/>\n&nbsp;<br \/>\n<em>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $unzip -o appsutil.zip<\/em><br \/>\n&nbsp;<br \/>\n7. Run <strong>adautocfg.sh<\/strong> on the DB node.<br \/>\n8. Run <strong>adautocfg.sh<\/strong> on the application node.<\/p>\n<p><strong>&nbsp;2. Install DMU, create the repository, and connect the DB into DMU<\/strong><\/p>\n<p>Perform the following steps to prepare to use the DMU:<\/p>\n<p>1. Execute the following commands as a SYS user:<br \/>\n<em>&nbsp;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; SQL&gt; spool prvtdumi.log<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; SQL&gt; @?\/rdbms\/admin\/prvtdumi.plb<br \/>\n&nbsp;<\/em><br \/>\n2. Run the following command to create a password file:<br \/>\n&nbsp;<br \/>\n<em>&nbsp; &nbsp; &nbsp; &nbsp; NONPROD [oradi@nordlrbbnebsd01 dbs]$ orapwd file=$ORACLE_HOME\/dbs\/orapw$ORACLE_SID password=*****<\/em><br \/>\n&nbsp;<br \/>\n3. Download and install JDK if required.<\/p>\n<p>4. To launch DMU on a VNC session and create a database connection to the DMU tool, run the following command:<br \/>\n&nbsp;<br \/>\n<em>&nbsp; &nbsp; &nbsp; &nbsp; $ sh dmu.sh<\/em><br \/>\n&nbsp;<br \/>\n5. Save the connection.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26346-body-picture-1.png\" alt=\"12c EBS pic 1\" \/><\/p>\n<p>&nbsp;<br \/>\n6. Select the `Install the DMU repository` checkbox.<br \/>\n&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26346-body-picture-2.png\" alt=\"12c EBS Pic 2\" \/><\/p>\n<p>&nbsp;<br \/>\n7. Click <strong>Next.<\/strong><br \/>\n&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26346-body-picture-3.png\" alt=\"12c EBS Pic 3\" \/><\/p>\n<p>&nbsp;<br \/>\n&lt;\/br&gt;<br \/>\n&nbsp;<br \/>\nClick <strong>Next<\/strong> and then <strong>Finish<\/strong>.<br \/>\n&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26346-body-picture-4.png\" alt=\"12c EBS Pic 4\" \/><\/p>\n<p>&nbsp;<br \/>\nThe preceding message displays after the repository installs successfully.<br \/>\n&nbsp;<br \/>\n###<strong> 3. Scan the full Database<\/strong><br \/>\n&nbsp;<br \/>\nNow scan the data dictionary and the application schemas:<br \/>\n&nbsp;<br \/>\n1. When you right-click on the DB connection name, you see the following navigation list to select and scan the database:<br \/>\n&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26346-body-picture-5.png\" alt=\"12c Pic 5\" \/><\/p>\n<p>&nbsp;<br \/>\n2. Click <strong>Next<\/strong><br \/>\n&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26346-body-picture-6.png\" alt=\"12c Pic 6\" \/><\/p>\n<p>&nbsp;<br \/>\n&nbsp;&nbsp;<br \/>\n3. Click <strong>Next<\/strong> to change the number of scanning processes and the scan size to speed up the DMU scan.<br \/>\n&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26346-body-picture-7.png\" alt=\"12c pic 7\" \/><\/p>\n<p>\n4. Click <strong>Finish<\/strong><br \/>\n&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26346-body-picture-8.png\" alt=\"12 c Pic 8\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26346-body-picture-9.png\" alt=\"12c pic 9\" \/><\/p>\n<p>&nbsp;The following screenshot shows the scan in progress:<br \/>\n&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26346-body-picture-10.png\" alt=\"12c pic 10\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>The following screenshot confirms the complete database scan:<br \/>\n&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26346-body-picture-11.png\" alt=\"12c pic 11\" \/><\/p>\n<p><strong>&nbsp;4. Cleanse sys schemas and application schemas<\/strong><br \/>\n&nbsp;<br \/>\nAfter scanning, you need to look at the data using the <strong>Database Scan Report<\/strong>&nbsp;<br \/>\n&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26346-body-picture-12.png\" alt=\"12c pic 12\" \/><\/p>\n<p>Notice that your actual data shown in the DMU is in the following columns:<br \/>\n&nbsp;<br \/>\n&#8211; <strong>Need no change<\/strong>: The data in this column does not require conversion.<br \/>\n&#8211; <strong>Need conversion<\/strong>: The DMU converts the data in this column.<br \/>\n&#8211; <strong>Invalid representation<\/strong>: You need to fix this before converting the database. Manually fix this data issue by using the &#8211;&nbsp;<strong>Cleansing Editor<\/strong> to edit the data.<br \/>\n&#8211; <strong>Over column limit<\/strong>: Use the <strong>Bulk Cleansing<\/strong> wizard. You can fix this by changing the <strong>VARCHAR2<\/strong>&nbsp;columns to use <strong>CHAR<\/strong>&nbsp;instead of <strong>BYTE<\/strong>&nbsp;semantics.<br \/>\n&#8211; <strong>Over type limit<\/strong>: Use SQL Developer or the <strong>Cleansing Editor<\/strong> wizard to fix this problem.<br \/>\n&nbsp;<br \/>\nTo perform bulk cleansing, perform the following steps:<br \/>\n&nbsp;<br \/>\n1. Right-click on the database connection and select the <strong>Bulk Cleansing<\/strong> option from the pop-up menu.<br \/>\n&nbsp;<br \/>\n2. Run the <strong>Migrate to character length semantics<\/strong> option and check the results of the bulk cleansing. You also have the option to select a different parameter to clean the dirty data.<br \/>\n&nbsp;<br \/>\n3. You can also refer to some tips for the issues and fixes related to DMU Doc ID 2018250.1.<br \/>\n&nbsp;<br \/>\n4. You need to clear all the warnings before proceeding to the conversion steps. Sometimes you need to open a service request (SR) to confirm some issue or data purge during cleansing.<br \/>\n&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26346-body-picture-13.png\" alt=\"12c pic 13\" \/><\/p>\n<p>\n<strong>5. Convert the database<\/strong><br \/>\n&nbsp;<br \/>\n&nbsp;After fixing all the issues, right-click on the Database connection, select the <strong>Convert Database<\/strong>&nbsp;option, and click <strong>Convert<\/strong>.&nbsp;<br \/>\n&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26346-body-picture-14.png\" alt=\"12c pic 14\" \/><\/p>\n<p>\n&nbsp;<br \/>\nAccept all the defaults by clicking the <strong>Next.<\/strong> The <strong>Migration Status<\/strong> tab also shows the conversion status when it completes.<br \/>\n&nbsp;<br \/>\nMigration in progress: &nbsp;&nbsp;<br \/>\n&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26346-body-picture-15.png\" alt=\"12c pic 15\" \/><\/p>\n<p>\n&nbsp;<br \/>\nMigration is complete as indicated by the <strong>Status<\/strong> panel:<br \/>\n&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26346-body-picture-16.png\" alt=\"12c pic 16\" \/><\/p>\n<p>\n&nbsp;<br \/>\n<strong>6. EBS-related post-migration steps<\/strong><br \/>\n&nbsp;<br \/>\nThis section includes steps 3.1.4 through 3.3 from Doc ID 393861.1 Update Database Tier AutoConfig Context Files, Appendix A:<br \/>\n&nbsp;<br \/>\n1. On the DB node, execute the following command and verify **NLS_LANG** is in the DB env file:<br \/>\n&nbsp;<br \/>\n<em>&nbsp; &nbsp; &nbsp; &nbsp; $ perl txkSetUnicodeCharSet.pl&nbsp;<\/em><br \/>\n&nbsp;<br \/>\n2. On the Apps tier, execute the following commands:<br \/>\n&nbsp;<br \/>\n&nbsp; &nbsp;<em> &nbsp; &nbsp; $ ls $ORACLE_CONFIG_HOME\/reports\/Tk2Motif_AL32UTF8.rgb<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; \/u01\/app\/appdi\/DEV\/inst\/apps\/MKS_mksdbcs\/ora\/10.1.2\/reports\/Tk2Motif_AL32UTF8.rgb<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; $ ls $ORACLE_HOME\/guicommon\/tk\/admin\/Tk2Motif_UTF8.rgb \/u01\/app\/appdi\/DEV\/apps\/tech_st\/10.1.2\/guicommon\/tk\/admin\/Tk2Motif_UTF8.rgb<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; $ cd $ORACLE_CONFIG_HOME\/reports\/<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; $ cp Tk2Motif_AL32UTF8.rgb $ORACLE_CONFIG_HOME\/reports\/Tk2Motif_AL32UTF8_backup.rgb<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; $ grep -i fontMapCs Tk2Motif_AL32UTF8.rgb<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; !Tk2Motif*fontMapCs: iso8859-2=EE8ISO8859P2<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; Tk2Motif*fontMapCs: iso8859-1=UTF8<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; $ vi Tk2Motif_AL32UTF8.rgb<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; $ grep -i fontMapCs Tk2Motif_AL32UTF8.rgb<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; !Tk2Motif*fontMapCs: iso8859-2=EE8ISO8859P2<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; Tk2Motif*fontMapCs: iso8859-1=AL32UTF8<\/em><br \/>\n&nbsp;<br \/>\n3. Execute the following command and verify <strong>NLS_LANG<\/strong> is in the Application env file:<br \/>\n&nbsp;<br \/>\n<em>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$ perl txkSetUnicodeCharSet.pl<\/em><br \/>\n&nbsp;<br \/>\n4. Regenerate Forms and Reports through <strong>adadmin<\/strong>.<br \/>\n5. Regenerate Messages through <strong>adadmin<\/strong>.<br \/>\n6. Update the <strong>ICX:Client IANA<\/strong> profile option to <em>UTF-8<\/em>.<br \/>\n&nbsp;<br \/>\n<strong>7. Validate the UCD &nbsp;<\/strong><br \/>\n&nbsp;<br \/>\nStart services and validate the application. It should work fine for you.<br \/>\n&nbsp;<br \/>\n<strong>Conclusion&nbsp;<\/strong><br \/>\n&nbsp;<br \/>\nThe Oracle DMU tool provides a streamlined solution for migrating a legacy single-byte character set database to a UCD. The DMU tool helps ensure all character data migrates correctly quicker and easier. It also ensures that the migration completes without any data loss and validates the data integrity of the databases.&nbsp;<br \/>\n&nbsp;<br \/>\nIf the Oracle EBS application has more than one language group, UCD is the only choice. Oracle recommends using Unicode as the database character set for maximum compatibility and extensibility.&nbsp;The UCD character set supports all frequently used languages. It also supports symbols like the Euro sign, smart quotes, and scientific and musical notations. The IT industry is using UCDs more and more every day.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Converting a 12c EBS database to Unicode using DMU<\/p>\n","protected":false},"author":2,"featured_media":7265,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","format":"standard","meta":{"content-type":"","nid":"26346","content_type":"blog","created_by":"10130","authored_on":"2023-12-05T15:30:12+00:00","field_article_industries":"","tag_category":"Technical","field_blog_author_text":"by Rackspace Technology Staff","seo_description":"Execute domestic ACH payments efficiently using NACHA files and leverage Oracle R12's support for mass payment batches with ease.\r\n","field_featured_image":"","insights_image":"\/wp-content\/uploads\/2026\/blog_technical_images\/26346-insights_image-oracle-technical-blog-1-insights.jpg","field_partners":"","rxt_platforms":"Oracle","product":"","publisheddate":"2021-07-29T14:30:12","rxt_solutions":"Databases","opengraph_tag":"","x_tag":"","teaser_flag":"Technical Blog","seo_titile":"12c EBS Database Unicode Conversion with DMU | Rackspace","field_topics":"","field_slug":"converting-12c-ebs-database-to-unicode-using-dmu","footnotes":""},"categories":[178],"tags":[204],"class_list":["post-7263","blogs","type-blogs","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-technical"],"_links":{"self":[{"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/blogs\/7263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/blogs"}],"about":[{"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/types\/blogs"}],"author":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/comments?post=7263"}],"version-history":[{"count":2,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/blogs\/7263\/revisions"}],"predecessor-version":[{"id":9300,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/blogs\/7263\/revisions\/9300"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/media\/7265"}],"wp:attachment":[{"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/media?parent=7263"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/categories?post=7263"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/tags?post=7263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}