0

Yesterday i discovered that i have a problem with oracle sql database 12c running on windows 10 pro for workstations. When i try to connect to a local database with the sql developer tool i received this error message:

ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

With sqlplus:

sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Dim. Sept. 17 12:12:55 2023

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

ConnectÚ Ó une instance inactive.

startup

ORA-00821: Specified value of sga_target 9824M is too small, needs to be at least 11552M ORA-01078: Úchec de traitement de paramÞtres systÞme

It worked fine before, and i didn't change anything in the database configuration. But the only difference now is that i upgraded the processors of my server, going from 64 threads to 80. Can it be the pb ? On internet, they talk about a parameter called CPU_COUNT to change the number of cpu used by oracle, but i don't know how to change it ?

Can someone help me ?

Thanks.

1 Answer 1

0

Below link gives a good explanation for why it needs more SGA per thread

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

--------EXTRACT FROM ABOVE LINK ---------------

This means that the database automatically determines the number of CPU cores on the machine and sets the value to that number. But why do CPU cores have any requirement on memory, that seems counter-intuitive, at first? Savvy Oracle Database users will know that many parameters derive their value from CPU_COUNT, such as DB_WRITER_PROCESSES, JOB_QUEUE_PROCESSES, PARALLEL_MAX_SERVERS, and more. Furthermore, the database does keep track of various CPU stats for the built-in resource manager and AWR/ASH diagnostics. All of these require at some point some memory to either do their job and process the information and hence a higher number of CPU_COUNT also means higher memory requirements.


The above does also go into how to change the number of CPU's but is specific to Oracle XE.... A better explanation on how to change the CPU's can be found below

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

------------------Extract from above --------------------

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

(then start the database)..... The question is about why this does not work when making the change with the database running.... as you can not start your database until this change is made that bit is not relevant and the above should work for you (of course adjusting the numbers to suit your needs)

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.