Resumable Space Allocation (141)
Oracle provides a means for suspending, and later resuming, the execution of largedatabase operations in the event of space allocation failures. This enables anadministrator to take corrective action, instead of the Oracle database server returningan error to the user. After the error condition is corrected, the suspended operationautomatically resumes.A statement runs in a resumable mode only when the client explicitly enablesresumable semantics for the session using the ALTER SESSION statement
Statement-Level Rollback (140)
If at any time during execution a SQL statement causes an error, all effects of the statement are rolled back. The effect of the rollback is as if that statement had never been run. This operation is a statement-level rollback.Errors discovered during SQL statement execution cause statement-level rollbacks. An example of such an error is attempting to insert a duplicate value in a primary key. Single SQL statements involved in a deadlock (competition for the same data) can also cause a statement
Statement Execution and Transaction Control (139)
A SQL statement that runs successfully is different from a committed transaction. Executing successfully means that a single statement was: ■ Parsed ■ Found to be a valid SQL construction■ Run without error as an atomic unit. For example, all rows of a multirow update are changed. However, until the transaction that contains the statement is committed, the transaction can be rolled back, and all of the changes of the statement can be undone. A statement, rather than a transaction, runs succes
Introduction to Transactions (138)
A transaction is a logical unit of work that contains one or more SQL statements. Atransaction is an atomic unit. The effects of all the SQL statements in a transaction canbe either all committed (applied to the database) or all rolled back (undone from thedatabase).A transaction begins with the first executable SQL statement. A transaction ends whenit is committed or rolled back, either explicitly with a COMMIT or ROLLBACK statementor implicitly when a DDL statement is issued.事务简介1. 包含
Communications Software for the Operating System (137)
The lowest-level software connecting the user side to the Oracle side of the programinterface is the communications software, which is provided by the host operatingsystem. DECnet, TCP/IP, LU6.2, and ASYNC are examples. The communicationsoftware can be supplied by Oracle, but it is usually purchased separately from thehardware vendor or a third-party software supplier.操作系统的通信传输软件通信传输软件是用户侧连往Oracle侧最底层的程序接口软件[@more@]
Program Interface Drivers (136)
Drivers are pieces of software that transport data, usually across a network. Theyperform operations such as connect, disconnect, signal errors, and test for errors.Drivers are specific to a communications protocol, and there is always a default driver.You can install multiple drivers (such as the asynchronous or DECnet drivers) andselect one as the default driver, but allow an individual user to use other drivers byspecifying the desired driver at the time of connection. Different processes can
Program Interface Structure (135)
The program interface consists of the following pieces:■ Oracle call interface (OCI) or the Oracle runtime library (SQLLIB)■ The client or user side of the program interface (also called the UPI)■ Various Oracle Net Services drivers (protocol-specific communications software)■ Operating system communications software■ The server or Oracle side of the program interface (also called the OPI)Both the user and Oracle sides of the program interface run Oracle software, as do thedrivers.Oracle Ne
The Program Interface (134)
The program interface is the software layer between a database application andOracle. The program interface:■ Provides a security barrier, preventing destructive access to the SGA by client userprocesses■ Acts as a communication mechanism, formatting information requests, passingdata, and trapping and returning errors■ Converts and translates data, particularly between different types of computers orto external user program datatypesThe Oracle code acts as a server, performing database tasks
Dedicated Server Configuration (133)
The user and server processes are separate, distinct processes. The separate serverprocess created on behalf of each user process is called a dedicated server process (orshadow process), because this server process acts only on behalf of the associated userprocess.This configuration maintains a one-to-one ratio between the number of user processesand server processes. Even when the user is not actively making a database request,the dedicated server process remains (though it is inactive and can
Restricted Operations of the Shared Server (132)
Certain administrative activities cannot be performed while connected to a dispatcherprocess, including shutting down or starting an instance and media recovery. An errormessage is issued if you attempt to perform these activities while connected to adispatcher process.These activities are typically performed when connected with administrator privileges.When you want to connect with administrator privileges in a system configured withshared servers, you must state in your connect string that you
Shared Server Processes (Snnn) (131)
Each shared server process serves multiple client requests in the shared serverconfiguration. Shared server processes and dedicated server processes provide thesame functionality, except shared server processes are not associated with a specificuser process. Instead, a shared server process serves any client request in the sharedserver configuration.The PGA of a shared server process does not contain user-related data (which needs tobe accessible to all shared server processes). The PGA of a sha
Dispatcher Processes (Dnnn) (130)
The dispatcher processes support shared server configuration by allowing userprocesses to share a limited number of server processes. With the shared server, fewershared server processes are required for the same number of users, Therefore, theshared server can support a greater number of users, particularly in client/serverenvironments where the client application and server operate on different computers.You can create multiple dispatcher processes for a single database instance. At leastone d
Dispatcher Request and Response Queues (129)
A request from a user is a single program interface call that is part of the user’s SQLstatement. When a user makes a call, its dispatcher places the request on the requestqueue, where it is picked up by the next available shared server process.The request queue is in the SGA and is common to all dispatcher processes of aninstance. The shared server processes check the common request queue for newrequests, picking up new requests on a first-in-first-out basis. One shared serverprocess picks up
Shared Server Architecture (128)
Shared server architecture eliminates the need for a dedicated server process for eachconnection. A dispatcher directs multiple incoming network session requests to a poolof shared server processes. An idle shared server process from a shared pool of serverprocesses picks up a request from a common queue, which means a small number ofshared servers can perform the same amount of processing as many dedicated servers.Also, because the amount of memory required for each user is relatively small, le
Trace Files and the Alert Log (127)
Each server and background process can write to an associated trace file. When aprocess detects an internal error, it dumps information about the error to its trace file.If an internal error occurs and information is written to a trace file, the administratorshould contact Oracle Support Services.All filenames of trace files associated with a background process contain the name ofthe process that generated the trace file. The one exception to this is trace filesgenerated by job queue processes (
Other Background Processes (126)
There are several other background processes that might be running. These caninclude the following:MMON performs various manageability-related background tasks, for example:■ Issuing alerts whenever a given metrics violates its threshold value■ Taking snapshots by spawning additional process (MMON slaves)■ Capturing statistics value for SQL objects which have been recently modifiedMMNL performs frequent and light-weight manageability-related tasks, such assession history capture and metrics c
Queue Monitor Processes (QMNn) (125)
The queue monitor process is an optional background process for Oracle StreamsAdvanced Queuing, which monitors the message queues. You can configure up to 10queue monitor processes. These processes, like the job queue processes, are differentfrom other Oracle background processes in that process failure does not cause theinstance to fail.队列监视进程是个可选的进程for Oracle Streams Advanced Queuing, 用来监视信息队列[@more@]
Archiver Processes (ARCn) (124)
The archiver process (ARCn) copies redo log files to a designated storage device aftera log switch has occurred. ARCn processes are present only when the database is inARCHIVELOG mode, and automatic archiving is enabled.An Oracle instance can have up to 10 ARCn processes (ARC0 to ARC9). The LGWRprocess starts a new ARCn process whenever the current number of ARCn processes isinsufficient to handle the workload. The alert log keeps a record of when LGWR startsa new ARCn process.If you anticipate
Job Queue Processes (123)
Job queue processes are used for batch processing. They run user jobs. They can beviewed as a scheduler service that can be used to schedule jobs as PL/SQL statementsor procedures on an Oracle instance. Given a start date and an interval, the job queueprocesses try to run the job at the next occurrence of the interval.Job queue processes are managed dynamically. This allows job queue clients to usemore job queue processes when required. The resources used by the new processes arereleased when th
Recoverer Process (RECO) (122)
The recoverer process (RECO) is a background process used with the distributeddatabase configuration that automatically resolves failures involving distributedtransactions. The RECO process of a node automatically connects to other databasesinvolved in an in-doubt distributed transaction. When the RECO process reestablishesa connection between involved database servers, it automatically resolves all in-doubttransactions, removing from each database’s pending transaction table any rows thatcorre