Oracle修改 tnsnames,完成修改后, 何时生效??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle修改 tnsnames,完成修改后, 何时生效??相关的知识,希望对你有一定的参考价值。

在本机运行 PL/SQL 时候,只能连接本机数据库,不能连接其他机子,判断为 tnsnames.ora配置文件配置有问题。
这是参考相关的配置文档,做好修改后的 tnsnames.ora ;现在依然无法连接到目标数据库
ORA-12514 错误

ORACLE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = PC-20121118KLUI)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oracle)
)
)

EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)

Oracle修改完tnsnames文件后,要重启数据库后生效。

以windows10和oracle10g为例:

1、右键开始菜单—计算机管理。

2、弹出窗口左侧列表选择“服务和应用程序”-“服务”。

3、找到oracle的服务,一般名为:OracleServiceXXX。

4、右键选择停止,停止后再重新启动即可。

参考技术A 修改保存成功后,即时生效。加入以下代码(HOST后面写上你目标服务器的IP地址,SERVICE_NAME =目标服务器的数据库实例化名字)

DB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.4)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oracle)
)
)
参考技术B 这个文件是配置文件,当有客户端程序,比如SQLPLUS尝试一个新的连接,并且此连接包含了@连接字符串,则此次连接便会去tnsnames.ora文件中找有没有你这次指定的这个db_name entry,如果有的话,则读取此配置;如果没有找到的话,则会返回一行错误。

SQL> conn username/password@db_name
参考技术C 保存后立即生效;
看你的连接远程的TNS配置有问题,远程host最好以IP代替,远程的SID是否正确
参考技术D 马上生效,oracle是你本机的实例?

修改本地配置远程连接oracle数据库

  当我们需要查看数据库信息时,我们更愿意通过客户端来查看,这样不仅操作方便,而且查看更精准。那么需要远程连接数据库需要在本地修改那些配置呢?以下是我个人的经验,希望大家都指正。

  1、在oracle安装目录\\oracle\\product\\11.2.0\\dbhome_1\\NETWORK\\ADMIN\\tnsnames.ora文件中添加红线以下的配置,可以换行,但不能有间隔。 


# tnsnames.ora Network Configuration File: E:\\oracle\\product\\11.2.0\\dbhome_1\\network\\admin\\tnsnames.ora
# Generated by Oracle configuration tools.

LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))


ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)

ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)

YT_PX=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.41.1.21)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = matedb)
)
)

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  2、监听本地ip有两种方法

  (1)在\\oracle\\product\\11.2.0\\dbhome_1\\NETWORK\\ADMIN\\listener.ora 文件中监听本地ip                                                                                              

# listener.ora Network Configuration File: E:\\oracle\\product\\11.2.0\\dbhome_1\\NETWORK\\ADMIN\\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = E:\\oracle\\product\\11.2.0\\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\\oracle\\product\\11.2.0\\dbhome_1\\bin\\oraclr11.dll")
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = E:\\oracle\\product\\11.2.0\\dbhome_1)
(SID_NAME = ORCL)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.192.88.220)(PORT = 1521))
)
)

ADR_BASE_LISTENER = E:\\oracle

 

 

 

 

 

 

 

 

 

 

 

 

(2)在菜单栏找到Net Manager 点击进入

 

如下图添加新的监听器监听本地ip 

 

以上是关于Oracle修改 tnsnames,完成修改后, 何时生效??的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE配置,修改tnsnames.ora文件实例

Oracle12C配置对外访问

如何把 sqlserver 数据导入到oracle数据库里

oracle 修改端口

oracle数据库错误1067

ORACLE数据库服务器IP地址变化了,ORACLE需要修改哪?