每次开机oracle需要重启配置服务器

每次开机oracle需要重启配置服务器,第1张

看看服务里面的那个 TNS 是不是 自动的, 别“手动”了。
如果是 “自动”的了, 但是还有问题。
那么你需要看看,那个 Oracle 的机器, IP地址是不是 通过 DHCP 动态分配的啊?
如果固定 IP 地址的话,应该不大会产生这类问题。
如果 IP地址发生变化,好像比较容易产生这类问题。

解决办法:
1、从另外一台安装有oracle数据库的机器上(要求oracle的版本一致)的注册表中导出所有的oracle服务。
依次打开注册表目录HEY_LOCAL_MACHINE --> SYSTEM --> ControlSet001 --> Services,导出(在注册表项上右键选择“导出”)所有oracle的项:OracleDBConsoleorcl、 OracleJobSchedulerORCL、OracleOraDb10g_home1iSQLPlus、 OracleOraDb10g_home1TNSListener、 OracleServiceORCL,保存为reg文件
2、把上一步中导出的注册表文件,导入服务器上。把文件拷贝到数据库服务器上逐个双击即可。
3、修改导出的所有的注册表项,主要修改数据库实例(SID)名和数据库安装路径。
4、重启数据库服务器。
5、启动oracle的Net Manager工具,删除监听程序LISTENER和服务命名中的本机的服务,并重建监听程序和服务命名。
6、启动oracle服务即可。

我们管理的有三台windows服务器都有这种情况,监听是一点都不敢动,而且重启之后还会d出对话框提示 监听遇到了问题需要关闭,不过这个时候监听还是可以用的,但是一旦手动lsnrctl stop listener之后就起不起来了,这个错误是只有在windows *** 作系统当中才有的,当时我们也没有解决只有重启系统才能把监听启起来,不然的话是没有什么办法启动监听的,最后换成了linux的版本后才稳定下来。 楼主可以考虑将数据库备份后重装一次系统,然后恢复数据库。具体做法是将$ORACLE_BASE/oradata/$ORACLE_SID/ 目录下的所有文件在停机状态下进行copy(包括redo、undo、temp、controlfile、其他数据文件保存起来)还有$ORACLE_HOME/dbs目录下的服务参数文件、密码文件保存下来 ,然后重装oracle,将sid设置为和当前一样的名称,停机将原来保存的文件替换到相应的位置,然后启动数据库即可。
要是这个还不能解决的话,那么就考虑重装系统,然后再安装数据了。 当然这个是最不得已的方法,要是有其他更直接的办法可以解决监听问题的话 那就可以去尝试。

检查下环境变量有没问题: ORACLE_HOMEORACLE_SID,ORACLE_BASE等

检查下你当前执行命令的用户是不是oracle用户

有可能数据库有部分进程吊死了,如依赖的数据文件控制文件等丢失了,进程可能挂死,就停不掉,杀不死,成为所谓的僵尸进程,只有通过重启服务器来搞了

查看其他命令是否能执行,如查询下数据库状态: select open_mode from v$database


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10265903.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-07
下一篇2023-05-07

发表评论

登录后才能评论

评论列表(0条)

    保存