Monday Sep 16, 2013

Therap Services at OpenWorld: Highlights Support for Individuals with Developmental Disabilities

Therap Services, LLC. is a web-based service organization that provides an integrated solution for documentation, reporting and communication needs of agencies providing support to people with developmental disabilities. It offers an easy and efficient alternative to the immense amount of paper work that is done manually by the care providers. Therap’s software suite is relevant to all the different kinds of service organizations that support and care for people with intellectual and developmental disabilities. Therap is used in over 1,000 agencies, in small agencies serving as few as one individual to multi-state providers serving thousands of individuals. The modules can be categorized under Individual Support, Staff Support and Billing and Attendance Support. Therap uses Oracle Database and had been using JBoss as the application server for their mission critical application.  As Therap has grown, they have experienced several performance issues with JBoss – specifically problems with JBoss Messaging.  As Therap continues to expand their business, they felt the need for a more robust solution for their core business application.  Additionally, Therap needed a more advanced monitoring solution for both internal and external transactions on multiple layers:  application, database, application server. They chose Oracle WebLogic Server for three main reasons:  1) Extremely high confidence level in the Oracle Product Management team expertise, 2) Access to a better support system with product integration and best practices, and 3) Oracle’s proven reliability history.  Come join Therap Services CTO Masum at OpenWorld to hear about how Therap leverages Oracle WebLogic Server with Oracle Enterprise Manager to really take their applications to the next level. In addition, while at OpenWorld don’t miss other Cloud Application Foundation Innovators. You can join the session whether you are an OpenWorld attendee or not.

Wednesday Sep 11, 2013

WebLogic Server and PDB Switching with Oracle Database 12.1

Oracle WebLogic Server 12c (12.1.2) has integrated to support the Oracle Database 12c features, particularly Application Continuity, Transaction Guard, Database Resident Connection Pool, Multi Tenant Databases, and Global Data Services. WLS integration to these new 12c database features is described in this blog

https://blogs.oracle.com/WebLogicServer/entry/new_whitepaper_cloud_performance_elasticity.

The integration to Multi Tenant Database or Pluggable Database increases elasticity, scalability, and enables multitenancy. Pluggable Database implementations allow multiple distinct databases in a single, larger database installation. The Container Database (CDB) feature in Oracle Database 12c minimizes the overhead of these multi-database configurations by consolidating them into a single database with multiple Pluggable Databases (PDB) in a single Container Database. For more information about using this feature in WLS, see https://blogs.oracle.com/WebLogicServer/entry/part_3_12c_database_and

You should be aware of some limitations of PDB switching with Oracle Database 12.1. The following WebLogic Server limitations exist when using tenant switching.

  • FAN is not supported. Even though FAN is not supported, Active GridLink still provides the benefit of a single datasource view of multiple RAC instances and the ability to reserve connections on new instances as they are available without reconfiguration using connection load balancing. If you want to use tenant switching with an Active GridLink data source, “FAN enabled” must be set to false see http://docs.oracle.com/middleware/1212/wls/JDBCA/gridlink_datasources.htm#CHDIAGEF . Generic data sources don’t use FAN so this restriction doesn’t apply.

  • DRCP is not supported

  • Application continuity is not supported.

  • Proxy authentication is not supported.

  •  XA transactions in one datasource configuration with PDB switching is not supported.

For more details about these limitations read the documentation http://docs.oracle.com/middleware/1212/wls/JDBCA/ds_oracledriver.htm#JDBCA655.

Friday Sep 06, 2013

Announcing new MAA paper - Oracle Traffic Director Disaster Recovery!

The MAA paper covering Disaster Recovery for Oracle Traffic Director is available on OTN:
http://www.oracle.com/technetwork/database/availability/maa-oracletrafficdirector-dr-2008165.pdf

Please check it out!

This paper describes the disaster recovery solution for Oracle Traffic Director based on Oracle MAA architecture principles.

Oracle Traffic Director is a fast, reliable, and scalable layer-7 software load balancer that you can deploy as the reliable entry point for all TCP, HTTP and HTTPS traffic to application servers and web servers in your network.

http://www.oracle.com/us/products/middleware/application-server/oracle-traffic-director-ds-1389582.pdf

