SlideShare a Scribd company logo
1 of 49
Get Homework/Assignment Done
Homeworkping.com
Homework Help
https://www.homeworkping.com/
Research Paper help
https://www.homeworkping.com/
Online Tutoring
https://www.homeworkping.com/
click here for freelancing tutoring sites
The most important program that runs on a computer. Every general-purpose computer must
have an operating system to run other programs. Operating systems perform basic tasks, such as
recognizing input from the keyboard, sending output to the display screen, keeping track of files
and directories on the disk, and controlling peripheral devices such as disk drives and printers.
For large systems, the operating system has even greater responsibilities and powers. It is like a
traffic cop -- it makes sure that different programs and users running at the same time do not
interfere with each other. The operating system is also responsible for security, ensuring that
unauthorized users do not access the system.
Operating systems can be classified as follows:
# multi-user : Allows two or more users to run programs at the same time. Some operating
systems permit hundreds or even thousands of concurrent users.
# multiprocessing : Supports running a program on more than one CPU.
# multitasking : Allows more than one program to run concurrently.
# multithreading : Allows different parts of a single program to run concurrently.
# real time: Responds to input instantly. General-purpose operating systems, such as DOS and
UNIX, are not real-time.
Operating systems provide a software platform on top of which other programs, called application
programs, can run. The application programs must be written to run on top of a particular
operating system. Your choice of operating system, therefore, determines to a great extent the
applications you can run. For PCs, the most popular operating systems are DOS, OS/2, and
Windows, but others are available, such as Linux.
As a user, you normally interact with the operating system through a set of commands. For
example, the DOS operating system contains commands such as COPY and RENAME for
copying files and changing the names of files, respectively. The commands are accepted and
executed by a part of the operating system called the command processor or command line
interpreter. Graphical user interfaces allow you to enter commands by pointing and clicking at
objects that appear on the screen.
An operating system (commonly abbreviated to either OS or O/S) is an interface between
hardware and user. An OS is responsible for the management and coordination of activities and
the sharing of the resources of the computer. The operating system acts as a host for computing
applications run on the machine. As a host, one of the purposes of an operating system is to
handle the details of the operation of the hardware. This relieves application programs from
having to manage these details and makes it easier to write applications. Almost all computers
(including handheld computers, desktop computers, supercomputers, video game consoles) as
well as some robots, domestic appliances (dishwashers, washing machines), and portable media
players use an operating system of some type.[1] Some of the oldest models may however use
an embedded operating system, that may be contained on a compact disk or other data storage
device.
Operating systems offer a number of services to application programs and users. Applications
access these services through application programming interfaces (APIs) or system calls. By
invoking these interfaces, the application can request a service from the operating system, pass
parameters, and receive the results of the operation. Users may also interact with the operating
system with some kind of software user interface (UI) like typing commands by using command
line interface (CLI) or using a graphical user interface (GUI, commonly pronounced “gooey”). For
hand-held and desktop computers, the user interface is generally considered part of the operating
system. On large multi-user systems like Unix and Unix-like systems, the user interface is
generally implemented as an application program that runs outside the operating system.
(Whether the user interface should be included as part of the operating system is a point of
contention.)
Types of Operating Systems
Within the broad family of operating systems, there are generally four types, categorized based
on the types of computers they control and the sort of applications they support. The categories
are:
* Real-time operating system (RTOS) - Real-time operating systems are used to control
machinery, scientific instruments and industrial systems. An RTOS typically has very little user-
interface capability, and no end-user utilities, since the system will be a "sealed box" when
delivered for use. A very important part of an RTOS is managing the resources of the computer so
that a particular operation executes in precisely the same amount of time, every time it occurs. In
a complex machine, having a part move more quickly just because system resources are
available may be just as catastrophic as having it not move at all because the system is busy.
* Single-user, single task - As the name implies, this operating system is designed to manage
the computer so that one user can effectively do one thing at a time. The Palm OS for Palm
handheld computers is a good example of a modern single-user, single-task operating system.
* Single-user, multi-tasking - This is the type of operating system most people use on their
desktop and laptop computers today. Microsoft's Windows and Apple's MacOS platforms are both
examples of operating systems that will let a single user have several programs in operation at
the same time. For example, it's entirely possible for a Windows user to be writing a note in a
word processor while downloading a file from the Internet while printing the text of an e-mail
message.
* Multi-user - A multi-user operating system allows many different users to take advantage of
the computer's resources simultaneously. The operating system must make sure that the
requirements of the various users are balanced, and that each of the programs they are using
has sufficient and separate resources so that a problem with one user doesn't affect the entire
community of users. Unix, VMS and mainframe operating systems, such as MVS, are examples
of multi-user operating systems.
Photo courtesy Apple
Mac OS X Panther screen shot
It's important to differentiate between multi-user operating systems and single-user operating
systems that support networking. Windows 2000 and Novell Netware can each support hundreds
or thousands of networked users, but the operating systems themselves aren't true multi-user
operating systems. The system administrator is the only "user" for Windows 2000 or Netware.
The network support and all of the remote user logins the network enables are, in the overall plan
of the operating system, a program being run by the administrative user.
When you turn on the power to a computer, the first program that runs is usually a set of
instructions kept in the computer's read-only memory (ROM). This code examines the system
hardware to make sure everything is functioning properly. This power-on self test (POST) checks
the CPU, memory, and basic input-output systems (BIOS) for errors and stores the result in a
special memory location. Once the POST has successfully completed, the software loaded in
ROM (sometimes called the BIOS or firmware) will begin to activate the computer's disk drives. In
most modern computers, when the computer activates the hard disk drive, it finds the first piece
of the operating system: the bootstrap loader.
The bootstrap loader is a small program that has a single function: It loads the operating system
into memory and allows it to begin operation. In the most basic form, the bootstrap loader sets up
the small driver programs that interface with and control the various hardware subsystems of the
computer. It sets up the divisions of memory that hold the operating system, user information and
applications. It establishes the data structures that will hold the myriad signals, flags and
semaphores that are used to communicate within and between the subsystems and applications
of the computer. Then it turns control of the computer over to the operating system.
The operating system's tasks, in the most general sense, fall into six categories:
* Processor management
* Memory management
* Device management
* Storage management
* Application interface
* User interface
A single process can have multiple threads that share global data and address space with other
threads running in the same process, and therefore can operate on the same data set easily.
Processes do not share address space and a different mechanism must be used if they are to
share data.
If we consider running a word processing program to be a process, then the auto-save and spell
check features that occur in the background are different threads of that process which are all
operating on the same data set (your document).
process
In computing, a process is an instance of a computer program that is being sequentially
executed[1] by a computer system that has the ability to run several computer programs
concurrently.
Thread
A single process may contain several executable programs (threads) that work together as a
coherent whole. One thread might, for example, handle error signals, another might send a
message about the error to the user, while a third thread is executing the actual task of the...
NETWORK
------------------
Introduction
The network allows computers to communicate with each other and share resources and
information. The Advanced Research Projects Agency (ARPA) designed "Advanced Research
Projects Agency Network" (ARPANET) for the United States Department of Defense. It was the
first computer network in the world in late 1960s and early 1970s.[1]
[edit] Network classification
The following list presents categories used for classifying networks.
[edit] Connection method
Computer networks can also be classified according to the hardware and software technology
that is used to interconnect the individual devices in the network, such as Optical fiber, Ethernet,
Wireless LAN, HomePNA, Power line communication or G.hn. Ethernet uses physical wiring to
connect devices. Frequently deployed devices include hubs, switches, bridges and/or routers.
Wireless LAN technology is designed to connect devices without wiring. These devices use radio
waves or infrared signals as a transmission medium.
ITU-T G.hn technology uses existing home wiring (coaxial cable, phone lines and power lines) to
create a high-speed (up to 1 Gigabit/s) local area network.
Wired Technologies
Twisted-Pair Wire - This is the most widely used medium for telecommunication. Twisted-pair
wires are ordinary telephone wires which consist of two insulated copper wires twisted into pairs
and are used for both voice and data transmission. The use of two wires twisted together helps to
reduce crosstalk and electromagnetic induction. The transmission speed range from 2 million bits
per second to 100 million bits per second.
Coaxial Cable – These cables are widely used for cable television systems, office buildings, and
other worksites for local area networks. The cables consist of copper or aluminum wire wrapped
with insulating layer typically of a flexible material with a high dielectric constant, all of which are
surrounded by a conductive layer. The layers of insulation help minimize interference and
distortion. Transmission speed range from 200 million to more than 500 million bits per second.
Fiber Optics – These cables consist of one or more thin filaments of glass fiber wrapped in a
protective layer. It transmits light which can travel over long distance and higher bandwidths.
Fiber-optic cables are not affected by electromagnetic radiation. Transmission speed could go up
to as high as trillions of bits per second. The speed of fiber optics is hundreds of times faster than
coaxial cables and thousands of times faster than twisted-pair wire.
Wireless Technologies
Terrestrial Microwave – Terrestrial microwaves use Earth-based transmitter and receiver. The
equipment look similar to satellite dishes. Terrestrial microwaves use low-gigahertz range, which
limits all communications to line-of-sight. Path between relay stations spaced approx. 30 miles
apart. Microwave antennas are usually placed on top of buildings, towers, hills, and mountain
peaks.
Communications Satellites – The satellites use microwave radio as their telecommunications
medium which are not deflected by the Earth's atmosphere. The satellites are stationed in space,
typically 22,000 miles above the equator. These Earth-orbiting systems are capable of receiving
and relaying voice, data, and TV signals.
Cellular and PCS Systems – Use several radio communications technologies. The systems are
divided to different geographic area. Each area has low-power transmitter or radio relay antenna
device to relay calls from one area to the next area.
Wireless LANs – Wireless local area network use a high-frequency radio technology similar to
digital cellular and a low-frequency radio technology. Wireless LANS use spread spectrum
technology to enable communication between multiple devices in a limited area. Example of
open-standard wireless radio-wave technology is IEEE 802.11b.
Bluetooth – A short range wireless technology. Operate at approx. 1Mbps with range from 10 to
100 meters. Bluetooth is an open wireless protocol for data exchange over short distances.
The Wireless Web – The wireless web refers to the use of the World Wide Web through
equipments like cellular phones, pagers, PDAs, and other portable communications devices. The
wireless web service offers anytime/anywhere connection.
[edit] Scale
Networks are often classified as Local Area Network (LAN), Wide Area Network (WAN),
Metropolitan Area Network (MAN), Personal Area Network (PAN), Virtual Private Network (VPN),
Campus Area Network (CAN), Storage Area Network (SAN), etc. depending on their scale, scope
and purpose. Usage, trust levels and access rights often differ between these types of network -
for example, LANs tend to be designed for internal use by an organization's internal systems and
employees in individual physical locations (such as a building), while WANs may connect
physically separate parts of an organization to each other and may include connections to third
parties.
[edit] Functional relationship (network architecture)
Computer networks may be classified according to the functional relationships which exist among
the elements of the network, e.g., Active Networking, Client-server and Peer-to-peer (workgroup)
architecture.
[edit] Network topology
Computer networks may be classified according to the network topology upon which the network
is based, such as bus network, star network, ring network, mesh network, star-bus network, tree
or hierarchical topology network. Network topology signifies the way in which devices in the
network see their logical relations to one another. The use of the term "logical" here is significant.
That is, network topology is independent of the "physical" layout of the network. Even if
networked computers are physically placed in a linear arrangement, if they are connected via a
hub, the network has a Star topology, rather than a bus topology. In this regard the visual and
operational characteristics of a network are distinct; the logical network topology is not
necessarily the same as the physical layout. Networks may be classified based on the method of
data used to convey the data, these include digital and analog networks.
[edit] Types of networks
Below is a list of the most common types of computer networks in order of scale.
[edit] Personal area network
A personal area network (PAN) is a computer network used for communication among computer
devices close to one person. Some examples of devices that are used in a PAN are printers, fax
machines, telephones, PDAs and scanners. The reach of a PAN is typically about 20-30 feet
(approximately 6-9 meters), but this is expected to increase with technology improvements.
[edit] Local area network
A local area network (LAN) is a computer network covering a small physical area, like a home,
office, or small group of buildings, such as a school, or an airport. Current wired LANs are most
likely to be based on Ethernet technology, although new standards like ITU-T G.hn also provide a
way to create a wired LAN using existing home wires (coaxial cables, phone lines and power
lines)[2].
For example, a library may have a wired or wireless LAN for users to interconnect local devices
(e.g., printers and servers) and to connect to the internet. On a wired LAN, PCs in the library are
typically connected by category 5 (Cat5) cable, running the IEEE 802.3 protocol through a system
of interconnected devices and eventually connect to the Internet. The cables to the servers are
typically on Cat 5e enhanced cable, which will support IEEE 802.3 at 1 Gbit/s. A wireless LAN
may exist using a different IEEE protocol, 802.11b, 802.11g or possibly 802.11n. The staff
computers (bright green in the figure) can get to the color printer, checkout records, and the
academic network and the Internet. All user computers can get to the Internet and the card
catalog. Each workgroup can get to its local printer. Note that the printers are not accessible from
outside their workgroup.
Typical library network, in a branching tree topology and controlled access to resources
All interconnected devices must understand the network layer (layer 3), because they are
handling multiple subnets (the different colors). Those inside the library, which have only 10/100
Mbit/s Ethernet connections to the user device and a Gigabit Ethernet connection to the central
router, could be called "layer 3 switches" because they only have Ethernet interfaces and must
understand IP. It would be more correct to call them access routers, where the router at the top is
a distribution router that connects to the Internet and academic networks' customer access
routers.
The defining characteristics of LANs, in contrast to WANs (wide area networks), include their
higher data transfer rates, smaller geographic range, and lack of a need for leased
telecommunication lines. Current Ethernet or other IEEE 802.3 LAN technologies operate at
speeds up to 10 Gbit/s. This is the data transfer rate. IEEE has projects investigating the
standardization of 40 and 100 Gbit/s.[3]
[edit] Campus area network
A campus area network (CAN) is a computer network made up of an interconnection of local area
networks (LANs) within a limited geographical area. It can be considered one form of a
metropolitan area network, specific to an academic setting.
In the case of a university campus-based campus area network, the network is likely to link a
variety of campus buildings including; academic departments, the university library and student
residence halls. A campus area network is larger than a local area network but smaller than a
wide area network (WAN) (in some cases).
The main aim of a campus area network is to facilitate students accessing internet and university
resources. This is a network that connects two or more LANs but that is limited to a specific and
contiguous geographical area such as a college campus, industrial complex, office building, or a
military base. A CAN may be considered a type of MAN (metropolitan area network), but is
generally limited to a smaller area than a typical MAN. This term is most often used to discuss the
implementation of networks for a contiguous area. This should not be confused with a Controller
Area Network. A LAN connects network devices over a relatively short distance. A networked
office building, school, or home usually contains a single LAN, though sometimes one building will
contain a few small LANs (perhaps one per room), and occasionally a LAN will span a group of
nearby buildings.
[edit] Metropolitan area network
A metropolitan area network (MAN) is a network that connects two or more local area networks or
campus area networks together but does not extend beyond the boundaries of the immediate
town/city. Routers, switches and hubs are connected to create a metropolitan area network.
[edit] Wide area network
A wide area network (WAN) is a computer network that covers a broad area (i.e. any network
whose communications links cross metropolitan, regional, or national boundaries [1]). Less
formally, a WAN is a network that uses routers and public communications links Contrast with
personal area networks (PANs), local area networks (LANs), campus area networks (CANs), or
metropolitan area networks (MANs), which are usually limited to a room, building, campus or
specific metropolitan area (e.g., a city) respectively. The largest and most well-known example of
a WAN is the Internet. A WAN is a data communications network that covers a relatively broad
geographic area (i.e. one city to another and one country to another country) and that often uses
transmission facilities provided by common carriers, such as telephone companies. WAN
technologies generally function at the lower three layers of the OSI reference model: the physical
layer, the data link layer, and the network layer.
[edit] Global area network
A global area networks (GAN) (see also IEEE 802.20) specification is in development by several
groups, and there is no common definition. In general, however, a GAN is a model for supporting
mobile communications across an arbitrary number of wireless LANs, satellite coverage areas,
etc. The key challenge in mobile communications is "handing off" the user communications from
one local coverage area to the next. In IEEE Project 802, this involves a succession of terrestrial
WIRELESS local area networks (WLAN).[4]
[edit] Virtual private network
A virtual private network (VPN) is a computer network in which some of the links between nodes
are carried by open connections or virtual circuits in some larger network (e.g., the Internet)
instead of by physical wires. The data link layer protocols of the virtual network are said to be
tunneled through the larger network when this is the case. One common application is secure
communications through the public Internet, but a VPN need not have explicit security features,
such as authentication or content encryption. VPNs, for example, can be used to separate the
traffic of different user communities over an underlying network with strong security features.
A VPN may have best-effort performance, or may have a defined service level agreement (SLA)
between the VPN customer and the VPN service provider. Generally, a VPN has a topology more
complex than point-to-point.
A VPN allows computer users to appear to be editing from an IP address location other than the
one which connects the actual computer to the Internet.
[edit] Internetwork
An Internetwork is the connection of two or more distinct computer networks or network segments
via a common routing technology. The result is called an internetwork (often shortened to
internet). Two or more networks or network segments connected using devices that operate at
layer 3 (the 'network' layer) of the OSI Basic Reference Model, such as a router. Any
interconnection among or between public, private, commercial, industrial, or governmental
networks may also be defined as an internetwork.
In modern practice, interconnected networks use the Internet Protocol. There are at least three
variants of internetworks, depending on who administers and who participates in them:
* Intranet
* Extranet
* Internet
Intranets and extranets may or may not have connections to the Internet. If connected to the
Internet, the intranet or extranet is normally protected from being accessed from the Internet
without proper authorization. The Internet is not considered to be a part of the intranet or extranet,
although it may serve as a portal for access to portions of an extranet.
[edit] Intranet
An intranet is a set of networks, using the Internet Protocol and IP-based tools such as web
browsers and file transfer applications, that is under the control of a single administrative entity.
That administrative entity closes the intranet to all but specific, authorized users. Most commonly,
an intranet is the internal network of an organization. A large intranet will typically have at least
one web server to provide users with organizational information.
[edit] Extranet
An extranet is a network or internetwork that is limited in scope to a single organization or entity
but which also has limited connections to the networks of one or more other usually, but not
necessarily, trusted organizations or entities (e.g., a company's customers may be given access
to some part of its intranet creating in this way an extranet, while at the same time the customers
may not be considered 'trusted' from a security standpoint). Technically, an extranet may also be
categorized as a CAN, MAN, WAN, or other type of network, although, by definition, an extranet
cannot consist of a single LAN; it must have at least one connection with an external network.
[edit] Internet
The Internet consists of a worldwide interconnection of governmental, academic, public, and
private networks based upon the networking technologies of the Internet Protocol Suite. It is the
successor of the Advanced Research Projects Agency Network (ARPANET) developed by
DARPA of the U.S. Department of Defense. The Internet is also the communications backbone
underlying the World Wide Web (WWW). The 'Internet' is most commonly spelled with a capital 'I'
as a proper noun, for historical reasons and to distinguish it from other generic internetworks.
Participants in the Internet use a diverse array of methods of several hundred documented, and
often standardized, protocols compatible with the Internet Protocol Suite and an addressing
system (IP Addresses) administered by the Internet Assigned Numbers Authority and address
registries. Service providers and large enterprises exchange information about the reachability of
their address spaces through the Border Gateway Protocol (BGP), forming a redundant
worldwide mesh of transmission paths.
[edit] Basic hardware components
All networks are made up of basic hardware building blocks to interconnect network nodes, such
as Network Interface Cards (NICs), Bridges, Hubs, Switches, and Routers. In addition, some
method of connecting these building blocks is required, usually in the form of galvanic cable
(most commonly Category 5 cable). Less common are microwave links (as in IEEE 802.12) or
optical cable ("optical fiber"). An ethernet card may also be required.
[edit] Network interface cards
A network card, network adapter, or NIC (network interface card) is a piece of computer hardware
designed to allow computers to communicate over a computer network. It provides physical
access to a networking medium and often provides a low-level addressing system through the
use of MAC addresses.
[edit] Repeaters
A repeater is an electronic device that receives a signal and retransmits it at a higher power level,
or to the other side of an obstruction, so that the signal can cover longer distances without
degradation. In most twisted pair Ethernet configurations, repeaters are required for cable which
runs longer than 100 meters.
[edit] Hubs
A network hub contains multiple ports. When a packet arrives at one port, it is copied unmodified
to all ports of the hub for transmission. The destination address in the frame is not changed to a
broadcast address.[5]
[edit] Bridges
A network bridge connects multiple network segments at the data link layer (layer 2) of the OSI
model. Bridges do not promiscuously copy traffic to all ports, as hubs do, but learn which MAC
addresses are reachable through specific ports. Once the bridge associates a port and an
address, it will send traffic for that address only to that port. Bridges do send broadcasts to all
ports except the one on which the broadcast was received.
Bridges learn the association of ports and addresses by examining the source address of frames
that it sees on various ports. Once a frame arrives through a port, its source address is stored
and the bridge assumes that MAC address is associated with that port. The first time that a
previously unknown destination address is seen, the bridge will forward the frame to all ports
other than the one on which the frame arrived.
Bridges come in three basic types:
1. Local bridges: Directly connect local area networks (LANs)
2. Remote bridges: Can be used to create a wide area network (WAN) link between LANs.
Remote bridges, where the connecting link is slower than the end networks, largely have been
replaced by routers.
3. Wireless bridges: Can be used to join LANs or connect remote stations to LANs.
[edit] Switches
A network switch is a device that forwards and filters OSI layer 2 datagrams (chunk of data
communication) between ports (connected cables) based on the MAC addresses in the packets.
[6] This is distinct from a hub in that it only forwards the packets to the ports involved in the
communications rather than all ports connected. Strictly speaking, a switch is not capable of
routing traffic based on IP address (OSI Layer 3) which is necessary for communicating between
network segments or within a large or complex LAN. Some switches are capable of routing based
on IP addresses but are still called switches as a marketing term. A switch normally has
numerous ports, with the intention being that most or all of the network is connected directly to
the switch, or another switch that is in turn connected to a switch.[7]
Switch is a marketing term that encompasses routers and bridges, as well as devices that may
distribute traffic on load or by application content (e.g., a Web URL identifier). Switches may
operate at one or more OSI model layers, including physical, data link, network, or transport (i.e.,
end-to-end). A device that operates simultaneously at more than one of these layers is called a
multilayer switch.
Overemphasizing the ill-defined term "switch" often leads to confusion when first trying to
understand networking. Many experienced network designers and operators recommend starting
with the logic of devices dealing with only one protocol level, not all of which are covered by OSI.
Multilayer device selection is an advanced topic that may lead to selecting particular
implementations, but multilayer switching is simply not a real-world design concept.
[edit] Routers
A router is a networking device that forwards packets between networks using information in
protocol headers and forwarding tables to determine the best next router for each packet. Routers
work at the Network Layer of the OSI model and the Internet Layer of TCP/IP.
ISO OSI Reference Model
A set of protocols is open if:
* protocol details are publicly available
* changes are managed by an organization whose membership and transactions are open to
the public
A system that implements open protocols is called an open system.
International Organization for Standards (ISO) prescribes a standard to connect open systems
* open system interconnect (OSI)
Figure 6: The (OSI) Seven Layer Model
Physical Layer
Specification of voltage levels, cables, connectors, timing of bots, electrical access and
maintenance of circuit (i.e. corresponds to the basic hardware).
Data Link Layer
Transforms basic physical services to enable the transmission of units of data called frames.
Frames carry data between two points on the same type of physical network, and maybe relayed
if the network is extended. They normally contain low level addressing information and some
error checking. This layer may be involved in arbitrating access to the physical network. The Data
Link layer detects, and possibly corrects errors in the physical layer
Network
Controls routing of data by providing an address domain, and in consequence the routing of
messages. This addressing is separate from the hardware which implements the network
connections. i.e. specifies how addresses are assigned and how packets are forwarded from one
end of the network to another.
Transport
Provides an interface for the upper layers to communications facilities. The presence of this layer
obscures the underlying network hardware and topology from the applications. A very complex
set of protocols are required for this layer!
Session
The protocols for this layer specify how to establish a communication session with a remote
System (e.g., How to login to a remote timesharing computer). Specifications for security details
such as authentication using passwords are described in this layer.
Presentation
Layer 6 protocols specify how to represent data. Such protocols are needed because different
brands of computer use different internal representation for integer and characters. Thus layer 6
protocols are needed to translate from the representation on one computer to the representation
on another.
Application Layer
This is where the application using the network resides. Common network applications include
remote login, file transfer, e-mail, and web page browsing.
DATABASE
------------------A database is an integrated collection of logically related records or files which
consolidates records into a common pool of data records that provides data for many
applications. A database is a collection of information that is organized so that it can easily be
accessed, managed, and updated.
In one view, databases can be classified according to types of content: bibliographic, full-text,
numeric, and images.
The data in a database is organized according to a database model. The model that is most
commonly used today is the relational model. Other models such as the hierarchical model and
the network model use a more explicit representation of relationships. database is a collection of
information that is organized so that it can easily be accessed, managed, and updated. In one
view, databases can be classified according to types of content: bibliographic, full-text, numeric,
and images.
Ask your database questions at ITKnowledgeExchange.com
In computing, databases are sometimes classified according to their organizational approach.
The most prevalent approach is the relational database, a tabular database in which data is
defined so that it can be reorganized and accessed in a number of different ways. A distributed
database is one that can be dispersed or replicated among different points in a network. An
object-oriented programming database is one that is congruent with the data defined in object
classes and subclasses.
a "minicomputer" is a powerful computer that can support many users at once. A
"mainframe" is a large, high-powered computer that can perform billions of calculations
from multiple sources at one time. Finally, a "supercomputer" is a machine that can
process billions of instructions a second and is used to calculate extremely complex
calculations. A programmable machine. The two principal characteristics of a computer
are:
• It responds to a specific set of instructions in a well-defined manner.
 It can execute a prerecorded list of instructions (a program).
