更改主机名后,连接Oracle实例出现Ora-12154:TNS错误 我在本件创建了数据库实例。更改了主机名后出现了“ORA-12154: TNS: 无法解析指定的连接标识符”错误。检查了tnsnames.ora文件,也尝试对其修改。可依然不能解决。请各位大哥指教如何解决 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 估计还是你的tnsnames.ora配置的不对 我访问的就是我本机的数据库实例,应该不需要配置tnsnames.ora也行的.我也尝试对tnsnames.ora中的配置修改了.还是不行. 1:看TNSNAME2:看LISTENER SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = E:\oracle\product\10.2.0\db_1) (PROGRAM = extproc) ) )GENERATED BY ORACLE CONFIGURATION TOOLS. = Generated by Oracle configuration tools.LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = FHWL-MYH)(PORT = 1521)) ) )这是我listener.ora中的配置。“FHWL-MYH”是更改后的主机名 LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = (改成IP地址))(PORT = 1521)))) 这样的问题,不知道出现的所在,你得在不知道你的Oracle的版本是多少,我这是8Oracl 的界面Network Administration中找到Net8 Assistant 手动添加一个配置了.我也是经常出现这问题.只能手动加了,但是在你做前,把你以前的文件tnsnames.ora备份一下啦. love_2008(找DBA方面的工作中) 正解TNSNAME 和 LISTENER 里面的host都修改成修改后的主机名应该可以的 “FHWL-MYH”中的“-”可能会导致出错!系统支持,但Oracle不一定支持!如果是本机又不想改主机名可以用“127.0.0.1”比较方便! 我修改计算机的名称后也遇到过你说的情况。但我修改了目录:G:\oracle\product\10.1.0\db_1\NETWORK\ADMIN下的tnsname.ora和listener.ora中和计算机名称相关的地方后就正常了(我的oracle软件是安装在g盘下的)。修改方式见下面红色字体:1.tnsname.ora文件# tnsnames.ora Network Configuration File: G:\oracle\product\10.1.0\db_1\network\admin\tnsnames.ora# Generated by Oracle configuration tools.ORCLU = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )2.listener.ora文件SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = G:\oracle\product\10.1.0\db_1) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = orcl) (SID_NAME = orclu) ) )LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) )修改后再重启数据库监听程序。lsnrctl start; 实例起来了没有呀。先检查一下实例的状况。这里listener已经是OK了,看是否是实力和tnsname的配置问题了。 1.TNS里的主机名改为本机IP2.重新运行NET confirgue assistant! # tnsnames.ora Network Configuration File: F:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora# Generated by Oracle configuration tools.ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.81(本机IP地址))(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) ) tnsnamelistenersqlnet这三个文件只要涉及到计算机名的全改成你现在在的计算机名,或IP 奇怪的level,请告诉是怎么用的? 急求WE8DEC字符的转换为UTF8 oracle自动保存sql解析文件,导致根目录空间满,服务起不来的情况。 LINUX OCI8 配置 和 ORACLE 客户端安装 如下情况可以用sql语句完成吗? ORACLE 中模糊查询的LIKE后面的参数要添加小引号怎么办? plsql sql语句查询 求救--创建视图时引用其他用户表时出错! 实体化视图刷新不正常(在线等,快来救命啊) 能不能用SQL语句的到那些表属于那个用户的? oracle数据库没有打开,要采用“sysDBA”模式登录启动 Oracle的 函数 或 存储过程 中怎么 转义
2:看LISTENER
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)GENERATED BY ORACLE CONFIGURATION TOOLS. = Generated by Oracle configuration tools.LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = FHWL-MYH)(PORT = 1521))
)
)这是我listener.ora中的配置。“FHWL-MYH”是更改后的主机名
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = (改成IP地址))(PORT = 1521))
)
)
不知道你的Oracle的版本是多少,我这是8
Oracl 的界面Network Administration中找到Net8 Assistant 手动添加一个配置了.
我也是经常出现这问题.只能手动加了,但是在你做前,把你以前的文件tnsnames.ora备份一下啦.
系统支持,但Oracle不一定支持!
如果是本机又不想改主机名可以用“127.0.0.1”比较方便!
修改方式见下面红色字体:
1.tnsname.ora文件
# tnsnames.ora Network Configuration File: G:\oracle\product\10.1.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.ORCLU =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)2.listener.ora文件
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = G:\oracle\product\10.1.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(SID_NAME = orclu)
)
)LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)修改后再重启数据库监听程序。
lsnrctl start;
2.重新运行NET confirgue assistant!
# Generated by Oracle configuration tools.ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.81(本机IP地址))(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
listener
sqlnet
这三个文件只要涉及到计算机名的全改成你现在在的计算机名,或IP