Oracle SQL 12c数据库连接故障求助:CPU升级致SGA参数异常
Oracle 12c CPU升级后启动及连接问题解决
问题根源
服务器CPU线程从64升级至80后,Oracle会基于CPU核心数自动计算SGA的最小配置需求,原设置的sga_target=9824M无法满足新的阈值(至少11552M),引发ORA-00821、ORA-01078错误导致实例无法启动,进而造成SQL Developer连接时出现ORA-12514(监听无法定位可用服务)。
解决步骤
1. 临时调整SGA参数启动实例
先通过修改SGA参数让实例正常启动:
- 打开Windows命令提示符,执行:
sqlplus / as sysdba - 在SQL*Plus会话中执行以下命令:
实例启动后,SQL Developer的ORA-12514连接问题会自动解决。startup nomount; alter system set sga_target=11552M scope=spfile; alter system set sga_max_size=11552M scope=spfile; shutdown immediate; startup;
2. 调整CPU_COUNT限制Oracle使用的CPU数量
若需将Oracle使用的CPU线程数限制回原64线程,执行:
alter system set cpu_count=64 scope=both;
scope=both:同时应用于当前运行实例和永久配置文件(重启后仍生效)- 仅临时生效用
scope=memory,仅永久生效(需重启)用scope=spfile
3. 验证参数配置
执行以下命令确认参数已生效:
show parameter cpu_count; show parameter sga_target;
4. (可选)恢复原有SGA配置
调整CPU_COUNT后,若Oracle计算的SGA最小需求降低,可尝试将SGA调回9824M:
alter system set sga_target=9824M scope=spfile; alter system set sga_max_size=9824M scope=spfile; shutdown immediate; startup;
启动无报错则说明配置生效。
内容的提问来源于stack exchange,提问作者willycat
相关产品推荐
相关产品推荐

