Take the following operations under Windows ---------------------- import the DATA_A database * .dmp file into the DATA_B database. Error when importing :-( Error) ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------- IMP-00016: Required Character Set Conversion (Type 31 TO 852) Not supportedimp-00000: Import Terminated UnsuccessFully -------------------------------------- -------------------------------------------------- ---
View the corresponding character set: SQL> SELECT NLS_CHARSET_NAME ('31 ') from DUAL;
NLS_CHARSET _------------ WE8ISO8859P1
SQL> SELECT NLS_CHARSET_NAME ('852') from DUAL;
NLS_CHAR -------- zHS16GBK ======================================== ======================== Data_a -> Data_B Idea: Modify the character set of the DATA_B library is "31" -> Import Data -> Restore to "852 "Character set modification: is a modified data dictionary; modify the registry two steps.
Strong reminder: ----------------------------------------------- ------------------------------------------ 1. First on the current database By backup, then import new data. To prevent accidents in the process of introducing. 2. Due to the different character sets, the data is not necessarily fully used. -------------------------------------------------- -----------------------------------------
Details: 1. Modify the character set of the Data_B library.
Note: According to the installation, mainly use the {Oracle library home} directory directory may be: "HKEY_LOCAL_MACHINE / SOFTWARE / ORACLE / HOME0" <- (Home1, Home2 ...) is subject to the registry. 1.2 Modify the data dictionary SQL> CONNECT sys / chanet @ oradb; SQL> UPDATE sys.props $ SET value $ = 'WE8ISO8859P1' WHERE name = 'NLS_CHARACTERSET'; SQL> UPDATE sys.props $ SET value $ = 'WE8ISO8859P1' WHERE name = 'NLS_NCHAR_CHARACTERSET' SQL> commit; 1.3 Restart the Oracle library "Service" 2. Import the database. (IMP ....)
3. Modify the "852" character set before the meeting. 3.1 Modify the data dictionary. SQL> Connect Sys / Chanet @ ORADB; SQL> Update sys.props $ set value $ = 'zHS16GBK' Where name = 'nls_characterset'; sql> Update Sys.props $ set value $ = 'zhs16gbk' where name = 'nls_nchar_characterset'; SQL> commit;
3.2 Modify the Registry. "NLS_LANG" key value "American_lang" key in "HKEY_LOCAL_MACHINE / SOFTWARE / ORACLE" is changed back to "Simplified Chinese_China.zhs16GBK"
3.3 Restart Database "Service"