In startup order, the processes running on my test Oracle 12c instance are shown below. Those below the "empty" line are not started on my system, but either start later, or are fairly common and are included for completeness.
|PMON||Process Monitor||Cleans buffer cache and frees resources when processes die/are killed.
Restarts Oracle processes which have died/been killed (unless stopped by Oracle)
|PSP0||Process Spawner||Instance startup process to spawn other background Oracle processes|
|VKTM||Virtual Keeper of Time||Tracks time
a) "wall clock" with one second interval, and
b) high resolution for interval measurement
|GEN0||General Task Execution||Performs SQL and DML, but I don't yet know for what purpose|
|MMAN||Memory Manager||Instance memory management - resizing of memory areas|
|DIAG||Diagnostic Capture||Performs diagnostic dumps when requested by other processes|
|DBRM||Database Resource Manager||Resource plan management related tasks|
|DIA0||Diagnostic||Detects and resolves hangs and deadlocks|
|DBW0||Database Writer||Writes dirty/modified buffer cache blocks to disk|
|LGWR||Log Writer||Uses LGnn to write redo log buffer to disk on every commit,
wakes up every three seconds, and may write when it wakes up
writes redo before DBWx can write an associated dirty block
|CKPT||Checkpoint||Update headers of all datafiles when a checkpoint is performed|
|SMON||System Monitor||Perform recovery at instance startup or tablespace being brought online.
Cleans up TEMP segments which have been finished with.
Coalesces contiguous free extents in dictionary managed tablespaces.
|RECO||Recoverer||Tidies up after failed distributed transactions|
|LREG||Listener Registration||Registers database information with the listener|
|MMON||Manageability Monitor||Maintains AWR (Automatic Workload Repository) data|
|MMNL||Manageability Monitor Lite||Write statistics from the SGA ASH buffer to disk|
|TMON||Transport Monitor||Rumoured to be related to threading processes in 12c, seems to wake up every three seconds|
|SMCO||Space Management Coordinator||Coordinates Wnnn slave processes to reclaim space, and proactively allocate space|
|AQPC||AQ Process Coordinator||Admin for Advanced Queueing|
|CJQ0||Job Queue Coordinator||Used for batch processes|
|ARC0||Archiver||Copies online redo log files to offline storage, including to standby databases|
|Dnnn||Dispatcher Process||Performs network communication|
|FBDA||Flashback Data Archive||Stores "before change" versions of rows in tracked tables|
|Jnnn||Job Queue Slave||Process spawned by CJQ0 to run one or more job(s)|
|LGnn||Log Writer Worker||Spawned by LGWR to write redo to the online redo log|
|Pnnn||Parallel Query Slave|
|Qnnn||AQ Server Class Process|
|QMnn||AQ Master Class Process|
|Snnn||Shared Server Process|
|TTnn||Redo Transport Slave||Ships redo from current online and standby redo logs to remote standby|
|Wnnn||Space Management Worker||Slave process spawned by SMCO to allocate or reclaim space|