Which three statements are true when the listener handles connection requests to an Oracle 12c database instance with multithreaded architecture enabled In UNIX?

Which three statements are true when the listener handles connection requests to an Oracle 12c
database instance with multithreaded architecture enabled In UNIX?

Which three statements are true when the listener handles connection requests to an Oracle 12c
database instance with multithreaded architecture enabled In UNIX?

A.
Thread creation must be routed through a dispatcher process

B.
The local listener may spawn a now process and have that new process create a thread

C.
Each Oracle process runs an SCMN thread.

D.
Each multithreaded Oracle process has an SCMN thread.

E.
The local listener may pass the request to an existing process which in turn will create a thread.

Explanation:



Leave a Reply 15

Your email address will not be published. Required fields are marked *


JanK

JanK

B – FALSE
listener dont spawn proces
C – FALSE
SCMN – have only thead not process

SUN

SUN

A,D and E are final answers!

me

me

What a bad question (or I don understand it)
A: ??
Typically, a connection occurs between a client process and a server process or dispatcher, but it can also occur between a client process and Oracle Connection Manager (CMAN).
Not B: listeners don spawn
C: each Oracle process does not run a SCMN thread. this is rubbish
D: this seems correct. see http://docs.oracle.com/database/121/CNCPT/process.htm#CNCPT1245
E: first bit is ok (A single connection can have 0, 1, or more sessions established on it. The sessions are independent: a commit in one session does not affect transactions in other sessions.) but that each process WILL create a thread, I doubt it.
but this mentions that it does
http://www.oraclebuffer.com/oracle-internals/oracle-database-12c-the-multi-threaded-process-model/
“For Local Connections, the client directly contacts the dedicated connection broker, which in turn spawns a OS thread for the client session.”

the best answer is
ADE

Saha

Saha

Nice and helpful article.

Question: I do not get the full form of this process in documentation. Do you know that?

What if we kill any of the scmn process ? How can I trace what are these scmn processes are doing?

rsv1999

rsv1999

Oracle has introduced the Multi-threaded architecture for Unix systems with the Oracle Database Release 12c, where a Oracle Database on Unix machines can utilize a Multi-threaded process model.
When, we set the parameter THREADED_EXECUTION=TRUE; by default it converts almost all of the background processes (like CKPT, LGWR, DBWR, SMON, etc.) into THREADS.
For Local Connections, the client directly contacts the dedicated connection broker, which in turn spawns an OS thread for the client session.
When the listener receives the connection request, it passes that request to the database so it can spawn a database thread to handle the connection. The listener will not spawn an OS process in this case, but passes along the request to the database.
As of Oracle Database 12c release 12.1, and because of their importance, it was decided to always have PMON, DBW, VKTM, and PSP running as OS processes. This can change in future releases.
• Each OS process also runs a special thread called SCMN that is basically an internal listener thread. All thread creation is routed through this thread. C is correct.
Multi-Process Multi-Threaded Architecture Considerations:
• Threads still use PGA for private memory.
• Threads still use SGA memory for inter-process
communication.
• The listener does not spawn threads. B is incorrect.
• Password file for SYSDBA authentication is required.

Reference: 12c New Features Students’s Guide (12c Class Guiides or Handbooks)
The database listener does not spawn threads, instead the connection requests, handled by a dispatcher, are handed out to the spawning thread for the given instance. Hence, A is correct. Each OS process running multiple Oracle processes also run an internal listener thread called SCMN. Hence, C is correct. All thread creation is routed through this thread.
• Multi-process Multi-threaded mode requires password file for SYSDBA authentication
while starting the database instance. Without using SYS password, an ORA-1031:
insufficient privileges error is triggered on startup.
• When connecting to the database instance using a TNS name (from tnsnames.ora), by default, an OS process is started to run the Oracle server process as a thread within that OS process. To make sure that the database connection spawns a thread and not an OS process, you need to set the LOCAL_LISTENER initialization parameter to a TNS name entry corresponding to your instance service, and set the
DEDICATED_THROUGH_BROKER_LISTENER parameter to ON in your listener.ora
file. When that parameter is set, the listener knows that it should not spawn an OS
process when a connect request is received, instead it passes the request to the
database so that a database thread is spawned and answers the connection. The request is passed on to the database and NOT to an exisiting process. Hence, E is ruled out.
The correct answers appear to be: A, C, D

Alex

Alex

Looks like A, D are only right answers.
B is wrong as a listener doesn’t spawm a process and C is wrong as
only multithreaded processes have an SCMN thread but not the processes like :
PMON, DBW0, PSP0, VKTM ( see below ):

SQL> select SPID as “Process ID” , STID as “Thread ID”,
2 PNAME as “Process Name”, EXECUTION_TYPE as “Process Type”
3 from v$process order by 4,1,2;

Process ID Thread ID Proce Process Ty
———————— ———————— —– ———-
NONE
8306 8306 PMON PROCESS
8310 8310 PSP0 PROCESS
8314 8314 VKTM PROCESS
8348 8348 DBW0 PROCESS
8485 8485 PROCESS
8320 8320 SCMN THREAD
8320 8324 GEN0 THREAD
8320 8327 MMAN THREAD
8320 8341 DBRM THREAD
8320 8351 LGWR THREAD
8320 8354 CKPT THREAD
8320 8357 SMON THREAD
8320 8363 LREG THREAD
8320 8366 RBAL THREAD
8320 8369 ASMB THREAD
8334 8334 SCMN THREAD
8334 8338 DIAG THREAD
8334 8344 DIA0 THREAD
8334 8360 RECO THREAD
8334 8372 MMON THREAD

And the answer E is wrong as the listener is passing the request to a dispatcher process and not to a server process ( unless by existing process they meant a dispatcher process ).

So AD, possibly ADE

ousseini

ousseini

Answer A,D,E

Reference: 12c New Features D77758GC20_SGuide_Vol2: page 20-23 to 20-25.

– The database listener does not spawn threads. Instead, the connection requests, handled by a dispatcher, are handed out to the spawning thread for the given instance.
– Each OS process running multiple Oracle processes also run an internal listener thread called SCMN. All thread creation is routed thriugh this thread.

Chris from Poland

Chris from Poland

A – FALSE; Thread creation must be routed by a broker process, not dispatcher.
AFAIK, dispatcher only exists in shared server configuration; but threads can be also created whith DISPATCHERS system parameter not set = without dispatcher process (dNNN) existing on the server!

B – TRUE, this is the default – DEDICATED_THROUGH_BROKER_[Listener_Name] parameter not set in listener.ora. Listener process spawns separate process for each dedicated connection.

C – FALSE; PMON (Process Monitor), PSP0 (Process Spawner), VKTM (Virtual Keeper of Time) and DBW0 (Database Writer) run as processes and dont have SCMN threads

D – TRUE – obvious

E – yes, with DEDICATED_THROUGH_BROKER_[Listener_Name]=ON in listener.ora and LOCAL_LISTENER instance parameter set, listener passes request to dedicated broker which in turn passes request to one of the SCMN threads to create a new thread

So its BDE

Yoga

Yoga

I think CDE.

A.Thread creation must be routed through a dispatcher process –> INCORRECT. Thread creation is routed through SCMN thread

B.The local listener may spawn a now process and have that new process create a thread–> INCORRECT.

C.Each Oracle process runs an SCMN thread.

D.Each multithreaded Oracle process has an SCMN thread.

E.The local listener may pass the request to an existing process which in turn will create a thread.