下面信息很明顯,數據庫服務啓動異常。java
C:\WINDOWS\system32>lsnrctl status LSNRCTL for 64-bit Windows: Version 12.1.0.2.0 - Production on 11-10月-2016 05:52:47 Copyright (c) 1991, 2014, Oracle. All rights reserved. 正在鏈接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))) LISTENER 的 STATUS ------------------------ 別名 LISTENER 版本 TNSLSNR for 64-bit Windows: Version 12.1.0.2.0 - Production 啓動日期 10-10月-2016 22:40:52 正常運行時間 0 天 7 小時 11 分 55 秒 跟蹤級別 off 安全性 ON: Local OS Authentication SNMP OFF 監聽程序日誌文件 D:\app\orcl\diag\tnslsnr\LAPTOP-3F3OG0M9\listener\alert\log.xml 監聽端點概要... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=LAPTOP-3F3OG0M9)(PORT=1521))) 服務摘要.. 服務 "ORCL" 包含 1 個實例。 實例 "orcl", 狀態 BLOCKED, 包含此服務的 1 個處理程序... 命令執行成功
數據庫是用不了的。可是致使這個問題的緣由有不少。我這裏只介紹個人這種狀況:我本地IP修改後,數據庫就連不上了。由於在啓動文件裏D:\app\orcl\product\12.1.0\dbhome_1\database\SPFILEORCL.ORA,內容以下。記錄了監聽的地址,我嘗試過使用127.0.0.1或localhost,結果不行。沒辦法,我只能修改文件了。注意:SPFILEORCL.ORA是不能修改的。上述錯誤就是由此形成。而INITorcl001.ORA文件與此內容類似,是容許編輯的。sql
這裏提到的兩個啓動文件的名字都是和數據庫實例ID相關的,不一樣SID,名字不一樣。數據庫
.................................. orcl.__data_transfer_cache_size=0 orcl.__db_cache_size=1862270976 orcl.__java_pool_size=16777216 orcl.__large_pool_size=33554432 orcl.__oracle_base='D:\app\orcl'#ORACLE_BASE set from environment orcl.__pga_aggregate_target=855638016 orcl.__sga_target=2550136832 orcl.__shared_io_pool_size=117440512 orcl.__shared_pool_size=503316480 orcl.__streams_pool_size=0 *._catalog_foreign_restore=FALSE *.audit_file_dest='D:\app\orcl\admin\orcl\adump' *.audit_trail='db' *.compatible='12.1.0.2.0' *..............................................control_files='D:\app\orcl\oradata\orcl\control01.ctl','D:\app\orcl\oradata\orcl\control02.ctl' *.db_block_size=8192 *.db_domain='' *.db_name='orcl' *.diagnostic_dest='D:\app\orcl' *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)' *.enable_pluggable_database=true *.local_listener='(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=172.16.0.174)(Port=1521)))' *.open_cursors=300 *.pga_aggregate_target=810m *.processes=300 *.remote_login_passwordfile='EXCLUSIVE' *.sga_target=2431m *.undo_table ........................
爲了提供多一點的線索,你在sqlplus / as sysdba登陸後,執行show parameter control;和show parameter spfile;命令。對比解決問題先後的輸出變化。安全
SQL> create pfile from spfile; create pfile from spfile **該操做能夠不作,也不要在乎這個錯誤。緣由大體是spfile已經損壞,系統在尋找其餘可做爲替代的啓動文件時沒有找到。 第 1 行出現錯誤: ORA-01565: ???? '%ORACLE_HOME%\DATABASE\SPFILE%ORACLE_SID%.ORA' ??? ORA-27046: ?????????????? OSD-04012: ?????????????? (OS 3586) SQL> shutdown immediate; ORA-01507: ?????? ORACLE 例程已經關閉。 SQL> startup pfile="D:/app/orcl/product/12.1.0/dbhome_1/database/INITorcl001.ORA" ORACLE 例程已經啓動。 ****這裏指明使用pfile啓動,系統默認使用spfile啓動。 Total System Global Area 2550136832 bytes Fixed Size 3048872 bytes Variable Size 671091288 bytes Database Buffers 1862270976 bytes Redo Buffers 13725696 bytes 數據庫裝載完畢。 數據庫已經打開。 SQL> show parameter spfile; ***很明顯沒有獲得想要的結果 NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string SQL> show parameter pfile; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string SQL> show parameter control; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_file_record_keep_time integer 7 control_files string D:\APP\ORCL\ORADATA\ORCL\CONTR OL01.CTL, D:\APP\ORCL\ORADATA\ ORCL\CONTROL02.CTL control_management_pack_access string DIAGNOSTIC+TUNING SQL> create spfile from pfile='D:/app/orcl/product/12.1.0/dbhome_1/database/INITorcl001.ORA'; 文件已建立。 SQL> shutdown immediate; 數據庫已經關閉。 已經卸載數據庫。 ORACLE 例程已經關閉。 SQL> startup; ORACLE 例程已經啓動。 Total System Global Area 2550136832 bytes Fixed Size 3048872 bytes Variable Size 671091288 bytes Database Buffers 1862270976 bytes Redo Buffers 13725696 bytes 數據庫裝載完畢。 數據庫已經打開。 SQL> show parameter pfile; ***看到理想的結果了 NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string D:\APP\ORCL\PRODUCT\12.1.0\DBH OME_1\DATABASE\SPFILEORCL.ORA SQL> show parameter spfile; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string D:\APP\ORCL\PRODUCT\12.1.0\DBH OME_1\DATABASE\SPFILEORCL.ORA