oracle11g报错 ORA-01078和LRM-00109 解决方法

数据库安装完成后启动数据库startup时报错如下:


[oracle@Danny ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Sat Jul 16 01:38:13 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> conn as sysdba
Enter user-name: orcl
Enter password: 
Connected to an idle instance.
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/db/dbs/initorcl.ora'


查看此路径下果然没有这个文件

[root@Danny ~]# cd /u01/app/oracle/product/11.2.0/db/dbs/
[root@Danny dbs]# ll
total 20
-rw-rw---- 1 oracle oinstall 1544 Jul 16 01:28 hc_dbca.dat
-rw-r--r-- 1 oracle oinstall 2851 May 15  2009 init.ora
-rw-r----- 1 oracle oinstall   24 Jul 16 01:18 lkDBCA
-rw-r----- 1 oracle oinstall 1536 Jul 16 01:18 orapwdbca
-rw-r----- 1 oracle oinstall 2560 Jul 16 01:28 spfiledbca.ora
网上找到方法,可以将pfile参数文件拷贝过来并重新命名为initorcl.ora

查看pfile下果然有这个文件,cp过来

[oracle@Danny pfile]$ cd /u01/app/oracle/admin/dbca/pfile/
[oracle@Danny pfile]$ ll
total 4
-rw-r----- 1 oracle oinstall 1760 Jul 16 01:18 init.ora.616201612838
[oracle@Danny pfile]$ cp init.ora.616201612838 /u01/app/oracle/product/11.2.0/db/dbs
[oracle@Danny pfile]$ cd /u01/app/oracle/product/11.2.0/db/dbs
[oracle@Danny dbs]$ ll
total 24
-rw-rw---- 1 oracle oinstall 1544 Jul 16 01:28 hc_dbca.dat
-rw-r--r-- 1 oracle oinstall 2851 May 15  2009 init.ora
-rw-r----- 1 oracle oinstall 1760 Jul 16 02:04 init.ora.616201612838
-rw-r----- 1 oracle oinstall   24 Jul 16 01:18 lkDBCA
-rw-r----- 1 oracle oinstall 1536 Jul 16 01:18 orapwdbca
-rw-r----- 1 oracle oinstall 2560 Jul 16 01:28 spfiledbca.ora
就OK了



<think>嗯,用户遇到了Oracle数据库启动时的错误,具体是ORA-01078LRM-00123。这两个错误通常参数文件有关。首先,我需要回忆一下ORA-01078的错误原因,应该是处理系统参数失败,可能参数文件有问题。而LRM-00123提示有无效字符,说明PFILE中存在语法错误,比如特殊符号或者格式错误。 用户提到使用指定的PFILE启动,所以首先应该检查PFILE的内容。可能用户修改了diagnostic_dest参数,但路径不正确,比如有无效字符或者格式问题。根据引用[1],ORA-48108是因为diagnostic_dest参数值无效,这可能导致启动失败。需要确认路径是否存在,是否有权限,以及是否正确书写,比如用户之前将路径从11.2.0改成11.2.0.4,类似的问题可能出现在其他参数设置中。 接下来,用户可能是在编辑PFILE时不小心加入了注释符号或者特殊字符,比如“#”或者中文符号,导致解析失败。例如,参数行后面如果有注释但没有正确分隔,或者使用了全角字符,都可能引发LRM-00123。建议用户用文本编辑器检查PFILE,逐行确认是否有拼写错误或非法字符。 另外,用户是否在修改参数时遗漏了等号或引号?比如diagnostic_dest='/path'是否正确闭合,或者是否有空格问题。路径中的斜杠是否正确,比如是否使用了反斜杠或者多余的空格。此外,检查是否有重复的参数设置,或者参数名拼写错误,如diagonstic_dest这样的拼写错误。 如果PFILE没有问题,可能需要考虑从SPFILE重建,因为SPFILE损坏也会导致启动问题。用户可以使用CREATE PFILE FROM SPFILE命令生成一个正确的PFILE,然后再次尝试启动。或者,检查是否同时存在PFILESPFILE,而数据库默认使用了错误的文件。 总结解决步骤应该是:检查PFILE中的非法字符,特别是diagnostic_dest相关参数;确保路径正确;尝试从SPFILE重建PFILE;启动时指定正确的PFILE路径。同时,注意使用合适的工具编辑PFILE,避免引入不可见字符。</think>要解决Oracle数据库启动时遇到的ORA-01078LRM-00123错误,需逐步排查参数文件(PFILE/SPFILE)的配置问题。以下是具体步骤: --- ### **步骤1:检查PFILE中的非法字符** 错误`LRM-00123: invalid character`表明参数文件中存在非法字符,例如: - **全角符号**(如中文标点):确保所有符号为半角英文格式。 - **特殊字符未转义**:如`$`、`#`需用引号包裹路径,例如: $$diagnostic\_dest = '/home/oracle/app/oracle'$$ - **格式错误**:参数赋值需严格遵循`参数名=值`格式,避免多余空格或换行[^1]。 --- ### **步骤2:验证diagnostic_dest参数** 引用错误`ORA-48108`通常与`diagnostic_dest`路径配置相关: 1. **路径存在性**:确认路径是否存在且Oracle用户有读写权限。 2. **路径格式**:使用绝对路径并避免尾部斜杠,例如: $$diagnostic\_dest = '/u01/app/oracle/diag'$$ 3. **从SPFILE重建PFILE**(若原文件损坏): ```sql CREATE PFILE='/tmp/init.ora' FROM SPFILE; ``` --- ### **步骤3:手动指定PFILE启动** 若默认SPFILE损坏,可通过指定PFILE启动实例: ```sql STARTUP PFILE='/path/to/init.ora'; ``` 若启动成功,可通过生成新的SPFILE修复: ```sql CREATE SPFILE FROM PFILE='/path/to/init.ora'; ``` --- ### **步骤4:检查操作系统环境** - **字符集兼容性**:确保操作系统语言环境与Oracle字符集一致(如`LANG=en_US.UTF-8`)。 - **文件编码**:用`file`命令检查PFILE是否为ASCII格式,避免UTF-8 BOM头问题。 --- ### **总结** 1. 优先检查PFILE中的非法字符路径配置[^1][^3]。 2. 通过重建PFILE/SPFILE修复损坏的参数文件。 3. 确保操作系统环境与Oracle配置兼容。 ---
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值