You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle Data Pump含特殊字符Schema导出与Bash变量替换问题

问题:含特殊字符的Schema无法通过Bash函数执行expdp导出?

我编写了一个使用expdp执行Schema导出的Bash函数,多数场景下运行正常,但当Schema名称包含减号(-)这类特殊字符时,会触发Oracle错误ORA-39001与ORA-39170。根据文档,需采用'"abc-def"'格式转义特殊字符,但该方式无法配合Bash变量替换使用。我尝试多种转义方式均无效,且sqlplus可正常连接该Schema,但expdp无法识别。

我的Bash函数代码

# ------------------------------------------------------------------------------
# execute a datapump export
# ------------------------------------------------------------------------------
function exportSchema {
    local schema oracleHost oraclePort dumpFile
    schema="$1"
    oracleHost="localhost"
    oraclePort=1521
    dumpFile="$schema"-$(date '+%Y-%m-%d.%Hh.%Mm.%Ss')

    printf "\nexporting to a dump file...\n"
    printf "    database host:         %s\n" "$oracleHost"
    printf "    database port:         %s\n" "$oraclePort"
    printf "    pluggable database:    %s\n" "$ORACLE_PDB"
    printf "    datapump user:         %s\n" "$DATAPUMP_USER"
    printf "    datapump password:     %s\n" "$DATAPUMP_PASSWORD"
    printf "    schema to be exported: %s\n" "$schema"
    printf "    dump file name:        %s.dmp\n" "$dumpFile"

    expdp "$DATAPUMP_USER"/"$DATAPUMP_PASSWORD"@"$oracleHost":"$oraclePort"/"$ORACLE_PDB" schemas="$schema" directory=DATAPUMP_WORKSPACE dumpfile="$dumpFile.dmp" logfile="$dumpFile.log"
    exitCode=$?
    if [ $exitCode -ne 0 ]; then
        printf "ERROR: An unexpected error has occurred while exporting the '%s' schema.\n" "$schema"
    else
        printf "OK: The '%s' schema has been successfully exported.\n" "$schema"
    fi
}

尝试过的无效转义方式

  • schemas="$schema"
  • schemas= '"$schema"'
  • schemas= "\"$schema\"'
  • schemas="abc-def"
  • schemas="abc\-def"
  • schemas='"abc-def"'
  • schemas='"abc\-def"'
  • schemas="'abc-def'"
  • schemas="'abc\-def'"

补充信息

  • sqlplus abc-def/password@10.178.146.33:1521/ORCLPDB1可正常连接该Schema,但expdp无法识别。
  • 更新:通过exportSchema "xxx_yyy"等方式调用函数时,仅不含特殊字符的调用成功,带特殊字符的调用均触发ORA错误。

内容的提问来源于stack exchange,提问作者zappee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 05:16:33