用 expdp oracle 导出表
Posted
技术标签:
【中文标题】用 expdp oracle 导出表【英文标题】:export table with expdp oracle 【发布时间】:2021-07-24 11:16:52 【问题描述】:我正在尝试从我的 oracle 数据库中导出一个 SID=DB034 且用户名=b034 的表。我正在使用这个命令:
expdp b034/aDmin123456789@DBB034 tables=B034.BIL_CUSTOMER_GROUP, DEPT directory=exp_test dumpfile=dump_test.dmp logfile=log_test.log
我的目录是正确的,并且我已授予 b034 用户权限。运行命令后出现此错误:
ORA-12154: TNS:could not resolve the connect identifier specified
谁能帮我解决这个问题?
【问题讨论】:
你在谷歌上搜索“ORA-12154”时发现了什么? @EdStevens说可能是数据库的IP地址和expdp要连接的IP不一样。 我不知道你发现了什么说 ORA-12154 与 IP 地址有任何关系。它没有。这意味着仅在 tnsnames.ora 文件中找不到您的连接字符串(在您的情况下为 DBB034)。 【参考方案1】:ORA-12154
最常见的原因是在 TNSNAMES.ORA
文件中找不到数据库别名 (DBB034
)(expdp
正在使用该文件。如果您安装了多个 Oracle 产品你的电脑,我建议你使用TNS_ADMIN
环境变量。如果需要说明请说)。
这有点像老式电话 - 你想给某人打电话,但在任何电话簿中都找不到他们的名字。
那么,该怎么办?将DBB034
添加到TNSNAMES.ORA
。
正如您在评论中询问的那样,TNSNAMES.ORA
别名的外观如何,您在这里:
DBB034=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=11.222.33.44) --> put host name or its IP address here
(PORT=1521) --> usually 1521, but doesn't have to be
)
(CONNECT_DATA=
(SERVICE_NAME=dbb034) --> lucky guess; maybe it is called differently
)
)
基本上,如果您不确定要在其中添加什么,请询问您的 DBA,他们知道。
【讨论】:
感谢您的回复。你能给我更多关于如何做到这一点的细节吗?或任何可以提供帮助的链接? 我贴了一个例子;看看吧。以上是关于用 expdp oracle 导出表的主要内容,如果未能解决你的问题,请参考以下文章
如何使用expdp和impdp命令将一个数据库的表空间导入到另一个数据库中?(oracle 10g)