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_prefsprocedure:
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 10g r.2 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 cost.