我的 Oracle 实例有问题。
在命令提示符下运行 lsnrctl stat 时出现以下错误。我什至确认 Oracle 服务正在运行。
侦听器不支持任何服务。
我假设平台是 Windows,Oracle 版本是 11g。当 Oracle 数据库实例启动时,它会尝试将自己注册到默认侦听器或在 init 参数中注册为 local_listener 的侦听器。你能做的是
这是数据库使用动态侦听器的时候。您还可以通过在 listener.ora 文件中输入实例详细信息来使侦听器成为静态侦听器。关于 listener.ora 的文档可在此处找到Oracle Net Listener Parameters (listener.ora)
在创建数据库后创建侦听器时,我们需要显式注册我们的实例。
尝试:
通过启动来启动数据库并通过 lsnrctl status 检查侦听器状态,如果您的实例正在运行,则意味着 pmon 已完成向侦听器本身注册您的实例。
就我而言,这很容易 - 出于某种原因,重新启动我的笔记本电脑后,服务停止工作。所以,Run > services > start OracleService 帮助启动了监听器
我在安装了 CentOS 8 的最新 Oracle 19c 版本时遇到了这个问题。
所以这个 Oracle 数据库实例存在一个错误。
会发生什么: 当您安装 ORACLE DB 时,它会自动创建带有实例的侦听器。问题存在于 Linux 的 Hierarchy File System 以及权限如何在 Sudo 用户组和非 oracle 用户之间分配。
你必须做的:
好的,要解决这个问题,你必须打开你的 bash 配置文件
***nano ~/.bash_profile***
这相当于 Windows 中的环境变量。
在编辑器中写入文本:export ORACLE_HOME=/u01/app/oracle/product/{oracle-version}/dbhome_1
保存并退出
执行:export ORACLE_HOME=/u01/app/oracle/product/{oracle-version}/dbhome_1
测试环境变量: Echo $ORACLE_HOME -- 应该显示结果
执行chmod 777 /home
执行chown -R oracle /home
打开终端 su oracle && cd /u01/app/oracle/product/{oracle-version}/dbhome_1/bin
使用 oracle 帐户执行 ./lsnrctl start - 它应该在没有服务的情况下运行
执行:su {root 帐户} && sudo ./dbstart
it should run run with 1 or 2 error.. its fine as long as it doesn't say "ORACLE_HOME is not set"
返回执行: su oracle && ./lsnrctl status with non root account
就是这样..它现在应该与您的服务和处理程序连接,应该提供要连接的数据库名称的实例。您可以在安装过程中使用sys 作为 sysdba 和密码来登录数据库。
启动侦听器服务后,我必须等待 60 秒,然后服务才会显示为正在运行。因此,如果您输入“lsnrctl stop”,然后输入“lsnrctl start”,您可能需要等待一分钟,“lsnrctl status”才会显示您的侦听器服务。
这个错误的解决方法很简单,首先我们来了解一下为什么会出现这个错误。基本上有两个原因:
1)您的数据库和服务名称在 Oracle 环境中设置不正确,它应该在任何地方都相同检查以下参数值
-ORACLE_SID in oracle environment.
-Check Database Instance name.
-SID_NAME in tnsnames.ora file.
-SERVICE_NAME in listener.ora file.
2) 主机名/IP 地址缺失、不正确或拼写错误,请检查以下内容。
-Check the IP ADDRESS in /etc/hosts file.
-It should be same in listener.ora and tnsnames.ora file
-And it should be able to ping from the local and remote server.
现在看到我也遇到了同样的问题并解决了:
请访问此 StackOverflow 链接: https ://stackoverflow.com/a/45065640/6332029
我希望它会有所帮助,谢谢!
I did check all the things but could not find the cause. So I re-installed the Oracle and using that now.