New.NET Features for Oracle Database 11g Alex Keh Principal Product Manager, Server Technologies, Oracle
Agenda Oracle on.NET Ease of Development Performance Manageability and Installation Next Steps
Oracle on.NET Themes
.NET Development Environment Support Visual Studio Environment Visual Studio Environment IIS C++, C#, VB.NET Application C++, C#, VB.NET Application DevelopDeploy IIS ASP.NET IIS ASP.NET MTS/ COM+ MTS/ COM+ Application Deploy Database Development Oracle Data Provider for.NET Oracle Developer Tools for VS.NET Oracle Database Extensions for.NET Oracle Providers for ASP.NET
New.NET Feature Themes Ease of Development Tight integration with Visual Studio 2005 and 2008… …And.NET Framework 2.0, 3.0, and 3.5 Improve productivity for ASP.NET development Objects/UDTs/ADTs Performance Improve performance out of the box Expose new tuning features Manageability and Installation XCopy deployment: smaller client and easier packaging
Ease of Development
Ease of Development – Visual Studio Fully integrated with Visual Studio 2005 and 2008 Server Explorer Data Sources Window Data Source Configuration Wizard Dataset Designer TableAdapter Configuration Wizard Query Builder/Query Designer More Automatic code generation – Winform and ASP.NET Data Sources Window Integration with SQLDataSource control Makes ASP.NET web application development very easy
Ease of Development – Visual Studio New Oracle Wizards and Designers Grant/Revoke Privileges Wizard Object, VARRAY, Nested Table Designers UDT Custom Class Code Generation Wizard Import Table Wizard – Migrate tables/data from databases, Excel, Access Full Oracle UDT Support View UDTs in Server Explorer Retrieve UDT data Use UDT types in other wizards (e.g. Table Designer) Oracle Data Window Enhancements Customizable – control how many rows are fetched
Ease of Development – Visual Studio New Oracle Database Project Manage, Edit and Run SQL scripts SQL*Plus is built in Source control integration – SourceSafe and Team Foundation Server Oracle Query Window New UI Explain Plan Auto-commit toggle ODT Options page Customize how you use ODT
D E M O N S T R A T I O N New ODT Features
Ease of Development – ASP.NET Overall goal: Improve ASP.NET developer productivity More automation and tools Improved ASP.NET design-time support Visual Studio Data Sources Window Code generation Drag and drop objects to automatically create a running ODP.NET web application
Oracle Providers for ASP.NET Features Pre-built services to store website state into Oracle Services for commonly used website information E.g. user info, user roles, shopping cart Easy to learn Based on standard ASP.NET provider APIs and schema Inherits from.NET Framework 2.0 base classes Compatible with ASP.NET service classes No unique extensions in Oracle ASP.NET providers
Oracle Providers for ASP.NET Features Seamless integration with ASP.NET services and controls Reference to specific providers unnecessary High level of abstraction: services and controls based programming Easy to switch from SQL Server to Oracle quickly Configuration file determines which data source to use Easy to setup and manage Can be managed by IIS or Website Admin Tool
Oracle Providers for ASP.NET IIS ASP.NET Controls ASP.NET Services Oracle Providers for ASP.NET ODP.NET
Available Providers Oracle Providers for ASP.NET components Membership Provider Role Provider Profile Provider Session State Provider Site Map Provider Web Parts Personalization Provider Web Event Provider Cache Dependency Provider Each provider is independent of one another Administrators choose which provider(s) to use
D E M O N S T R A T I O N ASP.NET Providers
Ease of Development – UDTs Benefit: Simplify Oracle UDT application development Optimum for Spatial and other object developers UDT development – data access Oracle data types Objects Mapped to.NET custom objects Collections (Varrays and Nested Tables) Mapped to.NET custom objects and arrays REF ODP.NET OracleRef can represent Oracle REF Custom type factory and custom type required Custom type factory instantiates the custom type Custom types define mapping between UDT attributes/elements and.NET type members
Ease of Development – UDTs UDT development - tools Create, view, and modify UDTs and their specifications Designers for Varrays, Nested Tables, and Objects Designers for Object tables and views New tree control nodes for UDTs Custom Class Wizard Automatically generate.NET custom type from existing Oracle Collections and Objects Generates C#, VB.NET, or C++
D E M O N S T R A T I O N.NET UDT Development
Performance
Performance – Data Retrieval (11g) Oracle Result Cache Caches results sets either on client or server Accessible across the same process to different users No.NET code changes required Snapshot consistent – cache refreshes without user intervention Faster LOB retrieval Pre-fetch LOB data, length, and chunk size Works with SecureFiles and traditional LOBs Improved statement caching Cache ODP.NET parameter contexts
Ease of Development – Grid Automated ODP.NET failover to Data Guard instance HA DB Down event ODP.NET receives DB down events Frees all pooled connections to the downed DB Configuration Set “HA Events = true” in connection string Events for service, service member, node, and database down Works with Data Guard 11g and 10.2 DB server
Performance – 64-bit ( ) Allow ODP.NET and.NET stored procedures to use more scalable 64-bit hardware Windows x64 64-bit ODP.NET 64-bit.NET Stored Procedures Windows Itanium 64-bit ODP.NET 64-bit.NET Stored Procedures Available for download on OTN from.NET Center
Performance – Loading External Data Load external data quickly into Oracle database programmatically ADO.NET 2.0 Bulk Copy Direct data upload from.NET to Oracle Excellent for large amounts of external data Performance comparable to SQL*Loader
Performance – Connection Pool Improved scalability for Windows-authenticated users Windows-authenticated connection pooling Each Windows user can have its own pool Identified via their Windows domain/username Set “User Id=/” in connection string
Performance – Transactions ( ) Lower transaction overhead in System.Transactions Permit local transactions when known to have just one resource manager Local transactions are not promotable to distributed Support for local transactions in System.Transactions Set “Promotable Transaction” property to “local” In Windows Registry if applicable to all ODP.NET apps In connection string if app specific Download ODP.NET patch from Metalink Not available as part of the DB patchset
Manageability and Installation
Instant Client XCopy Deployment Zip package of binaries Install done manually or through a third-party installer easily Great control over the installation process Install process Step 1: Copy IC files to disk Step 2: Run install.bat Step 3: Add installation directories to Windows PATH Step 4: Modify NLS_LANG to desired locale
XCopy Install.bat
Instant Client (IC) XCopy Install Easiest to package/install Xcopy – administrators script to specific requirements, generally large deployments OUI – for small scale deployments Smallest client footprint Xcopy Fastest client deployment Xcopy No difference in the functionality of each client component included Not all client components are part of Instant Client xcopy install
Instant Client XCopy Components Existing Instant Client xcopy components SQL*Plus OCI OCCI ODBC JDBC-OCI New Instant Client xcopy components ODP.NET Oracle Providers for ASP.NET Oracle Provider for OLE DB OO4O Oracle Services for MTS
Manageability – Performance Tracking ODP.NET Performance Counters Real-time monitoring of connections and connection pool
Next Steps
Oracle Technology Network –.NET Developer Center Free downloads of Visual Studio tools, ODP.NET, ASP.NET Providers, and Oracle Database XE Whitepapers Sample Code Demo Videos Help Forums “How to” step by step tutorials Latest Oracle on.NET News
More Information.NET Developer Center Windows Server Center Blog For more questions
The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.