Modern computers are electronic and digital. The actual machinery -- wires, transistors,
and circuits -- is called hardware; the instructions and data are called software.
All general-purpose computers require the following hardware components:
• memory : Enables a computer to store, at least temporarily, data and programs.
• mass storage device : Allows a computer to permanently retain large amounts
of data. Common mass storage devices include disk drives and tape drives.
• input device : Usually a keyboard and mouse, the input device is the conduit
through which data and instructions enter a computer.
• output device : A display screen, printer, or other device that lets you see what
the computer has accomplished.
• central processing unit (CPU): The heart of the computer, this is the
component that actually executes instructions.
In addition to these components, many others make it possible for the basic components
to work together efficiently. For example, every computer requires a bus that transmits
data from one part of the computer to another.
Computers can be generally classified by size and power as follows, though there is
considerable overlap:
• personal computer : A small, single-user computer based on a microprocessor.
In addition to the microprocessor, a personal computer has a keyboard for
entering data, a monitor for displaying information, and a storage device for
saving data.
• workstation : A powerful, single-user computer. A workstation is like a
personal computer, but it has a more powerful microprocessor and a higher-
quality monitor.
• minicomputer : A multi-user computer capable of supporting from 10 to
hundreds of users simultaneously.
• mainframe : A powerful multi-user computer capable of supporting many
hundreds or thousands of users simultaneously.
• supercomputer : An extremely fast computer that can perform hundreds of
millions of instructions per second.
JAVA
Before you can develop an application written in the Java programming language, you
will need the Java Platform Standard Edition (Java SE) development kit. It has the
necessary Java Virtual Machine1
(JVM), core Application Programming Interfaces
(API)s, and the compiler you'll need for most and perhaps all of your development.
Note: Mac users should go to Apple's Mac OS X Java Runtime Environment. Then return
for Java programming information and tutorials.
If you are used to working in an Integrated Development Environment (IDE) or want to
learn, you can download Java SE with the NetBeans IDE.
For some projects, you'll want additional bundles. Some of the more popular downloads
are listed below. If you're not certain what you need, start with Java SE. You'll discover
other tools as you become familiar with the Java platform.
 Java SE: This kit is necessary for developing all applications, except those
designed for consumer devices (See the Micro Edition). Java SE comes bundled
with the compiler, a runtime environment, and core API.
 Java Platform Enterprise Edition (Java EE): This packages includes an application
server, web server, J2EE APIs, support for Enterprise JavaBeans, Java Servlets
API, and JavaServer Pages (JSP) technology. Use J2EE with the Java SE.
 Java Platform Micro Edition (Java ME): If you are interested in developing
programs for Palm Pilots, screen phones, and other consumer devices, this kit
provides tools for compiling, deployment and device configuration, and APIs that
are specialized for each type of device.
 JavaFX Script Technology is a highly productive scripting language that enables
content developers to create rich media and content for deployment on Java
environments.
The development kits above include the APIs necessary to whatever type of applications
you develop in the Java programming language. The APIs and compiler are explained
briefly below.
 Java APIs are libraries of compiled code let you add ready-made and
customizable functionality to your programs to save coding time.
 Java programs are executed within a program called the JVM. Rather than
running directly on the native operating system, the program is interpreted by the
JVM for the native operating system. This is key to making your programs
portable from one platform to another. In other words, you can develop your
programs on a Solaris, Linux, Macintosh, or Windows, then run it on another
server or platform.
Once you have the development kits you need, you are ready to begin writing code in the
Java programming language. Programs are written in three basic flavors: applets,
applications, and servlets/JSP pages. Applets run in the JVM built into a web browser;
applications run in the JVM installed on a computer system; and servlets/JSP run in the
JVM installed on a web server.
While applets and applications usually have some kind of user interface coupled to
backend functionality, servlets provide backend functionality only. The user interface for
a servlet is usually an HTML form in a browser that invokes the servlet, but any applet or
application that opens a hypertext transfer protocol (HTTP) request can call a servlet.
JSP, on the other hand, combines the servlet and HTML into a single component. Instead
of using an HTML page with a separate servlet, you use an HTML page with regular
HTML tags in combination with scriptlets, short bits of code. The entire page is then
processed into a servlet when it's accessed or submitted and the results return to the same
HTML page that contains the code.
You can also program using a simple text editor, and compile and run from the command
line. Many text editors now come with the ability to run and compile Java files, but you
may need to tell the program where javac.exe and java.exe reside on your computer.
Use the Windows Find command, if you are unsure where these files were installed.
Once, your IDE or text editor is set up, you can begin programming.
Next, copy and paste the following programs, and invoke the compiler and interpreter
either at the command line or within the IDE you're using.
The following three examples use the javac and java commands and illustrate how to
compile and run an application, applet, and servlet.
When compiling and running from the command line, be sure to cd into the directory
where you saved your .java file.
Application
Compile the ExampleProgram.java application with the javac command and run it with
the java command.
//A Very Simple Example
class ExampleProgram {
public static void main(String[] args){
System.out.println("I'm a Simple Program");
}
}
Compile and then run with the following commands:
javac ExampleProgram.java
java ExampleProgram
Applet
Copy the SimpleApplet.java applet code, and compile with the javac command:
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Color;
public class SimpleApplet extends Applet{
String text = "I'm a simple applet";
public void init() {
text = "I'm a simple applet";
setBackground(Color.cyan);
}
public void start() {
System.out.println("starting...");
}
public void stop() {
System.out.println("stopping...");
}
public void destroy() {
System.out.println("preparing to unload...");
}
public void paint(Graphics g){
System.out.println("Paint");
g.setColor(Color.blue);
g.drawRect(0, 0,
getSize().width -1,
getSize().height -1);
g.setColor(Color.red);
g.drawString(text, 15, 25);
}
}
Compile:
javac SimpleApplet.java
You can run the applet in appletviewer (a Java platform tool for running applets
independently of the browser) or in the browser. Either way you need an HTML file for
the applet.
Here is the HTML file:
<HTML>
<BODY>
<APPLET CODE=SimpleApplet.class WIDTH=200 HEIGHT=100>
</APPLET>
</BODY>
</HTML>
To run the applet in the browser, you load the HTML file. To run the applet in
appletviewer with an HTML file named simple.html, type this in an MS-DOS window
on Windows, or in a terminal window on Solaris:
appletviewer simple.html
Servlet
As mentioned above, to compile and run a servlet, you need to use either NetBeans or
Sun Java Studio Creator. Then compile with the javac command.
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ExampServlet extends HttpServlet {
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<title>Example</title>" +
"<body bgcolor=FFFFFF>");
out.println("<h2>Button Clicked</h2>");
String DATA = request.getParameter("DATA");
if(DATA != null){
out.println(DATA);
} else {
out.println("No text entered.");
}
out.println("<P>Return to <A
HREF=../simpleHTML.html>Form</A>");
out.close();
}
}
To compile:
javac ExampServlet.java
Servlets can be called directly by typing their uniform resource locator (URL) into a
browser's location window after you've started the server.
Servlets can also be invoked from an HTML form by specifying their URL in the
definition for a Submit button, for example.
Servlets can be called by any program that can open an hypertext transfer protocol
(HTTP) request.
JavaServer Pages, JDBC, RMI, JDK--Java technology names and acronyms can be
confusing for newcomers and experienced developers. This article defines the most
common Java terminology in easy-to-scan, alphabetical order, and provides links for
more information and downloads. This list is not a complete list of Sun's products for the
Java platform, and is subject to change and updates..
Java
Terminology
Definition More Information
Abstract
Window
Toolkit (AWT)
AWT is a package of classes for
creating components such as
buttons, menus, and scrollbars for
 AWT Fundamentals
 Package java.awt
applets and standalone
applications.
Description
 AWT Forums
Applet An applet is a Java program that
runs within the web browser.
Applets use a graphical user
interface and may have text,
images, buttons, scrollbars, and
sound.
 Building Applets
 Trail: Writing Applets
 Package java.applet
 Class JApplet
HotSpot VM On platforms typically used for
client applications, the JDK comes
with a VM implementation called
the Java HotSpot Client VM (client
VM). The client VM is tuned for
reducing start-up time and memory
footprint. It can be invoked by
using the -client command-line
option when launching an
application. The JDK also comes
with an implementation of the Java
virtual machine called the Java
HotSpot Server VM (server VM).
The server VM is designed for
maximum program execution
speed. It can be invoked by using
the -server command-line option
when launching an application.
 Performance
Documentation for the
Java HotSpot VM
 Java HotSpot VM FAQ
Java Advanced
Imaging (JAI)
API
The JAI API provides a set of
object-oriented interfaces that
support a simple, high-level
programming model which lets
you manipulate images easily, and
JAI broadens the reach of the Java
platform to allow sophisticated,
high performance image
processing functionality to be
incorporated into Java applets and
applications.
 What is Java Advanced
Imaging?
 Java Advanced Imaging
API FAQ
 Java Advanced Imaging
API Collateral
Java API The Java Application
Programming Interface (API) is
prewritten code, organized into
packages of similar topics. For
instance, the Applet and AWT
packages include classes for
creating fonts, menus, and buttons.
 Download Java 2
Platform Standard
Edition 5.0
 API Documentation
 Online Training and
The full Java API is included in the
Java 2 Standard Edition download.
Tutorials
 Technical Articles
 Building an Application
Java API for
XML
Processing
(JAXP)
JAXP enables applications to parse
validate and transform XML
documents. The latest release is
JAXP 1.3, which is part of J2SE
5.0. An implementation that works
for earlier versions of J2SE is also
available.
 Java API for XML
Processing Tutorial
 JAXP - FAQ
 The J2EE 1.4 Tutorial
Java
Authentication
and
Authorization
Services
(JAAS)
JAAS is a set of APIs that enable
services to authenticate and
enforce access controls upon users.
It implements a Java technology
version of the standard Pluggable
Authentication Module (PAM)
framework, and supports user-
based authorization.
 Java Authentication and
Authorization Service
(JAAS)in Java 2,
Standard Edition (J2SE)
1.4
 Overview
Java
Communicatio
ns API
The Java Communications API can
be used to write platform-
independent communications
applications for technologies such
as voice mail, fax, and smart cards.
 Java Communications
API FAQ
 Java Communications
API Users Guide
 Java Communications
Downloads
Java
Cryptography
Extension
(JCE)
JCE is a set of packages that
provides a framework and
implementations for encryption,
key generation and key agreement,
and Message Authentication Code
(MAC) algorithms. Support for
encryption includes symmetric,
asymmetric, block, and stream
ciphers. The software also supports
secure streams and sealed objects.
 Java Communications
API FAQ
 Java Cryptography
Extension (JCE)
 How to Implement a
Provider for the Java
Cryptography
Extension 1.2.2
Java
Foundation
Classes (JFC)
JFC are a set of GUI components
and other services simplifying the
development and deployment of
desktop and Internet/Intranet
applications. The JFC are a
superset that contains AWT. JFC
extends AWT by adding many
components and services. JFC
 JFC/Swing
 Java Foundation
