This action might not be possible to undo. Are you sure you want to continue?
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.
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.
Name Version (*1) Character/GUI Database 2 4 2 5 Character Character Character No IDE "Death by a thousand questions" Comments
IAF FastForms+IAG SQL*Forms
New IDE, No PLSQL, User Exits, INP ASCII File, FRM Runtime File Major Rewrite, New IDE, PLSQL, X Support, Generate code to enforce constraints
Major Rewrite, New IDE, FMB source binary file, FMX Runtime, 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 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. Gui / Character Gui / Character Forms Server / Web Forms introduced. Client-Server still available and used by most clients. Forms Server mode is slow, buggy
Oracle Forms Oracle Forms
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 requirements as before but memory is now cheaper so not as big an issue. This is a Forms 9 release (184.108.40.206.19). Renamed externally to indicate support for 10g database. Menu-Help-About displays v220.127.116.11.19 version 10.1.2.0.0 version 10.1.2.0.2 - registry home key moved. Max NUMBER length reduced from 40 to 38
(*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
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.
From Wikipedia, the free encyclopedia
Jump to: navigation, search
Developed by Initial release Latest release Written in OS Available in Genre License Website
Oracle Corporation 1979 11g / 11 July 2007 C Cross-platform (List) Multiple languages RDBMS Proprietary 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 memorystructures 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 objectoriented language Java can invoke such code objects and/or provide the programming structures for writing them.
 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. 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 include:
(essential core database structures and utilities) (additional core database structures and utilities, and privileged account)
(utilized to store metadata for stored outlines for stable query-optimizer execution plans .
and SH (expanded sample schemas containing more data and structures than the older SCOTT schema)
BI, IX, HR, OE, PM,
Default tablespaces include:
SYSTEM SYSAUX TEMP
(essential core database structures and utilities) (extra/extended data to supplement the SYSTEM schema)
(temporary tablespace) (undo tablespace)
(default users tablespace created by the Database Configuration Assistant - but replaceable by the DBA)
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.  Each Oracle instance allocates itself an SGA when it starts and de-allocates it at shutdown 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.
The library cache 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 processingtime 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 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 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 sessioninformation 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.
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: 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)
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. 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.
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.) 1982: RSI in its turn changed its name, becoming known as "Oracle Corporation", 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. 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. 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 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 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 2007: Oracle Database 10g Release 2 Sets New World Record TPC-H 3000 GB Benchmark Result 2007: Oracle Corporation released Oracle Database 11g for Linux and for Microsoft Windows. 2008: Oracle Corporation acquires BEA Systems.
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: 18.104.22.168 — 22.214.171.124 Oracle8i Database Release 2: 126.96.36.199 — 188.8.131.52 Oracle8i Database Release 3: 184.108.40.206 — 220.127.116.11 Oracle9i Database Release 1: 18.104.22.168 — 22.214.171.124 (Latest current patchset as of December 2003) Oracle9i Database Release 2: 126.96.36.199 — 188.8.131.52 (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: 184.108.40.206 — 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 showing the latest patch-set releases by major release, operating-system, and hardware-architecture.
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue listening from where you left off, or restart the preview.