0% found this document useful (0 votes)
1K views14 pages

Oracle History

Oracle Forms is a tool for creating user interface applications that access an Oracle database. It allows developers to quickly build data entry systems through a visual interface. Forms generates default forms for viewing and editing data from Oracle tables. It provides built-in functionality for common tasks like record creation and updating that minimize programming needs. Forms uses event-driven triggers to handle user interactions and database operations.

Uploaded by

anon-36924
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views14 pages

Oracle History

Oracle Forms is a tool for creating user interface applications that access an Oracle database. It allows developers to quickly build data entry systems through a visual interface. Forms generates default forms for viewing and editing data from Oracle tables. It provides built-in functionality for common tasks like record creation and updating that minimize programming needs. Forms uses event-driven triggers to handle user interactions and database operations.

Uploaded by

anon-36924
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 14

Oracle Forms is a tool (somewhat like Visual Basic in appearance, but the code inside is

PL/SQL) which allows a developer to quickly create user-interface applications which


access an Oracle database in a very efficient and tightly-coupled way. It was originally
developed to run server-side in character mode on any Unix box, before Windows
existed. It was then ported to Windows to function in a client-server environment. Recent
versions have been ported to Java. It now runs in a J2EE container and can integrate with
Java and web services.

Forms primarily focus is creating data entry systems


that access data in an Oracle database.
Product Position
Forms is part of the Oracle Developer Suite. This was at one time known as Developer
2000 or D2K and Oracle IDE Integrated Development Environment. Oracle marketed
it as a Rapid Application Development tool.

How it works
Oracle Forms accesses the Oracle database and generate a default form that presents the
data. The source form (*.fmb) is compiled into an "executable" (*.fmx), that is run
(interpreted) 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 supplies built-in record creation, query, and update modes, each with its
own default data manipulations. This minimizes 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.
History
Oracle Forms is sold and released separately from the Oracle database. However, major
releases of an Oracle database usually result in a new major version of Oracle Forms to
support new features in the database.

Oracle Forms had its origin in the character-cell video tool called Interactive Application
Facility (IAF), subdivided in two components (Interactive Application Generator (IAG)
and Interactive Application Processor (IAP)) which accompanied Oracle Version 2, the
first commercial version of Oracle. The character-cell video tool called FastForms was
introduced with Oracle version 4 - an additional tool to help the programmer to generate
a default form to edit with standard tool (IAG).

Renamed to SQL*Forms version 2 with the Oracle 5 database

Oracle Forms 2.3 was character based, and did not use PL/SQL. The source file was an
*.INP ASCII file. It was common for developers to edit the INP file directly although that
was not supported by Oracle. This version used its own primitive and unfriendly built-in
language, augmented by user exits--compiled language code linked to the binary of the
Oracle-provided run-time code.

Oracle Forms 3 was character based, and was the first real version of Forms, using
PL/SQL. All subsequent versions are a development of this version. It could run under X
but did not support any X interface specific features such as checkboxes. The source file
was an *.INP ASCII file. The IDE was vastly improved from 2.3 which dramatically
decreased the need to edit the INP file directly, although this was still a common practice.
Forms 3 automatically generated triggers and code to support some database constraints.
Constraints could be defined, but not enforced in the Oracle 6 database at this time, so
Oracle used Forms 3 to claim support for enforcing constraints.

Oracle Forms version 4.0 was the first GUI based version, although a character based
runtime was still available for certain customers. The arrival of Microsoft Windows 3
forced Oracle to release a GUI version for commercial reasons. But it was rumoured that
it was in fact an internal demo which was only released as a stop-gap while Forms 4.5
was developed. Forms 4.0 accompanied Oracle version 6 and featured a common
graphical interface designed to operate under Windows and X. This version was
notoriously buggy and introduced an IDE that was unpopular with developers. This
version was not used by Oracle Financials. The 4.0 source files were named *.FMB and
were binary.

