【问题标题】:How to move a table from system schema to scott schema in Oracle?如何将表从系统模式移动到 Oracle 中的 scott 模式?
【发布时间】:2012-11-03 10:43:53
【问题描述】:

几天前...我正在使用 Oracle SQL Developer 数据库迁移工具将一些大型 MySQL 数据库转换为 Oracle 10g R2。但不幸的是,它是在系统架构上迁移的。但我需要在 scott 架构上进行迁移。 谷歌搜索后,我找到了这两个链接OraFAQ ForumASK TOM Q&A。但我找不到任何合适的答案。任何人都可以帮我做,怎么可能。

提前致谢。

【问题讨论】:

    标签: sql oracle oracle10g


    【解决方案1】:

    IIRC MySQL 备份工具会输出普通的 SQL。因为它将采用相当普通的 SQL 形式——我猜只有 createinsert——它应该能够以最少的更改针对您的 Oracle 模式运行。

    话虽如此,在 SQL Developer 迁移向导中,第二步允许您选择目标架构。如果您设置了到 scott 的连接,为什么这对您不起作用?

    【讨论】:

    • 您好 Xophmeister,我的 MySQL Db 大小约为 9 GB,我的 oracle scott 架构已锁定并过期,但现在我已解锁它。而且再次迁移它真的需要花时间...跨度>
    【解决方案2】:

    如果表不是太大(取决于您的系统资源和服务器功率等),那么您可以简单地使用以下内容在所需架构中重建表。 注:您需要以目标模式的用户(对 SYSTEM 表空间中的表具有选择权限)或系统用户身份登录:

    CREATE TABLE <newschema>.<tablename>
    AS
    SELECT *
      FROM system.<tablename>;
    

    然后在创建新表后删除原始表。

    如果表很大,那么您可以使用 DATAPUMP 将其导出并导入到所需的架构中。

    这是一篇关于为此目的使用 Data Pump 的文章: http://oraclehack.blogspot.com/2010/06/data-pump-moving-tables-to-new-schema.html

    希望对你有帮助

    【讨论】:

    • 对于任何找到此答案的人;请注意,它不会保留所有依赖对象(如果存在)。例如。索引、检查约束等。但是,是的,如果它只是一个表,这可能是最好的答案。
    猜你喜欢
    • 1970-01-01
    • 2022-07-26
    • 1970-01-01
    • 2013-07-20
    • 2011-08-20
    • 2021-01-13
    • 2018-08-08
    • 2018-03-13
    • 2021-12-20
    相关资源
    最近更新 更多