oracle 汉子转unicode,Oracle从non-Unicode到Unicode的转换

1.4. Backup source database by doing full database export (full=y)

1.5. Export full source database without data (ROWS=N constraints=n indexes=n)

1.6. Recreate source database or new database with characterset = AL32UTF8/UTF8

1.7. Make sure to set NLS_LENGTH_SEMANTICS to CHAR in target database initialization file  (bounce DB)

SQL> alter system set NLS_LENGTH_SEMANTICS=CHAR scope=both

1.8. Import export file of step 4 to create all database objects empty

1.9. Run script. nls_length_from_byte_to_char.txt, it will change accela columns containing CHAR, VARCHAR2 from byte to char semantics.

1.10. Import export file of step 3 to import all data (with IGNORE=Y because database objets already exist).

export NLS_LANG=SOURCE_DB_CHARACTERSET

The conversion only happens once during import process.

1.11. Recompile all invalid object if any

1.12. Do MAT test on new DB

1.13. Backup new db

1.14. Performance after Conversion

The performance will not degrade as the AL32UTF8/UTF8 char allocates one byte for ASCII chars.

1.15. DB Size

The DB Size is almost same as old db, as the Unicode char allocates two bytes and non-Unicode only allocates one byte. Please refer to the assessment report for the data

1.16. Data Loss

After tested in Acclea host production db, all rows in the report can be converted

Successfully by exp/imp

1.17. Data Truncation

Only 200 rows (>4000 bytes) has Data Truncation issue in accela production db, they can be handled manually without much time

2. Test Requirement

2.1. Test the migration steps for both Oracle and mssql dbs

2.2. Test the data conversion correctly from the UI and table data especially the data in csscan.err file for oracle version

3. Appendix

3.1. Oracle Application Data Exception Handle

Below agencies has been scanned.

csscan 'sys as sysdba' FULL=Y FROMCHAR= WE8MSWIN1252 TOCHAR= AL32UTF8 LOG=csscan CAPTURE=Y FEEDBACK=1000 ARRAY=1000000 PROCESS=2

There are about 800 truncation exceptions in all below agencies (It needs not much time to fix them manually). There is no lossy data exception in all below agencies.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值