Oracle Forms version 4.5 was a major new release rather than a "point release" of 4.0. It
contained significant functional changes and a brand new IDE (replacing the unpopular
IDE introduced in 4.0). It is rumoured that it was named 4.5 in order to meet contractual
obligations to support Forms 4 for a period of time for certain clients. It added GUI-based
triggers, and looked very like Visual Basic to the inexperienced.
Due to conflicting operational paradigms, Oracle Forms version 5, which accompanied
Oracle version 7, featured custom graphical modes tuned especially for each of the major
systems. However, its internal programmatic interface remained system-independent. It
was quickly superseded by Forms 6.

Forms 6 was released with Oracle 8.0; it was rereleased as Forms 6i with Oracle 8i. This
was basically Forms 4.5 with some extra wizards and bug-fixes. But it also included the
facility to run it inside a web server. A Forms Server was supplied which solved the
problem of adapting Oracle Forms to a three-tier, browser-based delivery, without
incurring major changes in its programmatic interface. The complex, highly interactive
form interface was provided by a Java applet which communicated directly with the
Forms server. However the web version did not work very well over HTTP. A fix from
Forms 9i was retrofitted to later versions of 6i to address this.

The naming and numbering system applied to Oracle Forms subsequently underwent
several changes due to marketing factors, without altering the essential nature of the
product. The ability to code in Java, as well as PL/SQL, was added in this period.

Forms 9i included many bug fixes to 6i and was a stable version. But it did not include
either client-server or character-based interfaces, and three-tier, browser-based delivery is
the only deployment choice from here on. The ability to import java classes means that it
can act as a web service client.

Forms 10g is version 9.0.4, so is merely a rebadged forms 9i.

Forms 11 will include some new features, relying on Oracle AQ to allow it to interact
with JMS.

Version Summary

(*1)
Name Version Character/GUI Comments
Database

IAF 2 Character No IDE

FastForms+IAG 4 Character "Death by a thousand questions"

SQL*Forms 2 5 Character
New IDE, No PLSQL, User Exits,
SQL*Forms 2.3 5 Character INP ASCII File, FRM Runtime
File

Major Rewrite, New IDE, PLSQL,


SQL*Forms 3 6 Character X Support, Generate code to
enforce constraints

Major Rewrite, New IDE, FMB


source binary file, FMX Runtime,
Oracle Forms 4.0 6-7 Gui / Character optimized for Client-Server. New
interface is slow, buggy and not
popular with client base.

Major Rewrite, New IDE based on


Object Navigator & Property
Sheets. Good release, fast, popular
with client base. Oracle wanted
customers to upgrade from v4
quickly because v4 was very
buggy and Oracle was contracted
to support v4 for a period of time
for some large, important
Oracle Forms 4.5 7 Gui / Character customers. So, Oracle named this
release 4.5 (rather than 5) which
allowed Oracle to claim continued
support for v4. This allowed some
customers who were locked into
v4 for the life of their project to
upgrade from v4 to v4.5 by
claiming that this was a patch
release even though it was clearly
a major release.

Oracle Forms 5 7 Gui / Character

Oracle Forms 6 8 Gui / Character Forms Server / Web Forms


introduced. Client-Server still
available and used by most clients.
Forms Server mode is slow, buggy
and uses a lot of memory per
session.

Oracle Forms 6i 8 Gui / Character

Client-Server runtime removed


leaving Forms Server as only
runtime option. Same memory
Oracle Forms 9i (*2) 9i Gui
requirements as before but
memory is now cheaper so not as
big an issue.

This is a Forms 9 release


(9.0.4.0.19). Renamed externally
Oracle Forms 10g 10g Gui to indicate support for 10g
database. Menu-Help-About
displays v9.0.4.0.19

Oracle Forms 10gr1 10gr1 Gui version 10.1.2.0.0

version 10.1.2.0.2 - registry home


Oracle Forms 10gr2 10gr2 Gui key moved. Max NUMBER length
reduced from 40 to 38

Oracle Forms 11g 11g Gui

