EXP-00056: ORACLE error 12154 encountered

使用如下命令:

/*
exp 用户名/密码@数据库实例名 file=导出文件名 [参数]

其中,参数可以是以下选项之一或多个:
tables=表名:指定要导出的表名,可以使用逗号分隔多个表名。
query=查询语句:指定要导出的查询结果。
constraints=y:导出约束条件。
indexes=y:导出索引。
grants=y:导出授权信息。
triggers=y:导出触发器。
full=y:导出整个数据库。
rows=n:指定要导出的行数,默认为所有行。
*/
exp scott/scott@orcl file=/expdat.dmp full=y

-- 正确方式
exp scott/scott@CONN_orcl file=/expdat.dmp full=y

出现了如下错误:

EXP-00056: ORACLE error 12154 encountered
ORA-12154: TNS:could not resolve the connect identifier specified
EXP-00000: Export terminated unsuccessfully

这个错误信息表示Oracle无法解析指定的连接标识符。这可能是由于TNSNAMES.ORA文件中的连接描述符配置错误或者网络问题导致的。你需要检查你的TNSNAMES.ORA文件和网络设置。

TNSNAMES.ORA 文件通常位于 Oracle 客户端软件的安装目录下的 network/admin 文件夹中。

cd $ORACLE_HOME/network/admin/

 

如果TNSNAMES.ORA文件不存在,您可以尝试手动创建该文件并配置相应的内容:

# 在TNSNAMES.ORA文件中,您需要定义一个或多个连接别名,每个别名对应一项数据库连接的详细信息。包括主机地址、端口号和服务名等,例如:
CONN_orcl = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.144.191)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
  • CONN_orcl是连接别名,SERVICE_NAMEHOSTPORT 应替换为您自己的数据库服务名、主机地址和端口号。
  • 确保系统的环境变量正确设置。特别是 ORACLE_HOMETNS_ADMIN,它们应该分别指向您的 Oracle 主目录和网络管理文件夹的路径。
  • 与服务器端的关系:虽然 TNSNAMES.ORA 文件主要用于客户端配置,但它也与服务器端有关,尤其是在多台服务器之间有数据共享要求的情况下,每台服务器上都可能需要定义该文件。
  • 与其他配置文件的关系:TNSNAMES.ORA 通常与 LISTENER.ORA(监听器配置文件)和 SQLNET.ORA(网络配置参数文件)一起使用,共同构成了 Oracle 数据库的网络连接框架。
posted @ 2024-05-06 20:58  danielzzz  阅读(362)  评论(0编辑  收藏  举报