1.MYSQL迁移
从MySQL 移植到DM,要求必须创建新的用户和表空间,不要把数据迁移到系统管理员SYSDBA用户下和 MAIN表空间下。
大小写敏感,也就是字面意思,表示数据库对于字符串的比较,是否区分大小写(即为是否敏感)。
这个“是否区分”,是三个方面的:
- 对象名(表名、存储过程、序列等其他对象)或者字段名(也就是列名)
- 字段内容
- 其他字符串内容(比如用户输入的字符串类型的条件值,如where col ='xxxxxx' ,字符串类型的条件值,说的就是这个'xxxxxx' )
也就是说,如果设置为敏感,上面三项内容,都不区分大小写,也就是Abc 就是ABC ,跟进一步来说,也就是在进行字符串比较时(不管这个字符串是对象名、字段名还是字段内容),如果他们之间,不考虑大小写,是完全一样的,数据库则判定他们相等(他们是一样的)。
where A = a 和 where 1 = 1 一样
2.安装
挂载ISO文件
mount -o loop /home/download/dm8_20200907_FTarm_kylin4_64_ent_8.1.1.126.iso /home/download/iso
- 正常安装完成后,初始化库
- /bin目录下./dminit PATH=/home/dmdbms/data DB_NAME=hebccc CASE_SENSITIVE=0 PAGE_SIZE=16 CHARSET=1
- 备注:初始化配置不能改变,创建时候考虑未来场景,根据配置参数合理配置
- /bin目录下 启动服务
- ./dmserver /home/dmdbms/data/hebccc/dm.ini & #或者nohup
- 创建表空间
- create tablespace hebccc datafile '/home/dmdbms/data/hebccc/hebccc.dbf' size 128 autoextend on next 4 maxsize 2048; #创建表空间
- alter USER "hebccc" IDENTIFIED BY "hebccc2020" DEFAULT TABLESPACE "hebccc";
- 创建用户
- CREATE USER "hebccc" IDENTIFIED BY "hebccc2020" DEFAULT TABLESPACE "hebccc";
5.授权
- GRANT DBA TO hebccc;
- 结束
问题:
1.数据库链接 username必须和要查询的库所属用户一致(或者SQL指定那个用户下那个表,TEST."aaa" 格式 {TEST用户.表})(去除字段引号需要关闭大小写敏感)
2有歧义的列名[xxx] 解决方案:1.在多表查询时,查询出的结果列字段在多表中重复出现,需要使用别名.列名查询。 2.列不能重复
3.time 别名默认给大写了 xml中起别名用time +引号
4.语法错误 ` 字符串常量应使用单引号括起,关键字、对象名、字段名、别名等则使用双引号括起,正常情况下不要使用``
5.字符串转换出错 LEFT JOIN t1 ON t1.id= t2.name对比类型不符