下面信息很明显,数据库服务启动异常。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