鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

Oracle迁移至金仓数据库常见适配问题

KDTS迁移工具使用指导

详见官方KDTS迁移工具使用指南Oracle迁移至金仓最佳实践

金仓数据库管理员账户密码修改

金仓数据库安装完成后,系统管理员账户system的初始密码是随机生成的,用户可通过以下命令修改初始密码。

  1. 进入数据库安装目录。
    1
    cd /opt/Kingbase/ES/V8/KESRealPro/V008R006C008B0020/Server/bin
    
  2. 连接数据库。
    1
    ./ksql -U system -d KINGBASE
    

    请根据提示输入system用户密码:

    1
    Password for user system:
    
  3. 修改密码,“xxxxxx”请替换为修改后的密码。
    1
    alter user system with password 'xxxxxx';
    

金仓数据库兼容性设置

根据实际情况,应对目标数据库KingbaseES进行适当的Oracle兼容配置。通常,应配置以下会话级兼容参数:

  • nls_length_semantics:设定char类型字段默认单位是byte还是char。此外,标识符最大长度以此值为单位。如果为char,则标识符最大长度为63个char,否则为63byte。

    在KingbaseES系统,参数“nls_length_semantics”缺省值为“char”,需要与待迁移的Oracle相同。Oracle字符类型的byte|char属性默认值是由Oracle提供的数据库参数“NLS_LENGTH_SEMANTICS”决定的,可通过下方语句进行查询:

    1
    select value from nls_database_parameters where parameter = 'NLS_LENGTH_SEMANTICS';
    

    如果未修改可能会出现:迁移char类型时,由于数据库存储的类型不同,导致迁移的数据存在多余空格的情况。

    可通过以下方式修改:

    1. 进入数据目录。
      1
      cd /opt/Kingbase/ES/V8/data
      
    2. 打开kingbase.conf文件,修改如下内容,若不存在该参数请添加。
      1
      nls_length_semantics = byte
      

      以byte为例,该值需要与Oracle配置保持一致,若Oracle配置为char,请修改为char。

    3. 切换至kingbase用户,重启数据库。
      1
      /opt/Kingbase/ES/V8/Server/bin/sys_ctl -D /opt/Kingbase/ES/V8/data restart
      
  • default_with_oids:OID伪列开关。KingbaseES的OID伪列可兼容Oracle的ROWID伪列。因此,如果Oracle移植对象有ROWID伪列,则建议用OID伪列替代。
    1. 进入数据目录。
      1
      cd /opt/Kingbase/ES/V8/data
      
    2. 打开kingbase.conf文件,修改如下内容,若不存在该参数请添加。
      1
      default_with_oids = on
      
    3. 切换至kingbase用户,重启数据库。
      1
      /opt/Kingbase/ES/V8/Server/bin/sys_ctl -D /opt/Kingbase/ES/V8/data restart
      

金仓数据库空值设置

金仓数据库中ora_input_emptystr_isnull参数默认为off,如果插入字段信息为空时,不会自动转化为NULL写入数据库。需将ora_input_emptystr_isnull修改为on。具体修改步骤:

  1. 进入数据目录。
    1
    cd /opt/Kingbase/ES/V8/data
    
  2. 打开kingbase.conf文件。查看“ora_input_emptystr_isnull”是否为on,若不为on,请修改为on。
  3. 修改完成后切换至kingbase用户,重启数据库。
    1
    /opt/Kingbase/ES/V8/Server/bin/sys_ctl -D /opt/Kingbase/ES/V8/data restart
    

金仓数据库与Oracle兼容性说明

详见官方兼容性说明指导

本指导仅提供基本信息,若需获取更多金仓数据库使用信息,请参见金仓数据库官方文档