使用 Cloud Shell 导出数据泵

Posted

技术标签:

【中文标题】使用 Cloud Shell 导出数据泵【英文标题】:Data Pump export using cloud shell 【发布时间】:2021-11-09 13:08:03 【问题描述】:

我正在尝试使用 Oracle Cloud Autonomous 数据库上的数据泵导出架构。

我正在使用 Cloud Shell 导出架构。

当我尝试做最后一步时:

expdp admin/password@DB_HIGH schemas=SCHEMA_NAME directory=data_pump_dir dumpfile=exp%U.dmp filesize=1G logfile=expot.log

我明白了

UDE-12154: operation generated ORACLE error 12154 ORA-12154: 
TNS:could not resolve the connect identifier specified 

我需要 Oracle 即时客户端进行导出吗?

【问题讨论】:

您的密码中是否有空格,或者可能是美元符号(恰好后面是字符而不是使用环境变量);还是您在密码和 TNS 别名之间引入了一个空格? 密码包含数字和“!”签到 好的,pling 可能是问题所在 - 它可能是从您的 shell 历史记录中替换了一个命令(带有空格)。如果您使用实际密码“回显密码”,您应该看到它是如何扩展/替换的。可以set +H 再试一次吗? 我更改了密码,现在我得到了 UDE-12154: operation generated ORACLE error 12154 ORA-12154: TNS:could not resolve the connect identifier specified 我可以连接同一个 tns 条目 【参考方案1】:

Oracle 客户端代码使用以下三种方式之一来查找连接数据:

一个名为 tnsnames.ora 的平面文件 Oracle 名称服务 LDAP

当文本行出现完整的 ORA-12154 错误时,您的程序已找到工作的 Oracle 客户端安装。但是,指定的 Oracle 服务未在 tnsnames.ora、Oracle Names 或 LDAP 中列出。

故障排除过程的第一步是确定在您的站点上部署了哪种名称解析方法。大多数站点使用 tnsnames.ora,但使用 Oracle Names 和 LDAP 的站点也足够多,因此最好确认此信息。

如果您不是数据库管理员,请与管理您的 Oracle 系统的人员联系,了解您应该使用哪种方法。他们或许能够指导您按照您网站的标准解决问题。

客户端代码根据文件 sqlnet.ora 决定使用哪种机制。该文件和 tnsnames 通常都可以在 Oracle 安装目录(“ORACLE_HOME”)的 network/admin/ 下找到。此位置可能会被环境变量 TNS_ADMIN 覆盖。

如果sqlnet.ora文件不存在或者没有指定解析方式,则Oracle Net使用tnsnames.ora。

Oracle 网络文件的示例位置包括:

Windows

ORANTNET80ADMIN
ORACLEORA81NETWORKADMIN
ORAWIN95NETWORKADMIN
ORAWINNETWORKADMIN
 

UNIX / Linux

$ORACLE_HOME/network/admin/
/etc/
/var/opt/oracle/

如果您修复了命名问题,但仍然看到 ORA-12154 错误,请检查 Oracle 服务以确认它可用于连接。断电、服务器故障或网络连接问题将使该资源无法访问。对不相关的 Oracle 问题进行定期维护或维修也可能使该资源暂时脱机。 谢谢

【讨论】:

以上是关于使用 Cloud Shell 导出数据泵的主要内容,如果未能解决你的问题,请参考以下文章

数据泵EXPDP导出工具和IMPDP导入工具的使用

数据泵导出导入

03.01 Oracle数据泵导出导出(expdp/impdp)命令举例(上)

数据泵导入导出

ORACLE-数据泵

使用数据泵导出时无法重新映射数据