(*1) Each version of Oracle Forms can connect to numerous versions of the ORACLE
database and is sold and released separately from the ORACLE Database. Oracle Forms
is generally forward and backward compatible with the Oracle database - for example:
Oracle Forms 9 can connect to at least Oracle 8,9, 10 and 11. The database versions listed
here are the primary version that was available at the time of the Form release

(*2) Oracle products have historically followed their own release-numbering and naming
conventions. This changed with Oracle RDBMS 9i release when Oracle Corporation
started to standardizing Oracle Forms (and Reports and Developer) to use the same major
version number as the database. This explains the jump in Oracle Forms versions from 6i
to 9i (there was no v7 or v8)
Integration with Oracle Designer CASE Tool
Oracle Designer is a CASE tool that is sold by Oracle. It is able to generate various
software modules including Oracle Forms and Oracle Reports

Current Status
Whilst Oracle's preferred approach for new development is its Java based Oracle
Application Development Framework, Oracle's development tools statement of direction
is quite clear in its commitment to continuing to support Oracle Forms and continue to
develop and enhance it in the following areas:

• Making the upgrade to the web and to new releases as smooth as possible
• Allowing Forms and Reports applications to take full advantage of the application
server services and inter-operate with J2EE applications.

Oracle Database

From Wikipedia, the free encyclopedia


Jump to: navigation, search

Oracle Database

Developed by Oracle Corporation


Initial release 1979
Latest release 11g / 11 July 2007
Written in C
OS Cross-platform (List)
Available in Multiple languages
Genre RDBMS
License Proprietary
Website http://www.oracle.com/

The relational database management system (RDBMS) officially called Oracle Database
(and commonly referred to as Oracle RDBMS or simply as Oracle) has become a major
presence in database computing. Oracle Corporation produces and markets this software.

Larry Ellison and his friends and former co-workers Bob Miner and Ed Oates started the
consultancy Software Development Laboratories (SDL) in 1977. SDL developed the
original version of the Oracle software. The name Oracle comes from the code-name of a
CIA-funded project Ellison had worked on while previously employed by Ampex.

Physical and logical structuring in Oracle


An Oracle database system comprises at least one instance of the application, 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 memory 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 block size can vary between data-files.

Oracle database management track its computer 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.
[edit] Database schema

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[1].

The SCOTT schema has seen less use as it uses so few of the features of a modern release
of Oracle. Most recent examples reference the default HR or OE schemas.

Other default schemas[2] 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 stable query-optimizer execution
[3]
plans .

BI, IX, HR, OE, PM, and SH (expanded sample schemas[4] 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)

Memory architecture

System Global Area


Main article: System Global Area
Each Oracle instance uses a System Global Area or SGA — a shared-memory area — to
store its data and control-information. [5]

Each Oracle instance allocates itself an SGA when it starts and de-allocates it at shut-
down time. The information in the SGA consists of the following elements, each of which
has a fixed size, established at instance startup:

the database buffer cache: this stores the most recently-used data blocks. These blocks
can contain modified data not yet written to disk (sometimes known as "dirty blocks"),
unmodified blocks, or blocks written to disk since modification (sometimes known as
clean blocks). Because the buffer cache keeps blocks based on a most-recently-used
algorithm, the most active buffers stay in memory to reduce I/O and to improve
performance.

the redo log buffer: this stores redo entries — a log of changes made to the database. The
instance writes redo log buffers to the redo log as quickly and efficiently as possible. The
redo log aids in instance recovery in the event of a system failure.

the shared pool: this area of the SGA stores shared-memory structures such as shared
SQL areas in the library cache and internal information in the data dictionary. An
insufficient amount of memory allocated to the shared pool can cause performance
degradation.

Library cache
The library cache[6] stores shared SQL, caching the parse tree and the execution plan for
every unique SQL statement.

If multiple applications issue the same SQL statement, each application can access the
shared SQL area. This reduces the amount of memory needed and reduces the processing-
time used for parsing and execution planning.

