对于oracle 12c最新版的数据库,在安装建库的过程中,我们会遇到很多的问题,在这里我讲我遇到的问题整理了一下,并且给出相应的解决方案。
1.ORA-12500: TNS: 监听程序无法启动专用服务器进程
顾名思义,这类问题与相关的监听服务有关
先确保数据库是否已经打开,相关服务已经启动
sqlplus /nolog
conn /as sysdba
startup打开cmd后执行:lsnrctl status
可以检查到相关的监听器服务是否打开,根据所在调用的数据库来查看,看使用的数据库所需要的服务是否开启,例如是sid:orcl的数据库相关联服务,如果在cmd检查中没有打开可以通过任务管理器中服务列中查找到相关的服务将其重启打开,oraclevsswrite—oracleservice—listener—oraclescheduler—,一般是其中的service和listener没有启动,将服务重启之后可以解决。
进行监听器的重新配置,打开net configuration assistant 对于已有的监听器进行重新配置。 并打开netmanager检查用户localhost端口1521等是否没有异常。
2.ORA-12560:TNS:协议是配器错误
造成错误的问题的原因有三个:
监听服务没有起起来。
windows平台个一如下操作:开始—程序—管理工具—服务,打开服务面板,启动oraclehome92TNSlistener服务。database instance没有起起来。
windows平台如下操作:开始—程序—管理工具—服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID.注册表问题。
regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性–高级–环境变量—系统变量–新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下输set oracle_sid=XXXX,XXXX就是你的database SID.
3.端口占用问题
cmd执行netstat -ano|findstr 1521
cmd执行netstat -ano找到localaddress 中占用的端口
查询到正在执行的进程pid
taskkill /pid ** /f
打开服务面板,找到运行的pid进程将其结束
将进程结束,所占用的端口将被释放
4.ORA-12505 Listener refused the connection
sid、用户名等确保与建立的数据库相匹配
-
重启一下电脑,释放被占用的1521端口
重启后打开Oracle Develpoer
然后运行cmd,打开命令提示符,输入命令lsnrctl先运行stop,然后再start
打开资源管理器
运行C:\oraclexe\app\oracle\product\10.2.0\server\BIN\tnslsnr.exe
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleXETNSListener
ImagePath键值:C:\oraclexe\app\oracle\product\10.2.0\server\BIN\tnslsnr.exe
暂时整理了以上四种问题,一般情况下确保关联监听服务正常打开,服务器sid等配置无误,都能测试成功连接。