Thursday Sep 05, 2013

Part 3 - 12c Database and WLS - Multi Tenant Database (CDB/PDB)

I introduced WLS support for 12c database at https://blogs.oracle.com/WebLogicServer/entry/part_1_12c_database_and and the Application Continuity feature at https://blogs.oracle.com/WebLogicServer/entry/part_2_12c_database_and  . 

One of the biggest new features in the 12c database is officially called the Oracle Multitenant option. I'm going to point out what I think are some of the highlights here and eventually get down into some WLS sample code.  See http://docs.oracle.com/cd/E16655_01/server.121/e17636/part_cdb.htm#BGBIDDFD for the Oracle Database Administration documentation for this feature.  Technical folks, administrators and programmers, will call this feature "CDB/PDB" after the Container Database and Pluggable Databases that are used to implement it.  As the names imply, you have a CDB to contain a collection of PDB's.  If you are an administrator, you can appreciate the ability to create, manage, monitor, backup, patch, tune, etc. one entity instead of a bunch of them.  As a programmer, its great that you can connect to your PDB and it looks and behaves just like a non-PDB.  All that you need to know is the host, port, and service name just like the non-PDB.  Of course, the service name needs to be unique in your environment so that you get to the right PDB in the right CDB.

As you might expect, there needs to be a container at the top to hold all of the PDB's - it's called the CDB$ROOT.  There also needs to be some users in charge of the PDB's.  These users are called "common users" and the names must begin with "C##".  A common user is created in the root (it fails within a PDB) and exist in all PDB's. "Local users" are created within individual PDB's and behave like users in non-PDB's.  When you are doing administration from tools like sqlplus or sqldeveloper, you connect to the database in the root and can switch to a PDB by using something like  "alter session set container = PDB1" and then "alter session set container = CDB$ROOT" to get back to the root.  There are new views to keep track of the CDB/PDB information - use "select pdb from cdb_services where pdb is not null" to see what PDB's exist.  Some operations can only be done at the root level.  For example, Database Resident Connection Pooling (DRCP), another new 12c feature, can only be started at the root.  A PDB is managed pretty much like a non-PDB with startup and shutdown.  Each PDB has an administrative database service that you can't configure (Enterprise Manager needs something consistent to manage the PDB) and you can create additional database services with your own choice of attributes. You can use  the dba_services table within a PDB to see just the services for that PDB.

So how do you use this?  The easy way to use this is for improving density and scalability on the data tier.  You can move multiple standalone databases into a single container database with individual PDB's corresponding to each standalone database.  On the WebLogic Server side, you can still have a data source defined for each of these PDB's, just as you have today. 

Feeling more ambitious?  You can share a single data source across multiple PDB's.  To do that, you need to get a connection and switch to the PDB that you want to work on by executing the SQL statement "ALTER SESSION SET CONTAINER = pdbname".  You might be wondering if any state is leaked from one PDB to another by doing this.  Under the covers, the Oracle database server tells the Oracle driver that the PDB has been switched so driver connection state can be cleaned up.  Then the driver tells the WLS data source that the PDB has been switched so that the WLS connection state can be cleaned up. Although general use of a PDB is transparent to WLS so that  it can be used with versions starting with WLS release 10.3.6, PDB SET CONTAINER isn't supported until WLS release 12.1.2.

Switching PDB's is not a cheap operation so you should minimize doing this.  To minimize the overhead, you really want to keep track of what PDB is associated with each connection.  WLS data source has a mechanism for associating labels with connections that's ideal for this purpose.  See http://docs.oracle.com/middleware/1212/wls/JDBCA/ds_labeling.htm#BCGFADIH  for the connection labeling documentation.

