oracle监听服务无法启动问题解决
浅析oracle监听无法启动
本人机器上经常会调试多个项目的系统,各个应用环境不尽相同.
多次遇到oracle监听无法启动的问题,总结下来与大家分享:
1、服务器参数配置问题,如改变的IP、服务器名称(具体改了什么会造成无法监听取决于你的配置文件里用的是机器名还是IP还是域名)
2、安装了系统补丁,从而改变ORACLE服务的方式
TRACE_FILE_LISTENER = "listener"
lsnrctl stop
lsnrctl start
之后得到文件:/tmp/listener.trc看ቤተ መጻሕፍቲ ባይዱ没有异常信息?
三、如果数据库服务启动失败,则很有可能是其注册表项值损坏,最好的做法是以下两步:
1)ORADIM -DELETE -SID oradb 删除数据库服务项
3、文件破坏、"病毒"等问题造成
一、最简单的解决办法,重建listener.ora(可以用图形界面,也可以直接修改文件内容)
二、诊断:
跟踪一下日志,编辑listener.ora这个文件并追加如下内容:
TRACE_LEVEL_LISTENER = 16
TRACE_DIRECTORY_LISTENER = /tmp
2)ORADIM -NEW -SID oradb 新增数据库服务项
注:这个过程中如果出错,就重启计算机!
Oracle12.2监听无法启动解决方法
Oracle12.2监听⽆法启动解决⽅法在⾃⼰的虚拟机的做实验,突然发现使⽤PL/SQL Developer⽆法连接到数据库,报错ORA-12514,说是监听没有启动。
先介绍虚拟机⼀下环境:redhat7.2+GI 12.2.0.1+Oracle 12.2.0.1,为了测试12.2的ASM特性安装了GI。
平时监听程序默认是开启启动的。
但是今天不知道为什么没有启动。
使⽤crsctl查看资源状态:发现监听的状态确实是OFFLINE状态[root@rhel7 .oracle]# crsstat--------------------------------------------------------------------------------Name Target State Server State details--------------------------------------------------------------------------------Local Resources--------------------------------------------------------------------------------ora.DATA.dgONLINE ONLINE rhel7 STABLEora.LISTENER.lsnrONLINE OFFLINE rhel7 STABLEora.asmONLINE ONLINE rhel7 Started,STABLEora.onsOFFLINE OFFLINE rhel7 STABLE--------------------------------------------------------------------------------Cluster Resources--------------------------------------------------------------------------------ora.cssd1 ONLINE ONLINE rhel7 STABLEora.diskmon1 OFFLINE OFFLINE STABLEora.driver.afd1 ONLINE ONLINE rhel7 STABLEora.evmd1 ONLINE ONLINE rhel7 STABLEora.ora12c.db1 ONLINE ONLINE rhel7 Open,HOME=/u01/app/oracle/product/12.2/db_home1,STABLE--------------------------------------------------------------------------------尝试⼿动启动监听,依然报错:[grid@rhel7 ~]$ srvctl start listenerPRCR-1079 : Failed to start resource ora.LISTENER.lsnrCRS-5016: Process "/u01/app/grid/bin/lsnrctl" spawned by agent "ORAAGENT" for action "start" failed: details at "(:CLSN00010:)" in "/u01/app/12.2/grid/diag/crs/rhel7/crs/trace/ohasd_oraagent_grid.trc" CRS-5016: Process "/u01/app/grid/bin/lsnrctl" spawned by agent "ORAAGENT" for action "start" failed: details at "(:CLSN00010:)" in "/u01/app/12.2/grid/diag/crs/rhel7/crs/trace/ohasd_oraagent_grid.trc" CRS-2674: Start of 'ora.LISTENER.lsnr' on 'rhel7' failed根据提⽰查看trc⽂件,看到如下报错:LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 15-NOV-2017 20:03:28Copyright (c) 1991, 2016, Oracle. All rights reserved.Starting /u01/app/grid/bin/tnslsnr: please wait...TNSLSNR for Linux: Version 12.2.0.1.0 - ProductionSystem parameter file is /u01/app/grid/network/admin/listener.oraLog messages written to /u01/app/12.2/grid/diag/tnslsnr/rhel7/listener/alert/log.xmlListening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rhel7)(PORT=1521)))Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))TNS-12555: TNS:permission deniedTNS-12560: TNS:protocol adapter errorTNS-00525: Insufficient privilege for operationLinux Error: 1: Operation not permittedListener failed to start. See the error message(s) above...看到Insufficient privilege for operation这个字样觉得很纳闷,怎么会权限不⾜呢,于是尝试⽤root直接启动监听,依然报错:[root@rhel7 .oracle]# lsnrctl startLSNRCTL for Linux: Version 12.2.0.1.0 - Production on 15-NOV-2017 20:22:30Copyright (c) 1991, 2016, Oracle. All rights reserved.Starting /u01/app/grid/bin/tnslsnr: please wait...TNS-12546: TNS:permission deniedTNS-12560: TNS:protocol adapter errorTNS-00516: Permission deniedLinux Error: 13: Permission denied于是各种百度,下⾯把百度到内容列出来,可能会对看此⽂的同学有⽤,但是对我这种情况没有⽤:主要是说 /var/tmp/.oracle、/tmp/.oracle 这两个⽬录的权限访问问题。
Oracle监听器服务不能启动的解决方法
Oracle监听器服务不启动的时候可采取以下措施予以解决:一、连接主机字符串,提示没有监听器SVRMGR> connect internal/oracle@orcl;ORA-12541: TNS:no listenerSVRMGR>二、运行监听器,提示地址的协议专用组件指定不正确在开始菜单运行中键入lsnrctlLSNRCTL for 32-bit Windows: Version 9.0.1.1.1 - Production on 08-6月-2006 14:31:53 Copyright (c) 1991, 2001, Oracle Corporation. All rights reserved.欢迎来到LSNRCTL,请键入"help"以获得信息。
LSNRCTL> status连接至(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=robust)(PORT=1521))) TNS-01103: 地址的协议专用组件指定不正确TNS-12541: TNS:无监听器TNS-12560: TNS:协议适配器出现错误TNS-00511: 无监听器32-bit Windows Error: 61: Unknown errorLSNRCTL> start启动tnslsnr:请稍候...Failed to start service, error 3.TNS-12536: TNS:可能会阻碍*作TNS-12560: TNS:协议适配器出现错误TNS-00506: *作可能阻塞32-bit Windows Error: 997: Unknown errorLSNRCTL>三、在控制面板中启动服务,出现以下错误服务:在本地计算机无法启动OracleOraHome91TNSListener 服务。
oracle监听器启动出错:本地计算机上的oracleoradb11g home1tnsl
Oracle监听器启动出错:本地计算机上的OracleOraDb11ghome1TNSL...分类:Oracle一、错误描述登陆PL/SQLDeveloper登陆本地数据库时先报没有监听程序,查看服务发现Oracle监听服务没有启动。
右击启动监听程序,报错:错误描述:本地计算机上的OracleOraDb11g_home1TNSListener服务启动后又停止了。
一些服务自动停止,如果它们没有什么可做的,例如"性能日志和警报"服务。
二、原因分析你安装oracle的时候是连网的,那么listener.ora文件里的HOST=网络给你分配的IP地址,而在你断网的时候就会出现这样的情况。
三、解决办法方法一:监听器通过listener.ora或者NetManager修改监听器配置。
将原来本地字符串127.0.0.1或者localhost改为主机名。
首先查阅你的**product11.2.0dbhome_1NETWORKADMIN目录下的"tnsnames.ora"和"listener.ora"这两个文件,然后看看里面的"HOST"信息,看看是不是你当前的ip地址,如果不是尝试着把这个2个文件改成你的ip地址,或直接就改成127.0.0.1(或计算机名字):注意:此时的监听配置文件"listener.ora"里面的HOST=的内容(IP或者主机名)必须和,服务配置文件"tnsnames.ora"里面,你想要链接的服务的HOST=的内容完全一致。
意思就是说要么都是IP地址,要么都是主机名。
如果有多个服务(NetManager中配置的网络服务)那么查看"tnsnames.ora"文件中与监听HOST内容一致的PL/SQL才可正常登录进去,否则无监听程序。
如:上面这里是"listener.ora"里面的HOST,我的是主机名。
oracle 监听无法启动
(DESCRIPTION =
(ADDRESS = (PROTOCOL= TCP)(Host= test)(Port= 1521))
(CONNECT_DATA = (SID = oracle7))
)
)
STARTUP_WAIT_TIME_LISTENER = 0
CONNECT_TIMEOUT_LISTENER = 10
TRACE_LEVEL_LISTENER = OFF
2、 编辑$ORACLE_HOME/network/admin下的tnsnames.ora文件为:
(ADDRESS= (PROTOCOL= IPC)(KEY= PNPKEY))
(ADDRESS= (PROTOCOL= TCP)(Host= test)(Port= 1521))
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME= test.)
(ORACLE_HOME= /usr/oracle/app/oracle/product/7.3.4)
(SID_NAME = oracle7)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IBMThinkPad)(PORT = 1521))
)
)
)
当看到这一行HOST=IBMThinkPad的时候,问题解决了。原来是由于几天装好Oracle后,又改了Windows的计算机名,而这个配置文件中记录的监听主机名还是原来的名称,这也就怪不得,OracleOraHome90TNSListener服务无法启动了,马上修改为现在的计算机名,再次启动OracleOraHome90TNSListener服务成功,PL/SQL Developer连接Oracle数据库成功,不能登陆故障排除。
oracle无法启动监听
oracle无法启动监听博客分类:oracleoracle监听无法启动问题描述:1.远程链接正常,可以使用pl/sql developer链接到远程的数据库,但是本地数据库服务开启后无法链接2.本地数据库监听打不开,在命令提示符方式下输入lsnrctl start;sqlplus /nologconn sys/[数据库用户名]i@orcl as sysdba;start;可以打开本地库,但是使用pl/sql developer无法链接到本地数据库,提示无监听,当在windows服务中启动本地监听时,出现错误本地计算机上的oracleoradb10g_home1TNslistener 服务启动后停止,意思为本地监听己经被占用异常的地方:1.打开windows服务,里边有好几个监听,这些监听在服务里显示是未启动。
2.打开注册表,找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/oracl******lister发现有好几个不同的监听.试用过的解决方法:1.查看网上资料,这种情况一般情况下都是配置文件信息不正确,监听不能正确读取本机的配置信息。
2.查看本地配置文件我的oracle是装在E:\oracle\product\10.2.0,查看安装路径下的配置文件E:\oracle\product\10.2.0\db_1\network\ADMIN下的listener.ora和tnsnames.ora的配置信息,并查看其下的host选项,都正确指向本机,其名称为localhost,或者是本机的计算机名,查询无故障,但是依然链接不上具体解决方法:1.使用oracle自带工具netConfiguration assistant工具删除本地计算机所有监听,然后再重新新建一个名为listener的新监听,监听指向本机数据库。
2.查看本地windows服务,启动刚建立的新监听,试着启动一下,如果无法启动新建立的监听,进入注册表里,找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/oracl******lister,把除了刚新建立的监听外的其它多余的监听全部删掉,然后重启电脑.启用本地数据库服务,启用本地监听,登录数据库,显示成功.问题解决问题产生原因分析:产生这种问题的原因是,本地启用了多个监听,导致本地监听开启的时候提示监听己经运行,并强制结束当前监听.分析过后发现是以前使用远程数据库的时候,自己不小心多建立的监听,其时链接远程数据库的时候,只需要建立不同的服务就可以了,监听只需要建立一个. 现在网上贴出好多处理这种问题的贴子,总结起来不外乎以下几种1.查看数据库配置文件listener.ora和tnsnames.ora中的host值是否正确指向本机.2.查看注册表中的监听HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/oracl******lister下的imagePath是否有值,如果没有添加其值,指向你的oracle数据库,比如我的本机值为E:\oracle\product\10.2.0\db_1\BIN\TNSLSNR3.查看数据库环境变量是否配置,我感觉这个没有什么大不了的。
如何解决oracle中监听无法启动找不到系统路径
如何解决oracle中监听无法启动找不到系统路径!2007-09-15 11:33今天上午,在登入oracle时空然我提示找不到监听.在启动监听服务时出现无法启动OracleOraHome92TNSListener服务错误3系统找不到指定的路径!从客户端连接到服务器,出现了这个错误,ora12541-TNS 没有监听器于是,在服务器中启动OracleOraHome92TNSListener服务,显示“在本地计算机无法启动OracleOraHome92TNSListener服务,错误3,系统找不到指定路径”。
原因:Windows优化大师将Oracle的监听服务给优化了还有一种造成本地oracle无法启动的原因是安装时的主机名与当前主机名不同,也就是说安装完oracle后更改了主机名造成。
解决办法1;打开注册表(regedit)找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentContorlSet/Services/OracleOraHome92T NSListener找到后单击,在右侧里面单击右键,新建一个(可扩充字符串值)起名字为 ImagePath 在数值数据中写入C:\oracle\ora92\BIN\TNSLSNR 后退出注册表,重新启动即可。
(其中C:\oracle\ora92\BIN\TNSLSNR 是你oracle安装目录中的一个.exe文件:方法2:进入注册表中修改ImagePath在运行处执行REGEDIT进入注册表到HKEY_LOCAL_MACHINESYSTEM CurrentControlSet ServicesOracleOraHome92TNSListener发现ImagePath关键值没有了,增加他,选择可扩充字符串值,编辑字符串的数值数据为:fOracleOra92BINTNSLSNR退出注册表。
启动监听器即可!进入注册表中修改ImagePath在运行处执行REGEDIT进入注册表到HKEY_LOCAL_MACHINESYSTEM CurrentControlSet ServicesOracleOraHome92TNSListener发现ImagePath关键值没有了,增加他,选择可扩充字符串值,编辑字符串的数值数据为:fOracleOra92BINTNSLSNR退出注册表。
Oracle数据库监听配置与报错解决方法
Oracle数据库监听配置与报错解决方法作者:范美卉张俊萌来源:《电脑知识与技术》2023年第24期关键词:监听日志;Oracle数据库;监听器中图分类号:TP311 文献标识码:A文章编号:1009-3044(2023)24-0073-030 引言想要使用Oracle数据库,首先需要用户与数据库建立连接,而怎么在两者之间建立连接,Oracle使用了一个叫网络服务的概念,从而客户端或者中间层的应用服务器与数据库服务器能建立连接,并能在两者之间传递数据。
在客户端,网络服务作为后台运行的进程,在数据库服务器端,网络服务则通过一个叫“监听器”的组件接收来自客户端的连接请求。
监听器(LIS⁃TENER)是位于服务器端的、独立运行的一个后台进程,运行在服务器端,但独立于数据库服务器单独运行,在数据库没有启动的时候,监听器也能独立运行。
1 Oracle 数据库监听配置Oracle监听负责监听客户端传入的连接请求,同时也负责调整服务器的连接负荷。
客户端试图连接数据库服务器时,监听器将接收到客户端的请求并将其传递给服务器进行处理。
一旦客户端与服务器建立连接,它们之后将直接进行通信,而不再需要监听器的介入,监听器将保持空闲状态。
dbca建库后一般会有默认配置好的监听,默认服务端口是1521,通常一个库一个监听就足够,但如果需要处理大量并发请求数,就可能需要配置多个监听,非默认监听的端口号设置成大于1024,不同监听之间服务名和端口号不能一样[1]。
配置监听器有两种方法。
1.1 通过图形界面工具Net Manager如图1所示,选中图中的Oracle Net配置下的本地树形目录中的监听程序项,再点击左侧绿色的“+”按钮添加监听程序,点击监听程序目录,新加的监听器名称默认为LISTENER。
选中该名称,窗口右侧栏的下拉选项中含有四个选项:一般参数、监听位置、数据库服务、其他服务,选中“监听位置”,点击添加地址按钮。
在出现的网络地址栏的协议下拉选项中选中“TCP/IP”,主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端,输入两项之一均有效;如果主机作为服务端并需要通过网络连接,建议输入IP地址),端口文本框中输入数字端口,默认是1521,也可以自定义任意有效数字端口[2]。
Oracle解决监听启动不了打不开NetConfigurationAssistant等问题
Oracle解决监听启动不了打不开NetConfigurationAssistant等问
题
因为有两个Oracle客户端,所以经常要改环境变量,改了环境变量后,突然就启动不了监听了,启动时就弹⼀个框,说启动后停⽌balabala,捣⿎了好久,终于⼜正常了,不知道怎么正常的,就说⼀下步骤吧
1.去注册表中删除有关服务
Win+r
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\OracleTNSListener
删掉这个项,重启电脑后,发现listener服务没了
2.然后修改环境变量
ORACLE_HOME:D:\app\Administrator\product\11.2.0\dbhome_1
path:D:\app\Administrator\product\11.2.0\dbhome_1\BIN
然后点开oracle中的net manager,
将原本的监听程序删掉,然后点击Net Configuration Assistant,这时候发现能打开了,
点击下⼀步
反正就是⼀直下⼀步就对了,最后有⼀个说是否配置新的监听时点击否,然后完成就可以了,这时候它会启动你的新监听
总结了⼀下,主要是环境变量改了就好了,但是之前改了也不⾏,后来删掉监听重新建⽴就好了,跟之前的环境变量⼀⽑⼀样。
总之就是之前的监听被玩坏了,要重新建⽴新监听就对了。
^_^。
(重复)TC中oracle监听服务启动后停止解决方法-肖杰——【Team Center 精品培训资料】
1
TC 中Oracle 监听服务启动后停止解决方法
作者:肖杰 审校:吴明敏 适用版本:Teamcenter10.1
有时候我们会遇到数据库监听程序启动后停止,导致TC 无法正常启动。
如图1
图1
此时需要更改网关:在虚拟机的编辑菜单下选择虚拟网络编辑器。
如图2
图2
设置子网IP 和虚拟机里面的IP 相同。
注:虚拟机的网络适配器设置为NET 模式。
如图
3
图3
在命令行窗口输入命令:ipconfig,找到本机的IP。
如图4
1
1
图4
找到TC 安装路径下的
~\app\infodba\product\11.2.0\dbhome_1
至NETWORK\ADMIN 文件夹内找到ADMIN 文件夹下的listene.ora 文件。
如图5。
图5
打开listene.ora 文件,修改HOST = 本机的IP 地址。
如图6
图6
重新启动监听即可。
如图
7。
Oracle监听无法启动 解决方法
OracleDBConsoleorcl无法启动解决方法好久没有用Oracle 机器本来就不咋的,网络还不稳定,搞得安装个Oracle也问题不断,刚刚又遇到一个问题:OracleDBConsoleorcl 无法启动,网上找了个解决办法蛮有效果的留下来:最快速解决方法(先固定网络IP地址)找到监听程序先更改服务名地址(orcl)一般为本机服务名再改监听地址在文件里面保存网络配置然后重启电脑就可以了。
紧接着找到tomcat文件apache-tomcat-6.0.41\webapps\bzfs\WEB-INF\classes下面的applicationContext-resources.xml文件,修改ip地址127.0.0.1cmdemctl start dbconsole无法启动错误代码为2 (安装oracle10g为联网的,后来更换网络环境)1、如果报没有ORACLE_SID 则配置环境变量同时也可在cmd命令行set ORACLE_SID=orcl在【我的电脑】【属性】【高级】【系统变量】新建ORACLE_SID 值为orcl2、也可以考虑在C:\WINDOWS\system32\drivers\etc目录下hosts文件加入主机和对应更换后的ip (如果经常换ip,就显得麻烦)例:127.0.0.1 localhost#192.168.1.23 MICROSOF-8E99BB3、如果是报OC4J Configuration issue.C:\oracle\product\10.2.0\db_1\oc4j\j2ee\OC4J_DBConsole_MICROSOF-8E99BB_orcl not found.在对应目录下拷贝目录OC4J_DBConsole_localhost_orcl 并且重命名为OC4J_DBConsole_MICROSOF-8E99BB_orcl4、又是报EM Configuration issue.C:\oracle\product\10.2.0\db_1\MICROSOF-8E99BB_orcl not found.同样在对应目录下拷贝目录localhost_orcl,并且更名为MICROSOF-8E99BB_orcl5、一般可以成功启动了如果还是不能如变成错误代码为3的话(这次没有遇到过)A、重新进入cmd命令行,创建新配置,输入emca -repos recreate,根据提示分别输入如下信息:数据库SID: orcl监听程序端口号: 1521SYS 用户的口令:SYSMAN 用户的口令:是否继续? [yes(Y)/no(N)]: y2011-09-09 14:53:50 oracle.sysman.emcp.EMConfig perform信息: 正在将此操作记录到E:oracleproduct10.2.0db_1cfgtoollogsemca uosiemca_2011-09-09 _02-53-35-下午.log。
Oracle监听服务无法启动
Oracle监听服务⽆法启动本地计算机上的OracleOraDb11g_home1TNSListener服务启动后⼜停⽌了解决⽅案 . (我的系统是win7 装的Oracle 11g )1、错误描述:本地计算机上的OracleOraDb11g_home1TNSListener服务启动后⼜停⽌了。
⼀些服务⾃动停⽌,如果它们没有什么可做的,例如 "性能⽇志和警报 "服务。
2、解决办法:D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN下的listener.ora这个⽂件⾥的内⽂件容改⼀下 HOST=你的计算机名字。
3、原因分析:造成这种错误的原因是:安装oracle的时候是连⽹的,那么listener.ora⽂件⾥的HOST=⽹络给你分配的IP地址,⽽在你断⽹的时候就会出现这样的情况。
⼿动启动⼀个问题:本地计算机上的 OracleOraDb11g_home1TNSListener服务启动后停⽌。
某些服务在未由其他服务或程序使⽤时将⾃动停⽌。
问题⼀:⾸先查阅你的【NETWORK\ADMIN】⽬录下的【tnsnames.ora】和【listener.ora】这两个⽂件,我的路径是:D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN;然后看看⾥⾯的【HOST】信息,看看是不是你当前的ip地址,如果不是尝试着把这个2个⽂件改成你的ip地址,或直接就改成127.0.0.1(或计算机名字)localhost :Java代码LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))(ADDRESS = (PROTOCOL = TCP)(HOST =127.0.0.1)(PORT = 1521))))[java]LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))(ADDRESS = (PROTOCOL = TCP)(HOST =127.0.0.1)(PORT = 1521))))LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST =127.0.0.1)(PORT = 1521)) ) )然后启动监听器就好了。
ORACLE启动监听失败
SQL> startup
ORACLE例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /home/oracle/oracle10g)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = zxin)
ff02::3 ipv6-allhosts
192.168.1.105linux-3gb//linux-3gb为主机名
3.查看/home/oracle/oracle10g/network/admin/listener.ora下的hostname
linux-3gb:~ # cat /home/oracle/oracle10g/network/admin/listener.ora
ORACLE启动监听失败?
1.查看主机名字:uname–n或hostname,修改主机名字命令:hostname主机名
linux-3gb:~ # uname -n
linux-3gb//此为主机名
2.查看/etc/hosts下hostname名字
linux-3gb:~ # cat /etc/hosts
你可以在.bashrc里面加进:
无法启动oracle监听处理
【LISTENER】主机名修改为IP地址后LISTENER无法监听到实例----为什么listener.ora文件里面HOST后面到底应该输入IP地址还是主机名。
我的经验告诉我,这边最好使用主机名。
很多的时候,一个机器绑定的不只一个IP地址,如HOST后面是IP地址,那么ORACLE的listener只会监听指定的IP地址的访问请求,本机其它IP地址的连接都会拒绝的。
另外,创建监听的时候,listener.ora文件默认创建的就是主机名。
那么,如果没有特别的需要,就不要再去画蛇添足的修改host_name为IP地址了。
将listener.ora和tnsnames.ora文件中的HOST信息从原来的主机名字修改为IP地址后,监听可以启动,但是无论如何也监听不到数据库实例的信息(即使反复重启数据库)。
修改后重新启动监听,但是监听一直保持在如下的状态LSNRCTL> statusConnectingto(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=144.194.192.183)(PORT =1521)))STATUS of the LISTENER------------------------Alias LISTENERVersion TNSLSNR for Linux: Version 10.2.0.1.0 - ProductionStart Date 21-JUL-2009 14:34:20Uptime 0 days 0 hr. 0 min. 36 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /oracle/app/oracle/product/10.2.0/db_1/network/admin/listen er.oraListener Log File /oracle/app/oracle/product/10.2.0/db_1/network/log/li stener.logListening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=144.194.192.183)(PORT= 1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))Services Summary...Service "PLSExtProc" has 1 instance(s).Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...The command completed successfully.【问题原因】罪魁祸首在/etc/hosts文件!!先看一下在我处理之前该文件的内容:[root@testdb ~]# cat /etc/hosts# Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1 testdb localhost.localdomain localhost::1 localhost6.localdomain6 localhost6在这种默认配置下(操作系统安装后的状态),主机名字和本机的IP地址没有对应起来. .【问题解决】(1)将/etc/hosts内容修改为:[root@testdb ~]# cat /etc/hosts# Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1 localhost.localdomain localhost::1 localhost6.localdomain6 localhost6144.194.192.183 testdb比较一下与之前文件的不同,这里修改的内容如下:1)将127.0.0.1后面的testdb主机名删除2)添加IP地址和主机名对应关系144.194.192.183 testdb通过ping主机名testdb的方式验证一下修改后的效果:ora10g@testdb /home/oracle$ ping testdbPING testdb (144.194.192.183) 56(84) bytes of data.64 bytes from testdb (144.194.192.183): icmp_seq=1 ttl=64 time=0.082 ms64 bytes from testdb (144.194.192.183): icmp_seq=2 ttl=64 time=0.047 ms64 bytes from testdb (144.194.192.183): icmp_seq=3 ttl=64 time=0.050 ms到此,主机名testdb与IP地址144.194.192.183建立起了对应关系。
Oracle监听服务启动失败案例
在ORACLE测试服务器上还原恢复了一个数据库后,启动监听服务时出现了TNS-12541, TNS-12560,TNS-00511之类的错误,具体情况如下所示:[oracle@getlnx01 admin]$ lsnrctl statusLSNRCTL for Linux: Version 10.2.0.4.0 - Production on 09-MAR-2015 09:13:29Copyright (c) 1991, 2007, Oracle. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1))) TNS-12541: TNS:no listenerTNS-12560: TNS:protocol adapter errorTNS-00511: No listenerLinux Error: 111: Connection refusedConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=1521)) )TNS-12541: TNS:no listenerTNS-12560: TNS:protocol adapter errorTNS-00511: No listenerLinux Error: 111: Connection refused[oracle@getlnx01 dbs]$ lsnrctl startLSNRCTL for Linux: Version 10.2.0.4.0 - Production on 09-MAR-2015 09:20:46Copyright (c) 1991, 2007, Oracle. All rights reserved.Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...TNSLSNR for Linux: Version 10.2.0.4.0 - ProductionSystem parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.oraLog messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener.logListening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1))) TNS-12547: TNS:lost contactTNS-12560: TNS:protocol adapter errorTNS-00517: Lost contactLinux Error: 104: Connection reset by peerConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=1521)) )TNS-12541: TNS:no listenerTNS-12560: TNS:protocol adapter errorTNS-00511: No listenerLinux Error: 111: Connection refused因为曾经遇到并解决过TNS-12541这类错误,立即检查/etc/hosts文件,结果发现IP地址写错了,正确的IP地址应该为192.168.7.221,而不是粗心手误写错的192.168.7.211 [root@getlnx01 ~]# more /etc/hosts# Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1 getlnx01192.168.7.211 getlnx01修改为正确的IP地址后,依然出现这个错误,后面查看了官方文档Starting TNS Listener or LSNRCTL Start Yields TNS-12541, Linux Error: 111: Connection Refused (文档ID 343295.1)后,才发现是因为本地主机环回名称和地址不正确所致,修改/etc/hosts后,重启监听服务,问题解决。
oracle监听启动不了的问题-华仔的博客-CSDN博客
oracle监听启动不了的问题-华仔的博客-CSDN博客oracle监听启动不了的问题收藏1 问题描述oracle数据库在服务器上运行正常,但是不能通过网络连接(即使用客户端不能连接数据库,在服务器端正常,诊断的初步原因为监听器问题)。
在服务器端使用以下命令:bash-3.1$ cd $ORACLE_HOME/binbash-3.1$ ./lsnrctlLSNRCTL> status结果出现:CONNECT(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1))) 然后就停止不动了,使用LSNRCTL> start后没有任何反应,其结果是监听器启动不了。
2 分析问题首先,使用以下命令bash-3.1$ cd $ORACLE_HOME/network/adminbash-3.1$ dir后,发现listener.ora和tnsnames.ora文件都在该目录下,然后bash-3.1$ gedit listener.ora里面有部分内容如下:LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))(ADDRESS = (PROTOCOL = TCP)(HOST = RHEL)(PORT = 1521))))然后,再查看tnsnames.ora文件bash-3.1$ gedit tnsnames.ora里面的内容如下:ORCL =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = RHEL)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))使用hostname命令来查看主机名是否有错,如下bash-3.1$ hostname得到的结果是:RHEL至此,这两个文件都很正常,说明监听的配置是没有问题的,于是想到问题可能出在服务器的IP上。
oracle监听无法自动启动重启节点长时间无法启动
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ivr1-vip)(PORT = 1521)(IP = FIRST)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ivr2-vip)(PORT = 1521)(IP = FIRST)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) ) ) 因为ivr2的VIP没有在ivr1 节点上,因此导致监听服务无法重启。 4 操作
# listener.ora.ivr1 Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora.ivr1 # Generated by Oracle configuration tools.
修改文件为
listener.ora samples shrept.lst sqlnet.ora tnsnames.ora [oracle@ivr1 admin]$ vi listener.ora
# listener.ora.ivr1 Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora.ivr1 # Generated by Oracle configuration tools.
TNS-00511: No listener Linux Error: 111: Connection refused [oracle@ivr1 ~]$ lsnrctl start
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
办法一:修改注册表
解决办法就是修改注册表,ImagePath
开始-->运行REGEDIT -->进入注册表找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleXXXTNSListener
5.再启动Listener1监听服务,可以连接到数据库。
本文来自CSDN博客,转载请标明出处:/hittata/archive/2009/04/10/4061562.aspx
2.进入“命令提示符”,运行“监听控制程序——LSNRCTL”,再运行“start listener1”,首次启动Listener1监听程序,为Listener1在操作系统服务里生成相关服务项。为了后面的修改操作能够生效,再运行“stop listener1”停止Listener1。
3.将服务中原Listener服务的“启动类型”改为“已禁用”,将已生成的Listener1服务的“启动类型”改为“自动”。
4.用“记事本”打开监听服务配置文件“ORACLE_HOME \ network \ admin \ listener.ora”,将“LISTENER =”、“SID_LIST_LISTENER =”分别改为“LISTENER1 =”、“SID_LIST_LISTENER1 =”,并删除当前的“LISTENER1 =”、“SID_LIST_LISTENER1 =”项。该操作的作用为:不用费力为Listener1监听服务再配置常规参数、数据库监听等,直接采用原Listener服务的配置。
发现ImagePath关键值没有了,新建一个名为ImagePath的可扩充字符串值,编辑字符串的数值数据为:Oracle安装路径\BIN\TNSLSNR
办法二:重新配置个监听器
1.停掉所有ORACLE服务,设为手动。进入oracle网络管理工具“Net8 Configration Assistant”或“Net8 Assistant”,重新配置一个监听服务,名为“Listener1”。