因工作需要将一个oracle7.3生成的dmp文件导入oracle9i中,应注意以下几点:
1。首先检查oracle7.3生成的dmp使用的字符集,方法如下:
用ultraedit32将dmp文件打开,,获取2、3字节的内容,如00 01,先把它转换为10进制数,为1,使用函数NLS_CHARSET_NAME即可获得该字符集:
SQL> select nls_charset_name(1) from dual;
NLS_CHARSET_NAME(1)
-------------------
US7ASCII
可以知道该dmp文件的字符集为US7ASCII
2。oracle9i生成新的数据库时字符集选择us7ascii
3。将dmp文件用IMP命令导入数据库中
4。到这步后,数据库中的中文仍然显示乱码,还需在注册表中将客户端的NLS_LANG选项修改为“AMERICAN_AMERICA.US7ASCII。对于oracle9i具体修改位置为"HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->HOME1"
修改完毕,数据库中文显示正常。
查询当前环境的字符环境(语言)sql语句(在sqlplus中运行):select userenv('language') from dual;
本文介绍如何将Oracle7.3版本的dmp文件迁移到Oracle9i数据库,包括检查字符集、创建目标数据库、导入数据及解决中文乱码问题的具体步骤。
2万+

被折叠的 条评论
为什么被折叠?



