Windows下达梦导出的dmp能不能导入到linux里
1、我们在进行逻辑导入导出要注意什么?首先要注意数据库的字符集(以及其他底层参数 —— 就是 数据库初始化时 指定的 和存储相关的参数)。因为,如果这些参数不一样的 两个库 逻辑备份文件(即 dmp 文件),不能够通用的(就是 库1 导出的文件,不能导入到 库2)。
2、这些需要注意的参数有:【页大小、时区、字符串比较大小写是否敏感、字符集、varchar类型是否以字符为单位、数据库兼容性参数】。
3、比如,兼容骂宙逃慈性参数(COMPATIBLE_MODE)不一致的 库之间,dmp文件也不要混用(dm.ini中间指定 默认为0)。COMPATIBLE_MODE 默认为0表示:是否兼同柙丕牌容其他数据库模式。 0:不兼容, 1:兼容 SQL92 标准, 2:兼容 ORACLE, 3:兼容MS SQL SERVER, 4:兼容 MYSQL, 5:兼容DM6, 6:兼容 TERADATA
4、Windows下达梦导出的dmp,是能够导入到linux下的达梦的,但是要注意:步骤1中提到的那些参数,要保持一致;操作系统的环境变量,也需要一致(不然中文导入后,会全部是乱码)。
5、这里说的不是 数据库的字符集,而是 操作系统的字符集,要存储文件涉及到的是【数据库的字符集——操作系统字符集——文件】也就是说,保持数据库的字符集一致,还不行。还需要让 导入导出环境的(操作系统)字符集 是一样的。
6、windows 中,操作系统上,环境变量默认是 gbk 的字符集;而 linux 往往 默认的字符集 是 UTF-8 的。
7、要想 windows 和 linux 环境上的 dmp 文件互用,且避免中文乱码问题,可以参考如下方式:1、直接在 windows 上导出,直接在 windwos 上,连接远程 linux 库进行导入。(不会有操作系统的环境变量不一致导致的乱码问题)2、直接在 linux 上导出,直接在 linux 上,连接远程 Windows 库进行导入。(不会有操作系统的环境变量不一致导致的乱码问题)
8、总之,就是保持导入和导出在同一个环境上(因为 dexp dimp 是可以连接远程库操作的)
9、修改 字符集 环境变量 的方式:1、cmd怎么修改字符集:chcp65001(utf-8),chcp936(GBK)。2、linux怎么修改字符集:e旌忭檀挢xportLANG="zh_CN.UTF-8"exportLANG="en_US.GB18030"