Take a look at the sample code at this source code link (the .txt file is actually a .java file).  It's written up as a servlet (don't get caught up in those details). It assumes that there is a 12c container database with PDB1 and PDB2 that has been configured as a generic data source with a JNDI name "ds0".  When it first gets the data source, a labeling callback is created and registered (we only want to do this once).    The program gets connections on each PDB.  The first time it gets a connection on a PDB, it needs to do a switch; the next time, it can reuse the same connection.   The labeling getConnection API is used; it takes a Properties object and the label name is "TENANT".  Looking at the callback, if the label properties match then 0 is returned, otherwise a non-zero value is returned (some debugging information is printed so it's possible to watch the matching process).  The key work is in the configure method, which is called when the tenant label doesn't match.  In that case, the SET CONTAINER is done using the tenant label value and the label properties are reset.

Climbing back out of the code, the Oracle Multitenant option can be a big win on the database server side immediately with no change on the WLS side except maybe for the URL in the JDBC descriptor.  Longer term, I believe applications will want higher density on the mid-tier and start to collapse the number of data sources. Along the same lines of improving density but not for multiple tenants, you can also move your SALES and CRM databases into PDB's within a container, and merge the two data sources into a single data source using the methods described above.  It will be interesting to see how customers leverage the power of this new feature.

Friday Aug 30, 2013

Introducing Elastic JMS

In WebLogic 12.1.2, we enhanced the way that you can configure JMS servers, stores, and subdeployments so that the JMS subsystem can automatically scale with the Managed Servers in a cluster. We call this Elastic JMS. My friend Maciej Gruszka calls it Magic JMS!

 Here are some details:

JMS Servers: In releases before WebLogic Server 12.1.2, each JMS Server was individually configured and targeted at a single Managed Server. It didn’t matter whether or not that Managed Server was part of a cluster. Starting in WebLogic Server 12.1.2, you can target a JMS Server at a cluster. Under the covers, WebLogic spins up a JMS Server on each managed server in the cluster. If you add or remove servers from the cluster, JMS Servers are added or removed automatically.

WebLogic Persistent Stores: Like JMS Servers, in releases before WebLogic Server 12.1.2, each WebLogic Persistent Store (file store or JDBC store) was individually configured and targeted to a single Managed Server, clustered or not. In WebLogic Server 12.1.2, you can target a WebLogic Persistent Store at a cluster. Under the covers, WebLogic creates a store instance on each Managed Server in the cluster. Each instance of a file store uses the same path to either a shared file system or to a local file. Each instance of a JDBC store uses the same JDBC data source, but gets its own underlying tables.

Subdeployments: A subdeployment defines the list of JMS Servers that will host a queue or topic. In releases before WebLogic Server 12.1.2, when you defined a subdeployment for a distributed queue or topic, you listed each JMS Server in the cluster. When you scaled up the cluster by adding a Managed Server and a corresponding JMS Server, you also needed to update the subdeployment with the new JMS Server. Starting in WebLogic Server 12.1.2, subdeployments are much simpler. You can list a single JMS Server that is targeted at the cluster. When you scale up the cluster, the distributed queue is automatically extended to the new JMS Server instance without any changes to the subdeployment.

Pulling it all together: By using cluster targeted JMS Servers and Persistent Stores, you get some nice benefits:

  • Simplified configuration – Even initial JMS configuration is much simpler than it was in the past: no need for individually configured JMS Servers and related items.
  • Elastic scalability – As you scale the cluster, the JMS services automatically scale with it. 
  • Support for Dynamic Clusters – Because Dynamic Clusters require homogenous targeting of services, the new configuration options make it possible to run JMS on Dynamic Clusters. 

  • Check out the documentation at http://docs.oracle.com/middleware/1212/wls/JMSAD/dynamic_messaging.htm or see my video at for more details.

    WebLogic Active GridLink for RAC: Check out NEC results!

    Oracle WebLogic Active GridLink for RAC is the market-leading mid-tier integration solution leveraging additional Oracle RAC advancements. Oracle and NEC have jointly invested on verifying and testing the Active GridLink for RAC solution which provides a high-availability, scalability and high performance solution for helping customer building mission critical applications. In addition, WebLogic Server is the only application server which has been fully integrated and certified with Oracle Database without losing any capabilities in Java EE implementation with respect to security, transaction, connection pooling , management, and more.

    NEC has constructed high availability systems with WebLogic Server and Oracle Real Application Cluster. It investigated advantages and features of the GridLink data source focusing on high availability and flexibility that GridLink data source achieves in integrating with Oracle RAC. The purpose of these tests is to get high serviceability by diverting system integration know-how of JDBC data source already storing, in addition to using these functions. The following are functions which the GridLink data sources were tested for.

    1. Runtime Connection Load Balancing(RCLB)

    2. Web Session Affinity

    3. Fast Connection Failover (FCF)

    4. Performance Improvement by Dynamic Changes in RAC Topology

    Join us in this OpenWorld session as we discuss the detailed Active GridLink capabilities and the testing results obtained by NEC. We will also discuss the new functionality introduced with Oracle Database 12c.

    Friday Aug 23, 2013

    New WebLogic Server 12.1.2 Installation and Patching Technology


    WebLogic Server 12.1.2 has many new features, but the first new feature you are likely to notice is the change in installer technology. WebLogic Server and Coherence 12.1.2 are installed using Oracle Universal Installer (OUI) installer technology. We have also changed WebLogic Server patching technology from SmartUpdate to OPatch, the patching tool used to patch OUI installations. Note that installation and patching technology used for prior versions of WebLogic Server has not changed.

    The primary motivation for this change is to provide consistency across the Oracle stack. Prior to WebLogic Server 12.1.2, Fusion Middleware customers were required to use different technologies to install and patch, for example, Oracle Application Development Framework (ADF) with WebLogic Server. Now users can perform installation and patching across products more efficiently by using the same technologies, and by using new installation packages that simplify installation of Fusion Middleware products with WebLogic Server. Check the YouTube video that describes how to install  WebLogic Server 12.1.2 using the  OUI installer http://www.youtube.com/watch?v=SDT3UMXSAFc.

    The following WebLogic Server distributions are now available on the Oracle Technology Network (OTN) http://www.oracle.com/technetwork/middleware/weblogic/overview/index.html  under OTN license, and from Oracle Software Delivery Cloud (OSDC)  https://edelivery.oracle.com for licensed customers:

    wls_121200.jar - This OUI installer package includes WebLogic Server and Coherence and is targeted at WebLogic Server users who do not require other Fusion Middleware components such as ADF. This generic installer can be used to install WebLogic Server and Coherence on any supported operating system, and is intended for development or production purposes. This is available on OTN and OSDC.

    · wls1212_dev.zip – This zip package includes the same core WebLogic Server and Coherence technology provided in wls_121200.jar, but removes certain Oracle components that are only required for production use cases. It is intended as a lightweight download for development purposes – unzip and run the included script. It is available on OTN only, along with a supplemental examples package. Note that patching of the zip distribution is not supported.

    August 21, 2013: an updated package of the WebLogic Server 12.1.2.0.0 zip distribution was released to OTN. This update resolves a minor problem in the original (GA) WebLogic Server 12.1.2.0.0 zip distribution when starting the Configuration Wizard GUI.

    · OEPE  Installers – including WebLogic Server, Coherence, ADF, Fusion Middleware Control, and Oracle Enterprise Pack for Eclipse (OEPE). These OUI installers contain the latest updates to Oracle Enterprise Pack for Eclipse, Oracle’s Eclipse-based IDE, with distributions for Windows, Linux and Mac OS X. These installers are intended for development purposes and are available on OTN only.

    · wls_jrf_121200.jar - This OUI installer package includes everything that is included wls_121200.jar, and adds software components required to run ADF and Fusion Middleware Control. This installer is intended for development or production purposes and is available on OTN and OSDC.

    · JDeveloper Installers – including WebLogic Server, Coherence, Oracle JDeveloper, ADF and Fusion Middleware Control. These OUI installers contain the latest updates to Oracle JDeveloper 12.1.2, Oracle’s strategic IDE for developing Fusion Middleware applications, with distributions for Windows, Linux and generic operating systems. These installers are intended for development purposes and are available on OTN and OSDC.

    For more information on the above, refer to the appropriate product documentation, for example, for documentation on installation of wls_121200.jar, see http://docs.oracle.com/middleware/1212/core/WLSIG/planning.htm#WLSIG237.

    Let us know if you have questions or comments.

    Monday Aug 19, 2013

    New Oracle WebLogic Suite 12.1.2 Technical Whitepaper Published

    We have just published a new technical whitepaper covering WebLogic Suite.   It is available here.

    This whitepaper provides an overview of the major features, functions and capabilities in WebLogic Suite, with a primary emphasis on WebLogic Server.   It includes a description of the new features in WebLogic Server and WebLogic Suite 12.1.2, and how they help to provide a modern development environment, native cloud management capabilities, and a mission-critical cloud platform.

    We hope this whitepaper will be useful to you whether you are just learning about WebLogic Server, or have experience with WebLogic Server and WebLogic Suite, and want an overview of what has changed in the 12.1.2 release.    It is intended to complement the business whitepaper mentioned by Ruma Sanyal in her recent blog post.

    For detailed "how to" instructions on using WebLogic Server 12.1.2, please refer to the product documentation updated on July 11:

    http://docs.oracle.com/middleware/1212/wls/index.html

    Tuesday Aug 13, 2013

    Announcing WebLogic Server on Oracle Database Appliance 2.6

    Would you like to learn a solution that saves time and money by simplifying deployment, maintenance, and support of high availability Oracle Database and WebLogic Server?

    We are announcing exciting news of the availability of “Oracle WebLogic Server on Oracle Database Appliance 2.6”!

    www.oracle.com/technetwork/middleware/weblogic-oda/overview/index.html

    Oracle WebLogic Server on Oracle Database Appliance 2.6 offers a complete solution for building and deploying enterprise Java EE applications in a fully integrated system of software, servers, storage, and networking that delivers highly available database and WebLogic services. Built with world’s most popular database, Oracle Database and the industry’s best application server, Oracle WebLogic Server, and with its One-Button deployment capability, it delivers the combined high availability and simplicity. It reduces IT cost with the unique capacity-on-demand software licensing model.

    For fully redundant system, storage, Oracle Database Appliance Manager Information, please check out the Oracle Database Appliance data sheet.

    Oracle WebLogic Server on Oracle Database Appliance 2.6 provides:

    • Highly available WebLogic Server with two, four or eight node cluster options that provide the foundation for customers to build and deploy enterprise Java EE applications with support for new features in WebLogic 11g (10.3.6) and 12c (12.1.1).
    • Simple, reliable, affordable platform for deploying end-to-end solutions leveraging not only Oracle Database Real Application Clusters, but also WebLogic and the software load balancer for customers’ Java EE and Database investments.

    The following new features are included in this new release:

    • WebLogic on ODA 2.6 is fully certified with Oracle Database Appliance X3-2 hardware
    • Oracle Traffic Director becomes optional during provisioning process
    • User input the licensed core count, provisioning then it creates pools on the compute nodes and configure Traffic Director and WebLogic Server VMs to use the pools.
    • Oracle Traffic Director 11.1.1.7 template for the load balancer tier

    Please check out the white paper, howto, FAQ, etc for more information.

    www.oracle.com/technetwork/middleware/weblogic-oda/overview/index.html

    Monday Aug 12, 2013

    Announcing Web Socket Proxy and Apache 2.4 support for WebLogic Server plug-in customers

    We are happy to announce the following enhancements to Oracle WebLogic  Plug-In 12.1.2 release:

    - Apache 2.4 Support - WLS Plug-In 12.1.2+ is now supported with vanilla Apache 2.2.x and 2.4.x Web Servers. Customers interested in using WLS Plug-In with vanilla Apache 2.4.x Web Server can download our latest  WLS Plug-In 12.1.2  patch from OTN - http://www.oracle.com/technetwork/middleware/ias/downloads/wls-plugins-096117.html

    - WebSocket Proxy Support  -  WLS Plug-In 12.1.2+ for Apache HTTP Server 2.2.x , 2.4.x Web Servers can now front-end WebSockets applications deployed within WLS 12.1.2. This WebSocket Proxy capability is currently unavailable for OHS and other 3rd party web servers like IIS and iPlanet Web Servers. 

    - This enhancement is tracked via bug - 17085296  and is available only for WLS Plug-In 12c release. Also, these enhancements are NOT available for OHS 12.1.2 release. OHS 12.1.3 will deliver the WebSocket Proxy capability.  Our FMW 12.1.2 certification matrix is being updated to reflect that WLS Plug-In 12.1.2 supports Apache 2.4 Web Server.  

    - This enhancement is downloadable either as a patch, for a corresponding platform, from Oracle Support - or from OTN - http://www.oracle.com/technetwork/middleware/ias/downloads/wls-plugins-096117.html . 

    - This enhancement, like any other WLS Plug-In patch, is delivered as a complete zip file and the installation experience is same as WLS Plug-In 11g/12c release. The 'README' provides more information regarding these new capabilities. The next doc refresh for WLS Plug-In 12c product documentation will include this information as well. 

    - Last but not least, any future patches for WLS Plug-In 12.1.2 will include these enhancements as well.  This enhancement addresses several of our customers long standing wish regarding Apache 2.4 Web Server support. 


    Sunday Aug 11, 2013

    Customer White Paper on Active GridLink

    There's a new white paper available at http://www.oracle.com/technetwork/middleware/weblogic/overview/activegridlinkwhitepaperoraclenec-1987937.pdf that is jointly written by NEC and Oracle.

    It starts out by covering terms and features in Oracle RAC, Oracle database 11gR2 and 12c, and WebLogic Server Active GridLink (AGL).  The remainder of the paper focuses on some detailed test scenarios of the 11gR2 Oracle database features with Active GridLink. These are real-world testing results (not all of them turn out as expected) on some fast hardware.   The results include some interesting graphs and tables.  I will include some summary remarks here but I recommend reading the full paper.

    You can use a Single Client Access Name (SCAN) address to take advantage of adding a RAC node without changing the WLS configuration.   SCAN combined with Runtime Connection Load Balancing (RCLB) evens out the connection load across the currently available instances using load balancing advisories.

    Fast Connection Failover (FCF), which you get by default with AGL when Fast Application Notification (FAN) is enabled, can significantly improve response to abnormal events like loss of the public network (15 second response) or loss of the interconnect (33 seconds) compared to waiting for a TCP keep-alive timeout.  However, it needs some network to be available on which to receive event information.  It also didn't help when a process stalls.  Other Oracle timeout mechanisms can be used to help free up the client in these situations (e.g., setting oracle.jdbc.ReadTimeout).  There is a reference in there to NEC ClusterPro to solve the stalled process case - the reference is in Japanese but an internet search will turn up some English documentation.

    There are some interesting tests with setting RLB_GOAL to SERVICE_TIME or THROUGHPUT to enable RCLB.  When additional load is added to one of the instances, the response time initially goes up significantly but RCLB evens it out over time by reducing the connections used on the overloaded instance. However, an issue was found in the case that the load is high (over 80%) that the performance does not improve as expected when using SERVICE_TIME.;  this seems to lean toward using THROUGHPUT for the RLB_GOAL setting (this issue is still being investigated).

    Web Session affinity can significantly reduce interconnect traffic between the RAC instances and thus reduce the related response time (in one test, the response time was cut in half and interconnect traffic basically disappeared).   Also note that session affinity works across session replication in a cluster so even if there is a WebLogic Server failure, cache fusion is reduced when continued on another server with the same session affinity.

    The conclusion is that AGL easukt provides a lot of complex functionality.  Features like session affinity and RCLB is complete transparent to the application (no coding).  AGL fits in well with existing applications.  If you look at this earlier blog Migrating from Multi Data Source to Active GridLink, you will see how easy it is to update the configuration to move from Multi Data Source to AGL and no changes are needed to the application. AGL provides high performance, availability, scalability and serviceability,

    If you are running WebLogic Server 10.3.4 or later and using RAC 11gR2 or later, check out Active GridLink..



    Friday Aug 09, 2013

    Oracle and NEC Joint White Paper: WebLogic Server Active GridLink for Oracle RAC Testing Scenarios and Results

    Oracle and NEC have been jointly invested on verifying and testing the Active GridLink for RAC solution implemented within Oracle WebLogic Server which gives the rich functionality for  Oracle Database Real Application Clusters integration.
    The combination of Oracle WebLogic Server Data Source and Connection Pooling solutions and Oracle RAC provides a high-end mission-critical environment offering performance, high scalability and availability features. Load-balancing and Affinity capabilities offersignificant performance improvement for online transaction processing scenarios, as well as improving throughput and total response time. Failover solution gives end-to-end rapid failure detection supporting graceful shutdown for planned and unplanned Oracle RAC node outages.
    In this paper, we start with a brief introduction to Oracle RAC and an overview of the Oracle RAC features supported in Oracle WebLogic Server 11g and 12c. We then focus on details of the effort that have been jointly done with Oracle and NEC with all the detailed testing scenarios and testing results, along with the analysis. The background and overview of NEC’s test of Active GridLink for RAC will be covered in details. The technical details about Runtime Connection Load Balancing, Web Session Affinity, Fast Connection Failover, and how to remove and add the additional RAC node with zero-downtime will be discussed with different use cases.


    Download the white paper! And please share your comments
    http://www.oracle.com/technetwork/middleware/weblogic/overview/activegridlinkwhitepaperoraclenec-1987937.pdf


    Enjoy!

    Wednesday Jul 31, 2013

    JMS JDBC Store Performance Using Multiple Connections

    This article is a bit different than the normal data source articles I have been writing because it's focused on an application use of WebLogic Server (WLS) data sources, although the application is still part of WLS.  Java Messaging Service (JMS) supports the use of either a file store or a JDBC store to store JMS persistent messages (the JDBC store can also be used for Transaction Log information, diagnostics, etc.).  The file store is easier to configure,generates no network traffic, and is generally faster.  However, the JDBC store is popular because most customers have invested in High Availability (HA) solutions, like RAC, Data Guard or Golden Gate,  for their database so using a JDBC store on the database makes HA and migration much easier (for the file store, the disk must be shared or migrated). Some work has been done in recent releases to improve the JDBC store performance and take advantage of RAC clusters.

    It's obvious from the JDBC store configuration that JMS uses just a single table in the database.  JMS use of this table is sort of like a queue so there are hot spots at the beginning and end of the table as messages are added and consumed - that might get fixed in WLS in the future but it is a consideration for the current store performance.  JMS since the beginning has been single threaded on a single database connection.  Starting in WLS 10.3.6 (see this link), the store can run with multiple worker threads each with its own connection by setting Worker Count on the JDBC Persistent Store page in the console.  There are no documented restrictions or recommendations about how to set this value  Should we set it to the maximum allowed of 1000 so we get a lot of work done?  Not quite ...

    Since we have contention between the connections, using too many connections is not good.  To begin with, there is overhead in managing the work among the threads so if JMS is lightly loaded, it's worse to use multiple connections.  When you have a high load, we found that for one configuration, 8 threads gave the best performance but 4 was almost as good at half the resources using the Oracle Thin driver on an Oracle database (more about database vendors below).  Optimization for queues with multiple connections is  a big win with some gains as high as 200%.  Handling a topic is another ... well, topic.  It's complicated by the fact that a message can go to a single or multiple topics and we want to aggregate acknowledgements to reduce contention and improve performance.  Topic testing saw more modest gains of  around 20%, depending on the test.

    How about different data source types? It turns out that when using a RAC cluster and updates are scattered across multiple instances, there is too much overhead in locking and cache fusion across the RAC instances.  That makes it important that all of the reserved connections are on a single RAC instance.   For a generic data source, there is nothing to worry about - you have just one node.  In the case of multi data source (MDS), you can get all connections on a single instance by using the AlgorithmType set to "Failover" (see this link ).   All connections will be reserved on the first configured generic data source within the MDS until a failure occurs, then the failed data source will be marked as suspended and all connections will come from the next generic data source in the MDS.  You don't want to use AlgorithmType set to "Load-Balancing".  In the case of Active GridLink (AGL), it's actually difficult to get connection affinity to a single node and without it, performance can seriously degrade.  Some benchmarks saw performance loss of 50% when using multiple connections on different instances.  For WLS 10.3.6 and 12.1.1, it is not recommended to use AGL with multiple connections.  In WLS 12.1.2, this was fixed so that JMS will reserve all connections on the same instance.  If there is a failure, all of the reserved connections need to be closed, a new connection is reserved using Connection Runtime Load Balancing (RCLB), hopefully on a lightly loaded instance), and then the rest of the connections are reserved on the same instance.  In one benchmark, performance improved by 200% when using multiple connections on the same instance.

    How about different database vendor types?  Your performance will vary based on the application and the database.  The discussion above regarding RAC cluster performance is interesting and may have implications for any application that you are moving to a cluster.  Another thing that is specific to the Oracle database is indexing the table for efficient access by multiple connections.  In this case, it is recommended to use a reverse key index for the primary key.  The bytes in the key are reversed such that keys that normally would be grouped because the left-most bytes are the same are now distributed more evenly (imagine using a B-tree to store a bunch of sequential numbers with left padding with 0's, for example). 

    Bottom line: this feature may give you a big performance boost but you might want to try it with your application, database, hardware, and vary the worker count.




    Tuesday Jul 30, 2013

    Now available installers for Oracle Enterprise Pack for Eclipse 12c and SmartUpgrade 12c

    Now available for download  new installers for  Oracle Enterprise Pack for Eclipse 12c and WebLogicServer SmartUpgrade 12c from the Oracle Technology Network for free development and evaluation purposes.  Licensed customers should download the software from the Oracle Software Delivery Cloud site, which offers different licensing terms.

    Oracle Enterprise Pack for Eclipse (OEPE) 12.1.2 provides exciting new features for enhancing ease of integration with Oracle Coherence 12.1.2 and Oracle WebLogic Server 12.1.2.

    To find what is new in Oracle Oracle Enterprise Pack for Eclipse (OEPE) 12.1.2 read What is New in OEPE 12c, for installation documentation read Oracle Enterprise Pack for Eclipse Installation Guide.

    WebLogic Server SmartUpgrade tool  ensures a highly reliable upgrade process of applications from OC4J  to WebLogic Server 12c.

    Find SmartUpgrade documentation here: Oracle WebLogic Server SmartUpgrade Documentation.

    Don’t forget to register for the WebLogic Server 12.1.2 Online Launch Event on July 31st.


    Monday Jul 29, 2013

    New Whitepaper – Cloud Performance, Elasticity and Multitenancy with Oracle WebLogic Server 12c and Oracle Database 12c

    One of the exciting focus areas of Oracle WebLogic 12c release 12.1.2 is the deep integration with the recently available Oracle Database 12c.

    To hear live about these key integration features, please join our launch event on July 31st

    One of the advantages of having the world’s most popular Database and the #1 Application Server under one roof, is the simple rule of 1+1=3, and what do I mean by that?

    With our Engineering teams on the Database and Middleware side working hand in hand, Oracle WebLogic Server 11g introduced Active GridLink for Real Application Clusters (RAC). In conjunction with Oracle Database, this powerful software technology simplifies management, increases availability, and ensures fast connection failover, with runtime connection, load balancing and affinity capabilities. Deltek is one of the early adopters of these capabilities. Watch their video

    With the release of WebLogic Server 12c (12.1.2), tight integration between Oracle WebLogic Server 12c (12.1.2) and Oracle Database 12c enhances these capabilities with improved availability, better resource sharing, inherent scalability, ease of configuration and automated management facilities in a global cloud environment.


    It’s worth noting that Oracle WebLogic Server is the only application server with this degree of integration with Oracle Database 12c.

    This white paper, authored by Monica Riccelli and Frances Zhao from the CAF Product Management team, explains how these unique database, clustering, and application server technologies work together to enable higher availability, scalability and performance for your business. It starts by introducing Oracle Active GridLink for RAC with attention to ease of configuration, manageability, and performance. Then describes the impact of Oracle WebLogic server on several leading features of Oracle Database12c such as Multitenant Databases (Pluggable Database), Database Resident Connection Pool, Application Continuity, and Global Data Services.

    Please download the whitepaper and let us know your feedback!

    You can read more on this topic in these blogs by Steve Felts:

    Part 1 - 12c Database and WLS – Overview

    Part 2 - 12c Database and WLS - Application continuity


    About

    The official blog for Oracle WebLogic Server fans and followers!

    Stay Connected

    Search

    Archives
    « April 2014
    SunMonTueWedThuFriSat
      
    1
    2
    3
    5
    6
    7
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
       
           
    Today