Classes FAQ
 Technical Articles
 Project Swing Forum
 Accessibility Forum
consists of Swing, Java 2D, AWT,
Accessibility, and the Drag-and-
Drop APIs.
Java Media
FrameWork
(JMF)
JMF enables audio, video and
other time-based media to be
added to applications and applets
built on Java technology. This
optional package, which can
capture, playback, stream, and
transcode multiple media formats,
extends the Java platform for
multimedia developers by
providing a powerful toolkit to
develop scalable, cross-platform
technology.
 JMF 2.1.1 - Supported
Formats
 Java Media FrameWork
FAQ
Java Native
Interface (JNI)
JNI is the native programming
interface for Java that is part of the
JDK. The JNI allows Java code to
operate with applications and
libraries written in other languages,
such as C, C++, and assembly.
Recommended only for advanced
programmers.
 Trail: Java Native
Interface
 Chapter 5: JNI
Technology
 Java Native Interface
Specification
Java 2
Platform,
Enterprise
Edition (J2EE)
The J2EE platform provides a
component-based approach to the
design, development, assembly,
and deployment of enterprise
applications. The J2EE platform
gives you a multitiered distributed
application model, the ability to
reuse components, a unified
security model, and flexible
transaction control.
 Java 2 Platform,
Enterprise Edition
 J2EE Tutorial
 Downloads
 Java BluePrints
 Enterprise
JavaBeans(EJB)
Technology
Fundamentals
 Java Programming
Forums
Java 2
Platform,
Micro Edition
(J2ME)
J2ME is targeted for the consumer
and embedded market. The API
specifications are based on J2SE,
but modified to meet the unique
requirements of each product.
J2ME makes it possible to write
Java applications for cell phones,
smart cards, pagers, and other
consumer devices.
 Java 2 Platform Micro
Edition (J2ME)
Technology
 Wireless Developer
 Java Wireless
Technology Discussions
Java 2
Platform,
Standard
Edition (J2SE)
J2SE includes the essential
compiler, tools, runtimes, and APIs
for writing, deploying, and running
applets and applications in the Java
programming language.
 Java 2 Platform,
Standard Edition (J2SE)
 Online Documentation
 Introducing the Java
Platform
 Getting Started
Java 3D API The Java 3D API provides a set of
object-oriented interfaces that
support a simple, high-level
programming model you can use to
build, render, and control the
behavior of 3D objects and visual
environments. With the Java 3D
API, you can incorporate high-
quality, scalable, platform-
independent 3D graphics into
applications and applets based on
Java technology.
 Java 3D API
 Java 3D 1.3.1 API
Features
Java Virtual
Machine1
(JVM)
The JVM executes instructions that
a Java compiler generates. This
runtime environment, or JVM, is
embedded in various products,
such as web browsers, servers, and
operating systems.
 The Java Virtual
Machine Specification
 Ergonomics in the 5.0
Java Virtual Machine
 Java Virtual Machine
Forums
Java Web Start Using Java Web Start technology,
standalone Java software
applications can be deployed with
a single click over the network.
Java Web Start ensures the most
current version of the application
will be deployed, as well as the
correct version of the Java
Runtime Environment (JRE).
 Java Web Start FAQ
 Java Web Start
Architecture
 Reference
Documentation
JavaBeans JavaBeans architecture provides a
way of designing reusable software
components, that can be visually
manipulated in builder tools.
JavaBeans can be simple like
buttons, or more complex like a
tool to access databases.
 JavaBeans Technology
 JavaBeans Technology:
Unlocking The
BeanContext API
 JavaBeans Forums
 JavaBeans FAQ
Javadoc Tool The Javadoc tool is used to  See documentation
generate API documentation in
HTML format from doc comments
in source code. It can be
downloaded only as part of the
JDK download.
generated by the
Javadoc tool
 Javadoc Tool FAQ
 How to Write Doc
Comments for the
Javadoc Tool
JavaHelp
System
JavaHelp software is a full-
featured, platform-independent,
extensible help system that enables
you to incorporate online help in
applets, components, applications,
operating systems, and devices.
Authors can also use the JavaHelp
software to deliver online
documentation for the Web and
corporate intranet.
 JavaHelp System
 JavaHelp System User's
Guide
JavaServer
Faces
Technology
JavaServer Faces technology
simplifies building user interfaces
for JavaServer applications.
Developers of various skill levels
can quickly build web applications
by assembling reusable UI
components in a page, connecting
these components to an application
data source, and wiring client-
generated events to server-side
event handlers.
 JavaServer Faces
Technology Overview
 JavaServer Faces FAQ
 Developing Web
Applications with
JavaServer Faces
 Sun Java Studio Creator
JavaServer
Pages (JSP)
Create dynamic web pages with
JSP pages by embedding scriptlets
(Java programming language code)
with HTML. JSP pages process
forms, perform calculations, or do
anything else that can be written
with the Java programming
language. To develop and test JSP
pages, download NetBeans, or Sun
Java Studio Creator.
 JavaServer Pages
Documentation
 JavaServer Pages: A
Developer's Perspective
 JavaServer Pages Book
Excerpts
 JavaServer Pages
Forums
 Sun Java Studio Creator
JDBC JDBC is a Java API for executing
SQL statements. By using the
JDBC API, you can access almost
any data source, from relational
databases to spreadsheets to flat
files. J2SE includes the JDBC API.
 JDBC Technology
 Lesson: Learn JDBC
Basics
 JDBC API Tutorial and
Reference, Third
Edition
 JDBC Overview
 JDBC Forums
JDK JDK is the short-cut name for the
set of Java development tools,
consisting of the API classes, a
Java compiler, and the Java virtual
machine interpreter, regardless of
which version. The JDK is used to
compile Java applications and
applets. The most current version
is the J2SE., the preferred term
these days. If you use J2SE 1.2 and
later to develop applications, you
are using what's known as the Java
2 Platform.
 Download JDK 5.0
 Online Documentation
 Introducing the Java
Platform
 Getting Started
JINI The Jini network technology
enables any service--from
enterprise systems to kitchen
appliances--to network smoothly
and simply. The Jini architecture
lets each service (device or
software) tell others how to talk to
it, without any administrator
settings.
 Jini Network
Technology
 Distributed Events in
Jini
Technology
 How to Attach a User
Interface to a Jini
Service
 Core Jini
Project Swing The javax.swing package of
classes is used to create GUI
components for applets and
applications. Project Swing classes
enable programmers to specify a
different look and feel for each
platform, or a uniform look across
all platforms. Swing is the project
code name for the lightweight GUI
components in Java Foundation
Classes (JFC).
 Java Foundation
Classes
 Fundamentals of
JFC/Swing: Part I
 Fundamentals of
JFC/Swing: Part II
 Creating GUI with
JFC/Swing
 Project Swing: Building
a User Interface
 Project Swing Forums
RMI RMI lets Java applications
communicate across a network.
The communicating applications
 Java Remote Invocation
(RMI)
can be running on different
computers on opposite sides of the
planet. This higher-level and
method-based approach to network
communications allows access to a
remote object as easily as a local
object.
 Fundamentals of RMI
Short Course
 RMI-IIOP
Documentation
 Lesson 8: Remote
Method Invocation
Servlets A servlet is an extension to a server
that enhances the server's
functionality. Servlets are most
commonly used to process forms,
handle redirects or authenticate
user names and passwords, and
create dynamic content. To
develop and test servlets,
download NetBeans, or Sun Java
Studio Creator.
 Java Servlet
Technology
 The Java Servlet API
White Paper
 Lesson 5: Writing
Servlets
 Story of a Servlet: An
Instant Tutorial
 Fundamentals of Java
Servlets
 Java Servlet
Technology Forum
C is a programming language originally developed for developing the Unix operating
system. It is a low-level and powerful language, but it lacks many modern and useful
constructs. C++ is a newer language, based on C, that adds many more modern
programming language features that make it easier to program than C.
Basically, C++ maintains all aspects of the C language, while providing new features to
programmers that make it easier to write useful and sophisticated programs.
For example, C++ makes it easier to manage memory and adds several features to allow
"object-oriented" programming and "generic" programming. Basically, it makes it easier
for programmers to stop thinking about the nitty-gritty details of how the machine works
and think about the problems they are trying to solve.
So, what is C++ used for?
C++ is a powerful general-purpose programming language. It can be used to create small
programs or large applications. It can be used to make CGI scripts or console-only DOS
programs. C++ allows you to create programs to do almost anything you need to do. The
creator of C++, Bjarne Stroustrup, has put together a partial list of applications written in
C++.Your continued donations keep Wikipedia running!
Oracle Database
From Wikipedia, the free encyclopedia
Jump to: navigation, search
Oracle Database
Developer(s) Oracle Corporation
Stable release 11g R2 / 2009-09-01; 2 months ago
Written in C
Operating
system
Cross-platform
Available in Multiple languages
Type RDBMS
License Proprietary
Website http://www.oracle.com/
The Oracle Database (commonly referred to as Oracle RDBMS or simply Oracle) is a
relational database management system (RDBMS) produced and marketed by Oracle
Corporation. As of 2009, Oracle remains a major presence in database computing.[1]
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.[2]
Contents
[hide]
 1 Physical and logical structures
o 1.1 Storage
 1.1.1 Disk files
 1.1.1.1 Data files
 1.1.1.2 Control files
o 1.2 Database schema
o 1.3 Memory architecture
 1.3.1 System Global Area
 1.3.2 Library cache
 1.3.3 Data dictionary cache
 1.3.4 Program Global Area
o 1.4 Process architectures
 1.4.1 Oracle processes
 1.4.2 User processes, connections and sessions
o 1.5 Concurrency and locking
o 1.6 Configuration
 2 Internationalization
 3 History
o 3.1 Corporate/technical timeline
o 3.2 Version numbering
o 3.3 List of claimed firsts
 4 Editions
 5 Host platforms
 6 Related software
o 6.1 Database options
o 6.2 Suites
o 6.3 Database "features"
o 6.4 Standalone tools
o 6.5 Other databases marketed by Oracle Corporation
 7 Using Oracle Database software
o 7.1 Official support
o 7.2 Database-related guidelines
o 7.3 Oracle Certification Program
o 7.4 User groups
 8 Market position
o 8.1 Competition
o 8.2 Pricing
 9 See also
 10 References
 11 Bibliography
 12 External links
[edit] Physical and logical structures
An Oracle database system — identified by an alphanumeric system identifier or SID[3]
— comprises at least one instance of the application, along with data storage. An instance
— identified persistently by an instantiation number (or activation id:
SYS.V_$DATABASE.ACTIVATION#) — 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 the 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 (or 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.
If the Oracle database administrator has implemented Oracle RAC (Real Application
Clusters), then multiple instances, usually on different servers, attach to a central storage
array. This scenario offers advantages such as better performance, scalability and
redundancy. However, support becomes more complex, and many sites do not use RAC.
In version 10g, grid computing 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] Storage
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, such as
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.
Oracle database management tracks 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).
[edit] Disk files
This section requires
expansion.
[edit] Data files
At the physical level, datafiles comprise one or more data blocks, where the block size
can vary between datafiles.
Datafiles can occupy pre-allocated space in the file system of a computer server, utilize
raw disk directly, or exist within ASM logical volumes.[4]
[edit] Control files
One (or multiple multiplexed) control files (also known as "controlfiles") store overall
system information and statuses.[5]
[edit] Database schema
Oracle database conventions refer to defined groups of object ownership (generally
associated with a "username") as schemas.
Most Oracle database installations traditionally came 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.[6]
Oracle Corporation has de-emphasized the use of the SCOTT schema, as it uses few of the
features of the more recent releases of Oracle. Most recent examples supplied by Oracle
Corporation reference the default HR or OE schemas.
Other default schemas[7]
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 plans.[8]
 BI, IX, HR, OE, PM, and SH (expanded sample schemas[9]
containing more data and
structures than the older SCOTT schema).
[edit] Memory architecture
[edit] 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.[10]
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.
[edit] Library cache
The library cache[11]
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.
[edit] Data dictionary cache
The data dictionary comprises a set of tables and views that map the structure of the
database.
Oracle databases store information here about the logical and physical structure of the
database. The data dictionary contains information such as:
 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[12]
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.
[edit] Program Global Area
The Program Global Area[13][14]
or PGA memory-area of an Oracle instance 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.
[edit] Process architectures
[edit] Oracle processes
The Oracle RDBMS typically relies on a group of processes running simultaneously in
the background and interacting to monitor and expedite database operations. Typical
operating groups might include some of the following individual processes — (shown
along with their abbreviated nomenclature):[15]
 archiver processes (ARCn)
 checkpoint process (CKPT) *REQUIRED*
 coordinator-of-job-queues process (CJQn): dynamically spawns slave processes
for job-queues
 database writer processes (DBWn) *REQUIRED*
 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
 log-writer process (LGWR) *REQUIRED*
 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): process for automatic problem-detection,
self-tuning and statistics-gathering[16]
 memory-monitor light process (MMNL): gathers and stores Automatic Workload
Repository (AWR) data
 mmon slaves (Mnnnn — M0000, M0001, etc): background slaves of the MMON
process[17]
 process-monitor process (PMON) *REQUIRED*
 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) *REQUIRED*
[edit] User processes, connections and sessions
Oracle Database terminology distinguishes different computer-science terms in
describing how end-users interact with the database:
 user processes involve the invocation of application software[18]
 a connection refers to the pathway linking a user process to an Oracle instance[19]
 sessions consist of specific connections to an Oracle instance.[20]
Each session
within an instance has a session identifier or "SID"[21]
(distinct from the system-
identifier SID).
[edit] Concurrency and locking
Oracle databases control simultaneous access to data resources with locks (alternatively
documented as "enqueues"[22]
). The databases also utilize "latches" -- low-level
serialization mechanisms to protect shared data structures in the System Global Area.[23]
[edit] Configuration
Database administrators control many of the tunable variations in an Oracle instance by
means of values in a parameter file.[24]
This file in its ASCII default form ("pfile")
normally has a name of the format init<SID-name>.ora. The default binary equivalent
server paramater file ("spfile") (dynamically reconfigurable to some extent)[25]
defaults to
the format spfile<SID-name>.ora. Within an SQL-based environment, the views
V$PARAMETER[26]
and V$SPPARAMETER[27]
give access to reading parameter values.
[edit] Internationalization
Oracle Database software comes in 63 language-versions (including regional variations
such as American English and British English). Variations between versions cover the
names of days and months, abbreviations, time-symbols such as A.M. and A.D., and
sorting.[28]
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.[29]
Oracle Corporation provides database developers with tools and mechanisms for
producing internationalized database applications: referred to internally as
"Globalization".[30]
[edit] History
[edit] Corporate/technical timeline
This article is in a list format that may be better presented using prose. You
can help by converting this article to prose, if appropriate. Editing help is
available. (September 2009)
 1977: 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.)[31]
 1982: RSI in its turn changed its name, becoming known as "Oracle Corporation",
[32]
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.[32]
 1984: Oracle Corporation released Oracle version 4, which supported read-
consistency.
 1985: Oracle Corporation released Oracle version 5, which supported the client-
server model — a sign of networks becoming more widely available in the mid-
1980s.
 1986: Oracle version 5.1 started supporting 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.[33]
 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[32]
 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[32]
 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[32]
 2007: Oracle Database 10g release 2 sets a new world record TPC-H 3000 GB
benchmark result[34]
 2007: Oracle Corporation released Oracle Database 11g for Linux and for
Microsoft Windows.
 2008: Oracle Corporation acquires BEA Systems.
 2009: Oracle Corporation acquires Sun Microsystems. Note: as of October 2009
the acquisition awaits approval from the European Council[citation needed]
.
[edit] 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 5, Oracle's RDBMS release numbering has used the following codes:
 Oracle5
 Oracle6
 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 (patchset as of December 2003)
 Oracle9i Database Release 2: 9.2.0.1 — 9.2.0.8 (patchset as of April 2007)
 Oracle Database 10g Release 1: 10.1.0.2 — 10.1.0.5 (patchset as of February
2006)
 Oracle Database 10g Release 2: 10.2.0.1 — 10.2.0.4 (patchset as of April 2008)
 Oracle Database 11g Release 1: 11.1.0.6 — 11.1.0.7 (patchset as of September
2008)
 Oracle Database 11g Release 2: 11.2.0.1 (released 2009-09-01)
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[35]
showing the latest patch-set releases by major
release, operating-system, and hardware-architecture.
[edit] List of claimed firsts
This article needs additional citations for verification.
Please help improve this article by adding reliable references. Unsourced material may be
challenged and removed. (December 2007)
Oracle Corporation claims to have provided:
 the first commercially-available SQL-based database (1979)[36]
 the first database to support symmetric multiprocessing (SMP) (1983)
 the first distributed database (1986)
 the first database product tested to comply with the ANSI SQL standard (1993)[36]
 the first 64-bit database (1995)
 the first database to incorporate a native JRE (1998)
 the first proprietary RDBMS to become available on Linux (1998)[37]
 the first database to support XML (1999)
[edit] Editions
Over and above the different versions of the Oracle database management software,
Oracle Corporation subdivides its product into varying "editions" - apparently for
marketing and license-tracking reasons. In approximate order of decreasing scale, we
find:
 Enterprise Edition[38]
(EE) includes more features than the 'Standard Edition',
especially in the areas of performance and security. Oracle Corporation licenses
this product on the basis of users or of processors, typically for servers running 4
or more CPUs. EE has no memory limits, and can utilize clustering using Oracle
RAC software.
 Standard Edition[39]
(SE) contains base database functionality. Oracle Corporation
licenses this product on the basis of users or of processors, typically for servers
running from one to four CPUs. If the number of CPUs exceeds 4 CPUs, the user
must convert to an Enterprise license. SE has no memory limits, and can utilize
clustering with Oracle RAC at no additional charge.
 Standard Edition One,[40]
introduced with Oracle 10g, has some additional feature-
restrictions. Oracle Corporation markets it for use on systems with one or two
CPUs. It has no memory limitations.
 Express Edition[41]
('Oracle Database XE'), introduced in 2005, offers Oracle 10g
free to distribute on Windows and Linux platforms. It has a footprint of only 150
MB and is restricted[by whom?]
to the use of a single CPU, a maximum of 4 GB of
user data. Although it can install on a server with any amount of memory, it uses a
maximum of 1 GB.[42]
Support for this version comes exclusively through on-line
forums and not through Oracle support.
 Oracle Database Lite,[43]
