Beng Dou

一只站在树上的鸟儿,从来不会害怕树枝断裂,因为它相信的不是树枝,而是它自己的翅膀。

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

oracle数据库升级dbua操作阻塞解决方法(解决ORA-32004报错)

操作环境

1、SuSE11sp3操作系统

2、oracle 11.2.0.3版本升级到11.2.0.4版本

问题现象

  oracle 11.2.0.3版本升级到11.2.0.4版本时执行dbua命令在获取database信息步骤时提示输入pfile文件,无法next操作,升级阻塞。(不是在自己环境操作,暂无截图)

问题分析

  oracle start mount步骤时会出现提示ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance错误,按照之前的理解是不会影响oracle的使用,但是不确定这个问题是否是阻塞的原因。查看alert*.log确认启动时是否有报错。

  1、登录ORACLE用户,利用find命令(find $ORACLE_BASE -iname "alert*.log") 查找ORACLE告警日志alert*.log文件。先清空该日志文件或者使用tail -f alert*.log,方便后面步骤操作观察。

  2、重启ORACE实例,执行关闭和启动到mount状态操作。

SQL>shutdown immediate;
SQL>start mount;

  3、通过ORACLE的告警日志alert log中发现有如下提示信息:

Deprecated system parameters with specified values:

  remote_os_authent       

End of deprecated system parameter listing

  4、根据提示应该是设置了ORACLE禁止使用的参数remote_os_authent,利用show parameter remote_os_authent查看确实存在remote_os_authent并且值为TRUE。

  5、利用如下SQL查看确实为过期参数,下一步就是要把这个参数去掉。

SQL> column name format a10; 
SQL> column value format a10; 
SQL> column isdefault format a10; 
SQL> column descriptio format a10; 
SQL>SELECT NAME,Value,isdefault,Description FROM v$parameter WHERE isdeprecated = 'TRUE' And Name='remote_os_authent'; 

  6、查看ORACLE的参数文件类型并根据相应类型进行修改。步骤如下:

    (1) 查看ORACLE参数文件类型,如果有返回值表示使用的是spfile文件。spfile文件不能直接修改,需要生成pfile文件。

SQL>show parameter spfile

   (2)生成pfile文件。说明:/home/oracle是ORACLE用户家目录。实际上可任意指定oracle可以访问的路径。

SQL>create pfile='/home/oracle/pfile.ora' from spfile;

   (3)使用编辑器打开pfile.ora文件,删除remote_os_authent参数所在行。

   (4)重启ORACLE实例。利用pfile.ora文件启动ORACLE实例,重新生成spfile文件后再重启一下ORACLE使spfile文件生效(说明:由于这里在升级操作,只能启动到mount状态,startup mount)。

SQL> shutdown immedate;
SQL> startup mount pfile='/home/oracle/pfile.ora';
SQL> create spfile from  pfile='/home/oracle/pfile.ora';

   (5)重新执行dbua命令开始操作升级,问题解决,升级成功。

问题解决

  参考问题分析步骤,实际上应该是ORA-32004报错会影响dbua操作,目标是解决这个ORA-32004提示相关错误即可。

其他

ORA-32004信息参考如下,给出了明确的操作方法,查看alert log,从spfile或者pfile文件删掉过期参数。

32004, 00000, "obsolete or deprecated parameter(s) specified for %s instance" 
// *Cause: Obsolete or deprecated parameters for this instance type 
// were specified in the SPFILE or the PFILE on the server side. 
// *Action: See alert log for a list of parameters that are obsolete 
// or deprecated. Remove them from the SPFILE or the server 
// side PFILE. 

 

posted on   锅边糊  阅读(851)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示