Why does DBMS_SESSION.session_trace_enable create multiple files? I have a trace on a session configured like this:

execute immediate 'ALTER SESSION SET TRACEFILE_IDENTIFIER = ''TEST1''';

DBMS_SESSION.session_trace_enable (waits =&gt; TRUE,
                                   binds =&gt; TRUE,
                                   plan_stat      =&gt; 'all_executions'
                                      );
-- do SQL stuff --
DBMS_SESSION.session_trace_disable();


When completed executing, I have some 80 .trc files created.  Why is that, and is there a way to force all tracing to one file?  Thanks.
This could be for at least 2 possible reasons:


Shared server architecture: SQL trace files belong to server processes, but when you use shared server architecture, your session does not have a single dedicated server process, your session can exist in several different server processes over time.
Parallel processing: when your statements run in parallel, each slave thread is a different process and as SQL trace files belong to processes, you have multiple processes running the same statement, hence the multiple trace files.


You can not force the creation of a single trace file, but you can consolidate these traces into a single file with trcsess, based on your SID, module name, action name, service or client identifier.