Monday, July 16, 2007

Oracle 11g Features

At Oracle Openworld 2006, Oracle announced some exciting new features of Oracle 11g, and they promise 482 new Oracle11g features. For me, the most executing new features relate to tools that automate the well-structured DBA tasks, freeing-up the DBA to pursue more challenging work:
AMM - Oracle automated memory management (enhanced in 11g)
ASM - Oracle automated storage management (enhanced in 11g)
Oracle SQL*Access advisor - This tool makes intelligent recommendations for "missing" indexes and materialized views
Now in Oracle 11g we see improvement in Oracle's use of expert systems technology:
Oracle 11g fully-automated SQL tuning - The DBA defines a SQL workload, and Oracle runs them on the live system, automatically optimizing the SQL via SQL profiles.


Here is my list which I continually update as new Oracle11g new feature information is released:
11g SQL new features
11g language support new features
11g PL/SQL New Features
11g DBA features
11g RAC new features & enhancements
11g performance features
11g security new features
11g Enterprise Manager new features
11g RMAN features
11g data mining

As of 2007, the commercial database market is very mature and expectations are high. All of the leading databases do a good job in storing and retrieving data, and customers are now demanding self-tuning databases, intelligent engines that detect and correct sub-optimal conditions.
Oracle 11g is the clear leader in this area. Oracle has invested heavily into self-tuning capabilities including automated storage and memory management and intelligent tuning advisors. Now in 11g, Oracle closes the loop and offers intelligent automation tools to create a self-healing database. The most important 11g new automation features include a SQL tuning advisor that automatically tunes SQL statements.
Automatic Memory Tuning - Automatic PGA tuning was introduced in Oracle 9i. Automatic SGA tuning was introduced in Oracle 10g. In 11g, all memory can be tuned automatically by setting one parameter.
Fully Automatic SQL Tuning - The 10g automatic tuning advisor makes tuning suggestions in the form of SQL profiles that will improve performance. You can tell 11g to automatically apply SQL profiles for statements where the suggested profile give 3-times better performance that the existing statement. The performance comparisons are done by a new administrative task during a user-specified maintenance window.
Automated Storage Load balancing - Oracle’s Automatic Storage Management (ASM) now enables a single storage pool to be shared by multiple databases for optimal load balancing. Shared disk storage resources can alternatively be assigned to individual databases and easily moved from one database to another as processing requirements change.
Automatic Diagnostic Repository - When critical errors are detected, Oracle automatically creates an “incident” ticket, notifying the DBA instantly.

Oracle 11g DBA new features

Enhanced ILM - Information Lifecycle Management (ILM) has been around for decades, but Oracle has made a push to codify the approach in 11g. Read more about Oracle 11g ILM here:

Table-level control of CBO statistics refresh threshold - \When Oracle automatically enables statistics collection, the default "staleness" threshold of 10% can now be changed with the dbms_stats.set_table_prefs procedure:
exec dbms_stats.set_table_prefs(’HR’, EMPS’, ‘STALE_PERCENT’, ‘15′)
There are three new arguments to the set_table_prefs procedure, designed to allow the DBA more control over the freshness of their statistics:
stale_percent - overrides the one-size-fits-all value of 10%
incremental - Incremental statistics gathering for partitions
publish - Allows the DBA to test new statistics before publishing them to the data dictionary
This is an important 11g new feature because the DBA can now control the quality of optimizer statistics at the table level, thereby improving the behavior of the SQL optimizer to always choose the “best” execution plan for any query.
File Group Repository - Oracle introduced an exciting new feature in 10gr2 dubbed the Oracle File Group Repository
(FGR). The FGR allows the DBA to define a logically-related group of files and build a version control infrastructure. The working of the Oracle file group repository were created to support Oracle Streams, and they mimic the functionality of an IBM mainframe generation data group (GDG), in that you can specify relative incarnations of the file sets (e.g. generation 0, generation -3).
Interval partitioning for tables - This is a new 11g partitioning scheme that automatically creates time-based partitions as new data is added. This is a marvelous one ! You can now partition by date, one partition per month for example, with automatic partition creation. New load balancing utilities -There are several new load balancing utilities in 11g (first introduced in 10gr2):

