Friday, April 13, 2007

Oracle Database

An Oracle database consists of a collection of data managed by an Oracle database management system. Popular generic usage also uses the term to refer to the Oracle DBMS management software, but not necessarily to a specific database under its control.

One can refer to the Oracle database management system unambiguously as Oracle DBMS or (since it manages databases which have relational characteristics) as Oracle RDBMS.

Oracle Corporation blurs the distinctions[citation needed] between:

1. data managed by an Oracle RDBMS
2. an Oracle database, and
3. the Oracle RDBMS software itself

when it refers nowadays to the Oracle RDBMS (the software it sells for the purpose of managing databases) as the Oracle Database. The distinction between the managed data (the database) and the software which manages the data (the DBMS / RDBMS) relies, in Oracle's marketing literature, on the capitalisation of the word database.

Oracle Corporation produces and markets the Oracle DBMS, which many database applications use extensively on many popular computing platforms.

Physical and logical structuring

An Oracle database comprises at least one instance, along with data storage. An instance comprises a set of operating system processes and memory structures that interact with the storage. Typical processes include PMON (the process monitor) and SMON (the system monitor).

Users of Oracle databases refer to the server-side memory-structure as the SGA (System Global Area). The SGA typically holds cache information such as data-buffers, SQL commands and user information. In addition to storage, the database consists of online redo logs (which hold transactional history). Processes can in turn archive the online redo logs into archive logs (offline redo logs), which provide the basis (if necessary) for data recovery and for some forms of data replication.

The Oracle RDBMS stores data logically in the form of tablespaces and physically in the form of data files. Tablespaces can contain various types of segments, for example, Data Segments, Index Segments etc. Segments in turn comprise one or more extents. Extents comprise groups of contiguous data blocks. Data blocks form the basic units of data storage. At the physical level, data-files comprise one or more data blocks, where the blocksize can vary between data-files.

Oracle database management keeps track of its data storage with the help of information stored in the SYSTEM tablespace. The SYSTEM tablespace contains the data dictionary — and often (by default) indexes and clusters. (A data dictionary consists of a special collection of tables that contains information about all user-objects in the database). Since version 8i, the Oracle RDBMS also supports "locally managed" tablespaces which can store space management information in bitmaps in their own headers rather than in the SYSTEM tablespace (as happens with the default "dictionary-managed" tablespaces).

If the Oracle database administrator has instituted Oracle RAC (Real Application Clusters), then multiple instances, usually on different servers, attach to a central storage array. This scenario offers numerous advantages, most importantly performance, scalability and redundancy. However, support becomes more complex, and many sites do not use RAC. In version 10g, grid computing has introduced shared resources where an instance can use (for example) CPU resources from another node (computer) in the grid.

The Oracle DBMS can store and execute stored procedures and functions within itself. PL/SQL (Oracle Corporation's proprietary procedural extension to SQL), or the object-oriented language Java can invoke such code objects and/or provide the programming structures for writing them.

Schemas

Oracle database conventions refer to defined groups of ownership (generally associated with a "username") as schemas.

Most Oracle database installations traditionally come with a default schema called SCOTT. After the installation process has set up the sample tables, the user can log into the database with the username scott and the password tiger. (The name of the SCOTT schema originated with Bruce Scott, one of the first employees at Oracle (then Software Development Laboratories), who had a cat named Tiger.)

Other default schemas include:

* SYS (essential core database structures and utilities)
* SYSTEM (additional core database structures and utilities, and privileged account)
* OUTLN (utilized to store metadata for stored outlines for query optimizer plan stability.
* BI, IX, HR, OE, PM, and SH (expanded sample schemas containing more data and structures than the older SCOTT schema)

Tablespaces

Default tablespaces include:

* SYSTEM (essential core database structures and utilities)
* SYSAUX (extra/extended data to supplement the SYSTEM schema)
* TEMP (temporary tablespace)
* UNDOTBS1 (undo tablespace)
* USERS (default users tablespace created by the Database Configuration Assistant - but replaceable by the DBA)

Oracle Forms Developer

Oracle Forms (part of the Oracle Developer Suite - formerly Developer 2000 or D2K) is a Rapid Application Development (RAD) environment for developing database applications. The language used inside is PL/SQL.

Oracle Forms is able to access the Oracle database and generate a default form that presents the data. The form is compiled into an executable (fmx), that is run by the forms runtime module. The form is used to view and edit data in business applications. Various GUI elements, such as buttons, menus, scrollbars, and graphics can be placed on the form.

The environment notably supplies built-in record creation, query, and update modes, each with its own default data manipulations. This eliminates the need to program common and tedious operations, such as creating dynamic SQL, sensing changed fields, and locking rows.

As is normal with event driven interfaces, the software implements a complex algorithm, consisting of special functions called triggers, which occur at critical steps in the processing of records, the receipt of keyboard strokes, and the receipt of mouse movements. Different triggers are called before, during, and after each critical step.

Each function is initially a stub, containing a default action or nothing. Programming Oracle Forms therefore generally consists of modifying the contents of these triggers in order to alter the default behavior. Some triggers, if provided by the programmer, replace the default action, others augment it.

As a result of this strategy, it is possible to create a number of default form layouts which possess complete database functionality yet contain no programmer-written code at all.


Oracle Reports
Developer

Oracle Reports is a tool for developing reports against data stored in an Oracle database. Oracle Reports consists of Oracle Reports Developer (a component of the Oracle Developer Suite) and Oracle Application Server Reports Services (a component of the Oracle Application Server).

Output formats
The reports can be delivered directly to a printer or in the following formats:

* HTML
* RTF
* PDF
* XML
* Microsoft Excel

No comments: