aggregate functions--Functions that operate on the collection of values in a certain column. These operations include such things as SUM, COUNT, AVG, MAX, and so on.
asynchronous I/O (AIO)--Asynchronous I/O allows a process to submit an I/O and not have to wait for the response. Later, when the I/O is completed, an interrupt occurs or the process can check to see whether the I/O has completed. By using asynchronous I/Os, the DBWR can manage multiple writes at once so that it is not starved waiting for I/Os to complete.
bandwidth--A term often associated with networks or computer buses. The bandwidth is the throughput capacity. The bandwidth of the bus is the maximum rate at which data can be transferred across the bus.
batch processing system--Used to perform large background jobs, usually within a specified time window.
Binary Large Data--See BLOB.
BLOB (Binary Large Data)--A large amount of binary data stored within an Oracle database. BLOB data can consist of audio, video, images, documents, and so on; it is usually stored as LONG data.
block--The smallest unit of storage in an Oracle database. The database block contains header information concerning the block itself as well as the data.
buffer--An amount of memory used to store data. A buffer stores data that is about to be used or that has just been used. In many cases, buffers are in-memory copies of data that is also on disk. Buffers can be used as a copy of data for quick read access, they can be modified and written to disk, or they can be created in memory as temporary storage.
In Oracle, the database buffers of the SGA store the most recently used blocks of database data. The set of database block buffers is known as the database buffer cache. The buffers used to temporarily store redo entries until they can be written to disk are known as the redo log buffers.
A clean buffer is a buffer that has not been modified. Because this buffer has not been changed, it is not necessary for the DBWR to write this buffer to disk. A dirty buffer is a buffer that has been modified. It is the job of the DBWR to eventually write all dirty block buffers out to disk.
cache--A storage area used to provide fast access to data. In hardware terms, the cache is a small (relative to main RAM) amount of memory that is much faster than main memory. This memory is used to reduce the time it takes to reload frequently used data or instructions into the CPU. CPU chips themselves contain small amounts of memory built in as a cache.
In Oracle, the block buffers and shared pool are considered caches because they are used to store data and instructions for quick access. Caching is very effective in reducing the time it takes to retrieve frequently used data.
Caching usually works using a least recently used algorithm. Data that has not been used for a while is eventually released from the cache to make room for new data. If data is requested and is in the cache (a phenomenon called a cache hit), the data is retrieved from the cache, which means it does not have to be retrieved from disk. After the data has been accessed again, it is marked as recently used and put on the top of the cache list.
Cartesian products--The result of a join with no join condition. Each row in a table is matched with every row of another table.
checksum--A number calculated from the contents of a storage unit such as a file or data block. Using a mathematical formula, the checksum number is generated from data. Because it is highly unlikely that data corruption can occur in such a way that the checksum would remain the same, checksums are used to verify data integrity. From Oracle version 7.2 onward, checksums can be enabled on data blocks and redo blocks.
cluster (machine)--A group of computers that together form a larger logical machine. Oracle clusters computers with the Oracle Parallel Server option.
cluster (table)--A set of independent tables with a common column stored together. A cluster can improve performance by reducing I/Os and by preloading related data into the SGA before it is needed.
cluster index--The index on the cluster key. Each cluster key must have an index before data can be entered into the cluster.
cluster key--The common column in the set of tables built into a cluster. The cluster key must be indexed.
cold data--This term typically refers to infrequently used data. Cold data is rarely in cache because it is infrequently accessed.
cold database--This term typically refers to a database that is currently closed and not mounted. No users can connect to the database and no datafiles can be accessed.
collision--Typically refers to a network collision. A network collision occurs when two or more NICs try to use the network at the same time. When this happens, all the NICs must resend their data.
Common Object Response Broker Architecture--See CORBA.
complex statements--A SQL statement that contains a subquery. A subquery is a query within the SQL statement used to determine values in the main statement, or parent statement.
compound query--A query in which the set operators (UNION, UNION ALL, INTERSECT, and MINUS) are used to join two or more simple or complex statements. The individual statements in the compound query are referred to as component queries.
concurrency--The capability to perform many functions at the same time. Oracle provides for concurrency by allowing many users to access the database simultaneously.
consistent mode--In this mode, Oracle provides a consistent view of data from a certain point in time for the duration of the transaction. Until the transaction is complete, the data cannot change.
consistent read--A data access that causes a read from the rollback segment, thus keeping data consistent.
constraint--The mechanism that ensures that certain conditions relating columns and tables are maintained.
contention--A term usually used to describe a condition that occurs when two or more processes or threads attempt to obtain the same resource. The results of contention can vary depending on the resource in question.
CORBA--CORBA stands for the Common Object Request Broker Architecture, and is a specification for object communications.
cost-based optimizer--The Oracle optimizer that chooses an execution plan based on information and statistics that it has for tables, indexes, and clusters.
current mode--The mode in which Oracle provides a view as the data exists at this moment. Queries typically use consistent mode.
current read--A read in current mode; typically used for UPDATE, INSERT, and DELETE statements.
cursor--A handle to a specific private SQL area. Think of a cursor as a pointer to or a name of a particular private SQL area.
database administrator--See DBA.
Data Definition Language commands--See DDL commands.
data dictionary--A set of tables Oracle uses to maintain information about the database. The data dictionary contains information about tables, indexes, clusters, and so on.
Data Manipulation Language commands--See DML commands.
data warehouse--An extremely large database consisting of data from many sources to provide an information pool for business queries.
DBA--Database Administrator. The person responsible for the operation and configuration of the database. The DBA is responsible for the performance of the database, and is charged with keeping the database operating smoothly, ensuring that backups are performed on a regular basis (and that the backups work), and installing new software. Other responsibilities might include planning for future expansion and disk space needs, creating databases and tablespaces, adding users and maintaining security, and monitoring the database and retuning it as necessary. Large installations might have teams of DBAs to keep the system running smoothly; alternatively, the tasks might be segmented among the DBAs.
DDL commands--Data Definition Language commands. The commands used in the creation and modification of schema objects. These commands include the ability to create, alter, and drop objects; grant and revoke privileges and roles; establish auditing options; and add comments to the data dictionary. These commands are related to the management and administration of the Oracle database. Before and after each DDL statement, Oracle implicitly commits the current transaction.
deadlock--Deadlocks occur when two or more processes hold a resource that the other one needs. Neither of the processes will release its resource until it has received the other's resource; therefore, neither process can proceed.
Decision Support System--See DSS.
deferred frame--A network frame delayed from transferring because the network is busy.
DELETE--The SQL statement used to delete a row or rows from a table.
device driver--The piece of software, supplied by the OS or hardware vendor, that provides support for a piece of hardware such as a disk array controller or a NIC.
disk array--A set of two or more disks that might appear to the system as one large disk. A disk array can be a software or hardware device.
DML commands--Data Manipulation Language commands. The commands that allow you to query and modify data within existing schema objects. Unlike the DDL commands, a commit is not implicit. DML statements consist of DELETE, INSERT, SELECT, and UPDATE statements; EXPLAIN PLAN statements; and LOCK TABLE statements.
DSS--Decision Support System. A DSS is characterized by large business queries designed to provide valuable data that is used to make sound business decisions.
dynamic performance tables--Tables created at instance startup and used to store information about the performance of the instance. This information includes connection information, I/Os, initialization parameter values, and so on.
Ethernet--A network hardware standard. Ethernet is probably the most-used network type in the world.
equijoin--A join statement that uses an equivalency operation. The converse of this is the nonequijoin operation.
extent--A group of contiguous data blocks allocated for a table, index, or cluster. Extents are added dynamically as needed.
foreign key--An attribute requiring that a value must exist in another object, if not NULL, and be its primary key.
frame--See network frame.
function--A set of SQL or PL/SQL statements used together to execute a particular function. Procedures and functions are identical except that functions always return a value (procedures do not). By processing the SQL code on the database server, you can reduce the number of instructions sent across the network and returned from the SQL statements.
HAL--Hardware Abstraction Layer. A software layer closest to the hardware that performs all hardware-specific functions. The HAL includes the device drivers.
Hardware Abstraction Layer--See HAL.
hot data--This term typically refers to frequently accessed data. Hot data typically gets a good cache-hit rate.
hot database--This term typically refers to a database that is currently mounted, open, and servicing transactions. The instance is up and users are accessing data.
index--A device designed to give you faster access to your data. An index lets you avoid sequentially reading through data to find the item you are seeking.
initialization parameter--A parameter read by Oracle at instance startup. These parameters affect the Oracle configuration.
INSERT--The SQL statement used to insert a row into a table.
instance--The Oracle instance consists of the SGA, the Oracle background processes, and the datafiles that make up your database.
I/O (Input and Output [of data])--This term can be used to describe any type of data transfer but is typically associated with accesses to disk drives.
join--A query that selects data from more than one table. The data selected from the different tables is determined by conditions specified within the FROM clause of the statement. These conditions are called join conditions.
join condition--The specification within the WHERE clause of a query join that specifies the manner in which the rows in the different tables are paired.
LAN--A local, high-speed network that uses network hardware such as Ethernet or Token Ring and protocols such as TCP/IP and SPX/IPX.
lightweight process--Sometimes known as a thread. Similar to a process but shares the process context with other lightweight processes. A lightweight process has much less overhead associated with it than does a normal process. A thread switch (change between threads) has much less overhead than a process switch.
Local Area Network--See LAN.
logical disk--A term used to describe a disk that is in reality two or more disks in a hardware or software disk array. It appears to the user as one large disk when, in reality, it is two or more striped physical disks.
main memory--A term often used to describe RAM (Random Access Memory). This is the part of the computer system used to store data being processed or data that has recently been accessed. RAM is volatile and is not saved when the system is powered off.
Massively Parallel Processor system--See MPP system.
microkernel--The core component of a microkernel operating system. The microkernel contains the base components of the operating system. In a microkernel architecture, OS functions usually done in the kernel (such as I/O and device-driver support) are moved out of the kernel.
MPP system--Massively Parallel Processor system. A multiprocessor computer consisting of many independent processors that communicate through a complex, high-speed bus.
multiprocessor system--A computer that has two or more CPUs. A multiprocessor can be an SMP (Symmetric Multiprocessor) or an MPP (Massively Parallel Processor) system.
NCA--The Network Computing Architecture (NCA) is a standard for computing over the network. The NCA was developed in conjunction with Oracle.
Network Computing Architecture--See NCA.
network frame--The structure sent across the network that contains user data as well as network control information. The terms network frame and network packet are sometimes interchangeable.
Network Interface Card--See NIC.
network packet--The structure built by the Network Protocol layer. This structure includes user data as well as network and routing information.
NIC--Network Interface Card. A piece of hardware used to network computers together. A NIC can be one of several varieties including Ethernet, Token Ring, or fiber optic.
nonequijoin--A join statement that does not use an equality operation. The converse of this is the equijoin operation.
OCI--Oracle Call Interface. The standard set of calls used to access the Oracle database.
offline--This term typically refers to a database that is currently closed and not mounted. No users can connect to the database and no datafiles can be accessed.
OLTP--Online Transaction Processing. An OLTP system is characterized by large num-bers of users inserting and retrieving data in a somewhat unstructured manner.
online--This term typically refers to a database that is currently mounted, open, and servicing transactions. The instance is up and users are accessing data.
Online Transaction Processing--See OLTP.
optimizer--A component of the Oracle RDBMS used to select SQL execution plans in the most efficient and cost-effective manner. There are two optimizers: a cost-based optimizer and a rules-based optimizer. Each determines the best execution plan based on different criteria.
Oracle Call Interface--See OCI.
outer join--A join operation that uses the outer join operator (+) in one of the join statements. The output of an outer join is the rows that satisfy the join condition and those rows in the first table for which no rows in the second table satisfy the join condition.
package--A collection of related, stored procedures or functions grouped together.
packet--See network packet.
paging--An operating system function used to copy virtual memory between physical memory and the paging file (see virtual memory). Paging is used when the amount of virtual memory in use has exceeded the amount of physical memory available. Paging is an expensive task in terms of performance and should be avoided if possible.
Parallel Query option--An add-on package to the Oracle RDBMS that allows for concurrent processing of some functions.
Parallel Server option--An add-on package to the Oracle RDBMS that allows for multiple systems to share a common database. Each system has its own instance but the database tables are shared. Data consistency is guaranteed by means of a sophisticated locking mechanism.
physical memory--The actual hardware RAM (Random Access Memory) available in the computer for use by the operating system and applications.
PL/SQL--A set of procedural language extensions that Oracle has added to standard SQL. Procedures, functions, packages, and triggers are written in the PL/SQL language.
primary key--Attributes used to uniquely identify a row in a table.
procedure--A set of SQL or PL/SQL statements used together to execute a particular function. Procedures and functions are identical except that functions always return a value (procedures do not). By processing the SQL code on the database server, you can reduce the number of instructions sent across the network and returned from the SQL statements.
program unit--In Oracle, the term used to describe a package, a stored procedure, or a sequence.
query--A question. A SELECT statement is considered a query because it requests information from the database. Any read-only SQL statement can be thought of as a query.
random I/O--Occurs when data is accessed on a disk drive in no specific order. Random I/O typically creates significant disk-head movement.
read consistency--An attribute used to ensure that, during a SQL statement, data returned from Oracle is consistent. Oracle uses the rollback segments to ensure read consistency.
recursive call--A set of SQL statements generated by Oracle in response to some action or event.
redo log file--The file that contains a copy of all data blocks that have been modified as the result of a database transaction. In the event of a system failure, any transaction can be recovered with these redo blocks. Oracle requires at least two redo log files that are written to in a round-robin fashion.
referential integrity--A constraint on a column in a table that references another column. The constraint can be used to guarantee that the referenced value exists.
replication--The creation of an image of a database or table on another computer system. A replicated database is a copy of another database.
rollback--The act of undoing changes that have been made by a transaction.
rollback segment--The place in the database where undo information is kept and can be obtained if a rollback is needed.
rules-based optimizer--The Oracle optimizer that chooses an execution plan based on a table of costs associated with various operations.
scalability--Typically used in association with multiprocessor or cluster configurations. The scalability of the additional component refers to the performance gain obtained by adding that component. A perfectly scalable solution gives double the performance when you add a second component.
For example, if you have an SMP machine with a measured performance of 1.0 (normalized), add a second CPU, and get a performance of 1.9, the scalability of adding the second CPU is 1.9, or 90%. This term is used quite frequently in hardware and software manufacturers' literature when marketing multiprocessor or clustered solutions.
schema--A collection of objects associated with the database.
schema objects--Abstractions or logical structures that refer to database objects or structures. Schema objects consist of such things as clusters, indexes, packages, sequences, stored procedures, synonyms, tables, views, and so on.
SCN--System Change Number. The SCN is a number that identifies each change to the database. The SCNs are used during the checkpoint process, recovery process, and during point-in-time recovery.
segment--The set of extents that have been allocated to a specific object. Segment types consist of data, index, cluster, hash, and rollback.
self join--A join in which a table is joined with itself.
sequences--A convenience feature of Oracle that allows unique sequential numbers to be automatically generated for you.
sequential I/O--Occurs when data is accessed on a disk drive in order. Sequential I/O typically causes very little disk-head movement.
Server Manager--Oracle's GUI database administration tool. Server Manager is used to replace SQL*DBA.
session--The set of events that occurs from when a user connects to the Oracle RDBMS to when that user disconnects.
SGA--System Global Area. The SGA is a shared memory region Oracle uses to store data and control information for one Oracle instance. The SGA is allocated when the Oracle instance starts; it is deallocated when the Oracle instance shuts down. Each Oracle instance that starts has its own SGA. The information in the SGA is made up of the database buffers, the redo log buffer, and the shared pool; each has a fixed size and is created at instance startup.
shared pool--The area in the SGA that contains the data dictionary cache and shared parsed SQL statements.
simple statement--A SQL statement that involves only one INSERT, UPDATE, or DELETE statement.
SMP--Symmetric Multiprocessor. An SMP system is a multiprocessor computer that uses a shared-memory architecture. SMP systems are usually either a tightly coupled or a loosely coupled architecture.
snapshot--A copy of a database or table. This term is used in relation to database replication.
SPX/IPX--A network protocol developed for the NetWare operating system. Today, SPX/IPX runs on many operating systems.
SQL*DBA--The Oracle database administration tool. SQL*DBA is being made obsolete by Server Manager.
SQL*Loader--The Oracle database loading tool.
SQL*Net--The Oracle component that allows connections from a network into the Oracle RDBMS. SQL*Net supports many protocols; SQL*Net on any architecture can talk to SQL*Net on any other supported architecture.
SQL*Plus--An Oracle-supplied tool that allows users to run SQL statements directly.
streaming--Usually associated with a tape device. Tapes perform best when the tape is continually in motion, or streaming. If the data is not fed to the tape quickly enough, the tape drive must reposition the tape to wherever it last stopped recording data (to reposition the tape, the drive must stop the tape and rewind it). This action severely degrades performance.
stored function--See function.
stored procedure--See procedure.
subquery--A SELECT statement referenced in an UPDATE, INSERT, or DELETE statement.
swapping--An operating system function similar to paging; used to copy virtual memory between physical memory and the paging file (see virtual memory). Swapping is almost identical to paging except that swapping is done on a process basis and paging is done on a memory-page basis. Swapping is used when the amount of virtual memory in use has exceeded the amount of physical memory available. Swapping is quite expensive in terms of performance and should be avoided if possible.
Symmetric Multiprocessor--See SMP.
synonym--An alias for a table, view, sequence, or program unit.
System Change Number--See SCN.
System Global Area--See SGA.
table--The basic unit of storage in the Oracle database. Users store their data in tables.
tablespace--A logical structure that consists of one or more datafiles. A tablespace is used to logically contain tables, clusters, and indexes.
TCP/IP (Transmission Control Protocol/Internet Protocol)--A network protocol. TCP/IP is probably the most used network protocol in the world.
thread--Sometimes know as a lightweight process. Similar to a process but shares the process context with other threads. A thread has much less overhead associated with it than does a normal process. A thread switch (change between threads) has much less overhead than a process switch.
Token Ring--A hardware network standard. Token Ring networks use a token-passing mechanism for arbitration. Only the NIC with the token can use the network.
transaction--A set of database statements that represents a logical unit of work or function. A database transaction starts when the first SQL statement is submitted and ends when the COMMIT or ROLLBACK has occurred. Performance measurements often use the number of transactions per second as the performance metric.
trigger--A mechanism that allows you to write procedures that are automatically executed whenever an INSERT, UPDATE, or DELETE statement is executed on a table or view. Triggers can be used to enforce integrity constraints or automate some other custom function.
two-phase commit--The process by which distributed transactions occur. In a two-phase commit, each node commits its changes and signals that it has completed. When all nodes have successfully committed, the distributed transaction has committed.
UPDATE--The SQL statement used to change rows in a table.
view--A window into a table or set of tables. A view is a way for a table or set of tables to be seen. A view, like a table, can be queried, updated, inserted into, and deleted from. The data, however, is actually stored in the tables to which the view refers.
virtual memory--The memory that can be used for programs in the operating system. To overcome the limitations associated with insufficient physical memory, virtual memory allows programs to run that are larger than the amount of physical memory in the system. When there is not enough physical memory in the system, these programs are copied from RAM to a disk file called a paging file or swap file. This arrangement allows small systems to run many programs. You pay a performance penalty when the computer pages or swaps.
© Copyright, Macmillan Computer Publishing. All rights reserved.