Web server load balancing
-
The web cache component includes Apache extension to load-balance transactions to the least-highly-loaded Oracle HTTP server (OHS).
RAC instance load balancing
- Staring in Oracle 10g release 2, Oracle JDBC and ODP.NET provide connection pool load balancing facilities through integration with the new “load balancing advisory” tool. This replaces the more-cumbersome listener-based load balancing technique.
Automated Storage Load balancing


- Oracle’s Automatic Storage Management (SAM) now enables a single storage pool to be shared by multiple databases for optimal load balancing. Shared disk storage resources can alternatively be assigned to individual databases and easily moved from one database to another as processing requirements change.
Data Guard Load Balancing
– Oracle Data Guard allows for load balancing between standby databases.



Listener Load Balancing
- If advanced features such as load balancing and automatic failover are desired, there are optional sections of the listener.ora file that must be present
New table Data Type "simple_integer" - A new 11g datatype dubbed simple_integer is introduced. The simple_integer data type is always NOT NULL, wraps instead of overflows and is faster than PLS_INTEGER.


Improved table/index compression - Segment compression now works for all DML, not just direct-path loads, so you can create tables compressed and use them for regular OLTP work. Also supports column add/drop
Faster DML triggers - DML triggers are up to 25% faster. This especially impacts row level triggers doing updates against other tables (think Audit trigger).

Improved NFS data file management - Kevin Closson has some great notes on Oracle 11g improvement in Networked Attached Storage (NAS). "I’ve already blogged that 11g “might” have
an Oracle-provided NFS client. Why is this? It’s because Oracle knows full well that taking dozens of commodity servers and saddling them up with multi-protocol connectivity is a mess.
Server-side connection pooling - In 11g server-side connection pooling, an additional layer to the shared server, to enable faster [actually to bypass] session creation. Server-side connection pooling allows multiple Oracle clients to share a server-side pool of sessions (USERIDs must match). Clients can connect and disconnect (think PHP applications) at will without the cost of creating a new server session - shared server removes the process creation cost but not the session creation RMAN UNDO bypass - Rman backup can bypass undo. Undo tablespaces are getting huge, but contain lots of useless information. Now rman can bypass those types of tablespace. Great for exporting a tablespace from backup.


Capture/replay database workloads - Sounds appealing. You can capture the workload in prod and apply it in development. Oracle is moving toward more workload-based optimization, adjusting SQL execution plans based on existing server-side stress. This can be very useful for Oracle regression testing.
Scalability Enhancements - The features in 11g focused on scalability and performance can be grouped into four areas: Scalable execution, scalable storage, scalable availability and scalable management.
Virtual columns - Oracle 11g virtual table columns are columns that are actually functions ("create table t1 (c1 number, c2 number, c3 as (c1+c2) virtual"), and similarly, virtual indexes that are based on functions REF partitioning, allowing you to partition a table based on the partition scheme of another. Allows you to partition an order_items table based off of the order_date column in an orders table.

: A "super" object-oriented DDL keyword - This is used with OO Oracle when instantiating a derivative type (overloading), to refer to the superclass from whence the class was derived.
Oracle 11g XML data storage - Starting in 11g, you can store XML either as a CLOB or a binary data type, adding flexibility. Oracle11g will support query mechanisms for XML including XQuery and SQL XML, emerging standards for querying XML data stored inside tables.
New Trigger features - A new type of "compound" trigger will have sections for BEFORE, ROW and AFTER processing, very helpful for avoiding errors, and maintaining states between each section.
Partitioning - partitioning by logical object and automated partition creation.
LOB's - New high-performance LOB features.

Automatic Diagnostic Repository (ADR) - When critical errors are detected, they automatically create an “incident”. Information relating to the incident is automatically captured, the DBA is notified and certain health checks are run automatically. This information can be packaged to be sent to Oracle support (see following).

The ADR can be accessed via OEM or a command-line interface.
Hangman Utility – The Hang Manager (hangman) utility is a new 11g tool to detect database bottlenecks. An extension of the dba_waiters and dba_blockers views, the hangman tables have a “hang chain” that allow the DBA to find the source of “hangs”, such as the “deadly embrace” where mutually blocking locks or latches hang a process. In 11g, the hangman utility is installed on all RAC nodes by default, allowing for easier inter-node hang diagnostics.