Data dictionary cache

The data dictionary comprises a set of tables and views that map the structure of the
database.

Oracle stores information here about the logical and physical structure of the database.
The data dictionary contains information such as the following:

User information, such as user privileges

Integrity constraints defined for tables in the database

Names and datatypes of all columns in database tables

Information on space allocated and used for schema objects


The Oracle instance frequently accesses the data dictionary in order to parse SQL
statements. The operation of Oracle depends on ready access to the data dictionary:
performance bottlenecks in the data dictionary affect all Oracle users. Because of this,
database administrators should make sure that the data dictionary cache[7] has sufficient
capacity to cache this data. Without enough memory for the data-dictionary cache, users
see a severe performance degradation. Allocating sufficient memory to the shared pool
where the data dictionary cache resides precludes these particular performance problems.

Program Global Area


The Program Global Area[8] or PGA memory-area contains data and control-information
for Oracle's server-processes.

The size and content of the PGA depends on the Oracle-server options installed. This area
consists of the following components:

stack-space: the memory that holds the session's variables, arrays, and so on.

session-information: unless using the multithreaded server, the instance stores its session-
information in the PGA. (In a multithreaded server, the session-information goes in the
SGA.)

private SQL-area: an area in the PGA which holds information such as bind-variables and
runtime-buffers.

sorting area: an area in the PGA which holds information on sorts, hash-joins, etc.

Process architecture
The Oracle RDBMS typically relies on a group of processes running simultaneously in
the background and interacting to further and monitor database operations. Such
processes (and their standard abbreviations) can include:[9]

archiver processes (ARCn)

checkpoint process (CKPT)

database writer processes (DBWn)

dispatcher processes (Dnnn): multiplex server-processes on behalf of users

memory-manager process (MMAN): used for internal database tasks such as Automatic
Shared Memory Management

job-queue processes (CJQn)

log-writer process (LGWR)


log-write network-server (LNSn): transmits redo logs in Data Guard environments

logical standby coordinator process (LSP0): controls Data Guard log-application

media-recovery process (MRP): detached recovery-server process

memory-monitor process (MMON)

memory-monitor light process (MMNL): gathers and stores Automatic Workload


Repository (AWR) data

process-monitor process (PMON)

process-spawner (PSP0): spawns Oracle processes

queue-monitor processes (QMNn)

recoverer process (RECO)

remote file-server process (RFS)

shared server processes (Snnn): serve client-requests

system monitor process (SMON)

Languages
Oracle Database software comes in 63 language-versions (including regional variations
such as American and British). Variations between versions cover the names of days and
months, abbreviations, time-symbols such as A.M. and A.D., and sorting[10].

Oracle Corporation has translated Oracle Database error-messages into Arabic, Catalan,
Chinese, Czech, Danish, Dutch, English, Finnish, French, German, Greek, Hebrew,
Hungarian, Italian, Japanese, Korean, Norwegian, Polish, Portuguese, Romanian,
Russian, Slovak, Spanish, Swedish, Thai and Turkish.[11]

History
Corporate/technical timeline

1979: Larry Ellison and friends founded Software Development Laboratories.

1979: SDL changed its company-name to "Relational Software, Inc." (RSI) and
introduced its product Oracle V2 as an early commercially-available relational database
system. The version did not support transactions, but implemented the basic SQL
functionality of queries and joins. (RSI never released a version 1 - instead calling the
first version version 2 as a marketing gimmick.)[12]

1982: RSI in its turn changed its name, becoming known as "Oracle Corporation",[13] to
align itself more closely with its flagship-product.

1983: The company released Oracle version 3, which it had re-written using the C
programming language and which supported COMMIT and ROLLBACK functionality for
transactions. Version 3 extended platform support from the existing Digital VAX/VMS
systems to include Unix environments.[14]

1984: Oracle Corporation released Oracle version 4, which supported read-consistency.

1985: the Oracle RDBMS began supporting the client-server model, with networks
becoming more widely available in the mid-1980s. Oracle version 5.0 supported
distributed queries.

