Professional Documents
Culture Documents
Here is my Oracle11g new features 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
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. PGA Update: Oracle technology is constantly changing, so don't miss my new notes
on updates to Oracle PGA behavior. Also see these important notes on over-riding the Oracle
PGA defaults.
SQL Performance Analyzer (Fully Automatic SQL Tuning) - Using SPA, 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. See Inside the 11g SQL
Performance Advisor.
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.
Let's get started with the Oracle11g new features for general database administration:
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. Source: Mark Rittman This is a marvelous one ! You can
now partition by date, one partition per month for example, with automatic partition creation.
Source: Laurent Schneider
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 dubbedsimple_integer is
introduced. The simple_integer data type is always NOT NULL, wraps instead of overflows and is
faster than PLS_INTEGER. Source:Lewis Cunningham
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. Mark Rittman
Faster DML triggers - DML triggers are up to 25% faster. This especially impacts row level triggers
doing updates against other tables (think Audit trigger). Source: Lewis Cunningham
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. Source: Laurent Schneider
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 cost. Mark Rittman
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. Source: Laurent Schneider
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. Source:Laurent Schneider
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. Mark Rittman
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. Also see Oracle 11g function-based virtual columns. Source: Source: Mark Rittman
REF partitioning - The 11g REF partitioning allows you to partition a table based on the values of
columns within other tables. Source: Mark Rittman
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). Source: Dr. Tim Hall The ADR can be accessed via OEM or a commandline interface.
Hangman Utility ? The Hang Manager (hangman) utility is a new 11g tool to detect database
bottlenecks. An extension of the dba_waiters anddba_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: Dr. Tim Hall
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. Source: Dr. Tim Hall
New Oracle11g Advisors - New 11g Oracle Streams Performance Advisor and Partitioning
Advisor. Source: Mark Rittman
Enhanced Read only tables Table trigger firing order - Oracle 11g PL/SQL and beyond will allow you to specify trigger firing
order with the "precedes" and "follows" clauses. See trigger firing order tips
Invisible indexes - Rich Niemiec 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. Also see 11g Function-based columns.
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.
Interval Partitioning - Robert Freeman notes that 11g "interval Partitioning makes it easier to
manage partitions:
"Wouldn't it be nice if you could just tell Oracle you wanted to partition every month and it would create the
partitions for you? That is exactly what interval partitioning does. Here is an example:
create table selling_stuff_daily
( prod_id number not null, cust_id number not null
, sale_dt date not null, qty_sold number(3) not null
, unit_sale_pr number(10,2) not null
, total_sale_pr number(10,2) not null
, total_disc number(10,2) not null)
partition by range (sale_dt)
interval (numtoyminterval(1,'MONTH'))
( partition p_before_1_jan_2007 values
less than (to_date('01-01-2007','dd-mm-yyyy')));
Note the interval keyword. This defines the interval that you want each partition to represent. In this case,
Oracle will create the next partition for dates less than 02-01-2007 when the first record that belongs in that
partition is created."
ADR command-line tool - Virag Sharma notes that the Oracle Automatic Diagnostic repository
(ADR) has a new command-line interface dubbed ADRCI, the ADR Command Interface. Sharma
notes that ADRCI can be used to access the 11g alert log:
$adrci
adrci> set editor vi
adrci> show alert ( it will open alert in vi editor )
adrci> show alert -tail ( Similar to Unix tail command )
adrci> show alert -tail 200 ( Similar to Unix Command tail -200 )
adrci> show alert -tail -f ( Similar to Unix command tail -f )
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. Source: Mark Rittman
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".
See Oracle 11g RAC Provisioning Pack tips.
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.
-ocr and voting disk are in asm
-No need to take backup of voting disk
-GSD is offline
-Gloabl AWR
-scan listern
-one node rac
-oracle restart
-HAS
-server pooling
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 a subroutine! Source: Lewis Cunningham
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 Compilation no longer requires a C compiler to compile your
PL/SQL. Your code goes directly to a shared library. Source:Lewis Cunningham
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
containing SQL.Mark Rittman
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.
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.
Source: Lewis Cunningham
SQL Performance Advisor - 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.
Oracle 11g SQL tuning transformations
FGAC for UTL_SMTP, UTL_TCP and UTL_HTTP. You can define security on ports and URLs.
Source: Lewis Cunningham
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: Lewis Cunningham
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. Source: Dr. Tim Hall
Oracle 11g new RMAN features
This blog by George Trujillo notes many new 11g 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
-asmca introduction
-disk can be force mount/delete
-metadata backup
-asm and cluster in same software
-asm disk check
-fast start mirror resync
-sysasm role
RMAN new features in 11g