intended for running on mobile devices. The database
located on the mobile device can synchronize with a server-based installation.
[edit] Host platforms
Prior to releasing Oracle9i in 2001, Oracle Corporation ported its database product to a
wide variety of platforms. More recently Oracle Corporation has consolidated on a
smaller range of operating-system platforms.
As of October 2006, Oracle Corporation supported the following operating systems and
hardware platforms for Oracle Database 10g:
 Apple Mac OS X Server: PowerPC
 HP HP-UX: PA-RISC, Itanium
 HP Tru64 UNIX: Alpha
 HP OpenVMS: Alpha, Itanium
 IBM AIX5L: IBM POWER
 IBM z/OS: zSeries
 Linux: x86, x86-64, PowerPC, zSeries, Itanium
 Microsoft Windows: x86, x86-64, Itanium
 Sun Solaris: SPARC, x86, x86-64
[edit] Related software
For links to some of Oracle Corporation's software which integrates with Oracle
databases, see the Oracle Corporation category and the Oracle software category pages.
[edit] Database options
Oracle Corporation refers to some extensions to the core functionality of the Oracle
database as "database options".[44]
As of 2008 such options include:
 Active Data Guard (extends Oracle Data Guard physical standby functionality in
11g)
 Advanced Security (adds data encryption methods)
 Content database (provides a centralized repository for unstructured information)
 Database Vault (enforces extra security on data access)
 Data Mining (ODM) (mines for patterns in existing data)
 In-Memory Database Cache (utilizes TimesTen technology)
 Label Security (enforces row-level security)
 Management Packs (various)
 Oracle Answers (for ad-hoc analysis and reporting)
 Oracle OLAP (adds analytical processing)
 Oracle Programmer (provides programmatic access to Oracle databases via
precompilers, interfaces and bindings)[45]
 Partitioning (granularizes tables and indexes for efficiency)
 Real Application Clusters (RAC) (coordinates multiple database servers, together
accessing the same database)
 Oracle Real Application Testing (new at version 11g) — including Database
Replay (for testing workloads) and SQL Performance Analyzer (SPA) (for
preserving SQL efficiency in changing environments)[46]
 Records database (a records management application)
 Oracle Spatial (integrates relational data with geographic information systems
(GIS))
 Transparent Gateway for connecting to non-Oracle systems. Offers optimized
solution, with more functionality and better performance than Oracle Generic
Connectivity.
 Total Recall (optimizes long-term storage of historical data)
 Oracle Warehouse Builder (in various forms and sub-options)
This list is incomplete; you can help by expanding it.
In most cases, using these options entails extra licensing costs.[47]
[edit] Suites
In addition to its RDBMS, Oracle Corporation has released several related suites of tools
and applications relating to implementations of Oracle databases. For example:
 Oracle Application Server, a J2EE-based application server, aids in developing
and deploying applications which utilise Internet technologies and a browser.
 Oracle Collaboration Suite contains messaging, groupware and collaboration
applications.
 Oracle Developer Suite contains software development tools, including
JDeveloper.
 Oracle E-Business Suite collects together applications for enterprise resource
planning (including Oracle Financials), customer relationship management and
human resources management (Oracle HR).
 Oracle Enterprise Manager (OEM) used by database administrators (DBAs) to
manage the DBMS, and recently in version 10g, a web-based rewrite of OEM
called "Oracle Enterprise Manager Database Control". Oracle Corporation has
dubbed the super-Enterprise-Manager used to manage a grid of multiple DBMS
and Application Servers "Oracle Enterprise Manager Grid Control".
 Oracle Programmer/2000, a bundling of interfaces for 3GL programming
languages, marketed with Oracle7 and Oracle8.[48][49]
[edit] Database "features"
Apart from the clearly-defined database options, Oracle databases may include many
semi-autonomous software sub-systems, which Oracle Corporation sometimes refers to
as "features" in a sense subtly different from the normal usage of the word.[50]
Such
"features" may include (for example):
 Active Session History (ASH), the collection of data for immediate monitoring of
very recent database activity.[51]
 Automatic Workload Repository (AWR), providing monitoring services to Oracle
database installations from Oracle version 10. Prior to the release of Oracle
version 10, the Statspack facility provided similar functionality.
 Clusterware
 Data Aggregation and Consolidation
 Data Guard for high availability
 Generic Connectivity for connecting to non-Oracle systems.
 Data Pump utilities, which aid in importing and exporting data and metadata
between databases[52]
 Database Resource Manager (DRM), which controls the use of computing
resources.[53]
 Fine-grained auditing (FGA) (in Oracle Enterprise Edition[54]
) supplements
standard security-auditing features[55]
 Flashback for selective data recovery and reconstruction[56]
 iSQL*Plus, a web-browser-based graphical user interface (GUI) for Oracle
database data-manipulation (compare SQL*Plus)
 Oracle Data Access Components (ODAC), tools which consist of:[57]
o Oracle Data Provider for .NET (ODP.NET)[58]
o Oracle Developer Tools (ODT) for Visual Studio
o Oracle Providers for ASP.NET
o Oracle Database Extensions for .NET
o Oracle Provider for OLE DB
o Oracle Objects for OLE
o Oracle Services for Microsoft Transaction Server
 Oracle-managed files (OMF) -- a feature allowing automated naming, creation
and deletion of datafiles at the operating-system level.
 Recovery Manager (rman) for database backup, restoration and recovery
 SQL*Plus, a program that allows users to interact with Oracle database(s) via
SQL and PL/SQL commands on a command-line. Compare iSQL*Plus.
This list is incomplete; you can help by expanding it.
[edit] Standalone tools
Users can develop applications in Java and PL/SQL using tools such as Oracle
JDeveloper, Oracle Forms, or Oracle Reports. Oracle Corporation has started[clarification needed]
a drive toward 'wizard'-driven environments with a view to enabling non-programmers to
produce simple data-driven applications.
Oracle SQL Developer, a free graphical tool for database development, allows developers
to browse database objects, run SQL statements and SQL scripts, and edit and debug
PL/SQL statements. It incorporates standard and customized reporting.
[edit] Other databases marketed by Oracle Corporation
By acquiring other technology in the database field, Oracle Corporation has taken over:
 TimesTen, a memory-resident database that can cache transactions and
synchronize data with a centralized Oracle database server. It functions as a real-
time infrastructure software product intended for the management of low-latency,
high-volume data, of events and of transactions.
 BerkeleyDB, a simple, high-performance, embedded database
 Oracle Rdb, a legacy relational database for the OpenVMS operating system
 MySQL a relational database purchased as part of its immediate previous owner,
Sun Microsystems
[edit] Using Oracle Database software
Users of Oracle databases may access the online documentation, the Oracle Technology
Network site, and the comp.databases.oracle Usenet discussion group. The Oracle
Technet site offers downloads of full-featured evaluation software. Users can also check
the Oracle FAQ site before posting questions to forums, mailing lists, etc. They can also
log on to http://asktom.oracle.com/ to post questions to and get answers from Tom Kyte,
a Vice-President of Oracle Corporation and the author of several Oracle books including
Expert One-On-One Oracle (ISBN 1-59059-525-4).
The Oracle RDBMS has had a reputation among novice users as difficult to install on
Linux systems.[citation needed]
Oracle Corporation has packaged recent versions for several
popular Linux distributions in an attempt to minimize installation challenges beyond the
level of technical expertise required to install a database server.[citation needed]
[edit] Official support
Users who have Oracle support contracts should turn to Oracle's MetaLink web site
(password required). MetaLink provides users of Oracle Corporation products with a
repository of reported problems, diagnostic scripts and solutions. It also integrates with
the provision of support tools, patches and upgrades.
The Remote Diagnostic Agent or RDA[59]
can operate as a command-line diagnostic tool
executing a script. The data captured provides an overview of the Oracle Database
environment intended for diagnostic and trouble-shooting. Within RDA, the HCVE
(Health Check Validation Engine)[60]
can verify and isolate host system environmental
issues that may affect the performance of Oracle software.
[edit] Database-related guidelines
Oracle Corporation also endorses certain practices and conventions as enhancing the use
of its database products. These include:
 Oracle Maximum Availability Architecture (MAA), guidelines on developing
high-availability systems
 Optimal Flexible Architecture (OFA), blueprints for mapping Oracle-database
objects to file-systems
[edit] Oracle Certification Program
Main article: Oracle Certification Program
The Oracle Certification Program, a professional certification program, includes the
administration of Oracle Databases as one of its main certification paths. It contains three
levels:
1. Oracle Certified Associate (OCA)
2. Oracle Certified Professional (OCP)
3. Oracle Certified Master (OCM)
[edit] User groups
A variety of official (Oracle-sponsored)[61]
and unofficial user groups has grown up of
users and developers of Oracle databases. They include:
 Oracle Technology Network
 Independent Oracle Users Group
 Geographical/regional user groups
 Product-centric user groups
 Industry-centric user groups
 The Oak Table Network
 Usenet comp.databases.oracle groups
