使用Cloud Shell执行Oracle Autonomous Database Data Pump导出遇ORA-12154错误咨询
问题解答
核心问题回复
你不需要在Oracle Cloud Shell中额外安装Oracle Instant Client,Cloud Shell环境默认已预装好Instant Client、Data Pump(expdp/impdp)等Oracle客户端工具,可直接调用。
报错原因说明
你收到的ORA-12154是TNS连接标识符解析失败错误,触发原因是你未在Cloud Shell中配置目标Autonomous Database(ADB)的实例钱包,导致DB_HIGH这个TNS服务别名无法被客户端识别。
修复操作步骤
- 从OCI控制台对应ADB实例的详情页下载实例钱包压缩包,将压缩包上传至Cloud Shell的当前用户目录
- 执行以下命令创建钱包存放目录并解压钱包:
mkdir -p ~/adb_wallet unzip 你的钱包压缩包名称.zip -d ~/adb_wallet
- 配置TNS_ADMIN环境变量指向钱包目录:
export TNS_ADMIN=~/adb_wallet
- 编辑
~/adb_wallet/sqlnet.ora文件,将文件内的DIRECTORY="?/network/admin"替换为实际的钱包路径:
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="~/adb_wallet"))) SSL_SERVER_DN_MATCH=yes
- 执行
tnsping DB_HIGH验证TNS解析是否正常,返回OK即代表配置完成,可重新执行你的expdp导出命令。
小提示:你当前的expdp命令中日志文件名写为了
expot.log,可根据需要修正为export.log避免文件名歧义。
内容的提问来源于stack exchange,提问作者Goku
相关产品推荐
相关产品推荐