Health Monitor (HM) utility - The Health Monitor utility is an automation of the dbms_repair corruption detection utility. When a corruption-like problem happens, the HR utility will checks for possible corruption within database blocks, redo log blocks, undo segments, or dictionary table blocks.
Incident Packaging Service (IPS) - This wraps up all information about an incident, requests further tests and information if necessary, and allows you to send the whole package to Oracle Support. Source:
Feature Based Patching - All one-off patches will be classified as to which feature they affect. This allows you to easily identify which patches are necessary for the features you are using. EM will allow you to subscribe to a feature based patching service, so EM automatically scans for available patches for the features you are using.

Enhanced Read only tables -
Table trigger firing order - Oracle 11g PL/SQL will you to specify trigger firing order.
Invisible indexes - claims that the new 11g "invisible indexes" are a great new feature. It appears that the invisible indexes will still exist, that they can just be marked as "invisible" so that they cannot be considered by the SQL optimizer. With the overhead of maintaining the index intact, I don't see why this is very useful.

Oracle11g High Availability & RAC new features

Oracle continues to enhanced Real Application Clusters in Oracle11g and we see some exciting new features in RAC manageability and enhanced performance:
Oracle 11g RAC parallel upgrades - Oracle 11g promises to have a rolling upgrade features whereby RAC database can be upgraded without any downtime. Ellison first promised this feature in 2002, and it is a very challenging and complex 11g new feature.
Oracle RAC load balancing advisor - Starting in 10gr2 we see a RAC load balancing advisor utility. Oracle says that the 11g RAC load balancing advisor is only available with clients which use .NET, ODBC, or the Oracle Call Interface (OCI).
ADDM for RAC - Oracle will incorporate RAC into the automatic database diagnostic monitor, for cross-node advisories.
Optimized RAC cache fusion protocols - moves on from the general cache fusion protocols in 10g to deal with specific scenarios where the protocols could be further optimized.
Oracle 11g RAC Grid provisioning - The Oracle grid control provisioning pack allows you to "blow-out" a RAC node without the time-consuming install, using a pre-installed "footprint". Oracle 11g OEM has have easy server blade installs where a binary footprint is tar'ed to the server blade and configured, without a cumbersome install process.
Hot patching - Zero downtime patch application.


Data Guard - Standby snapshot - The new standby snapshot feature allows you to encapsulate a snapshot for regression testing. You can collect a standby snapshot and move it into your QA database, ensuring that your regression test uses real production data.
Quick Fault Resolution - Automatic capture of diagnostics (dumps) for a fault

OEM - Enterprise Manager Oracle 11g new features:

