【问题标题】:Sybase to Oracle table moveSybase 到 Oracle 表的移动
【发布时间】:2020-05-02 15:02:08
【问题描述】:

我想将表从我的 sybase 数据库移动到我的 oracle 数据库。但是,我的 sybase 数据库中的某些表具有长标识符或表名(超过 30 个字符),因此 Oracle SQL Developer 上的“复制到 oracle”功能一直失败。

如何仅将 TABLE DATA 迁移到我的 oracle 架构? 另请注意,我厌倦了数据迁移流程,但是当我进入移动数据的步骤时,它不允许我移动表数据。它只是不可见。它只会让我移动程序等。 我有什么被禁用的吗?

【问题讨论】:

    标签: oracle migration oracle-sqldeveloper database-migration sybase


    【解决方案1】:

    您需要在 12cR2 (12.2.x.y) 或更新版本的 Oracle 数据库中启用长标识符。

    只要将数据库的 COMPATIBLE 设置为“12.2.0”或更高版本,您就可以对 Oracle 中的每个对象使用 Long 标识符,但以下情况除外:

    • 数据库名称≤8字节
    • 磁盘组 ≤ 30 字节
    • PDB 名称 ≤ 30 字节
    • 回滚段 ≤ 30 字节
    • 表空间名称≤30字节
    • 表空间集 ≤ 30 字节

    那么让我们做一个表...在这种情况下我运行的是 12.2,但它也可以在 18c 或 19c 中找到。

    点击确定,我得到 - 成功!

    Copied Objects:
    Sybase.copy_to_oracle.dbo.TABLE.this_is_a_table_to_hold_employees_please_dont_put_customers_in_it
    Drop Target: HR
    Copy DDL: Yes
    Do Not Replace Existing Objects
    Copy Data: Yes
    Append Existing Objects
    Task Succeeded.
    
    1 table(s) copied.
        Created table this_is_a_table_to_hold_employees_please_dont_put_customers_in_it and inserted 0 row(s)
    

    【讨论】:

    • 注意,如果您使用的是迁移向导,可以选择启用包含扩展标识符的 12c 功能,如果未启用,我们会将对象名称截断为前 30 个字符为您的架构进行迁移时。
    • 是的,我使用的是迁移向导。它为我创建了 CREATE 表脚本,但我可以获得表的插入。它不会在 datamove 文件夹中生成任何内容。
    • 您在问 2 个单独的问题,我选择回答 Copy to Oracle 和 30 个字符长的部分。建议您使用迁移项目问题的详细信息开始一个新问题
    猜你喜欢
    • 2020-05-03
    • 2023-02-16
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 2017-05-25
    • 2021-11-14
    相关资源
    最近更新 更多