[edit] Market position
[edit] Competition
In the market for relational databases, Oracle Database competes against commercial
products such as IBM's DB2 UDB and Microsoft SQL Server. Oracle and IBM tend to
battle for the mid-range database market on UNIX and Linux platforms, while Microsoft
dominates the mid-range database market on Microsoft Windows platforms. However,
since they share many of the same customers, Oracle and IBM tend to support each
other's products in many middleware and application categories (for example:
WebSphere, PeopleSoft, and Siebel Systems CRM), and IBM's hardware divisions work
closely with Oracle on performance-optimizing server-technologies (for example, Linux
on zSeries). The two companies have a relationship perhaps best described as
"coopetition". Niche commercial competitors include Teradata (in data warehousing and
business intelligence), Software AG's ADABAS, Sybase, and IBM's Informix, among
many others.
Increasingly, the Oracle database products compete against open-source relational
database systems, particularly PostgreSQL, Firebird, and MySQL. Oracle acquired
Innobase, supplier of the InnoDB codebase to MySQL, in part to compete better in the
open source market. Database products developed on the basis of the open-source model
generally cost significantly less to acquire than Oracle systems.
In 2007, competition with SAP AG occasioned litigation from Oracle Corporation.[62]
[edit] Pricing
Oracle Corporation offers term licensing for all Oracle products. It bases the list price for
a term-license on a specific percentage of the perpetual license price.[63]
Enterprise Edition
As of March 2006, the database that costs the most per machine-processor among
Oracle database editions.
Standard Edition
Cheaper: it can run on up to four processors but has fewer features than Enterprise
Edition—it lacks proper parallelization,[64]
etc; but remains quite suitable for
running medium-sized applications.
Standard ONE
Sells even more cheaply, but remains limited to two CPUs. Standard Edition ONE
sells on a per-seat basis with a five-user minimum. Oracle Corporation usually
sells the licenses with an extra 22% cost for support and upgrades (access to
MetaLink - Oracle Corporation's support site) which customers need to renew
annually.
Oracle Express Edition (Oracle XE)
An addition to the Oracle database product family (beta version released in 2005,
production version released in February 2006), offers a free version of the Oracle
RDBMS, but one limited to 4 GB of user data and to 1 GB of RAM (SGA+PGA).
XE will use no more than one CPU and lacks an internal JVM. XE runs only on
Windows and on Linux, not on AIX, Solaris, HP-UX and the other operating
systems available for other editions.
As computers running Oracle often have eight or more processors, the software price can
rise into the hundreds of thousands of dollars. The total cost of ownership often exceeds
this, as large Oracle installations usually require experienced and trained database
administrators to do the set-up properly. Because of the product's large installed base and
available training courses, Oracle specialists in some areas have become a more abundant
resource than those for more exotic databases. Oracle frequently provides special training
offers for database-administrators.
On Linux, Oracle's certified configurations include mostly commercial Linux
distributions (Red Hat Enterprise Linux 3 and 4, SuSE SLES8 and 9, Asianux) which can
cost in a range from a few hundred to a few thousand USD per year (depending on
processor architecture and the support package purchased).
The Oracle database system can also install and run on freely-available Linux
distributions such as the Red Hat-based Centos,[65]
or Debian-based systems.[66]
[edit] See also
Wikibooks has a book on the topic
of
Oracle database
 List of relational database management systems
 List of object-relational database management systems
 Comparison of relational database management systems
 Comparison of object-relational database management systems
 Oracle Rdb for OpenVMS
 List of ERP software packages
 Run Book Automation
[edit] References
1. ^ IDC: Oracle Maintains Lead in Database Market
2. ^ Welcome to Larryland
3. ^ Bhakthavatsalam, Namrata (August 2008). "Glossary". Oracle Database Client
Installation Guide 11g Release 1 (11.1) for AIX Based Systems Part Number
B32077-03. Oracle.
http://download.oracle.com/docs/cd/B28359_01/install.111/b32077/glossary.htm?
type=popup#BABEBJAG. Retrieved 2008-11-17. "The SID automatically
defaults to the database name portion of the global database name (sales in the
example sales.us.example.com) until you reach eight characters or enter a period.
You can accept or change the default value."
4. ^ Watkins, Bob (2007-01-30). "Look inside ASM disk groups with Oracle
10gR2's ASMCMD". techrepublic.com. ZDNet.
http://articles.techrepublic.com.com/5100-10878_11-6154262.html. Retrieved
2009-07-30. "In 10g, Oracle introduced a new kind of storage for its database
product. Automatic Storage Management (ASM) is a logical volume manager that
takes physical disk partitions and manages their contents [...] Until ASM, there
were only two choices: file system storage and raw disk storage."
5. ^ Nyffenegger, René. "Control files [Oracle]". René Nyffenegger's collection of
things on the web. http://www.adp-gmbh.ch/ora/concepts/controlfiles.html.
Retrieved 2009-07-30. "The control files of a database store the status of the
physical structure of the database."
6. ^ Oracle FAQ
7. ^ Known schemas in Oracle
8. ^ Optimizer plan stability definition
9. ^ Oracle's sample schemas
10. ^ Oracle Architecture, System Global Area
11. ^ Oracle architecture, the library cache section
12. ^ Oracle Architecture, data dictionary cache
13. ^ Oracle architecture, Program Global Area section
14. ^ PGA Definition, Oracle Database Master Glossary
15. ^ Oracle Process architecture concepts
16. ^
http://my.safaribooksonline.com/9780072263053/new_background_processes_in_
10 Niemiec, Richard (2007-06-25) "1.30. New Background Processes in 10g"
Oracle Database 10g Performance Tuning: Tips & TechniquesOracle
Pressp. 967ISBN 978-0-0722-6305-3
http://my.safaribooksonline.com/9780072263053/new_background_processes_in_
10. Retrieved 2009-08-12 "MMON Memory Monitor process is associated with
the Automatic Workload Repository new features used for automatic problem
detection and self-tuning. MMON writes out the required statistics for AWR on a
scheduled basis."
17. ^
http://my.safaribooksonline.com/9780072263053/new_background_processes_in_
10 Niemiec, Richard (2007-06-25) "1.30. New Background Processes in 10g"
Oracle Database 10g Performance Tuning: Tips & TechniquesOracle
Pressp. 967ISBN 978-0-0722-6305-3
http://my.safaribooksonline.com/9780072263053/new_background_processes_in_
10. Retrieved 2009-08-12 "M000 These are MMON background slave (m000)
processes."
18. ^ Cyran, Michele; Paul Lane (2005). "Process Architecture". Oracle Database
Concepts. Oracle Corporation.
http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/process.htm#s
thref1481. Retrieved 2008-08-13. "When a user runs an application program
(such as a Pro*C program) or an Oracle tool (such as Enterprise Manager or
SQL*Plus), Oracle creates a user process to run the user's application."
19. ^ Cyran, Michele; Paul Lane (2005). "Process Architecture". Oracle Database
Concepts. Oracle Corporation.
http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/process.htm#s
thref1481. Retrieved 2008-08-13. "A connection is a communication pathway
between a user process and an Oracle instance."
20. ^ Cyran, Michele; Paul Lane (2005). "Process Architecture". Oracle Database
Concepts. Oracle Corporation.
http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/process.htm#s
thref1481. Retrieved 2008-08-13. "A session is a specific connection of a user to
an Oracle instance through a user process"
209979479 study-material
209979479 study-material
209979479 study-material
209979479 study-material
209979479 study-material
209979479 study-material
209979479 study-material

More Related Content

What's hot

Operating System- Services,types.Batch files and DOS history
Operating System- Services,types.Batch files and DOS historyOperating System- Services,types.Batch files and DOS history
Operating System- Services,types.Batch files and DOS historySURBHI SAROHA
 
STRUCTURE OF OPERATING SYSTEMS
STRUCTURE OF OPERATING SYSTEMSSTRUCTURE OF OPERATING SYSTEMS
STRUCTURE OF OPERATING SYSTEMSKABILESH RAMAR
 
Evolution of operating system
Evolution of operating systemEvolution of operating system
Evolution of operating systemArshad khan
 
Operating system structures
Operating system structuresOperating system structures
Operating system structuresMohd Arif
 
operating system pdf
operating system pdfoperating system pdf
operating system pdfAnourag009
 
Operating Systems & Applications
Operating Systems & ApplicationsOperating Systems & Applications
Operating Systems & ApplicationsMaulen Bale
 
Operating systems system structures
Operating systems   system structuresOperating systems   system structures
Operating systems system structuresMukesh Chinta
 
Operating system
Operating systemOperating system
Operating systemMadhu Bala
 
Bba203 unit 2 operating system concepts
Bba203   unit 2 operating system conceptsBba203   unit 2 operating system concepts
Bba203 unit 2 operating system conceptskinjal patel
 
Introduction to Operating Systems
Introduction to Operating SystemsIntroduction to Operating Systems
Introduction to Operating SystemsDamian T. Gordon
 
Intermediate Operating Systems
Intermediate Operating SystemsIntermediate Operating Systems
Intermediate Operating SystemsJohn Cutajar
 
Operating system
Operating systemOperating system
Operating systemsathish sak
 

What's hot (20)

Os by nishant raghav
Os by nishant raghavOs by nishant raghav
Os by nishant raghav
 
Operating System- Services,types.Batch files and DOS history
Operating System- Services,types.Batch files and DOS historyOperating System- Services,types.Batch files and DOS history
Operating System- Services,types.Batch files and DOS history
 
Operating system-1
Operating system-1Operating system-1
Operating system-1
 
STRUCTURE OF OPERATING SYSTEMS
STRUCTURE OF OPERATING SYSTEMSSTRUCTURE OF OPERATING SYSTEMS
STRUCTURE OF OPERATING SYSTEMS
 
Evolution of operating system
Evolution of operating systemEvolution of operating system
Evolution of operating system
 
Operating system structures
Operating system structuresOperating system structures
Operating system structures
 
Computer Fundamental
Computer Fundamental Computer Fundamental
Computer Fundamental
 
operating system pdf
operating system pdfoperating system pdf
operating system pdf
 
Operating Systems & Applications
Operating Systems & ApplicationsOperating Systems & Applications
Operating Systems & Applications
 
System software vt
System software vtSystem software vt
System software vt
 
Os unit 1(cont)
Os unit 1(cont)Os unit 1(cont)
Os unit 1(cont)
 
Operating system Tutorial.
Operating system Tutorial.Operating system Tutorial.
Operating system Tutorial.
 
Operating systems system structures
Operating systems   system structuresOperating systems   system structures
Operating systems system structures
 
Operating system
Operating systemOperating system
Operating system
 
Bba203 unit 2 operating system concepts
Bba203   unit 2 operating system conceptsBba203   unit 2 operating system concepts
Bba203 unit 2 operating system concepts
 
Operating System
Operating SystemOperating System
Operating System
 
Introduction to Operating Systems
Introduction to Operating SystemsIntroduction to Operating Systems
Introduction to Operating Systems
 
Operating Systems
Operating SystemsOperating Systems
Operating Systems
 
Intermediate Operating Systems
Intermediate Operating SystemsIntermediate Operating Systems
Intermediate Operating Systems
 
Operating system
Operating systemOperating system
Operating system
 

Viewers also liked

168127619 case-study-case-study
168127619 case-study-case-study168127619 case-study-case-study
168127619 case-study-case-studyhomeworkping8
 
167630967 case-full-text-labor
167630967 case-full-text-labor167630967 case-full-text-labor
167630967 case-full-text-laborhomeworkping8
 
208327631 nutrapoison-part-one-by-alex-constantine
208327631 nutrapoison-part-one-by-alex-constantine208327631 nutrapoison-part-one-by-alex-constantine
208327631 nutrapoison-part-one-by-alex-constantinehomeworkping8
 
210654275 case-pre-eklampsi-berat
210654275 case-pre-eklampsi-berat210654275 case-pre-eklampsi-berat
210654275 case-pre-eklampsi-berathomeworkping8
 
208674362 trust-cases-docx
208674362 trust-cases-docx208674362 trust-cases-docx
208674362 trust-cases-docxhomeworkping8
 
Brand content sur Doctissimo
Brand content sur DoctissimoBrand content sur Doctissimo
Brand content sur DoctissimoAhuDocti
 
Juge niv.3 - Présentation Formation 2016-09-25
Juge niv.3 - Présentation Formation 2016-09-25Juge niv.3 - Présentation Formation 2016-09-25
Juge niv.3 - Présentation Formation 2016-09-25NoraTonlaveur
 

Viewers also liked (8)

168127619 case-study-case-study
168127619 case-study-case-study168127619 case-study-case-study
168127619 case-study-case-study
 
167630967 case-full-text-labor
167630967 case-full-text-labor167630967 case-full-text-labor
167630967 case-full-text-labor
 
209079803 cases
209079803 cases209079803 cases
209079803 cases
 
208327631 nutrapoison-part-one-by-alex-constantine
208327631 nutrapoison-part-one-by-alex-constantine208327631 nutrapoison-part-one-by-alex-constantine
208327631 nutrapoison-part-one-by-alex-constantine
 
210654275 case-pre-eklampsi-berat
210654275 case-pre-eklampsi-berat210654275 case-pre-eklampsi-berat
210654275 case-pre-eklampsi-berat
 
208674362 trust-cases-docx
208674362 trust-cases-docx208674362 trust-cases-docx
208674362 trust-cases-docx
 
Brand content sur Doctissimo
Brand content sur DoctissimoBrand content sur Doctissimo
Brand content sur Doctissimo
 
Juge niv.3 - Présentation Formation 2016-09-25
Juge niv.3 - Présentation Formation 2016-09-25Juge niv.3 - Présentation Formation 2016-09-25
Juge niv.3 - Présentation Formation 2016-09-25
 

Similar to 209979479 study-material

Similar to 209979479 study-material (20)

Modern operating system.......
Modern operating system.......Modern operating system.......
Modern operating system.......
 
What is an operating system
What is an operating systemWhat is an operating system
What is an operating system
 
What is an operating system
What is an operating systemWhat is an operating system
What is an operating system
 
Operating System - I.pptx
Operating System - I.pptxOperating System - I.pptx
Operating System - I.pptx
 
The operating
The operatingThe operating
The operating
 
Unit 1 q&amp;a
Unit  1 q&amp;aUnit  1 q&amp;a
Unit 1 q&amp;a
 
system software and application software
system software and application softwaresystem software and application software
system software and application software
 
OPERATING.pptx
OPERATING.pptxOPERATING.pptx
OPERATING.pptx
 
Features Of A Operating System
Features Of A Operating SystemFeatures Of A Operating System
Features Of A Operating System
 
MIS assignement
MIS assignementMIS assignement
MIS assignement
 
Software 3
Software 3Software 3
Software 3
 
Operating system
Operating systemOperating system
Operating system
 
ITT project ON types of operating system
ITT project ON types of operating systemITT project ON types of operating system
ITT project ON types of operating system
 
operating system college
operating system collegeoperating system college
operating system college
 
Computer operating system
Computer operating systemComputer operating system
Computer operating system
 
Operating systems
Operating systems Operating systems
Operating systems
 
Operating System
Operating SystemOperating System
Operating System
 
introduction to Operating system for computer science Program
introduction to Operating system for computer science Programintroduction to Operating system for computer science Program
introduction to Operating system for computer science Program
 
Operating systems
Operating systemsOperating systems
Operating systems
 
Overview of operating system
Overview of operating systemOverview of operating system
Overview of operating system
 

Recently uploaded

Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxLigayaBacuel1
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Quarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayQuarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayMakMakNepo
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........LeaCamillePacle
 
ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationAadityaSharma884161
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.arsicmarija21
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptx
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Quarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayQuarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up Friday
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........
 
ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint Presentation
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 

209979479 study-material

  • 1. Get Homework/Assignment Done Homeworkping.com Homework Help https://www.homeworkping.com/ Research Paper help https://www.homeworkping.com/ Online Tutoring https://www.homeworkping.com/ click here for freelancing tutoring sites The most important program that runs on a computer. Every general-purpose computer must have an operating system to run other programs. Operating systems perform basic tasks, such as recognizing input from the keyboard, sending output to the display screen, keeping track of files and directories on the disk, and controlling peripheral devices such as disk drives and printers. For large systems, the operating system has even greater responsibilities and powers. It is like a traffic cop -- it makes sure that different programs and users running at the same time do not interfere with each other. The operating system is also responsible for security, ensuring that unauthorized users do not access the system. Operating systems can be classified as follows: # multi-user : Allows two or more users to run programs at the same time. Some operating systems permit hundreds or even thousands of concurrent users. # multiprocessing : Supports running a program on more than one CPU. # multitasking : Allows more than one program to run concurrently. # multithreading : Allows different parts of a single program to run concurrently. # real time: Responds to input instantly. General-purpose operating systems, such as DOS and UNIX, are not real-time. Operating systems provide a software platform on top of which other programs, called application programs, can run. The application programs must be written to run on top of a particular operating system. Your choice of operating system, therefore, determines to a great extent the applications you can run. For PCs, the most popular operating systems are DOS, OS/2, and Windows, but others are available, such as Linux. As a user, you normally interact with the operating system through a set of commands. For example, the DOS operating system contains commands such as COPY and RENAME for copying files and changing the names of files, respectively. The commands are accepted and executed by a part of the operating system called the command processor or command line interpreter. Graphical user interfaces allow you to enter commands by pointing and clicking at objects that appear on the screen.
  • 2. An operating system (commonly abbreviated to either OS or O/S) is an interface between hardware and user. An OS is responsible for the management and coordination of activities and the sharing of the resources of the computer. The operating system acts as a host for computing applications run on the machine. As a host, one of the purposes of an operating system is to handle the details of the operation of the hardware. This relieves application programs from having to manage these details and makes it easier to write applications. Almost all computers (including handheld computers, desktop computers, supercomputers, video game consoles) as well as some robots, domestic appliances (dishwashers, washing machines), and portable media players use an operating system of some type.[1] Some of the oldest models may however use an embedded operating system, that may be contained on a compact disk or other data storage device. Operating systems offer a number of services to application programs and users. Applications access these services through application programming interfaces (APIs) or system calls. By invoking these interfaces, the application can request a service from the operating system, pass parameters, and receive the results of the operation. Users may also interact with the operating system with some kind of software user interface (UI) like typing commands by using command line interface (CLI) or using a graphical user interface (GUI, commonly pronounced “gooey”). For hand-held and desktop computers, the user interface is generally considered part of the operating system. On large multi-user systems like Unix and Unix-like systems, the user interface is generally implemented as an application program that runs outside the operating system. (Whether the user interface should be included as part of the operating system is a point of contention.) Types of Operating Systems Within the broad family of operating systems, there are generally four types, categorized based on the types of computers they control and the sort of applications they support. The categories are: * Real-time operating system (RTOS) - Real-time operating systems are used to control machinery, scientific instruments and industrial systems. An RTOS typically has very little user- interface capability, and no end-user utilities, since the system will be a "sealed box" when delivered for use. A very important part of an RTOS is managing the resources of the computer so that a particular operation executes in precisely the same amount of time, every time it occurs. In a complex machine, having a part move more quickly just because system resources are available may be just as catastrophic as having it not move at all because the system is busy. * Single-user, single task - As the name implies, this operating system is designed to manage the computer so that one user can effectively do one thing at a time. The Palm OS for Palm handheld computers is a good example of a modern single-user, single-task operating system. * Single-user, multi-tasking - This is the type of operating system most people use on their desktop and laptop computers today. Microsoft's Windows and Apple's MacOS platforms are both examples of operating systems that will let a single user have several programs in operation at the same time. For example, it's entirely possible for a Windows user to be writing a note in a word processor while downloading a file from the Internet while printing the text of an e-mail message. * Multi-user - A multi-user operating system allows many different users to take advantage of the computer's resources simultaneously. The operating system must make sure that the requirements of the various users are balanced, and that each of the programs they are using has sufficient and separate resources so that a problem with one user doesn't affect the entire community of users. Unix, VMS and mainframe operating systems, such as MVS, are examples
  • 3. of multi-user operating systems. Photo courtesy Apple Mac OS X Panther screen shot It's important to differentiate between multi-user operating systems and single-user operating systems that support networking. Windows 2000 and Novell Netware can each support hundreds or thousands of networked users, but the operating systems themselves aren't true multi-user operating systems. The system administrator is the only "user" for Windows 2000 or Netware. The network support and all of the remote user logins the network enables are, in the overall plan of the operating system, a program being run by the administrative user. When you turn on the power to a computer, the first program that runs is usually a set of instructions kept in the computer's read-only memory (ROM). This code examines the system hardware to make sure everything is functioning properly. This power-on self test (POST) checks the CPU, memory, and basic input-output systems (BIOS) for errors and stores the result in a special memory location. Once the POST has successfully completed, the software loaded in ROM (sometimes called the BIOS or firmware) will begin to activate the computer's disk drives. In most modern computers, when the computer activates the hard disk drive, it finds the first piece of the operating system: the bootstrap loader. The bootstrap loader is a small program that has a single function: It loads the operating system into memory and allows it to begin operation. In the most basic form, the bootstrap loader sets up the small driver programs that interface with and control the various hardware subsystems of the computer. It sets up the divisions of memory that hold the operating system, user information and applications. It establishes the data structures that will hold the myriad signals, flags and semaphores that are used to communicate within and between the subsystems and applications of the computer. Then it turns control of the computer over to the operating system. The operating system's tasks, in the most general sense, fall into six categories: * Processor management * Memory management * Device management * Storage management * Application interface * User interface A single process can have multiple threads that share global data and address space with other threads running in the same process, and therefore can operate on the same data set easily. Processes do not share address space and a different mechanism must be used if they are to share data. If we consider running a word processing program to be a process, then the auto-save and spell check features that occur in the background are different threads of that process which are all operating on the same data set (your document). process In computing, a process is an instance of a computer program that is being sequentially
  • 4. executed[1] by a computer system that has the ability to run several computer programs concurrently. Thread A single process may contain several executable programs (threads) that work together as a coherent whole. One thread might, for example, handle error signals, another might send a message about the error to the user, while a third thread is executing the actual task of the... NETWORK ------------------ Introduction The network allows computers to communicate with each other and share resources and information. The Advanced Research Projects Agency (ARPA) designed "Advanced Research Projects Agency Network" (ARPANET) for the United States Department of Defense. It was the first computer network in the world in late 1960s and early 1970s.[1] [edit] Network classification The following list presents categories used for classifying networks. [edit] Connection method Computer networks can also be classified according to the hardware and software technology that is used to interconnect the individual devices in the network, such as Optical fiber, Ethernet, Wireless LAN, HomePNA, Power line communication or G.hn. Ethernet uses physical wiring to connect devices. Frequently deployed devices include hubs, switches, bridges and/or routers. Wireless LAN technology is designed to connect devices without wiring. These devices use radio waves or infrared signals as a transmission medium. ITU-T G.hn technology uses existing home wiring (coaxial cable, phone lines and power lines) to create a high-speed (up to 1 Gigabit/s) local area network. Wired Technologies Twisted-Pair Wire - This is the most widely used medium for telecommunication. Twisted-pair wires are ordinary telephone wires which consist of two insulated copper wires twisted into pairs and are used for both voice and data transmission. The use of two wires twisted together helps to reduce crosstalk and electromagnetic induction. The transmission speed range from 2 million bits per second to 100 million bits per second. Coaxial Cable – These cables are widely used for cable television systems, office buildings, and other worksites for local area networks. The cables consist of copper or aluminum wire wrapped with insulating layer typically of a flexible material with a high dielectric constant, all of which are
  • 5. surrounded by a conductive layer. The layers of insulation help minimize interference and distortion. Transmission speed range from 200 million to more than 500 million bits per second. Fiber Optics – These cables consist of one or more thin filaments of glass fiber wrapped in a protective layer. It transmits light which can travel over long distance and higher bandwidths. Fiber-optic cables are not affected by electromagnetic radiation. Transmission speed could go up to as high as trillions of bits per second. The speed of fiber optics is hundreds of times faster than coaxial cables and thousands of times faster than twisted-pair wire. Wireless Technologies Terrestrial Microwave – Terrestrial microwaves use Earth-based transmitter and receiver. The equipment look similar to satellite dishes. Terrestrial microwaves use low-gigahertz range, which limits all communications to line-of-sight. Path between relay stations spaced approx. 30 miles apart. Microwave antennas are usually placed on top of buildings, towers, hills, and mountain peaks. Communications Satellites – The satellites use microwave radio as their telecommunications medium which are not deflected by the Earth's atmosphere. The satellites are stationed in space, typically 22,000 miles above the equator. These Earth-orbiting systems are capable of receiving and relaying voice, data, and TV signals. Cellular and PCS Systems – Use several radio communications technologies. The systems are divided to different geographic area. Each area has low-power transmitter or radio relay antenna device to relay calls from one area to the next area. Wireless LANs – Wireless local area network use a high-frequency radio technology similar to digital cellular and a low-frequency radio technology. Wireless LANS use spread spectrum technology to enable communication between multiple devices in a limited area. Example of open-standard wireless radio-wave technology is IEEE 802.11b. Bluetooth – A short range wireless technology. Operate at approx. 1Mbps with range from 10 to 100 meters. Bluetooth is an open wireless protocol for data exchange over short distances. The Wireless Web – The wireless web refers to the use of the World Wide Web through equipments like cellular phones, pagers, PDAs, and other portable communications devices. The wireless web service offers anytime/anywhere connection. [edit] Scale Networks are often classified as Local Area Network (LAN), Wide Area Network (WAN), Metropolitan Area Network (MAN), Personal Area Network (PAN), Virtual Private Network (VPN), Campus Area Network (CAN), Storage Area Network (SAN), etc. depending on their scale, scope and purpose. Usage, trust levels and access rights often differ between these types of network - for example, LANs tend to be designed for internal use by an organization's internal systems and
  • 6. employees in individual physical locations (such as a building), while WANs may connect physically separate parts of an organization to each other and may include connections to third parties. [edit] Functional relationship (network architecture) Computer networks may be classified according to the functional relationships which exist among the elements of the network, e.g., Active Networking, Client-server and Peer-to-peer (workgroup) architecture. [edit] Network topology Computer networks may be classified according to the network topology upon which the network is based, such as bus network, star network, ring network, mesh network, star-bus network, tree or hierarchical topology network. Network topology signifies the way in which devices in the network see their logical relations to one another. The use of the term "logical" here is significant. That is, network topology is independent of the "physical" layout of the network. Even if networked computers are physically placed in a linear arrangement, if they are connected via a hub, the network has a Star topology, rather than a bus topology. In this regard the visual and operational characteristics of a network are distinct; the logical network topology is not necessarily the same as the physical layout. Networks may be classified based on the method of data used to convey the data, these include digital and analog networks. [edit] Types of networks Below is a list of the most common types of computer networks in order of scale. [edit] Personal area network A personal area network (PAN) is a computer network used for communication among computer devices close to one person. Some examples of devices that are used in a PAN are printers, fax machines, telephones, PDAs and scanners. The reach of a PAN is typically about 20-30 feet (approximately 6-9 meters), but this is expected to increase with technology improvements. [edit] Local area network A local area network (LAN) is a computer network covering a small physical area, like a home, office, or small group of buildings, such as a school, or an airport. Current wired LANs are most likely to be based on Ethernet technology, although new standards like ITU-T G.hn also provide a way to create a wired LAN using existing home wires (coaxial cables, phone lines and power lines)[2]. For example, a library may have a wired or wireless LAN for users to interconnect local devices (e.g., printers and servers) and to connect to the internet. On a wired LAN, PCs in the library are typically connected by category 5 (Cat5) cable, running the IEEE 802.3 protocol through a system of interconnected devices and eventually connect to the Internet. The cables to the servers are typically on Cat 5e enhanced cable, which will support IEEE 802.3 at 1 Gbit/s. A wireless LAN may exist using a different IEEE protocol, 802.11b, 802.11g or possibly 802.11n. The staff computers (bright green in the figure) can get to the color printer, checkout records, and the academic network and the Internet. All user computers can get to the Internet and the card catalog. Each workgroup can get to its local printer. Note that the printers are not accessible from outside their workgroup. Typical library network, in a branching tree topology and controlled access to resources
  • 7. All interconnected devices must understand the network layer (layer 3), because they are handling multiple subnets (the different colors). Those inside the library, which have only 10/100 Mbit/s Ethernet connections to the user device and a Gigabit Ethernet connection to the central router, could be called "layer 3 switches" because they only have Ethernet interfaces and must understand IP. It would be more correct to call them access routers, where the router at the top is a distribution router that connects to the Internet and academic networks' customer access routers. The defining characteristics of LANs, in contrast to WANs (wide area networks), include their higher data transfer rates, smaller geographic range, and lack of a need for leased telecommunication lines. Current Ethernet or other IEEE 802.3 LAN technologies operate at speeds up to 10 Gbit/s. This is the data transfer rate. IEEE has projects investigating the standardization of 40 and 100 Gbit/s.[3] [edit] Campus area network A campus area network (CAN) is a computer network made up of an interconnection of local area networks (LANs) within a limited geographical area. It can be considered one form of a metropolitan area network, specific to an academic setting. In the case of a university campus-based campus area network, the network is likely to link a variety of campus buildings including; academic departments, the university library and student residence halls. A campus area network is larger than a local area network but smaller than a wide area network (WAN) (in some cases). The main aim of a campus area network is to facilitate students accessing internet and university resources. This is a network that connects two or more LANs but that is limited to a specific and contiguous geographical area such as a college campus, industrial complex, office building, or a military base. A CAN may be considered a type of MAN (metropolitan area network), but is generally limited to a smaller area than a typical MAN. This term is most often used to discuss the implementation of networks for a contiguous area. This should not be confused with a Controller Area Network. A LAN connects network devices over a relatively short distance. A networked office building, school, or home usually contains a single LAN, though sometimes one building will contain a few small LANs (perhaps one per room), and occasionally a LAN will span a group of nearby buildings. [edit] Metropolitan area network A metropolitan area network (MAN) is a network that connects two or more local area networks or campus area networks together but does not extend beyond the boundaries of the immediate town/city. Routers, switches and hubs are connected to create a metropolitan area network. [edit] Wide area network A wide area network (WAN) is a computer network that covers a broad area (i.e. any network whose communications links cross metropolitan, regional, or national boundaries [1]). Less formally, a WAN is a network that uses routers and public communications links Contrast with personal area networks (PANs), local area networks (LANs), campus area networks (CANs), or metropolitan area networks (MANs), which are usually limited to a room, building, campus or specific metropolitan area (e.g., a city) respectively. The largest and most well-known example of a WAN is the Internet. A WAN is a data communications network that covers a relatively broad geographic area (i.e. one city to another and one country to another country) and that often uses
  • 8. transmission facilities provided by common carriers, such as telephone companies. WAN technologies generally function at the lower three layers of the OSI reference model: the physical layer, the data link layer, and the network layer. [edit] Global area network A global area networks (GAN) (see also IEEE 802.20) specification is in development by several groups, and there is no common definition. In general, however, a GAN is a model for supporting mobile communications across an arbitrary number of wireless LANs, satellite coverage areas, etc. The key challenge in mobile communications is "handing off" the user communications from one local coverage area to the next. In IEEE Project 802, this involves a succession of terrestrial WIRELESS local area networks (WLAN).[4] [edit] Virtual private network A virtual private network (VPN) is a computer network in which some of the links between nodes are carried by open connections or virtual circuits in some larger network (e.g., the Internet) instead of by physical wires. The data link layer protocols of the virtual network are said to be tunneled through the larger network when this is the case. One common application is secure communications through the public Internet, but a VPN need not have explicit security features, such as authentication or content encryption. VPNs, for example, can be used to separate the traffic of different user communities over an underlying network with strong security features. A VPN may have best-effort performance, or may have a defined service level agreement (SLA) between the VPN customer and the VPN service provider. Generally, a VPN has a topology more complex than point-to-point. A VPN allows computer users to appear to be editing from an IP address location other than the one which connects the actual computer to the Internet. [edit] Internetwork An Internetwork is the connection of two or more distinct computer networks or network segments via a common routing technology. The result is called an internetwork (often shortened to internet). Two or more networks or network segments connected using devices that operate at layer 3 (the 'network' layer) of the OSI Basic Reference Model, such as a router. Any interconnection among or between public, private, commercial, industrial, or governmental networks may also be defined as an internetwork. In modern practice, interconnected networks use the Internet Protocol. There are at least three variants of internetworks, depending on who administers and who participates in them: * Intranet * Extranet * Internet Intranets and extranets may or may not have connections to the Internet. If connected to the Internet, the intranet or extranet is normally protected from being accessed from the Internet without proper authorization. The Internet is not considered to be a part of the intranet or extranet, although it may serve as a portal for access to portions of an extranet. [edit] Intranet
  • 9. An intranet is a set of networks, using the Internet Protocol and IP-based tools such as web browsers and file transfer applications, that is under the control of a single administrative entity. That administrative entity closes the intranet to all but specific, authorized users. Most commonly, an intranet is the internal network of an organization. A large intranet will typically have at least one web server to provide users with organizational information. [edit] Extranet An extranet is a network or internetwork that is limited in scope to a single organization or entity but which also has limited connections to the networks of one or more other usually, but not necessarily, trusted organizations or entities (e.g., a company's customers may be given access to some part of its intranet creating in this way an extranet, while at the same time the customers may not be considered 'trusted' from a security standpoint). Technically, an extranet may also be categorized as a CAN, MAN, WAN, or other type of network, although, by definition, an extranet cannot consist of a single LAN; it must have at least one connection with an external network. [edit] Internet The Internet consists of a worldwide interconnection of governmental, academic, public, and private networks based upon the networking technologies of the Internet Protocol Suite. It is the successor of the Advanced Research Projects Agency Network (ARPANET) developed by DARPA of the U.S. Department of Defense. The Internet is also the communications backbone underlying the World Wide Web (WWW). The 'Internet' is most commonly spelled with a capital 'I' as a proper noun, for historical reasons and to distinguish it from other generic internetworks. Participants in the Internet use a diverse array of methods of several hundred documented, and often standardized, protocols compatible with the Internet Protocol Suite and an addressing system (IP Addresses) administered by the Internet Assigned Numbers Authority and address registries. Service providers and large enterprises exchange information about the reachability of their address spaces through the Border Gateway Protocol (BGP), forming a redundant worldwide mesh of transmission paths. [edit] Basic hardware components All networks are made up of basic hardware building blocks to interconnect network nodes, such as Network Interface Cards (NICs), Bridges, Hubs, Switches, and Routers. In addition, some method of connecting these building blocks is required, usually in the form of galvanic cable (most commonly Category 5 cable). Less common are microwave links (as in IEEE 802.12) or optical cable ("optical fiber"). An ethernet card may also be required. [edit] Network interface cards A network card, network adapter, or NIC (network interface card) is a piece of computer hardware designed to allow computers to communicate over a computer network. It provides physical access to a networking medium and often provides a low-level addressing system through the use of MAC addresses. [edit] Repeaters A repeater is an electronic device that receives a signal and retransmits it at a higher power level, or to the other side of an obstruction, so that the signal can cover longer distances without degradation. In most twisted pair Ethernet configurations, repeaters are required for cable which runs longer than 100 meters.
  • 10. [edit] Hubs A network hub contains multiple ports. When a packet arrives at one port, it is copied unmodified to all ports of the hub for transmission. The destination address in the frame is not changed to a broadcast address.[5] [edit] Bridges A network bridge connects multiple network segments at the data link layer (layer 2) of the OSI model. Bridges do not promiscuously copy traffic to all ports, as hubs do, but learn which MAC addresses are reachable through specific ports. Once the bridge associates a port and an address, it will send traffic for that address only to that port. Bridges do send broadcasts to all ports except the one on which the broadcast was received. Bridges learn the association of ports and addresses by examining the source address of frames that it sees on various ports. Once a frame arrives through a port, its source address is stored and the bridge assumes that MAC address is associated with that port. The first time that a previously unknown destination address is seen, the bridge will forward the frame to all ports other than the one on which the frame arrived. Bridges come in three basic types: 1. Local bridges: Directly connect local area networks (LANs) 2. Remote bridges: Can be used to create a wide area network (WAN) link between LANs. Remote bridges, where the connecting link is slower than the end networks, largely have been replaced by routers. 3. Wireless bridges: Can be used to join LANs or connect remote stations to LANs. [edit] Switches A network switch is a device that forwards and filters OSI layer 2 datagrams (chunk of data communication) between ports (connected cables) based on the MAC addresses in the packets. [6] This is distinct from a hub in that it only forwards the packets to the ports involved in the communications rather than all ports connected. Strictly speaking, a switch is not capable of routing traffic based on IP address (OSI Layer 3) which is necessary for communicating between network segments or within a large or complex LAN. Some switches are capable of routing based on IP addresses but are still called switches as a marketing term. A switch normally has numerous ports, with the intention being that most or all of the network is connected directly to the switch, or another switch that is in turn connected to a switch.[7] Switch is a marketing term that encompasses routers and bridges, as well as devices that may distribute traffic on load or by application content (e.g., a Web URL identifier). Switches may operate at one or more OSI model layers, including physical, data link, network, or transport (i.e., end-to-end). A device that operates simultaneously at more than one of these layers is called a multilayer switch. Overemphasizing the ill-defined term "switch" often leads to confusion when first trying to understand networking. Many experienced network designers and operators recommend starting with the logic of devices dealing with only one protocol level, not all of which are covered by OSI. Multilayer device selection is an advanced topic that may lead to selecting particular implementations, but multilayer switching is simply not a real-world design concept.
  • 11. [edit] Routers A router is a networking device that forwards packets between networks using information in protocol headers and forwarding tables to determine the best next router for each packet. Routers work at the Network Layer of the OSI model and the Internet Layer of TCP/IP. ISO OSI Reference Model A set of protocols is open if: * protocol details are publicly available * changes are managed by an organization whose membership and transactions are open to the public A system that implements open protocols is called an open system. International Organization for Standards (ISO) prescribes a standard to connect open systems * open system interconnect (OSI) Figure 6: The (OSI) Seven Layer Model Physical Layer Specification of voltage levels, cables, connectors, timing of bots, electrical access and maintenance of circuit (i.e. corresponds to the basic hardware). Data Link Layer Transforms basic physical services to enable the transmission of units of data called frames. Frames carry data between two points on the same type of physical network, and maybe relayed if the network is extended. They normally contain low level addressing information and some error checking. This layer may be involved in arbitrating access to the physical network. The Data Link layer detects, and possibly corrects errors in the physical layer Network Controls routing of data by providing an address domain, and in consequence the routing of messages. This addressing is separate from the hardware which implements the network connections. i.e. specifies how addresses are assigned and how packets are forwarded from one end of the network to another. Transport Provides an interface for the upper layers to communications facilities. The presence of this layer obscures the underlying network hardware and topology from the applications. A very complex set of protocols are required for this layer! Session The protocols for this layer specify how to establish a communication session with a remote System (e.g., How to login to a remote timesharing computer). Specifications for security details
  • 12. such as authentication using passwords are described in this layer. Presentation Layer 6 protocols specify how to represent data. Such protocols are needed because different brands of computer use different internal representation for integer and characters. Thus layer 6 protocols are needed to translate from the representation on one computer to the representation on another. Application Layer This is where the application using the network resides. Common network applications include remote login, file transfer, e-mail, and web page browsing. DATABASE ------------------A database is an integrated collection of logically related records or files which consolidates records into a common pool of data records that provides data for many applications. A database is a collection of information that is organized so that it can easily be accessed, managed, and updated. In one view, databases can be classified according to types of content: bibliographic, full-text, numeric, and images. The data in a database is organized according to a database model. The model that is most commonly used today is the relational model. Other models such as the hierarchical model and the network model use a more explicit representation of relationships. database is a collection of information that is organized so that it can easily be accessed, managed, and updated. In one view, databases can be classified according to types of content: bibliographic, full-text, numeric, and images. Ask your database questions at ITKnowledgeExchange.com In computing, databases are sometimes classified according to their organizational approach. The most prevalent approach is the relational database, a tabular database in which data is defined so that it can be reorganized and accessed in a number of different ways. A distributed database is one that can be dispersed or replicated among different points in a network. An object-oriented programming database is one that is congruent with the data defined in object classes and subclasses. a "minicomputer" is a powerful computer that can support many users at once. A "mainframe" is a large, high-powered computer that can perform billions of calculations from multiple sources at one time. Finally, a "supercomputer" is a machine that can process billions of instructions a second and is used to calculate extremely complex calculations. A programmable machine. The two principal characteristics of a computer are: • It responds to a specific set of instructions in a well-defined manner.  It can execute a prerecorded list of instructions (a program).
  • 13. Modern computers are electronic and digital. The actual machinery -- wires, transistors, and circuits -- is called hardware; the instructions and data are called software. All general-purpose computers require the following hardware components: • memory : Enables a computer to store, at least temporarily, data and programs. • mass storage device : Allows a computer to permanently retain large amounts of data. Common mass storage devices include disk drives and tape drives. • input device : Usually a keyboard and mouse, the input device is the conduit through which data and instructions enter a computer. • output device : A display screen, printer, or other device that lets you see what the computer has accomplished. • central processing unit (CPU): The heart of the computer, this is the component that actually executes instructions. In addition to these components, many others make it possible for the basic components to work together efficiently. For example, every computer requires a bus that transmits data from one part of the computer to another. Computers can be generally classified by size and power as follows, though there is considerable overlap: • personal computer : A small, single-user computer based on a microprocessor. In addition to the microprocessor, a personal computer has a keyboard for entering data, a monitor for displaying information, and a storage device for saving data. • workstation : A powerful, single-user computer. A workstation is like a personal computer, but it has a more powerful microprocessor and a higher- quality monitor. • minicomputer : A multi-user computer capable of supporting from 10 to hundreds of users simultaneously. • mainframe : A powerful multi-user computer capable of supporting many hundreds or thousands of users simultaneously. • supercomputer : An extremely fast computer that can perform hundreds of millions of instructions per second. JAVA Before you can develop an application written in the Java programming language, you will need the Java Platform Standard Edition (Java SE) development kit. It has the necessary Java Virtual Machine1 (JVM), core Application Programming Interfaces (API)s, and the compiler you'll need for most and perhaps all of your development. Note: Mac users should go to Apple's Mac OS X Java Runtime Environment. Then return for Java programming information and tutorials.
  • 14. If you are used to working in an Integrated Development Environment (IDE) or want to learn, you can download Java SE with the NetBeans IDE. For some projects, you'll want additional bundles. Some of the more popular downloads are listed below. If you're not certain what you need, start with Java SE. You'll discover other tools as you become familiar with the Java platform.  Java SE: This kit is necessary for developing all applications, except those designed for consumer devices (See the Micro Edition). Java SE comes bundled with the compiler, a runtime environment, and core API.  Java Platform Enterprise Edition (Java EE): This packages includes an application server, web server, J2EE APIs, support for Enterprise JavaBeans, Java Servlets API, and JavaServer Pages (JSP) technology. Use J2EE with the Java SE.  Java Platform Micro Edition (Java ME): If you are interested in developing programs for Palm Pilots, screen phones, and other consumer devices, this kit provides tools for compiling, deployment and device configuration, and APIs that are specialized for each type of device.  JavaFX Script Technology is a highly productive scripting language that enables content developers to create rich media and content for deployment on Java environments. The development kits above include the APIs necessary to whatever type of applications you develop in the Java programming language. The APIs and compiler are explained briefly below.  Java APIs are libraries of compiled code let you add ready-made and customizable functionality to your programs to save coding time.  Java programs are executed within a program called the JVM. Rather than running directly on the native operating system, the program is interpreted by the JVM for the native operating system. This is key to making your programs portable from one platform to another. In other words, you can develop your programs on a Solaris, Linux, Macintosh, or Windows, then run it on another server or platform. Once you have the development kits you need, you are ready to begin writing code in the Java programming language. Programs are written in three basic flavors: applets, applications, and servlets/JSP pages. Applets run in the JVM built into a web browser; applications run in the JVM installed on a computer system; and servlets/JSP run in the JVM installed on a web server. While applets and applications usually have some kind of user interface coupled to backend functionality, servlets provide backend functionality only. The user interface for a servlet is usually an HTML form in a browser that invokes the servlet, but any applet or application that opens a hypertext transfer protocol (HTTP) request can call a servlet. JSP, on the other hand, combines the servlet and HTML into a single component. Instead of using an HTML page with a separate servlet, you use an HTML page with regular HTML tags in combination with scriptlets, short bits of code. The entire page is then processed into a servlet when it's accessed or submitted and the results return to the same HTML page that contains the code.
  • 15. You can also program using a simple text editor, and compile and run from the command line. Many text editors now come with the ability to run and compile Java files, but you may need to tell the program where javac.exe and java.exe reside on your computer. Use the Windows Find command, if you are unsure where these files were installed. Once, your IDE or text editor is set up, you can begin programming. Next, copy and paste the following programs, and invoke the compiler and interpreter either at the command line or within the IDE you're using. The following three examples use the javac and java commands and illustrate how to compile and run an application, applet, and servlet. When compiling and running from the command line, be sure to cd into the directory where you saved your .java file. Application Compile the ExampleProgram.java application with the javac command and run it with the java command. //A Very Simple Example class ExampleProgram { public static void main(String[] args){ System.out.println("I'm a Simple Program"); } } Compile and then run with the following commands: javac ExampleProgram.java java ExampleProgram Applet Copy the SimpleApplet.java applet code, and compile with the javac command: import java.applet.Applet; import java.awt.Graphics; import java.awt.Color; public class SimpleApplet extends Applet{ String text = "I'm a simple applet"; public void init() { text = "I'm a simple applet"; setBackground(Color.cyan); } public void start() { System.out.println("starting..."); }
  • 16. public void stop() { System.out.println("stopping..."); } public void destroy() { System.out.println("preparing to unload..."); } public void paint(Graphics g){ System.out.println("Paint"); g.setColor(Color.blue); g.drawRect(0, 0, getSize().width -1, getSize().height -1); g.setColor(Color.red); g.drawString(text, 15, 25); } } Compile: javac SimpleApplet.java You can run the applet in appletviewer (a Java platform tool for running applets independently of the browser) or in the browser. Either way you need an HTML file for the applet. Here is the HTML file: <HTML> <BODY> <APPLET CODE=SimpleApplet.class WIDTH=200 HEIGHT=100> </APPLET> </BODY> </HTML> To run the applet in the browser, you load the HTML file. To run the applet in appletviewer with an HTML file named simple.html, type this in an MS-DOS window on Windows, or in a terminal window on Solaris: appletviewer simple.html Servlet As mentioned above, to compile and run a servlet, you need to use either NetBeans or Sun Java Studio Creator. Then compile with the javac command. import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ExampServlet extends HttpServlet {
  • 17. public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<title>Example</title>" + "<body bgcolor=FFFFFF>"); out.println("<h2>Button Clicked</h2>"); String DATA = request.getParameter("DATA"); if(DATA != null){ out.println(DATA); } else { out.println("No text entered."); } out.println("<P>Return to <A HREF=../simpleHTML.html>Form</A>"); out.close(); } } To compile: javac ExampServlet.java Servlets can be called directly by typing their uniform resource locator (URL) into a browser's location window after you've started the server. Servlets can also be invoked from an HTML form by specifying their URL in the definition for a Submit button, for example. Servlets can be called by any program that can open an hypertext transfer protocol (HTTP) request. JavaServer Pages, JDBC, RMI, JDK--Java technology names and acronyms can be confusing for newcomers and experienced developers. This article defines the most common Java terminology in easy-to-scan, alphabetical order, and provides links for more information and downloads. This list is not a complete list of Sun's products for the Java platform, and is subject to change and updates.. Java Terminology Definition More Information Abstract Window Toolkit (AWT) AWT is a package of classes for creating components such as buttons, menus, and scrollbars for  AWT Fundamentals  Package java.awt
  • 18. applets and standalone applications. Description  AWT Forums Applet An applet is a Java program that runs within the web browser. Applets use a graphical user interface and may have text, images, buttons, scrollbars, and sound.  Building Applets  Trail: Writing Applets  Package java.applet  Class JApplet HotSpot VM On platforms typically used for client applications, the JDK comes with a VM implementation called the Java HotSpot Client VM (client VM). The client VM is tuned for reducing start-up time and memory footprint. It can be invoked by using the -client command-line option when launching an application. The JDK also comes with an implementation of the Java virtual machine called the Java HotSpot Server VM (server VM). The server VM is designed for maximum program execution speed. It can be invoked by using the -server command-line option when launching an application.  Performance Documentation for the Java HotSpot VM  Java HotSpot VM FAQ Java Advanced Imaging (JAI) API The JAI API provides a set of object-oriented interfaces that support a simple, high-level programming model which lets you manipulate images easily, and JAI broadens the reach of the Java platform to allow sophisticated, high performance image processing functionality to be incorporated into Java applets and applications.  What is Java Advanced Imaging?  Java Advanced Imaging API FAQ  Java Advanced Imaging API Collateral Java API The Java Application Programming Interface (API) is prewritten code, organized into packages of similar topics. For instance, the Applet and AWT packages include classes for creating fonts, menus, and buttons.  Download Java 2 Platform Standard Edition 5.0  API Documentation  Online Training and
  • 19. The full Java API is included in the Java 2 Standard Edition download. Tutorials  Technical Articles  Building an Application Java API for XML Processing (JAXP) JAXP enables applications to parse validate and transform XML documents. The latest release is JAXP 1.3, which is part of J2SE 5.0. An implementation that works for earlier versions of J2SE is also available.  Java API for XML Processing Tutorial  JAXP - FAQ  The J2EE 1.4 Tutorial Java Authentication and Authorization Services (JAAS) JAAS is a set of APIs that enable services to authenticate and enforce access controls upon users. It implements a Java technology version of the standard Pluggable Authentication Module (PAM) framework, and supports user- based authorization.  Java Authentication and Authorization Service (JAAS)in Java 2, Standard Edition (J2SE) 1.4  Overview Java Communicatio ns API The Java Communications API can be used to write platform- independent communications applications for technologies such as voice mail, fax, and smart cards.  Java Communications API FAQ  Java Communications API Users Guide  Java Communications Downloads Java Cryptography Extension (JCE) JCE is a set of packages that provides a framework and implementations for encryption, key generation and key agreement, and Message Authentication Code (MAC) algorithms. Support for encryption includes symmetric, asymmetric, block, and stream ciphers. The software also supports secure streams and sealed objects.  Java Communications API FAQ  Java Cryptography Extension (JCE)  How to Implement a Provider for the Java Cryptography Extension 1.2.2 Java Foundation Classes (JFC) JFC are a set of GUI components and other services simplifying the development and deployment of desktop and Internet/Intranet applications. The JFC are a superset that contains AWT. JFC extends AWT by adding many components and services. JFC  JFC/Swing  Java Foundation Classes FAQ  Technical Articles  Project Swing Forum  Accessibility Forum
  • 20. consists of Swing, Java 2D, AWT, Accessibility, and the Drag-and- Drop APIs. Java Media FrameWork (JMF) JMF enables audio, video and other time-based media to be added to applications and applets built on Java technology. This optional package, which can capture, playback, stream, and transcode multiple media formats, extends the Java platform for multimedia developers by providing a powerful toolkit to develop scalable, cross-platform technology.  JMF 2.1.1 - Supported Formats  Java Media FrameWork FAQ Java Native Interface (JNI) JNI is the native programming interface for Java that is part of the JDK. The JNI allows Java code to operate with applications and libraries written in other languages, such as C, C++, and assembly. Recommended only for advanced programmers.  Trail: Java Native Interface  Chapter 5: JNI Technology  Java Native Interface Specification Java 2 Platform, Enterprise Edition (J2EE) The J2EE platform provides a component-based approach to the design, development, assembly, and deployment of enterprise applications. The J2EE platform gives you a multitiered distributed application model, the ability to reuse components, a unified security model, and flexible transaction control.  Java 2 Platform, Enterprise Edition  J2EE Tutorial  Downloads  Java BluePrints  Enterprise JavaBeans(EJB) Technology Fundamentals  Java Programming Forums Java 2 Platform, Micro Edition (J2ME) J2ME is targeted for the consumer and embedded market. The API specifications are based on J2SE, but modified to meet the unique requirements of each product. J2ME makes it possible to write Java applications for cell phones, smart cards, pagers, and other consumer devices.  Java 2 Platform Micro Edition (J2ME) Technology  Wireless Developer  Java Wireless Technology Discussions
  • 21. Java 2 Platform, Standard Edition (J2SE) J2SE includes the essential compiler, tools, runtimes, and APIs for writing, deploying, and running applets and applications in the Java programming language.  Java 2 Platform, Standard Edition (J2SE)  Online Documentation  Introducing the Java Platform  Getting Started Java 3D API The Java 3D API provides a set of object-oriented interfaces that support a simple, high-level programming model you can use to build, render, and control the behavior of 3D objects and visual environments. With the Java 3D API, you can incorporate high- quality, scalable, platform- independent 3D graphics into applications and applets based on Java technology.  Java 3D API  Java 3D 1.3.1 API Features Java Virtual Machine1 (JVM) The JVM executes instructions that a Java compiler generates. This runtime environment, or JVM, is embedded in various products, such as web browsers, servers, and operating systems.  The Java Virtual Machine Specification  Ergonomics in the 5.0 Java Virtual Machine  Java Virtual Machine Forums Java Web Start Using Java Web Start technology, standalone Java software applications can be deployed with a single click over the network. Java Web Start ensures the most current version of the application will be deployed, as well as the correct version of the Java Runtime Environment (JRE).  Java Web Start FAQ  Java Web Start Architecture  Reference Documentation JavaBeans JavaBeans architecture provides a way of designing reusable software components, that can be visually manipulated in builder tools. JavaBeans can be simple like buttons, or more complex like a tool to access databases.  JavaBeans Technology  JavaBeans Technology: Unlocking The BeanContext API  JavaBeans Forums  JavaBeans FAQ Javadoc Tool The Javadoc tool is used to  See documentation
  • 22. generate API documentation in HTML format from doc comments in source code. It can be downloaded only as part of the JDK download. generated by the Javadoc tool  Javadoc Tool FAQ  How to Write Doc Comments for the Javadoc Tool JavaHelp System JavaHelp software is a full- featured, platform-independent, extensible help system that enables you to incorporate online help in applets, components, applications, operating systems, and devices. Authors can also use the JavaHelp software to deliver online documentation for the Web and corporate intranet.  JavaHelp System  JavaHelp System User's Guide JavaServer Faces Technology JavaServer Faces technology simplifies building user interfaces for JavaServer applications. Developers of various skill levels can quickly build web applications by assembling reusable UI components in a page, connecting these components to an application data source, and wiring client- generated events to server-side event handlers.  JavaServer Faces Technology Overview  JavaServer Faces FAQ  Developing Web Applications with JavaServer Faces  Sun Java Studio Creator JavaServer Pages (JSP) Create dynamic web pages with JSP pages by embedding scriptlets (Java programming language code) with HTML. JSP pages process forms, perform calculations, or do anything else that can be written with the Java programming language. To develop and test JSP pages, download NetBeans, or Sun Java Studio Creator.  JavaServer Pages Documentation  JavaServer Pages: A Developer's Perspective  JavaServer Pages Book Excerpts  JavaServer Pages Forums  Sun Java Studio Creator JDBC JDBC is a Java API for executing SQL statements. By using the JDBC API, you can access almost any data source, from relational databases to spreadsheets to flat files. J2SE includes the JDBC API.  JDBC Technology  Lesson: Learn JDBC Basics  JDBC API Tutorial and Reference, Third
  • 23. Edition  JDBC Overview  JDBC Forums JDK JDK is the short-cut name for the set of Java development tools, consisting of the API classes, a Java compiler, and the Java virtual machine interpreter, regardless of which version. The JDK is used to compile Java applications and applets. The most current version is the J2SE., the preferred term these days. If you use J2SE 1.2 and later to develop applications, you are using what's known as the Java 2 Platform.  Download JDK 5.0  Online Documentation  Introducing the Java Platform  Getting Started JINI The Jini network technology enables any service--from enterprise systems to kitchen appliances--to network smoothly and simply. The Jini architecture lets each service (device or software) tell others how to talk to it, without any administrator settings.  Jini Network Technology  Distributed Events in Jini Technology  How to Attach a User Interface to a Jini Service  Core Jini Project Swing The javax.swing package of classes is used to create GUI components for applets and applications. Project Swing classes enable programmers to specify a different look and feel for each platform, or a uniform look across all platforms. Swing is the project code name for the lightweight GUI components in Java Foundation Classes (JFC).  Java Foundation Classes  Fundamentals of JFC/Swing: Part I  Fundamentals of JFC/Swing: Part II  Creating GUI with JFC/Swing  Project Swing: Building a User Interface  Project Swing Forums RMI RMI lets Java applications communicate across a network. The communicating applications  Java Remote Invocation (RMI)
  • 24. can be running on different computers on opposite sides of the planet. This higher-level and method-based approach to network communications allows access to a remote object as easily as a local object.  Fundamentals of RMI Short Course  RMI-IIOP Documentation  Lesson 8: Remote Method Invocation Servlets A servlet is an extension to a server that enhances the server's functionality. Servlets are most commonly used to process forms, handle redirects or authenticate user names and passwords, and create dynamic content. To develop and test servlets, download NetBeans, or Sun Java Studio Creator.  Java Servlet Technology  The Java Servlet API White Paper  Lesson 5: Writing Servlets  Story of a Servlet: An Instant Tutorial  Fundamentals of Java Servlets  Java Servlet Technology Forum C is a programming language originally developed for developing the Unix operating system. It is a low-level and powerful language, but it lacks many modern and useful constructs. C++ is a newer language, based on C, that adds many more modern programming language features that make it easier to program than C. Basically, C++ maintains all aspects of the C language, while providing new features to programmers that make it easier to write useful and sophisticated programs. For example, C++ makes it easier to manage memory and adds several features to allow "object-oriented" programming and "generic" programming. Basically, it makes it easier for programmers to stop thinking about the nitty-gritty details of how the machine works and think about the problems they are trying to solve. So, what is C++ used for? C++ is a powerful general-purpose programming language. It can be used to create small programs or large applications. It can be used to make CGI scripts or console-only DOS programs. C++ allows you to create programs to do almost anything you need to do. The creator of C++, Bjarne Stroustrup, has put together a partial list of applications written in C++.Your continued donations keep Wikipedia running!
  • 25. Oracle Database From Wikipedia, the free encyclopedia Jump to: navigation, search Oracle Database Developer(s) Oracle Corporation Stable release 11g R2 / 2009-09-01; 2 months ago Written in C Operating system Cross-platform Available in Multiple languages Type RDBMS License Proprietary Website http://www.oracle.com/ The Oracle Database (commonly referred to as Oracle RDBMS or simply Oracle) is a relational database management system (RDBMS) produced and marketed by Oracle Corporation. As of 2009, Oracle remains a major presence in database computing.[1] 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.[2] Contents [hide]  1 Physical and logical structures o 1.1 Storage  1.1.1 Disk files  1.1.1.1 Data files  1.1.1.2 Control files o 1.2 Database schema o 1.3 Memory architecture  1.3.1 System Global Area  1.3.2 Library cache  1.3.3 Data dictionary cache  1.3.4 Program Global Area o 1.4 Process architectures
  • 26.  1.4.1 Oracle processes  1.4.2 User processes, connections and sessions o 1.5 Concurrency and locking o 1.6 Configuration  2 Internationalization  3 History o 3.1 Corporate/technical timeline o 3.2 Version numbering o 3.3 List of claimed firsts  4 Editions  5 Host platforms  6 Related software o 6.1 Database options o 6.2 Suites o 6.3 Database "features" o 6.4 Standalone tools o 6.5 Other databases marketed by Oracle Corporation  7 Using Oracle Database software o 7.1 Official support o 7.2 Database-related guidelines o 7.3 Oracle Certification Program o 7.4 User groups  8 Market position o 8.1 Competition o 8.2 Pricing  9 See also  10 References  11 Bibliography  12 External links [edit] Physical and logical structures An Oracle database system — identified by an alphanumeric system identifier or SID[3] — comprises at least one instance of the application, along with data storage. An instance — identified persistently by an instantiation number (or activation id: SYS.V_$DATABASE.ACTIVATION#) — comprises a set of operating-system processes
  • 27. and memory-structures that interact with the storage. Typical processes include PMON (the process monitor) and SMON (the system monitor). Users of the 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 (or 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. If the Oracle database administrator has implemented Oracle RAC (Real Application Clusters), then multiple instances, usually on different servers, attach to a central storage array. This scenario offers advantages such as better performance, scalability and redundancy. However, support becomes more complex, and many sites do not use RAC. In version 10g, grid computing 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] Storage 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, such as 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. Oracle database management tracks 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). [edit] Disk files This section requires expansion. [edit] Data files At the physical level, datafiles comprise one or more data blocks, where the block size can vary between datafiles. Datafiles can occupy pre-allocated space in the file system of a computer server, utilize raw disk directly, or exist within ASM logical volumes.[4]
  • 28. [edit] Control files One (or multiple multiplexed) control files (also known as "controlfiles") store overall system information and statuses.[5] [edit] Database schema Oracle database conventions refer to defined groups of object ownership (generally associated with a "username") as schemas. Most Oracle database installations traditionally came 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.[6] Oracle Corporation has de-emphasized the use of the SCOTT schema, as it uses few of the features of the more recent releases of Oracle. Most recent examples supplied by Oracle Corporation reference the default HR or OE schemas. Other default schemas[7] 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 plans.[8]  BI, IX, HR, OE, PM, and SH (expanded sample schemas[9] containing more data and structures than the older SCOTT schema). [edit] Memory architecture [edit] 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.[10] 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.
  • 29.  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. [edit] Library cache The library cache[11] 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. [edit] Data dictionary cache The data dictionary comprises a set of tables and views that map the structure of the database. Oracle databases store information here about the logical and physical structure of the database. The data dictionary contains information such as:  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[12] 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. [edit] Program Global Area The Program Global Area[13][14] or PGA memory-area of an Oracle instance 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.
  • 30. [edit] Process architectures [edit] Oracle processes The Oracle RDBMS typically relies on a group of processes running simultaneously in the background and interacting to monitor and expedite database operations. Typical operating groups might include some of the following individual processes — (shown along with their abbreviated nomenclature):[15]  archiver processes (ARCn)  checkpoint process (CKPT) *REQUIRED*  coordinator-of-job-queues process (CJQn): dynamically spawns slave processes for job-queues  database writer processes (DBWn) *REQUIRED*  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  log-writer process (LGWR) *REQUIRED*  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): process for automatic problem-detection, self-tuning and statistics-gathering[16]  memory-monitor light process (MMNL): gathers and stores Automatic Workload Repository (AWR) data  mmon slaves (Mnnnn — M0000, M0001, etc): background slaves of the MMON process[17]  process-monitor process (PMON) *REQUIRED*  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) *REQUIRED* [edit] User processes, connections and sessions Oracle Database terminology distinguishes different computer-science terms in describing how end-users interact with the database:  user processes involve the invocation of application software[18]
  • 31.  a connection refers to the pathway linking a user process to an Oracle instance[19]  sessions consist of specific connections to an Oracle instance.[20] Each session within an instance has a session identifier or "SID"[21] (distinct from the system- identifier SID). [edit] Concurrency and locking Oracle databases control simultaneous access to data resources with locks (alternatively documented as "enqueues"[22] ). The databases also utilize "latches" -- low-level serialization mechanisms to protect shared data structures in the System Global Area.[23] [edit] Configuration Database administrators control many of the tunable variations in an Oracle instance by means of values in a parameter file.[24] This file in its ASCII default form ("pfile") normally has a name of the format init<SID-name>.ora. The default binary equivalent server paramater file ("spfile") (dynamically reconfigurable to some extent)[25] defaults to the format spfile<SID-name>.ora. Within an SQL-based environment, the views V$PARAMETER[26] and V$SPPARAMETER[27] give access to reading parameter values. [edit] Internationalization Oracle Database software comes in 63 language-versions (including regional variations such as American English and British English). Variations between versions cover the names of days and months, abbreviations, time-symbols such as A.M. and A.D., and sorting.[28] 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.[29] Oracle Corporation provides database developers with tools and mechanisms for producing internationalized database applications: referred to internally as "Globalization".[30] [edit] History [edit] Corporate/technical timeline This article is in a list format that may be better presented using prose. You can help by converting this article to prose, if appropriate. Editing help is available. (September 2009)  1977: 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.)[31]
  • 32.  1982: RSI in its turn changed its name, becoming known as "Oracle Corporation", [32] 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.[32]  1984: Oracle Corporation released Oracle version 4, which supported read- consistency.  1985: Oracle Corporation released Oracle version 5, which supported the client- server model — a sign of networks becoming more widely available in the mid- 1980s.  1986: Oracle version 5.1 started supporting 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.[33]  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[32]  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[32]  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[32]  2007: Oracle Database 10g release 2 sets a new world record TPC-H 3000 GB benchmark result[34]
  • 33.  2007: Oracle Corporation released Oracle Database 11g for Linux and for Microsoft Windows.  2008: Oracle Corporation acquires BEA Systems.  2009: Oracle Corporation acquires Sun Microsystems. Note: as of October 2009 the acquisition awaits approval from the European Council[citation needed] . [edit] 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 5, Oracle's RDBMS release numbering has used the following codes:  Oracle5  Oracle6  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 (patchset as of December 2003)  Oracle9i Database Release 2: 9.2.0.1 — 9.2.0.8 (patchset as of April 2007)  Oracle Database 10g Release 1: 10.1.0.2 — 10.1.0.5 (patchset as of February 2006)  Oracle Database 10g Release 2: 10.2.0.1 — 10.2.0.4 (patchset as of April 2008)  Oracle Database 11g Release 1: 11.1.0.6 — 11.1.0.7 (patchset as of September 2008)  Oracle Database 11g Release 2: 11.2.0.1 (released 2009-09-01) 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.
  • 34. The Oracle Administrator's Guide offers further information on Oracle release numbers. Oracle Corporation provides a table[35] showing the latest patch-set releases by major release, operating-system, and hardware-architecture. [edit] List of claimed firsts This article needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (December 2007) Oracle Corporation claims to have provided:  the first commercially-available SQL-based database (1979)[36]  the first database to support symmetric multiprocessing (SMP) (1983)  the first distributed database (1986)  the first database product tested to comply with the ANSI SQL standard (1993)[36]  the first 64-bit database (1995)  the first database to incorporate a native JRE (1998)  the first proprietary RDBMS to become available on Linux (1998)[37]  the first database to support XML (1999) [edit] Editions Over and above the different versions of the Oracle database management software, Oracle Corporation subdivides its product into varying "editions" - apparently for marketing and license-tracking reasons. In approximate order of decreasing scale, we find:  Enterprise Edition[38] (EE) includes more features than the 'Standard Edition', especially in the areas of performance and security. Oracle Corporation licenses this product on the basis of users or of processors, typically for servers running 4 or more CPUs. EE has no memory limits, and can utilize clustering using Oracle RAC software.  Standard Edition[39] (SE) contains base database functionality. Oracle Corporation licenses this product on the basis of users or of processors, typically for servers running from one to four CPUs. If the number of CPUs exceeds 4 CPUs, the user must convert to an Enterprise license. SE has no memory limits, and can utilize clustering with Oracle RAC at no additional charge.  Standard Edition One,[40] introduced with Oracle 10g, has some additional feature- restrictions. Oracle Corporation markets it for use on systems with one or two CPUs. It has no memory limitations.  Express Edition[41] ('Oracle Database XE'), introduced in 2005, offers Oracle 10g free to distribute on Windows and Linux platforms. It has a footprint of only 150 MB and is restricted[by whom?] to the use of a single CPU, a maximum of 4 GB of user data. Although it can install on a server with any amount of memory, it uses a maximum of 1 GB.[42] Support for this version comes exclusively through on-line forums and not through Oracle support.
  • 35.  Oracle Database Lite,[43] intended for running on mobile devices. The database located on the mobile device can synchronize with a server-based installation. [edit] Host platforms Prior to releasing Oracle9i in 2001, Oracle Corporation ported its database product to a wide variety of platforms. More recently Oracle Corporation has consolidated on a smaller range of operating-system platforms. As of October 2006, Oracle Corporation supported the following operating systems and hardware platforms for Oracle Database 10g:  Apple Mac OS X Server: PowerPC  HP HP-UX: PA-RISC, Itanium  HP Tru64 UNIX: Alpha  HP OpenVMS: Alpha, Itanium  IBM AIX5L: IBM POWER  IBM z/OS: zSeries  Linux: x86, x86-64, PowerPC, zSeries, Itanium  Microsoft Windows: x86, x86-64, Itanium  Sun Solaris: SPARC, x86, x86-64 [edit] Related software For links to some of Oracle Corporation's software which integrates with Oracle databases, see the Oracle Corporation category and the Oracle software category pages. [edit] Database options Oracle Corporation refers to some extensions to the core functionality of the Oracle database as "database options".[44] As of 2008 such options include:  Active Data Guard (extends Oracle Data Guard physical standby functionality in 11g)  Advanced Security (adds data encryption methods)  Content database (provides a centralized repository for unstructured information)  Database Vault (enforces extra security on data access)  Data Mining (ODM) (mines for patterns in existing data)  In-Memory Database Cache (utilizes TimesTen technology)  Label Security (enforces row-level security)  Management Packs (various)  Oracle Answers (for ad-hoc analysis and reporting)  Oracle OLAP (adds analytical processing)
  • 36.  Oracle Programmer (provides programmatic access to Oracle databases via precompilers, interfaces and bindings)[45]  Partitioning (granularizes tables and indexes for efficiency)  Real Application Clusters (RAC) (coordinates multiple database servers, together accessing the same database)  Oracle Real Application Testing (new at version 11g) — including Database Replay (for testing workloads) and SQL Performance Analyzer (SPA) (for preserving SQL efficiency in changing environments)[46]  Records database (a records management application)  Oracle Spatial (integrates relational data with geographic information systems (GIS))  Transparent Gateway for connecting to non-Oracle systems. Offers optimized solution, with more functionality and better performance than Oracle Generic Connectivity.  Total Recall (optimizes long-term storage of historical data)  Oracle Warehouse Builder (in various forms and sub-options) This list is incomplete; you can help by expanding it. In most cases, using these options entails extra licensing costs.[47] [edit] Suites In addition to its RDBMS, Oracle Corporation has released several related suites of tools and applications relating to implementations of Oracle databases. For example:  Oracle Application Server, a J2EE-based application server, aids in developing and deploying applications which utilise Internet technologies and a browser.  Oracle Collaboration Suite contains messaging, groupware and collaboration applications.  Oracle Developer Suite contains software development tools, including JDeveloper.  Oracle E-Business Suite collects together applications for enterprise resource planning (including Oracle Financials), customer relationship management and human resources management (Oracle HR).  Oracle Enterprise Manager (OEM) used by database administrators (DBAs) to manage the DBMS, and recently in version 10g, a web-based rewrite of OEM called "Oracle Enterprise Manager Database Control". Oracle Corporation has dubbed the super-Enterprise-Manager used to manage a grid of multiple DBMS and Application Servers "Oracle Enterprise Manager Grid Control".  Oracle Programmer/2000, a bundling of interfaces for 3GL programming languages, marketed with Oracle7 and Oracle8.[48][49]
  • 37. [edit] Database "features" Apart from the clearly-defined database options, Oracle databases may include many semi-autonomous software sub-systems, which Oracle Corporation sometimes refers to as "features" in a sense subtly different from the normal usage of the word.[50] Such "features" may include (for example):  Active Session History (ASH), the collection of data for immediate monitoring of very recent database activity.[51]  Automatic Workload Repository (AWR), providing monitoring services to Oracle database installations from Oracle version 10. Prior to the release of Oracle version 10, the Statspack facility provided similar functionality.  Clusterware  Data Aggregation and Consolidation  Data Guard for high availability  Generic Connectivity for connecting to non-Oracle systems.  Data Pump utilities, which aid in importing and exporting data and metadata between databases[52]  Database Resource Manager (DRM), which controls the use of computing resources.[53]  Fine-grained auditing (FGA) (in Oracle Enterprise Edition[54] ) supplements standard security-auditing features[55]  Flashback for selective data recovery and reconstruction[56]  iSQL*Plus, a web-browser-based graphical user interface (GUI) for Oracle database data-manipulation (compare SQL*Plus)  Oracle Data Access Components (ODAC), tools which consist of:[57] o Oracle Data Provider for .NET (ODP.NET)[58] o Oracle Developer Tools (ODT) for Visual Studio o Oracle Providers for ASP.NET o Oracle Database Extensions for .NET o Oracle Provider for OLE DB o Oracle Objects for OLE o Oracle Services for Microsoft Transaction Server  Oracle-managed files (OMF) -- a feature allowing automated naming, creation and deletion of datafiles at the operating-system level.  Recovery Manager (rman) for database backup, restoration and recovery  SQL*Plus, a program that allows users to interact with Oracle database(s) via SQL and PL/SQL commands on a command-line. Compare iSQL*Plus. This list is incomplete; you can help by expanding it.
  • 38. [edit] Standalone tools Users can develop applications in Java and PL/SQL using tools such as Oracle JDeveloper, Oracle Forms, or Oracle Reports. Oracle Corporation has started[clarification needed] a drive toward 'wizard'-driven environments with a view to enabling non-programmers to produce simple data-driven applications. Oracle SQL Developer, a free graphical tool for database development, allows developers to browse database objects, run SQL statements and SQL scripts, and edit and debug PL/SQL statements. It incorporates standard and customized reporting. [edit] Other databases marketed by Oracle Corporation By acquiring other technology in the database field, Oracle Corporation has taken over:  TimesTen, a memory-resident database that can cache transactions and synchronize data with a centralized Oracle database server. It functions as a real- time infrastructure software product intended for the management of low-latency, high-volume data, of events and of transactions.  BerkeleyDB, a simple, high-performance, embedded database  Oracle Rdb, a legacy relational database for the OpenVMS operating system  MySQL a relational database purchased as part of its immediate previous owner, Sun Microsystems [edit] Using Oracle Database software Users of Oracle databases may access the online documentation, the Oracle Technology Network site, and the comp.databases.oracle Usenet discussion group. The Oracle Technet site offers downloads of full-featured evaluation software. Users can also check the Oracle FAQ site before posting questions to forums, mailing lists, etc. They can also log on to http://asktom.oracle.com/ to post questions to and get answers from Tom Kyte, a Vice-President of Oracle Corporation and the author of several Oracle books including Expert One-On-One Oracle (ISBN 1-59059-525-4). The Oracle RDBMS has had a reputation among novice users as difficult to install on Linux systems.[citation needed] Oracle Corporation has packaged recent versions for several popular Linux distributions in an attempt to minimize installation challenges beyond the level of technical expertise required to install a database server.[citation needed] [edit] Official support Users who have Oracle support contracts should turn to Oracle's MetaLink web site (password required). MetaLink provides users of Oracle Corporation products with a repository of reported problems, diagnostic scripts and solutions. It also integrates with the provision of support tools, patches and upgrades. The Remote Diagnostic Agent or RDA[59] can operate as a command-line diagnostic tool executing a script. The data captured provides an overview of the Oracle Database environment intended for diagnostic and trouble-shooting. Within RDA, the HCVE (Health Check Validation Engine)[60] can verify and isolate host system environmental issues that may affect the performance of Oracle software.
  • 39. [edit] Database-related guidelines Oracle Corporation also endorses certain practices and conventions as enhancing the use of its database products. These include:  Oracle Maximum Availability Architecture (MAA), guidelines on developing high-availability systems  Optimal Flexible Architecture (OFA), blueprints for mapping Oracle-database objects to file-systems [edit] Oracle Certification Program Main article: Oracle Certification Program The Oracle Certification Program, a professional certification program, includes the administration of Oracle Databases as one of its main certification paths. It contains three levels: 1. Oracle Certified Associate (OCA) 2. Oracle Certified Professional (OCP) 3. Oracle Certified Master (OCM) [edit] User groups A variety of official (Oracle-sponsored)[61] and unofficial user groups has grown up of users and developers of Oracle databases. They include:  Oracle Technology Network  Independent Oracle Users Group  Geographical/regional user groups  Product-centric user groups  Industry-centric user groups  The Oak Table Network  Usenet comp.databases.oracle groups [edit] Market position [edit] Competition In the market for relational databases, Oracle Database competes against commercial products such as IBM's DB2 UDB and Microsoft SQL Server. Oracle and IBM tend to battle for the mid-range database market on UNIX and Linux platforms, while Microsoft dominates the mid-range database market on Microsoft Windows platforms. However, since they share many of the same customers, Oracle and IBM tend to support each other's products in many middleware and application categories (for example: WebSphere, PeopleSoft, and Siebel Systems CRM), and IBM's hardware divisions work closely with Oracle on performance-optimizing server-technologies (for example, Linux on zSeries). The two companies have a relationship perhaps best described as "coopetition". Niche commercial competitors include Teradata (in data warehousing and
  • 40. business intelligence), Software AG's ADABAS, Sybase, and IBM's Informix, among many others. Increasingly, the Oracle database products compete against open-source relational database systems, particularly PostgreSQL, Firebird, and MySQL. Oracle acquired Innobase, supplier of the InnoDB codebase to MySQL, in part to compete better in the open source market. Database products developed on the basis of the open-source model generally cost significantly less to acquire than Oracle systems. In 2007, competition with SAP AG occasioned litigation from Oracle Corporation.[62] [edit] Pricing Oracle Corporation offers term licensing for all Oracle products. It bases the list price for a term-license on a specific percentage of the perpetual license price.[63] Enterprise Edition As of March 2006, the database that costs the most per machine-processor among Oracle database editions. Standard Edition Cheaper: it can run on up to four processors but has fewer features than Enterprise Edition—it lacks proper parallelization,[64] etc; but remains quite suitable for running medium-sized applications. Standard ONE Sells even more cheaply, but remains limited to two CPUs. Standard Edition ONE sells on a per-seat basis with a five-user minimum. Oracle Corporation usually sells the licenses with an extra 22% cost for support and upgrades (access to MetaLink - Oracle Corporation's support site) which customers need to renew annually. Oracle Express Edition (Oracle XE) An addition to the Oracle database product family (beta version released in 2005, production version released in February 2006), offers a free version of the Oracle RDBMS, but one limited to 4 GB of user data and to 1 GB of RAM (SGA+PGA). XE will use no more than one CPU and lacks an internal JVM. XE runs only on Windows and on Linux, not on AIX, Solaris, HP-UX and the other operating systems available for other editions. As computers running Oracle often have eight or more processors, the software price can rise into the hundreds of thousands of dollars. The total cost of ownership often exceeds this, as large Oracle installations usually require experienced and trained database administrators to do the set-up properly. Because of the product's large installed base and available training courses, Oracle specialists in some areas have become a more abundant resource than those for more exotic databases. Oracle frequently provides special training offers for database-administrators. On Linux, Oracle's certified configurations include mostly commercial Linux distributions (Red Hat Enterprise Linux 3 and 4, SuSE SLES8 and 9, Asianux) which can cost in a range from a few hundred to a few thousand USD per year (depending on processor architecture and the support package purchased).
  • 41. The Oracle database system can also install and run on freely-available Linux distributions such as the Red Hat-based Centos,[65] or Debian-based systems.[66] [edit] See also Wikibooks has a book on the topic of Oracle database  List of relational database management systems  List of object-relational database management systems  Comparison of relational database management systems  Comparison of object-relational database management systems  Oracle Rdb for OpenVMS  List of ERP software packages  Run Book Automation [edit] References 1. ^ IDC: Oracle Maintains Lead in Database Market 2. ^ Welcome to Larryland 3. ^ Bhakthavatsalam, Namrata (August 2008). "Glossary". Oracle Database Client Installation Guide 11g Release 1 (11.1) for AIX Based Systems Part Number B32077-03. Oracle. http://download.oracle.com/docs/cd/B28359_01/install.111/b32077/glossary.htm? type=popup#BABEBJAG. Retrieved 2008-11-17. "The SID automatically defaults to the database name portion of the global database name (sales in the example sales.us.example.com) until you reach eight characters or enter a period. You can accept or change the default value." 4. ^ Watkins, Bob (2007-01-30). "Look inside ASM disk groups with Oracle 10gR2's ASMCMD". techrepublic.com. ZDNet. http://articles.techrepublic.com.com/5100-10878_11-6154262.html. Retrieved 2009-07-30. "In 10g, Oracle introduced a new kind of storage for its database product. Automatic Storage Management (ASM) is a logical volume manager that takes physical disk partitions and manages their contents [...] Until ASM, there were only two choices: file system storage and raw disk storage." 5. ^ Nyffenegger, René. "Control files [Oracle]". René Nyffenegger's collection of things on the web. http://www.adp-gmbh.ch/ora/concepts/controlfiles.html. Retrieved 2009-07-30. "The control files of a database store the status of the physical structure of the database." 6. ^ Oracle FAQ 7. ^ Known schemas in Oracle 8. ^ Optimizer plan stability definition
  • 42. 9. ^ Oracle's sample schemas 10. ^ Oracle Architecture, System Global Area 11. ^ Oracle architecture, the library cache section 12. ^ Oracle Architecture, data dictionary cache 13. ^ Oracle architecture, Program Global Area section 14. ^ PGA Definition, Oracle Database Master Glossary 15. ^ Oracle Process architecture concepts 16. ^ http://my.safaribooksonline.com/9780072263053/new_background_processes_in_ 10 Niemiec, Richard (2007-06-25) "1.30. New Background Processes in 10g" Oracle Database 10g Performance Tuning: Tips & TechniquesOracle Pressp. 967ISBN 978-0-0722-6305-3 http://my.safaribooksonline.com/9780072263053/new_background_processes_in_ 10. Retrieved 2009-08-12 "MMON Memory Monitor process is associated with the Automatic Workload Repository new features used for automatic problem detection and self-tuning. MMON writes out the required statistics for AWR on a scheduled basis." 17. ^ http://my.safaribooksonline.com/9780072263053/new_background_processes_in_ 10 Niemiec, Richard (2007-06-25) "1.30. New Background Processes in 10g" Oracle Database 10g Performance Tuning: Tips & TechniquesOracle Pressp. 967ISBN 978-0-0722-6305-3 http://my.safaribooksonline.com/9780072263053/new_background_processes_in_ 10. Retrieved 2009-08-12 "M000 These are MMON background slave (m000) processes." 18. ^ Cyran, Michele; Paul Lane (2005). "Process Architecture". Oracle Database Concepts. Oracle Corporation. http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/process.htm#s thref1481. Retrieved 2008-08-13. "When a user runs an application program (such as a Pro*C program) or an Oracle tool (such as Enterprise Manager or SQL*Plus), Oracle creates a user process to run the user's application." 19. ^ Cyran, Michele; Paul Lane (2005). "Process Architecture". Oracle Database Concepts. Oracle Corporation. http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/process.htm#s thref1481. Retrieved 2008-08-13. "A connection is a communication pathway between a user process and an Oracle instance." 20. ^ Cyran, Michele; Paul Lane (2005). "Process Architecture". Oracle Database Concepts. Oracle Corporation. http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/process.htm#s thref1481. Retrieved 2008-08-13. "A session is a specific connection of a user to an Oracle instance through a user process"