【问题标题】:How to export oracle undetermined schemas using expdp如何使用 expdp 导出 oracle 未确定的模式
【发布时间】:2019-04-28 07:34:17
【问题描述】:

我想导出 Oracle 数据库,但不完整且未确定模式;例如,它们的名称类似于 'IAS%' 或架构名称类似于 'YS%'

我已经写了这个命令:

Expdp admin/admin@orcl schemas like 'IAS%'  file=my_data.dmp directory=exp_dir 

但我面临错误:

无效的位置参数值'like'

【问题讨论】:

    标签: oracle export expdp


    【解决方案1】:

    您将无法使用该命令运行导出。数据泵导出实用程序 (EXPDP) 不使用常规 SQL。您不能在子句中使用简写的SQL 命令 - 子句必须根据 Oracle 的文档进行定义。根据documentation,EXPDP 模式子句的示例如下所示:

    expdp hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp SCHEMAS=hr,sh,oe

    它们将模式列为逗号分隔值,您必须执行类似的操作才能执行导出。与其尝试在命令本身中使用查询,不如创建一个查询,该查询将以逗号分隔格式返回所有这些模式,然后简单地将该列表复制并粘贴到命令中。

    要获取该列表,您可以尝试运行以下查询:

    select listagg(username,', ') within group(order by username) csv
      from all_users
      where username like 'IAS%';
    

    此查询使用listagg function。如果您使用的 Oracle 版本不支持 listagg,您可以使用以下查询来完成同样的事情。我在单独的StackOverflow question 上找到了这个查询,但它应该可以正常工作:

    SELECT SUBSTR (SYS_CONNECT_BY_PATH (username , ','), 2) csv
          FROM (SELECT username , ROW_NUMBER () OVER (ORDER BY username ) rn,
                       COUNT (*) OVER () cnt
                  FROM all_users where username like 'IAS%')
         WHERE rn = cnt
    START WITH rn = 1
    CONNECT BY rn = PRIOR rn + 1;
    

    无论您使用哪种查询,您现在都将拥有以字符串“IAS”开头的逗号分隔模式列表。对于此示例,假设列表看起来像 IAS_1, IAS_2, IAS_3 等。然后您的命令将从:

    Expdp admin/admin@orcl schemas like 'IAS%' file=my_data.dmp directory=exp_dir

    类似于:

    Expdp admin/admin@orcl schemas=IAS_1,IAS_2,IAS_3 file=my_data.dmp directory=exp_dir

    如果经常在此数据库中创建和删除架构,您可以运行查询来更新受影响的架构列表,然后手动复制和粘贴新列表。如果这是经常发生的事情,您还可以创建一个动态 SQL 脚本来生成和执行您的 EXPDP 命令。

    希望这会有所帮助!

    数据泵文档:https://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_export.htm#SUTIL200

    关于 listagg 函数的文档: https://docs.oracle.com/cd/E11882_01/server.112/e41084/functions089.htm#SQLRF30030

    【讨论】:

      猜你喜欢
      • 2016-05-19
      • 2021-07-24
      • 2020-08-01
      • 2019-02-18
      • 2010-09-10
      • 2020-01-19
      • 2019-10-01
      • 2018-01-01
      • 2011-09-27
      相关资源
      最近更新 更多