1988: Oracle RDBMS version 6 came out with support for PL/SQL embedded within
Oracle Forms v3 (version 6 could not store PL/SQL in the database proper), row-level
locking and hot backups.[15]

1989: Oracle Corporation entered the application products market and developed its ERP
product, (later to become part of the Oracle E-Business Suite), based on the Oracle
relational database.

1990: the release of Oracle Applications release 8[16]

1992: Oracle version 7 appeared with support for referential integrity, stored procedures
and triggers.

1997: Oracle Corporation released version 8, which supported object-oriented


development and multimedia applications.

1999: The release of Oracle8i aimed to provide a database inter-operating better with the
Internet (the i in the name stands for "Internet"). The Oracle 8i database incorporated a
native Java virtual machine (Oracle JVM).

2000: Oracle E-Business Suite 11i pioneers integrated enterprise application software[17]

2001: Oracle9i went into release with 400 new features, including the ability to read and
write XML documents. 9i also provided an option for Oracle RAC, or "Real Application
Clusters", a computer-cluster database, as a replacement for the Oracle Parallel Server
(OPS) option.

2003: Oracle Corporation released Oracle Database 10g. (The g stands for "grid";
emphasizing a marketing thrust of presenting 10g as "grid-computing ready".)
2005: Oracle Database 10.2.0.1 — also known as Oracle Database 10g Release 2
(10gR2) — appeared.

2006: Oracle Corporation announces Unbreakable Linux[18]

2007: Oracle Database 10g Release 2 Sets New World Record TPC-H 3000 GB
Benchmark Result[19]

2007: Oracle Corporation released Oracle Database 11g for Linux and for Microsoft
Windows.

2008: Oracle Corporation acquires BEA Systems.

Version numbering

Oracle products have historically followed their own release-numbering and naming
conventions. With the Oracle RDBMS 10g release, Oracle Corporation started
standardizing all current versions of its major products using the "10g" label, although
some sources continued to refer to Oracle Applications Release 11i as Oracle 11i. Major
database-related products and some of their versions include:

Oracle Application Server 10g (also known as "Oracle AS 10g"): a middleware product;

Oracle Applications Release 11i (aka Oracle e-Business Suite, Oracle Financials or
Oracle 11i): a suite of business applications;

Oracle Developer Suite 10g (9.0.4);

Oracle JDeveloper 10g: a Java integrated development environment;

Since version 7, Oracle's RDBMS release numbering has used the following codes:

Oracle7: 7.0.16 — 7.3.4

Oracle8 Database: 8.0.3 — 8.0.6

Oracle8i Database Release 1: 8.1.5.0 — 8.1.5.1

Oracle8i Database Release 2: 8.1.6.0 — 8.1.6.3

Oracle8i Database Release 3: 8.1.7.0 — 8.1.7.4

Oracle9i Database Release 1: 9.0.1.0 — 9.0.1.5 (Latest current patchset as of December


2003)

Oracle9i Database Release 2: 9.2.0.1 — 9.2.0.8 (Latest current patchset as of April 2007)
Oracle Database 10g Release 1: 10.1.0.2 — 10.1.0.5 (Latest current patchset as of
February 2006)

Oracle Database 10g Release 2: 10.2.0.1 — 10.2.0.4 (Latest current patchset as of April
2008)

Oracle Database 11g Release 1: 11.1.0.6 — no patchset available as of October 2007

The version numbering syntax within each release follows the pattern:
major.maintenance.application-server.component-specific.platform-specific.

For example, "10.2.0.1 for 64-bit Solaris" means: 10th major version of Oracle,
maintenance level 2, Oracle Application Server (OracleAS) 0, level 1 for Solaris 64-bit.

The Oracle Administrator's Guide offers further information on Oracle release numbers.
Oracle Corporation provides a table[20] showing the latest patch-set releases by major
release, operating-system, and hardware-architecture.

You might also like