You will have to examine how the question is worded. By default 11g will create all three tablespaces. You can however create a database with only SYSTEM and SYSAUX. Technically speaking you can upgrade pre-10g database and not add SYSAUX, or remove the SYSAUX tablespace after the database is created and therefore have a database with only a SYSTEM tablespace, but you would be ill advised to do so and I really don't think they would look for that in an answer.
From the 11.2 Administration Guide:
The SYSAUX tablespace is always created at database creation.
From another section of the Administration Guide:
An auto-extending undo tablespace named UNDOTBS1 is automatically
created when you create the database with Database Configuration
Assistant (DBCA)...
If no undo tablespace is available, then the
instance starts without an undo tablespace, and undo data is written
to the SYSTEM tablespace. You should avoid running in this mode.
From the 10.2 Concepts Guide:
...the SYSAUX tablespace is always created during database creation or
database upgrade...
During normal database operation, the Oracle database server does not
allow the SYSAUX tablespace to be dropped or renamed. Transportable
tablespaces for SYSAUX is not supported.
Note: If the SYSAUX tablespace is unavailable, such as due to a media
failure, then some database features might fail.
From the 10.1 SQL Reference:
You cannot drop the SYSTEM tablespace. You can drop the SYSAUX
tablespace only if you have the SYSDBA system privilege and you have
started the database in MIGRATE mode.
From the 10.1 Administrators Guide:
If the SYSAUX tablespace becomes unavailable, core database
functionality will remain operational. The database features that use
the SYSAUX tablespace could fail, or function with limited capability.
http://oradbpedia.com/wiki/The_SYSAUX_Tablespace has this take:
The SYSAUX tablespace is a new tablespace that is required in Oracle
Database 10g...
When you migrate to Oracle Database 10g, the SYSAUX tablespace needs
to be created as a part of that migration. This is done after mounting
the database under the new Oracle Database 10g database software. Once
you have mounted it, open the database in migrate mode with the
startup migrate command. After the database is open, you can create
the SYSAUX tablespace.
Note: The loss of the SYSAUX tablespace is not fatal to your database.
In our testing it appears that the only real impact is that certain
functionality related to the occupants of the SYSAUX tablespace is
lost.
Earlier versions did not have a SYSAUX tablespace:
SYSAUX is the name of the compulsory tablespace, introduced in Oracle
10g.
Background processes are processes that are part of the instance. They start when the instance starts, and exit when the instance shuts down. These processes are required for the instance to function or to do the work that would otherwise require starting these processes every time the work needs to be done (which would probably be ineffective). The examples of background processes are job coordinator background process (cjqN
) which coordinates job-slave processes running jobs on schedule, and LGWR
background process which writes redo entries to the redo log files.
Server processes, on the other hand, are mostly transient: they start when needed, do some work, and exit. Sometimes people refer to server processes as foreground processes, as opposed to background processes. The examples of foreground processes are the server processes that support user sessions, Scheduler job-slave processes (jNNN
) which are started by the job coordinator process described earlier, do some work, and eventually exit if there are no other jobs to do.
Server processes are sometimes also referred to as shadow processes, but I would avoid this term, because it seems that it's not commonly used, and may confuse you – I found only 25 occurrences of "shadow process" in Oracle Database 11g Release 2 documentation (one being mentioned in "Shadow Server Architecture" section of Database Concepts), as opposed to 305 occurrences of "server process", and 182 occurrences of "background process".
As far as OCA exam is concerned, I didn't encounter "shadow process" term in any of the questions on the real exam, and this term appeared only twice in the guides I used to prepare for the exam, one of them explicitly stating that its use should be avoided.
Best Answer
Actually, you're not required to have that deep knowledge for OCA exam, you just need to know which processes are required for database to function (PMON, SMON, DBWR, LGWR, CKPT, MMON, MMNL, RECO), some other processes that may be required when you configure other database options such as ARCHIVELOG database mode, what each of these processes does, and how they communicate with each other in rough outline.
As far as inter-process communication (IPC) is concerned, it is quite possible, for example, that on *nix, Oracle uses POSIX calls for communication, whereas on Windows it uses Windows API calls, in other words, the way Oracle implements inter-process communication differs between platforms because these platforms are implemented differently.
If you're preparing for OCA exam, you may already know (and you really should know) the memory architecture of Oracle, and that there's an area of memory called System Global Area (SGA). This memory area is used to keep the information used by many background and foreground processes including server processes and shared server processes (when Shared Server Architecture is used).
There's also the Fixed SGA area within the SGA which contains:
You can also determine if Oracle allocates some IPC resources on *nix if you run
ipcs
command before and after you start up the database. (I stumbled upon this in this AskTom article).Therefore, you can see that Oracle uses both system calls, and shared memory to share information between Oracle processes.