修改spfile导致oracle无法启动

今天尝试着调整一下数据库的性能,由于疏忽没有做好备份(spfile.ora),直接修改了MEMORY_TARGET参数,
alter system set MEMORY_TARGET=4096m;
导致重启ORACLE时不能连接ORACLE时报:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
开始是以为数据库崩溃,因为无法登陆,也不能通过指定pfile启动,都恨不得重装数据库了,后来一想,既然报的是“服务名”,就从这里着手吧,发现未设置对服务名的监听(Oracle10g默认安装后不自动设置监听):

1. 打开<OracleHome>/network/admin/listener.ora文件,找到:
   SID_LIST_LISTENER =
   (SID_LIST =
     (SID_DESC =
       (SID_NAME = PLSExtProc)
       (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
       (PROGRAM = extproc)
     )
   )

2. 添加:
   (SID_DESC =
     (GLOBAL_DBNAME = WLAN)
     (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)  
     (SID_NAME = WLAN)
    )

3. 最后变成:
   SID_LIST_LISTENER =
   (SID_LIST =
     (SID_DESC =
       (SID_NAME = PLSExtProc)
       (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
       (PROGRAM = extproc)
     )
     (SID_DESC =
       (GLOBAL_DBNAME = CORCL)
       (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)  
       (SID_NAME = CORCL)
      )
   )

4. 保存文件,重启服务中的TNSListener,登录成功!

从cmd窗口登录成功
conn sys/[email protected] as sysdba;

然后通过pfile启动数据库
startup pfile=‘D:\oracle\product\10.2.0\admin\dbs\pfile\init.ora‘;

成功启动,然后创建spfile
create spfile from pfile=‘D:\oracle\product\10.2.0\admin\dbs\pfile\init.ora‘;

重新启动数据库,OK,启动成功,登录成功!大功告成!

通过此事,得到教训,做任何事情都必须做好备份。

SPFILE参数ORACLE启动解决方案

时间: 2024-10-27 13:31:45

修改spfile导致oracle无法启动的相关文章

Linux 修改inittab导致系统无法启动修复

以红帽Linux为例,由于修改inittab内容不当,导致系统无法启动. 解决思路:启动时修改grub参数,进入单用户模式,将inittab文件恢复,重新启动系统即可.而且该方法不需要光盘启动,特别适合虚拟机下的inittab等文件的恢复. 解决步骤: 1.修改grub参数. 在启动Linux时,按上下键,进入启动参数选择模式. 2.按e键进入grub参数编辑模式. 3.选择启动项,将rhgb参数修改为single,敲回车返回,再按b键启动Linux. 将 grub append>ro root

修改oracle系统参数spfile导致数据库无法启动解决

错误示范: SQL> alter system set nls_date_format='yyyy-mm-dd 24hh:mi:ss' scope=spfile;System altered.我更改了数据库的日期格式后,重启后,数据库打开不了了.ORA-01821: date format not recognized,有没有人知道怎么改回去. 大意 hh24 写成了24hh 解决步骤: 1.可能需要重配netca,启动监听到实例. 2.startup pfile=/u01/app/oracle

初始化参数文件修改错误导致Oracle无法startup

1.修改初始化文件为错误的值 --错误的修改 SQL> alter system set db_block_buffers=1000 scope=spfile; 系统已更改. SQL> shutdown immediate 数据库已经关闭. 已经卸载数据库. ORACLE 例程已经关闭. SQL> startup ORA-00824: cannot set SGA_TARGET or MEMORY_TARGET due to existing internal settings ORA-

表空间文件被删除导致oracle无法启动

表空间  GTI40_DATA01 数据文件GTI40_DATA01.dbf被我删除了 我再运行drop tablespace qwer 会报错 ORA-01116: 打开数据库文件48时出错 ORA-01110: 数据文件 48: '/data/GTI40_DATA01.dbf' ORA-27041: 无法打开文件 Linux Error: 2: No such file or directory Additional information: 3 我怎么才能删除这个表空间 ? -------

【翻译自mos文章】/dev/shm应该设置多大Oracle 实例启动时才能不报ORA-00845

/dev/shm应该设置多大Oracle 实例启动时才能不报ORA-00845 来源于:ORA-00845 - Which value for /dev/shm is needed to startup database without ORA-00845 (文档 ID 1399209.1) 适用于: Oracle Database - Standard Edition - Version 11.1.0.6 and later Information in this document appli

在Oracle实例关闭情况下如何修改spfile的参数

重要说明:由于本文由本人测试并完成,其中可能还有不足之处,另外不同的环境可能也有不同的解决方法,本文仅供参考,并欢迎指证 问题描述: 在11G单机ASM中修改sga大小,修改完后,关闭instance并startup时,提示sga没有达到最小值,因些无法启动,而此时数据库实例已经关闭,已不能在之前的那种模式修改参数,具体的操作如下: 1.查询sga大小 SQL> show parameter sga NAME                     TYPE     VALUE --------

Oracle 手动修改spfile后的现象记录

Oracle 11G 引入Memory_max_target和Memory_target参数用于数据库的内存自动管理(AMM),本意是修改该两个参数超过物理内存的大小,视图看看数据库报什么错误. 备份spfile文件 $cp spfileorcl.ora spfileorcl.ora.bak 直接手动修改spfile中的两个参数值: 两个值得大小分别修改为6,815,744,000,000≈6.7T 实际物理内存为16G左右 $ free -g 启动数据库出现如下报错: SQL> startup

ORACLE安装32位客户端导致无法正常启动

在WIN平台上,需要使用PLSQL Developer访问同主机的ORACLE,PLSQL是不支持64位的,需要设置ORACLE_HOME与OCI的地址,同时配置TNS_ADMIN到ORACLE的32位客户端, 但这样会导致ORACLE本身数据库服务启动时也受影响,应该是LISTEN的原因. 解决方法有两种: 1.更改32位的tnsnames.ora,增加: LISTENER_TDATA = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT =

ORA-00119: invalid specification for system parameter LOCAL_LISTENER ORA-00132: syntax error or unresolved network name &#39;LISTENER_ORCL&#39; 导致Oracle数据库无法启动

前言 最近安装Oracle11g,重启电脑后,无法登陆数据库,到sqlplus登陆时就报错,没有例程...等等(忘记截图了),去看了下服务,监听器和实例服务都是开着的,就是无法启动数据库,到网上找了一些教程,通过 sqlplus / as sysdba 这种方式登录数据库,然后输入 startup 命令启动数据库就报了这两个错误. 个人分析,应该是监听器配置出现了问题,如果有知道的园友,麻烦告知一二. 解决步骤 1.先以 sqlplus / as sysdba 方式启动sqlplus sqlpl