Interfaces to Applications - This note says "Oracle says that extending Enterprise Manager's capabilities are part of the firm's promise to seamlessly integrate the spoils of its many acquisitions -- including the purchases of Siebel Systems and PeopleSoft Corp. -- into a single platform."
OEM Easy de-install - This will uninstall both successful and unsuccessful Oracle installs.
OEM Support workbench - Once the ADR has detected and reported a critical problem, the DBA can interrogate the ADR, report on the source of the problem, and in some cases even implement repairs.
Database repair wizard - A GUI to guide beginners through the steps to diagnose and repair Oracle issues.
Better OEM Grid tools - Another new Oracle11g feature may be improved RAC and Grid monitoring, especially on the cache fusion interconnect.
Enterprise Manager interfaces to foreign applications - This note says "Oracle says that extending Enterprise Manager's capabilities are part of the firm's promise to seamlessly integrate the spoils of its many acquisitions -- including the purchases of Siebel Systems and PeopleSoft Corp. -- into a single platform."
Oracle 11g programming language support New Features
PHP - Improved PHP driver for Oracle.
Compilers - Improved native Java & PL/SQL compilers.
Oracle 11g XML Enhancements - Oracle 11g will also support Content Repository API for Java Technology (JSR 170). Oracle 11g has XML "duality", meaning that you can also embed XML directives inside PL/SQL and embed PL/SQL inside XML code. Oracle 11g XML will also support schema-based document Type Definitions (DTD's), to describe internal structure of the XML document.
Scalable Java - The next scalable execution feature is automatic creation of "native" Java code, with just one parameter for each type with an "on/off" value. This apparently provides a 100% performance boost for pure Java code, and a 10%-30% boost for code containing SQL.

Improved sequence management - A new features of Oracle 11g will bypass DML (sequence.nextval) and allow normal assignments on sequence values.
Intra-unit inlining. In C, you can write a macro that gets inlined when called. Now any stored procedure is eligible for inlining if Oracle thinks it will improve performance. No change to your code is required. Now you have no reason for not making everything.
Oracle 11g PL/SQL New Features
PL/SQL "continue" keyword - This will allow a "C-Like" continue in a loop, skipping an iteration to bypass any "else" Boolean conditions. A nasty PL/SQL GOTO statement is no longer required to exit a Boolean within a loop.

has an excellent PL/SQL example of the PL/SQL continue clause in-action:
begin for i in 1..3 loop dbms_output.put_line(’i=’to_char(i)); if ( i = 2 ) then continue; end if; dbms_output.put_line(’Only if i is not equal to 2′); end loop;end;
Disabled state for PL/SQL - Another 11g new feature is a "disabled" state for PL/SQL (as opposed to "enabled" and "invalid" in dba_objects).

Easy PL/SQL compiling - Native Compilatio no longer requires a C compiler to compile your PL/SQL. Your code goes directly to a shared library.

Improved PL/SQL stored procedure invalidation mechanism - A new 11g features will be fine grained dependency tracking, reducing the number of objects which become invalid as a result of DDL.
Scalable PL/SQL - The next scalable execution feature is automatic creation of "native" PL/SQL (and Java code), with just one parameter for each type with an "on/off" value. This apparently provides a 100% performance boost for pure PL/SQL code, and a 10%-30% performance boost for code Enhanced PL/SQL warnings - The 11g PL/SQL compiler will issue a warning for a "when others" with no raise.
Stored Procedure named notation - Named notation is now supported when calling a stored procedure from SQL.

Oracle 11g SQL New Features
New "pivot" SQL clause - The new "pivot" SQL clause will allow quick rollup, similar to an MS-Excel pivot table, where you can display multiple rows on one column with SQL. MS SQL Server 2005 also introduced a pivot clause. Laurent Schneider notes that the new SQL "pivot" syntax is great for converting rows-to-columns and columns-to-rows.

The /*+result_cache*/ SQL hint - This suggests that the result data will be cached in the data buffers, and not the intermediate data blocks that were accessed to obtain the query results. You can cache SQL and PL/SQL results for super-fast subsequent retrieval. The "result cache" ties into the "scalable execution" concept. There are three areas of the result cache:
The SQL query result cache - This is an area of SGA memory for storing query results.
The PL/SQL function result cache - This result cache can store the results from a PL/SQL function call.
The OCI client result cache - This cache retains results from OCI calls, both for SQL queries or PL/SQL functions.
Scalable Execution - This 11g feature consists of a number of features, the first of which is query results caching; this feature automatically caches the results of an SQL query as opposed to the data blocks normally cached by the buffer cache, and works both client (OCI) and server side - this was described as "buffer cache taken to the next level". The DBA sets the size of the results cache and turns the feature on at a table level with the command "alter table DEPT cache results", the per-process cache is shared across multiple session and at the client level, is available with all 11g

XML SQL queries - Oracle11g will support query mechanisms for XML including XQuery and SQL XML, emerging standards for querying XML data stored inside tables.
SQL Replay - Similar to the previous feature, but this only captures and applies the SQL workload, not total workload.

Improved optimizer statistics collection speed - Oracle 11g has improved the dbms_stats performance, allowing for an order of magnitude faster CBO statistics creation. Oracle 11g has also separated-out the "gather" and "publish" operations, allowing CBO statistics to be retained for later use. Also, Oracle 11g introduces multi-column statistics to give the CBO the ability to more accurately select rows when the WHERE clause contains multi-column conditions or joins.
SQL execution Plan Management - Oracle 11g SQL will allow you to fix execution plans (explain plan) for specific statements, regardless of statistics or database version changes.

Dynamic SQL. DBMS_SQL is here to stay. It's faster and is being enhanced. DBMS_SQL and NDS can now accept CLOBs (no more 32k limit on NDS). A ref cursor can become a DBMS_SQL cursor and vice versa. DBMS_SQL now supprts user defined types and bulk operations.

Fully Automatic SQL Tuning - The 10g automatic tuning advisor makes tuning suggestions in the form of SQL profiles that will improve performance. You can tell 11g to automatically apply SQL profiles for statements where the suggested profile give 3-times better performance that the existing statement. The performance comparisons are done by a new administrative task during a user-specified maintenance window.

Improved SQL Access Advisor - The 11g SQL Access Advisor gives partitioning advice, including advice on the new interval partitioning. Interval partitioning is an automated version of range partitioning, where new equally-sized partitions are automatically created when needed. Both range and interval partitions can exist for a single table, and range partitioned tables can be converted to interval partitioned tables.

11g Performance tuning optimization new features:
Automatic Memory Tuning - Automatic PGA tuning was introduced in Oracle 9i. Automatic SGA tuning was introduced in Oracle 10g. In 11g, all memory can be tuned automatically by setting one parameter. You literally tell Oracle how much memory it has and it determines how much to use for PGA, SGA and OS Processes. Maximum and minimum thresholds can be set. This is controlled by the

Resource Manager - The 11g Resource Manager can manage I/O, not just CPU. You can set the priority associated with specific files, file types or ASM disk groups.
ADDM - The ADDM in 11g can give advice on the whole RAC (database level), not just at the instance level. Directives have been added to ADDM so it can ignore issues you are not concerned about. For example, if you know you need more memory and are sick of being told it, you can ask ADDM not to report those messages anymore.

Faster sorting - Starting in 10gr2 we see an improved sort algorithm,
“Oracle10gRw introduced a new sort algorithm which is using less memory and CPU resources. A hidden parameter _newsort_enabled = {TRUEFALSE} governs whether the new sort algorithm will be used.”
AWR Baselines - The AWR baselines of 10g have been extended to allow automatic creation of baselines for use in other features. A rolling week baseline is created by default.
Adaptive Metric Baselines - Notification thresholds in 10g were based on a fixed point. In 11g, notification thresholds can be associated with a baseline, so the notification thresholds vary throughout the day in line with the baseline.


Oracle 11g security & auditing new features

Enhanced Password - Pete Finnigan notes some new Oracle 11g security features "[Oracle 11g] will have case sensitive passwords and also the password algorithm has changed to SHA-1 instead of the old DES based hashing used."
Oracle SecureFiles - replacement for LOBs that are faster than Unix files to read/write. Lots of potential benefit for OLAP analytic workspaces, as the LOBs used to hold AWs have historically been slower to write to than the old Express .db files. Securefiles are a huge improvement to BLOB data types. Faster, with compression, encryption.

Oracle 11g audit vault - Oracle Audit Vault is a new feature that will provide a solution to help customers address the most difficult security problems remaining today, protecting against insider threat and meeting regulatory compliance requirements.

Proxy connect for SQL*Plus
- New with 10r2 proxy identification in SQL*Plus, the "connect" command has been enhanced to allow for a "proxy", to aid applications that always connect with the same user ID: connect sapr3[scott]/tiger
FGAC for UTL_SMTP, UTL_TCP and UTL_HTTP. You can define security on ports and URLs. Source:
Fine Grained Dependency Tracking (FGDT). This means that when you add a column to a table, or a cursor to a package spec, you don't invalidate objects that are dependant on them. Sweet! Source:

Database Workload Replay - Oracle "Replay" allows the total database workload to be captured, transferred to a test database created from a backup or standby database, then replayed to test the affects of an upgrade or system change.
You specify the SQL tuning sets similar to the 10g offering and use the dbms_sqlpa package (SQL performance analyzer) to manage the SQL each "analyzer task" with dbms_sqlpa procedures (create_analysis_task, cancel_analysis_task, drop_analysis_task, reset_analysis_task, report_analysis_task, resume_analysis_task, interrupt_analysis_task).
Currently, they are working to a capture performance overhead of 5%, so you could conceivably capture real production workloads.
Oracle 11g new RMAN features

A Virtual Private Catalog can now make sure an RMAN user can only see databases they are authorized to use.
Archive log management for Streams and Data Guard
Network aware DUPLICATE
Optimized undo backup
Improved corrupt block detection

Java, PL/SQL, XML, .NET, PHP, APEX
PL/SQL Native Compilation Without Needing a Third-Party C Compiler.
Native PL/SQL use of Seq.Nextval in a PL/SQL program.
PL/SQL can use CLOBs to get around 32KB limitation of SQL character strings.
Enhanced PL/SQL warnings and error messages.
PLSTIMER identifies hotspots and performance tuning opportunities in PL/SQL.
New package DBMS_HPROF controls the recording of raw PLSTIMER data.

Continued support of standards with JDBC 4.0 and JVM 5.0. Capability to upgrade to JVM 6.0 will be available in the future.

Oracle JVM JIT supports transparent native Java compilation without a C Compiler.
Significant performance improvements with JDBC performance especially with Advanced Queuing.
JDBC supports server side result cache alone with OCI client side result cache. Additional things I liked included the "big" improvements in the JIT and RAC support for JDBC.

New command line interface to OracleJVM making it a lot easier to work with the JDK in the database.
Support for database resident JARs.
JDBC support for starting and shutting down the database.
Performance enhancements to XPath query for Java.

XML applications can now process larger XML documents by loading and saving .
DOM nodes in memory and using a page manager for physical binary data management.
Unified Java API for XML allows mid-tier Java programs to leverage lazily loading by allowing a disconnected mode of operation that allows a XMLType to be used with a session pool model of connection management.

HTML-DB 11g enhancements
APEX will be standard with an embedded PL/SQL gateway.
APEX will have an application packager for packing and deployment of APEX applications.
Data Pump Enhancements to use when you're moving data
Compression and encryption enhancements

Support for XML Schemas and schema-based tables.
Transportable partitions Change assurance (important for saving money during testing and migration)

Change assurance new features of Database Replay and SQL Replay can play a large role in reducing costs, testing and issues when migrating to Oracle Database 11g. This is one of the best new features in this release.
Database replay - captures actual production workload and replays it on a separate system.
SQL performance analyzer - finds and fixes SQL performance degradations
10gR2 will have a patch set, that will allow the replay to occur.

Secure Files (Next generation LOBS)
Eliminates need for file systems. Very fast access of files.
Just as fast as file systems with all the capabilities of the Oracle database (it’s a new LOB type). It is very fast at accessing the files from a file system.

Store all your data in the database with one consistent:, Security and auditing model
Backup and recovery mechanism
Storage management (ASM)
Transaction and concurrency model
Interface and protocol

Values added services like encryption, compression, and de-duplication
Oracle 11g Business Intelligence & OLAP
Mark Rittman notes some of the upcoming features with Oracle 11g BI suite and OLAP:
Integration of materialized view query rewrite with OLAP -

"However, in 10g OLAP although you could register a view over aggregated data in an analytic workspace with query rewrite, “normal” queries that used SUM(), AVG() and other aggregation functions, together with GROUP BY, wouldn’t get rewritten as the SQL views used over analytic workspaces were based on fully-solved cubes, i.e. the view contained all levels of aggregation and measures were already aggregated. . .
Now, with this forthcoming release of Oracle OLAP, you can just check a box in Analytic Workspace Manager to enable queries against the source tables for your analytic workspace to be re-written against the summary data in your analytic workspace, and your OLAP cube will then act in the same way as a regular materialized view, meaning the two technologies (in theory) will be interchangeable as a way of summarizing warehouse data. "
Oracle 11g data mining

With the release of the first book on ODM "Oracle Data Mining", we see increased interest in data mining within 11g and there are rumors that ODM will be greatly enhanced, moving data mining objects into the dictionary and improving the interface for complex analytics.
please Email to Shravan.1258@yahoo.com

No comments: