无法连接数据库oracle sql 12c

问题描述 投票:0回答:1

昨天我发现在 Windows 10 Pro 工作站上运行 Oracle sql Database 12c 时出现问题。当我尝试使用 sql Developer 工具连接到本地数据库时,我收到此错误消息:

ORA-12514:TNS:侦听器当前不知道连接描述符中请求的服务

使用 sqlplus:

sqlplus / 作为 sysdba

SQL*Plus:在 Dim 上发布 12.2.0.1.0 生产版本。 2023 年 9 月 17 日 12:12:55

版权所有 (c) 1982、2016,Oracle。保留所有权利。

连接Ú Ó 实例处于非活动状态。

启动

ORA-00821: sga_target 9824M 的指定值太小,需要至少为 11552M ORA-01078: 检查系统参数特征

之前运行得很好,我没有更改数据库配置中的任何内容。但现在唯一的区别是我升级了服务器的处理器,从 64 线程到 80。它可以是 pb 吗?在互联网上,他们谈论一个名为 CPU_COUNT 的参数来更改 oracle 使用的 cpu 数量,但我不知道如何更改它?

有人可以帮助我吗?

谢谢。

oracle oracle12c
1个回答
0
投票

下面的链接很好地解释了为什么每个线程需要更多的 SGA

https://geraldonit.com/2022/06/14/ora-00821-specified-value-of-sga_target-is-too-small/

--------从上面的链接中摘录--------------

这意味着数据库会自动确定计算机上的 CPU 核心数并将值设置为该数字。但为什么 CPU 核心对内存有任何要求,乍一看似乎有悖常理呢?精明的 Oracle 数据库用户会知道,许多参数的值都源自 CPU_COUNT,例如 DB_WRITER_PROCESSES、JOB_QUEUE_PROCESSES、PARALLEL_MAX_SERVERS 等。此外,数据库确实会跟踪内置资源管理器和 AWR/ASH 诊断的各种 CPU 统计信息。所有这些在某些时候都需要一些内存来完成它们的工作并处理信息,因此更高数量的 CPU_COUNT 也意味着更高的内存需求。


上面还介绍了如何更改 CPU 的数量,但特定于 Oracle XE....有关如何更改 CPU 的更好说明可以在下面找到

https://forums.oracle.com/ords/apexds/post/changing-cpu-count-3089

------------------摘自上面--------------------

sql> Alter system set cpu_count=16 scope=spfile
sql> Alter system set parallel_threads_per_cpu = 2 scope=spfile

(然后启动数据库).....问题是为什么在数据库运行时进行更改时这不起作用......因为在进行此更改之前您无法启动数据库,该位不相关以上应该适合您(当然调整数字以满足您的需要)

© www.soinside.com 2019 - 2024. All rights reserved.