【问题标题】:Copying ALL tables from one user to another Oracle11g将所有表从一个用户复制到另一个 Oracle11g
【发布时间】:2014-02-06 08:56:30
【问题描述】:

我有一个用户名 user1 和密码 user1 我想创建一个由用户 2 标识的用户 2,并将包含所有数据的所有表从用户 1 复制到用户 2。

我可以一次复制所有表,还是需要逐表复制给新用户? 我该怎么做?

【问题讨论】:

    标签: oracle11g copy


    【解决方案1】:

    您可以使用数据泵。 首先,创建一个映射到文件系统中目录的目录对象:

    CREATE OR REPLACE DIRECTORY DIR_TEMP AS 'C:\temp';
    

    然后将您的架构(与 user1 关联)导出到转储文件中:

    C:\app\...\dbhome_1\BIN\expdp.exe system/pwd SCHEMAS=USER_1 DIRECTORY=DIR_TEMP DUMPFILE=file.dmp LOGFILE=file_exp.log
    

    最后重新导入您的转储文件:

    C:\app\...\dbhome_1\BIN\impdp.exe system/pwd REMAP_SCHEMA=USER_1:USER_2 DIRECTORY=DIR_TEMP DUMPFILE=file.dmp LOGFILE=file_imp.log
    

    【讨论】:

    • 忘了说我的系统是在 Debian 上运行的
    • 没问题,DataPump 适用于所有平台。您必须使用不同的路径语法(例如 /u01/... 而不是 c:\...)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    • 2015-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多