Exploring Multithreading Setup For Oracle 12c in UNIX environment

Normally when we execute the grep unix command to list oracle processes, you will find all “detailed” oracle process:

ps -ef | grep [o]ra_

unix-oracle-process

this is the normal process architecture in Oracle database hosted on Unix environment prior to 12c release.

In oracle 12c you can switch to Multi-threaded architecture by adding a new parameter in your init.ora file.

go to $ORACLE_HOME/dbs  and edit your init.ora (text init file in case you are not configuration SPFILE) and add the parameter:

threaded_execution=TRUE

threaded_executtion parameter

Then, create a password file per the documentation: https://geodatamaster.wordpress.com/2015/05/25/oracle-12c-database-password-file/

Then bounce the Oracle instance (shutdown/startup) the database.

Please note that the OS authentication won’t’ work anymore after changing the mode to “multi-threading”, and you will receive the below error:

sqlplus error

If you face problems connecting to the database, you can connect internally through Bequeath protocol: http://www.dbi-services.com/index.php/blog/entry/multithreaded-12c-and-connect-as-sysdba

After enabling multi-threading, the oracle process on the server  will look like this:

unix oracle process multithreading

Interesting part that in IBM AIX environment the Oracle database process using topas command shows the database is consuming around 97% of the CPU ….. This will requires more investigation from my side 😐

IBM AIX topas for multithreading

Advertisement

One thought on “Exploring Multithreading Setup For Oracle 12c in UNIX environment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s