轉 Oracle監聽器啟動出錯:本地計算機上的OracleOraDb11g_home1TNSListener服務啟動后又停止了解決方案


今早剛上班、客戶打電話過來說系統訪問不了,輸入用戶名、用戶號不能加載出來!聽到這個問題,第一時間想到的是不是服務器重新啟動了,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
數據庫裝載完畢。
數據庫已經打開。
這樣就解決啦~~~哈哈哈~~~~~~~~~~~~~~~~~~~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM