Oracle Database Features
Overview of Scalability and Performance Features
Oracle includes serveral 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.
Concurrency
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 the 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.
Read Consistency
Read consistency, as supported by Oracle, does the following:
- 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 readers of database data do not wait for writers or other readers of the same data
- Ensures that writers of database data do not wait for readers of the same data
- Ensures that writers only wait for other writers if they attempt to update identical rows in concurrent transactions
Locking Mechanisms
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.
Quiesce Database
Database administrators occasionally need isolation from concurrent non-database administrator actions, that is, isolation from concurrent non-database administrator transactions, queries, or PL/SQL statements. 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
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 the both OLTP and data warhouse 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 ad resources such as nodes or storage, RAC extends the processing powers of these resources beyond the limits of the individual components.
Portability
Oracle provides unique portability across all major platforms and ensures that your applications run without modification after changing platforms. This is becuase the Oracle code base is identical across platforms, so you have identical feature functionality across all platforms, for complete application transparency. Becuase of this portability, you can easily upgrade to a more powerful server as your requirements change.
Overview of Manageability Features
People who administer the operation of an Oracle database system, know as database administrators (DBAs), are responsible for creatign 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:
- Self-Managing Database 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).
- Oracle Enterprise Manager 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 A gents, common services, and administrative tools, Enterprise Manager provides a comprehensive systems management platform for managing Oracle products.
- SQL*Plus SQL*Plus is a tool for entering and running ad-hoc database statements.
- Automatic Storage Management 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 immproves performance by automatically distributing database files across all available disks.
- The Scheduler To help simplify management tasks, as well as providing a rich set of functionality for complex scheduling needs, Oracle provides a collection of functions and procedures in the DBMS_SCHEDULER package. these functions are called the Scheduler, and they are callable from any PL/SQL prgram.
- Database Resource Manager