问题场景:在工做中开始两台电脑单机开发,后面因为有条件就决定将两台电脑经过一根网线组成一个局域络。因而分别在两台电脑分别设置ip地址。设置ip地址以后电脑从新启动后数据库经过dbvisual工具链接不上,但在命令行可以正常链接。数据库
分析过程:查看全部服务发现该启动的服务都启动了,使用lsnrctl status查看监听状态也正常,从正常链接到非正常链接两种状态惟一的区别就是ip地址从单机状态变成了手动设置。因而我尝试着把掉网线从新把oracle的关键服务从新启动。这样尝试以后发现能够链接成功。因而插上网线继续从新启动服务,发现又链接不上了。通过屡次尝试,问题总结为每次从新启动服务或者从新电脑以后又不能链接。从新新建监听以后,数据库又能够链接了,服务器
解决过程:oracle
1、使用NET CONFIGURATION ASSISTANT删除原来的LISTENER,而后从新配置一个LISTENER便可。分布式
注意:须要把原来的监听删除,在新建一个,而不是更新监听。工具
2、重启数据库服务spa
3、将TNSNAME.ORA LISTENER.ORA两个问题的host都改为计算机名。文件目录 (F:\oracle\product\10.2.0\db_1\NETWORK\ADMIN) 命令行
注意事项:在解决过程当中,重启数据库服务或者重启电脑以后不要当即链接数据库,由于数据库服务的启动也须要时间。若是在数据库没有彻底启动以前就链接发现链接不上,可能会影响对问题,或者解决方案的错误判断。 对象
知识扩展:oracle安装以后有7个服务它们分别是:事务
Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)可以让存储基础设备(好比磁盘,阵列等)建立高保真的时间点映像,即映射拷贝(shadow copy)。它能够在多卷或者单个卷上建立映射拷贝,同时不会影响到系统的系统能。(非必须启动)ip
OracleDBConsoleorcl:Oracle数据库控制台服务,orcl是Oracle的实例标识,默认的实例为orcl。在运行Enterprise Manager(企业管理器OEM)的时候,须要启动这个服务。(非必须启动)
OracleJobSchedulerORCL:Oracle做业调度(定时器)服务,ORCL是Oracle实例标识。(非必须启动)
OracleMTSRecoveryService:服务端控制。该服务容许数据库充当一个微软事务服务器MTS、COM/COM+对象和分布式环境下的事务的资源管理器。(非必须启动)
OracleOraDb11g_home1ClrAgent:Oracle数据库.NET扩展服务的一部分。 (非必须启动)
OracleOraDb11g_home1TNSListener:监听器服务,服务只有在数据库须要远程访问的时候才须要。(非必须启动,下面会有详细详解)。
OracleServiceORCL:数据库服务(数据库实例),是Oracle核心服务该服务,是数据库启动的基础, 只有该服务启动,Oracle数据库才能正常启动。(必须启动)