Oracle software maintenance policy
For example, memory stores program code being run and data shared among users. Two basic memory structures are associated with Oracle: the system global area and the program global area. The following subsections explain each in detail. Oracle allocates the SGA when an instance starts and deallocates it when the instance shuts down. Each instance has its own SGA. Users currently connected to an Oracle database share the data in the SGA. The information stored in the SGA is divided into several types of memory structures, including the database buffer s, redo log buffer , and the shared pool.
Database buffers store the most recently used blocks of data. The set of database buffers in an instance is the database buffer cache. The buffer cache contains modified as well as unmodified blocks. The redo log buffer stores redo entries —a log of changes made to the database. The redo entries stored in the redo log buffers are written to an online redo log , which is used if database recovery is necessary.
The size of the redo log is static. The shared pool contains shared memory constructs, such as shared SQL areas. A shared SQL area contains information such as the parse tree and execution plan for the corresponding statement.
A single shared SQL area is used by multiple applications that issue the same statement, leaving more shared memory for other uses. A cursor is a handle or name for a private SQL area in which a parsed statement and other information for processing the statement are kept. Although most Oracle users rely on automatic cursor handling of Oracle utilities, the programmatic interfaces offer application designers more control over cursors.
For example, in precompiler application development, a cursor is a named resource available to a program and can be used specifically to parse SQL statements embedded within the application.
Application developers can code an application so it controls the phases of SQL statement execution and thus improves application performance. A PGA is created by Oracle when a server process is started.
The information in a PGA depends on the Oracle configuration. An Oracle database uses memory structures and processes to manage and access the database. Oracle creates a set of background processes for each instance. The background processes consolidate functions that would otherwise be handled by multiple Oracle programs running for each user process. There are numerous background processes, and each Oracle instance can use several background processes. A process is a "thread of control" or a mechanism in an operating system that can run a series of steps.
Some operating systems use the terms job or task. A process generally has its own private memory area in which it runs. An Oracle database server has two general types of processes: user processes and Oracle processes.
User processes also manage communication with the server process through the program interface, which is described in a later section. Oracle processes are invoked by other processes to perform functions on behalf of the invoking process. Oracle creates server processes to handle requests from connected user processes. A server process communicates with the user process and interacts with Oracle to carry out requests from the associated user process.
For example, if a user queries some data not already in the database buffer s of the SGA, then the associated server process reads the proper data block s from the datafiles into the SGA. Oracle can be configured to vary the number of user processes for each server process. In a dedicated server configuration , a server process handles requests for a single user process.
A shared server configuration lets many user processes share a small number of server processes, minimizing the number of server processes and maximizing the use of available system resources. On some systems, the user and server processes are separate, while on others they are combined into a single process.
If a system uses the shared server or if the user and server processes run on different computers, then the user and server processes must be separate.
Oracle Net Services is Oracle's mechanism for interfacing with the communication protocols used by the networks that facilitate distributed processing and distributed databases. Communication protocols define the way that data is transmitted and received on a network.
Using Oracle Net Services, application developers do not need to be concerned with supporting network communications in a database application.
If a new protocol is used, then the database administrator makes some minor changes, while the application requires no modifications and continues to function. Oracle Net , a component of Oracle Net Services, enables a network session from a client application to an Oracle database server. Once a network session is established, Oracle Net acts as the data courier for both the client application and the database server.
It establishes and maintains the connection between the client application and database server, as well as exchanges messages between them. Oracle Net can perform these jobs because it is located on each computer in the network. The three steps to starting an Oracle database and making it available for systemwide use are:.
W hen Oracle starts an instance, it reads the server parameter file SPFILE or initialization parameter file to determine the values of initialization parameters. Then, it allocates an SGA and creates background processes. The following example describes the most basic level of operations that Oracle performs. This illustrates an Oracle configuration where the user and associated server process are on separate computers connected through a network.
An instance has started on the computer running Oracle often called the host or database server. A computer running an application a local computer or client workstation runs the application in a user process. The client application attempts to establish a connection to the server using the proper Oracle Net Services driver. The server is running the proper Oracle Net Services driver. The server detects the connection request from the application and creates a dedicated server process on behalf of the user process.
The user runs a SQL statement and commits the transaction. For example, the user changes a name in a row of a table. The server process receives the statement and checks the shared pool for any shared SQL area that contains a similar SQL statement. If a shared SQL area is found, then the server process checks the user's access privileges to the requested data, and the previously existing shared SQL area is used to process the statement.
If not, then a new shared SQL area is allocated for the statement, so it can be parsed and processed. The server process retrieves any necessary data values from the actual datafile table or those stored in the SGA.
The server process modifies data in the system global area. The DBW n process writes modified blocks permanently to disk when doing so is efficient. Because the transaction is committed, the LGWR process immediately records the transaction in the redo log file. If the transaction is successful, then the server process sends a message across the network to the application.
If it is not successful, then an error message is transmitted. Throughout this entire procedure, the other background processes run, watching for conditions that require intervention. In addition, the database server manages other users' transactions and prevents contention between transactions that request the same data.
Oracle includes several software mechanisms to fulfill the following important requirements of an information management system:. Data concurrency of a multiuser system must be maximized. Data must be read and modified in a consistent fashion. The data a user is viewing or changing is not changed by other users until the user is finished with the data. High performance is required for maximum productivity from the many users of the database system. A primary concern of a multiuser database management system is how to control concurrency , which is the simultaneous access of the same data by many users.
Without adequate concurrency controls, data could be updated or changed improperly, compromising data integrity. One way to manage data concurrency is to make each user wait for a turn. The goal of a database management system is to reduce that wait so it is either nonexistent or negligible to each user. All data manipulation language statements should proceed with as little interference as possible, and destructive interactions between concurrent transactions must be prevented.
Destructive interaction is any interaction that incorrectly updates data or incorrectly alters underlying data structures. Neither performance nor data integrity can be sacrificed. Oracle resolves such issues by using various types of locks and a multiversion consistency model. These features are based on the concept of a transaction. It is the application designer's responsibility to ensure that transactions fully exploit these concurrency and consistency features.
Guarantees that the set of data seen by a statement is consistent with respect to a single point in time and does not change during statement execution statement-level read consistency.
Ensures that writers only wait for other writers if they attempt to update identical rows in concurrent transactions. The simplest way to think of Oracle's implementation of read consistency is to imagine each user operating a private copy of the database, hence the multiversion consistency model. To manage the multiversion consistency model, Oracle must create a read-consistent set of data when a table is queried read and simultaneously updated written.
When an update occurs, the original data values changed by the update are recorded in the database undo records. As long as this update remains part of an uncommitted transaction, any user that later queries the modified data views the original data values. Oracle uses current information in the system global area and information in the undo records to construct a read-consistent view of a table's data for a query.
Only when a transaction is committed are the changes of the transaction made permanent. Statements that start after the user's transaction is committed only see the changes made by the committed transaction.
The transaction is key to Oracle's strategy for providing read consistency. This unit of committed or uncommitted SQL statements:. Controls when modified data can be seen by other transactions of the database for reading or updating.
By default, Oracle guarantees statement-level read consistency. The set of data returned by a single query is consistent with respect to a single point in time. However, in some situations, you might also require transaction-level read consistency. This is the ability to run multiple queries within a single transaction, all of which are read-consistent with respect to the same point in time, so that queries in this transaction do not see the effects of intervening committed transactions.
If you want to run a number of queries against multiple tables and if you are not doing any updating, you prefer a read-only transaction. Oracle also uses locks to control concurrent access to data. When updating information, the data server holds that information with a lock until the update is submitted or committed.
Until that happens, no one else can make changes to the locked information. This ensures the data integrity of the system.
Oracle provides unique non-escalating row-level locking. Because Oracle includes the locking information with the actual rows themselves, Oracle can lock an unlimited number of rows so users can work concurrently without unnecessary delays.
Oracle locking is performed automatically and requires no user action. Implicit locking occurs for SQL statements as necessary, depending on the action requested. Oracle's lock manager automatically locks table data at the row level. By locking table data at the row level, contention for the same data is minimized. Oracle's lock manager maintains several different types of row locks, depending on what type of operation established the lock.
The two general types of locks are exclusive locks and share locks. Only one exclusive lock can be placed on a resource such as a row or a table ; however, many share locks can be placed on a single resource. Both exclusive and share locks always allow queries on the locked resource but prohibit other activity on the resource such as updates and deletes. Under some circumstances, a user might want to override default locking.
Oracle allows manual override of automatic locking features at both the row level by first querying for the rows that will be updated in a subsequent statement and the table level. One way to provide such isolation is to shut down the database and reopen it in restricted mode. You could also put the system into quiesced state without disrupting users. In quiesced state, the database administrator can safely perform certain actions whose executions require isolation from concurrent non-DBA users.
Real Application Clusters RAC comprises several Oracle instances running on multiple clustered computers, which communicate with each other by means of a so-called interconnect. RAC uses cluster software to access a shared database that resides on shared disk. RAC combines the processing power of these multiple interconnected computers to provide system redundancy, near linear scalability, and high availability. RAC also offers significant advantages for both OLTP and data warehouse systems and all systems and applications can efficiently exploit clustered environments.
You can scale applications in RAC environments to meet increasing data processing demands without changing the application code. As you add resources such as nodes or storage, RAC extends the processing powers of these resources beyond the limits of the individual components. Oracle provides unique portability across all major platforms and ensures that your applications run without modification after changing platforms.
This is because the Oracle code base is identical across platforms, so you have identical feature functionality across all platforms, for complete application transparency. Because of this portability, you can easily upgrade to a more powerful server as your requirements change. People who administer the operation of an Oracle database system, known as database administrators DBAs , are responsible for creating Oracle databases, ensuring their smooth operation, and monitoring their use.
In addition to the many alerts and advisors Oracle provides, Oracle also offers the following features:. Oracle Database provides a high degree of self-management - automating routine DBA tasks and reducing complexity of space, memory, and resource administration.
Oracle self-managing database features include the following: automatic undo management, dynamic memory management, Oracle-managed files, mean time to recover, free space management, multiple block sizes, and Recovery Manager RMAN. Enterprise Manager is a system management tool that provides an integrated solution for centrally managing your heterogeneous environment. Combining a graphical console, Oracle Management Servers, Oracle Intelligent Agents, common services, and administrative tools, Enterprise Manager provides a comprehensive systems management platform for managing Oracle products.
Administer the complete Oracle environment, including databases, i AS servers, applications, and services. Automatic Storage Management automates and simplifies the layout of datafiles, control files, and log files. Database files are automatically distributed across all available disks, and database storage is rebalanced whenever the storage configuration changes. It provides redundancy through the mirroring of database files, and it improves performance by automatically distributing database files across all available disks.
Rebalancing of the database's storage automatically occurs whenever the storage configuration changes. The Scheduler lets database administrators and application developers control when and where various tasks take place in the database environment. For example, database administrators can schedule and monitor database maintenance jobs such as backups or nightly data warehousing loads and extracts. Traditionally, the operating systems regulated resource management among the various applications running on a system, including Oracle databases.
The Database Resource Manager controls the distribution of resources among various sessions by controlling the exec ution schedule inside the database. By controlling which sessions run and for how long, the Database Resource Manager can ensure that resource distribution matches the plan directive and hence, the business objectives.
In every database system, the possibility of a system or hardware failure always exists. If a failure occurs and affects the database, then the database must be recovered. The goals after a failure are to ensure that the effects of all committed transactions are reflected in the recovered database and to return to normal operation as quickly as possible while insulating users from problems caused by the failure. Availability of data during backup and recovery operations so users of the system can continue to work.
Several circumstances can halt the operation of an Oracle database. The most common types of failure are described in the following table. After an instance failure, Oracle automatically performs instance recovery. If one instance in a RAC environment fails, then another instance recovers the redo for the failed instance. In a single-instance database, or in a RAC database in which all instances fail, Oracle automatically applies all redo when you restart the database.
Different files can be affected by this type of disk failure, including the datafiles, the redo log files, and the control files. Also, because the database instance cannot continue to function properly, the data in the database buffers of the system global area cannot be permanently written to the datafiles. A disk failure requires you to restore lost files and then perform media recovery. Unlike instance recovery, media recovery must be initiated by the user. Media recovery updates restored datafiles so the information in them corresponds to the most recent time point before the disk failure, including the committed data in memory that was lost because of the failure.
Oracle provides for complete media recovery from all possible types of hardware failures, including disk failures. Options are provided so that a database can be completely recovered or partially recovered to a specific point in time. If some datafiles are damaged in a disk failure but most of the database is intact and operational, the database can remain open while the required tablespaces are individually recovered.
Therefore, undamaged portions of a database are available for normal use while damaged portions are being recovered. Oracle uses several structures to provide complete recovery from an instance or disk failure: the redo log , undo records , a control file , and database backups.
The redo log is a set of files that protect altered database data in memory that has not been written to the datafiles. The redo log can consist of the online redo log and the archived redo log. The online redo log is a set of two or more online redo log files that record all changes made to the database, including uncommitted and committed changes.
Redo entries are temporarily stored in redo log buffers of the system global area, and the background process LGWR writes the redo entries sequentially to an online redo log file. LGWR writes redo entries continually, and it also writes a commit record every time a user process commits a transaction.
Optionally, filled online redo files can be manually or automatically archived before being reused, creating archived redo logs. To enable or disable archiving, set the database in one of the following modes:. The database can also be backed up while it is open and available for use. However, additional administrative operations are required to maintain the archived redo log. Also, the database can be backed up only while it is completely closed. Because no archived redo log is created, no extra work is required by the database administrator.
Undo records are stored in undo tablespaces. Oracle uses the undo data for a variety of purposes, including accessing before-images of blocks changed in uncommitted transactions. During database recovery, Oracle applies all changes recorded in the redo log and then uses undo information to roll back any uncommitted transactions. The control files include information about the file structure of the database and the current log sequence number being written by LGWR. During normal recovery procedures, the information in a control file guides the automatic progression of the recovery operation.
Because one or more files can be physically damaged as the result of a disk failure, media recovery requires the restoration of the damaged files from the most recent operating system backup of a database. RMAN is an Oracle utility that manages backup and recovery operations, creates backups of database files datafiles, control files, and archived redo log files , and restores or recovers a database from backups.
Oracle Database Administrator's Guide for more information about managing undo space. Computing environments configured to provide nearly full-time availability are known as high availability systems. Such systems typically have redundant hardware and software that makes the system available despite failures. Well-designed high availability systems avoid having single points-of-failure.
When failures occur, the fail over process moves processing performed by the failed component to the backup component. This process remasters systemwide resources, recovers partial or failed transactions, and restores the system to normal, preferably within a matter of microseconds. The more transparent that fail over is to users, the higher the availability of the system. Oracle has a number of products and features that provide high availability in cases of unplanned downtime or planned downtime.
These can be used in various combinations to meet specific high availability needs. A data warehouse is a relational database designed for query and analysis rather than for transaction processing. It usually contains historical data derived from transaction data, but it can include data from other sources. It separates analysis workload from transaction workload and enables an organization to consolidate data from several sources.
In addition to a relational database, a data warehouse environment includes an extraction, transportation, transformation, and loading ETL solution, an online analytical proce ssing O LAP engine, client analysis tools, and other applications that manage the process of gathering data and delivering it to business users.
You must load your data warehouse regularly so that it can serve its purpose of facilitating business analysis. To do this, data from one or more operational systems must be extracted and copied into the warehouse.
The process of extracting data from source systems and bringing it into the data warehouse is commonly called ETL , which stands for extraction, transformation, and loading. If you enable Oracle Cloud notifications and events with a rule to receive notifications regarding new updates, then when one-off patches become available, Oracle sends a notification that contains the OCID of the product to be patched.
Otherwise, you can find the update availability notice in the My Oracle Support portal for the support request that you filed. Using the Oracle Cloud Console Maintenance View, you can edit the scheduled start time or choose to install the one-off patch immediately.
By default, Oracle schedules a one-off patch to be applied within 72 hours of the patch becoming available. If no action to change the schedule occurs, then the patch is automatically applied.
You can reschedule the one-off patches only within the current quarter. However, you can not skip a one-off patch altogether. If required, an RU can have multiple one-off patches merged with it. As of the current release, the one-off patches are not cumulative, and therefore, you must apply them individually.
More Insider Sign Out. Sign In Register. Sign Out Sign In Register. Latest Insider. Check out the latest Insider stories here. More from the IDG Network. Ex-partner charges Oracle with waging 'systematic attack' against third-party Firm says Epicor wants to 'monopolize' services market for its ERP software. Oracle also spends billions each year on research and development, reinvesting with help from maintenance revenue, Wang added.
Zebra Technologies has adopted Oracle widely, moving away from a previous strategy that employed a lot of custom development and a legacy ERP system. The Lincolnshire, Ill. As a result, from an integration standpoint, Zebra is saving about 60 percent over the old model, he said: "We're getting out of the software business. Wind River Systems, which sells products and services for optimizing device software, is planning to buy Oracle BI software to run against its financials application, said vice president and CIO Scott Fenton.
While he has "been very successful" at garnering significant license discounts from the vendor, Fenton takes the cost of maintenance in stride.
It's best-in-class support.
0コメント