加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle数据库spfile损毁

发布时间:2020-12-12 15:53:17 所属栏目:百科 来源:网络整理
导读:一、 刚开始是这样的 下面信息很明显,数据库服务启动异常。 C:WINDOWSsystem32lsnrctl statusLSNRCTL 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 reserv

一、 刚开始是这样的

下面信息很明显,数据库服务启动异常。

C:WINDOWSsystem32>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
正常运行时间              07 小时 1155 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序日志文件          D:apporcldiagtnslsnrLAPTOP-3F3OG0M9listeneralertlog.xml
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=LAPTOP-3F3OG0M9)(PORT=1521)))
服务摘要..
服务 "ORCL" 包含 1 个实例。
  实例 "orcl",状态 BLOCKED,包含此服务的 1 个处理程序...
命令执行成功

数据库是用不了的。但是导致这个问题的原因有很多。我这里只介绍我的这种情况:我本地IP修改后,数据库就连不上了。因为在启动文件里D:apporclproduct12.1.0dbhome_1databaseSPFILEORCL.ORA,内容如下。记录了监听的地址,我尝试过使用127.0.0.1或localhost,结果不行。没办法,我只能修改文件了。注意:SPFILEORCL.ORA是不能修改的。上述错误就是由此造成。而INITorcl001.ORA文件与此内容相似,是允许编辑的。

这里提到的两个启动文件的名字都是和数据库实例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:apporcl'#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:apporcladminorcladump'
*.audit_trail='db'
*.compatible='12.1.0.2.0'
*..............................................control_files='D:apporcloradataorclcontrol01.ctl','D:apporcloradataorclcontrol02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.diagnostic_dest='D:apporcl'
*.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%DATABASESPFILE%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:APPORCLORADATAORCLCONTR
                                                 OL01.CTL,D:APPORCLORADATA
                                                 ORCLCONTROL02.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:APPORCLPRODUCT12.1.0DBH
                                                 OME_1DATABASESPFILEORCL.ORA
SQL> show parameter spfile;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      D:APPORCLPRODUCT12.1.0DBH
                                                 OME_1DATABASESPFILEORCL.ORA

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读