Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 641|回复: 0

转 Oracle监听器启动出错:本地计算机上的OracleOraDb11g_home1TNSListener服务启动后又停止了解决方案

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-8-26 12:25:34 | 显示全部楼层 |阅读模式

    今早刚上班、客户打电话过来说系统访问不了,输入用户名、用户号不能加载出来!听到这个问题,第一时间想到的是不是服务器重新启动了,Oracle数据库的相关服务没有启动的原因、查看服务的时候,发现相关的服务都是启动的状态。第二想法就是查看的程序配置文件是否被修改过、也没有异常;第三个就是用PL/SQL连接Oracle数据库,输入登录名和密码后,提示如下错误:ora-01033:oracle initialization or shutdown in progress;

     

    在网上搜索了一圈,终于发现几个比较有详细步骤的解决方案,参考如下:

     

    第一种解决方法:

    第一步,运行cmd

     第一步、sqlplus /NOLOG

    第二步、SQL>connect sys/change_on_install as sysdba

    提示:已成功

    第三步、SQL>shutdown normal

          提示:数据库已经关闭       已经卸载数据库       ORACLE 例程已经关闭

    第四步、SQL>startup mount

    第五步、SQL>alter database open;

     

    提示:(我在操作的时候没有遇到下边着中错误)

    第1 行出现错误: ORA-01157: 无法标识/锁定数据文件19 - 请参阅DBWR 跟踪文件

    ORA-01110: 数据文件19: ''''C:\oracle\oradata\oradb\FYGL.ORA''

    这个提示文件部分根据每个人不同情况有点差别。

    继续输入 第六步、SQL>alter database datafile 19 offline drop;

    第七步、重复使用第五第六步,直到出现“数据库已更改”的提示,然后如下图,

    继续输入shutdown normal,startup mount就OK啦

     

    内容来源:http://www.2cto.com/database/201202/118194.html

                  http://yuxisanren.iteye.com/blog/1754018

         

        测试了一遍,发现还是没有解决我这个问题;

     

    第二种方法:

     

          把Oracle的相关服务都停止后、在重新启动、发现可以正常登录。

    --------------------------

    一、错误描述

    登陆PL/SQL Developer登陆本地数据库时先报没有监听程序,查看服务发现Oracle监听服务没有启动。右击启动监听程序,报错:

    错误描述:本地计算机上的OracleOraDb11g_home1TNSListener服务启动后又停止了。一些服务自动停止,如果它们没有什么可做的,例如 "性能日志和警报 "服务。

    二、原因分析

    你安装oracle的时候是连网的,那么listener.ora文件里的HOST=网络给你分配的IP地址,而在你断网的时候就会出现这样的情况。

    三、解决办法

    方法一:监听器

    通过listener.ora或者Net Manager修改监听器配置。将原来本地字符串127.0.0.1或者localhost改为主机名。

    首先查阅你的**\product\11.2.0\dbhome_1\NETWORK\ADMIN目录下的"tnsnames.ora"和"listener.ora"这两个文件,然后看看里面的"HOST"信息,看看是不是你当前的ip地址,如果不是尝试着把这个2个文件改成你的ip地址,或直接就改成127.0.0.1(或计算机名字):

    注意:此时的监听配置文件"listener.ora"里面的HOST=的内容(IP或者主机名)必须和,服务配置文件"tnsnames.ora"里面,你想要链接的服务的HOST=的内容完全一致。意思就是说要么都是IP地址,要么都是主机名。如果有多个服务(Net Manager中配置的网络服务)那么查看"tnsnames.ora"文件中与监听HOST内容一致的PL/SQL才可正常登录进去,否则无监听程序。如:

     

    上面这里是"listener.ora"里面的HOST,我的是主机名。

    上面这里是"tnsnames.ora"的配置信息,由于我的机子上面装了两个数据库DB1,DB2。分别建立了连接服务也叫做DB1,DB2。(不知道什么情况,建好后tnsnames.ora里一个HOST是IP地址,另一个是我的主机名。)结果导致DB1的PL/SQL正常连接进入(因为是IP地址和listener.ora的HOST地址完全匹配),而DB2的PL/SQL却提示没有监听程序。(什么情况,DB1不是都正常进入了么咋还没有监听呢。我去~~)后来网上找教程说是【修改"listener.ora"的HOST地址,如果是IP则改成主机名】于是照搬。运行PL/SQL,DB2登陆成功,爽啊。结果DB1没有监听程序(什么情况啊)。后来查看"listener.ora"发现此问题,说明两个文件的HOST的内容需要完全匹配才行,全部改成主机名,两个数据库登陆都成功,搞定!

     

    方法二:环境变量

    环境变量中ORACLE_HOME改为:***(你自己的安装路径)\product\11.2.0\dbhome_1

    有的情况,装貌似安装客户端被自动改为**:\Ora11InstantClient了

     

    方法三:注册表

    KEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/OracleOraDb11g_home1TNSListener

    中的ImagePath改为:D:\oracle\product\10.2.0\db_1/BIN/TNSLSNR.EXE(之前后面的.EXE没有)。

     

    -----------------

     

    今儿一直在测试服务器的迁移问题,不断地创建表空间、创建数据库、创建用户。后来感觉创建这么多东西太占用磁盘空间,心想删除一下吧,于是,我们执行了dbca命令,将没用的数据库统统删除,将dbf和dmp文件也统统删除了,再后来发现服务无法启动了,连接时会提示oracle initialization or shutdown in progress,后来经过查询发现,原来这些dbf和dmp不是说删除就能删除的(当时我们明明发现有的不允许删除,我还是故意停停掉oracle服务,然后将其删除滴),最终导致数据库实例无法启动。

    我的解决过程如下:
    Microsoft Windows [版本 5.2.3790]
    (C) 版权所有 1985-2003 Microsoft Corp.
     
    C:\Documents and Settings\Administrator>sqlplus /nolog
     
    SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 3月 4 18:40:13 2011
     
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
     
    SQL> connect system/hope;
    ERROR:
    ORA-01033: ORACLE initialization or shutdown in progress【就是这个错误】
     
    【解决方法】
     
    SQL> connect sys/hope as sysdba
    已连接。
    SQL> shutdown normal
    ORA-01109: 数据库未打开
     
     
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> start mount
    SP2-0310: 无法打开文件 "mount.sql"
    SQL> startup mount
    ORACLE 例程已经启动。
     
    Total System Global Area  612368384 bytes
    Fixed Size                  1332348 bytes
    Variable Size             183151492 bytes
    Database Buffers          423624704 bytes
    Redo Buffers                4259840 bytes
    数据库装载完毕。
    SQL> alter database open;
    alter database open
    *
    第 1 行出现错误:
    ORA-01157: 无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件
    ORA-01110: 数据文件 5: 'C:\TYKM.DBF'
     
     
    SQL> alter database datafile 5 offline drop;【5是数据文件中的5】
     
    数据库已更改。
     
    SQL> alter database open;【我们一直循环这个语句,直至不再提示错误】
     
    数据库已更改。
     
    SQL> shutdown normal
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup
    ORACLE 例程已经启动。
     
    Total System Global Area  612368384 bytes
    Fixed Size                  1332348 bytes
    Variable Size             187345796 bytes
    Database Buffers          419430400 bytes
    Redo Buffers                4259840 bytes
    数据库装载完毕。
    数据库已经打开。
    这样就解决啦~~~哈哈哈~~~~~~~~~~~~~~~~~~~~
    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-12-22 12:50 , Processed in 0.065569 second(s), 30 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表