前期准备
首先剪了4个实例,3个初始化参数不同,(2)和(4)相同
实例1
1>字符集:GB18083
2>是否以字节为单位:否
实例2
1>字符集:uft8
2>是否以字节为单位:否
实例3
1>字符集:uft8
2>是否以字节为单位:是
实例4
1>字符集:uft8
2>是否以字节为单位:否
数据库字符集问题测试
GB18083导入UTF8
实例1 ->>实例2 GB18083导入UTF8
(1)
实例1上创建用户TEST,并在TEST模式下创建一个表
create table “TEST”.“TABLE_1”
(
“char1” VARCHAR(10)
);

插入一条数据,将字节填满。
insert into TEST.TABLE_1 values(‘哈哈哈哈哈’);
commit;
(2)导出模式TEST并导入到实例2中。
实例1导出

实例2上创建用户TEST导入
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6T5pCr6e-1604835066845)(file:///C:/Users/LY/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg)] 达梦设置索引 达梦导入_linux_03](https://s2.51cto.com/images/blog/202406/18104733_6670f54517cef92300.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
报错字符串截断
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jWFhL8tD-1604835066849)(file:///C:/Users/LY/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg)] 达梦设置索引 达梦导入_达梦设置索引_04](https://s2.51cto.com/images/blog/202406/18104733_6670f5455906989098.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
查看导入情况,表结构导入成功但没有数据。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qQUREjv4-1604835066852)(file:///C:/Users/LY/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg)] 达梦设置索引 达梦导入_数据库_05](https://s2.51cto.com/images/blog/202406/18104733_6670f545997cb70391.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
将源数据改为‘哈哈哈’3个字,这样目的端数据库utf8可以容纳下,然后再次导出导入。
未发现字符串阶段,且数据导入成功。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iJBxfsOA-1604835066853)(file:///C:/Users/LY/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg)] 达梦设置索引 达梦导入_管理工具_06](https://s2.51cto.com/images/blog/202406/18104734_6670f5460a0f910901.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IY448x54-1604835066854)(file:///C:/Users/LY/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg)] 达梦设置索引 达梦导入_达梦设置索引_07](https://s2.51cto.com/images/blog/202406/18104734_6670f5465648f41124.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
字节问题测试
以字节为单位导入到非字节为单位的数据库
实例3->>实例2
实例3创建模式,表,插入数据。
CREATE SCHEMA “CHAR_TEST” AUTHORIZATION “SYSDBA”;
create table “CHAR_TEST”.“CHAR_TEST”
(
“name1” VARCHAR(5)
);
insert into CHAR_TEST.CHAR_TEST values(‘哈哈哈哈哈哈’);
commit;
导出实例3模式CHAR_TEST到实例2中。

系统字符集问题测试
源端和目的端数据库初始化参数一致。实例2和实例4
windows系统字符集为GBK,linux系统字符集为utf8
使用windows管理工具导出到windows上然后导入到linux,使用linux图形界面管理工具导入。
(1)创建模式。建个表和插入数据。
CREATE SCHEMA “WIN_LIN” AUTHORIZATION “SYSDBA”;
CREATE TABLE “WIN_LIN”.“TABLE_1”
(
“COLUMN_1” CHAR(10),
“COLUMN_2” CHAR(10));
insert into WIN_LIN.TABLE_1 VALUES(‘哈哈哈’,‘啦啦啦’);
commit;
传输到linux上然后导入。
虽然日志最下方没有警告,但日志最上方还是有个导入导出字符集不一致警告。

查看下数据,数据正常

(2)这种虽然导入成功,但是建议开个终端可以临设置linux字符集为gbk,然后在这个终端启动管理工具或者使用命令行dimp导入。下面进行测试是否有导入导出字符集不一致警告。

启动管理工具

导入未出现导入导出字符集不一致警告。

关于模式映射导入测试
(1)实例2创建新用户USER1,创建表和插入数据,使用SYSDBA导出新用户模式。
create user “USER1” identified by “******”
default tablespace “MAIN”;
grant “RESOURCE”,“PUBLIC”,“VTI”,“SOI” to “USER1”;
create table “USER1”.“TABLE_1”
(
“COLUMN_1” CHAR(10),
“COLUMN_2” CHAR(10)
);
insert into USER1.TABLE_1 VALUES(‘哈哈哈’,‘啦啦啦’);
(2)实例2中导出USER1模式。
第一种方法
直接导入实例4中。
若4中没有USER1用户,直接导入会报没有这个用户名错误。


第二种方法
实例4创建用户USER1导入,导入成功


第三种方式模式映射
举例:源库导出的是USER1模式,目的端导入时可以更改模式名,如把USER1改为USER1BAK;
成功更改模式USER1为USER1BAK。目的端可以提前建好模式名也可以直接导入会自动创建,前提时目的端的用户有创建模式或有对这个模式的权限。


















