Tuesday Jan 28, 2014

WebLogic, Database Integration Webcast: Q&A Recording

On January 16th 2014 we presented a webcast “Only with Oracle: Middleware & Database Integration Nirvana. In the webcast we described how Oracle WebLogic Server is uniquely designed to take advantage of built-in cloud capabilities in Oracle Database 12c. We described features that allow you to optimize database density for your middle tier by oversubscribing connection pools for cloud scale, support multitenant applications with pluggable databases, and ensure continuous availability and no lost transactions with transaction replay. We also provided examples of how customers can use this integration to benefit their businesses.

You can find a recording of the webcast here

The audience interest in this topic is exceptionally high and during the webcast there were many [almost 100] questions. Most relevant questions and answers have been transcribed below for your reference.

Questions

Answers

I have been a long time Oracle Database customer. What is the process to start evaluating WebLogic? What is the first step? Should I start with one application and test the performance increase before proceeding further?

The first step would be to obtain a WebLogic Server license, and then you probably would want to write a test application to try out these features.

Do you have an idea of how much performance improvement I can get when using ActiveGridLink for RAC?

We have observed up to 50% improvement in performance using WebSession Affinity with Active Grid Link for RAC. NEC Japan did a joint venture with WebLogic Server to analyze the benefits of Active GridLink for RAC please reference the white paper for test results

http://www.oracle.com/technetwork/middleware/weblogic/overview/activegridlinkwhitepaperoraclenec-1987937.pdf

Do I have to have ActiveGridLink for RAC to use the DB12c features like Application Continuity, DRCP, Multi Tenancy, and Global Data Services?

There are advantages to use Active Grid Link with Application Continuity even though in WLS 12.1.2 you can do Application Continuity with a Generic Datasource. For Global Data Services you must use Active Grid Link. Multi Tenant DBs and DRCP work with either Active Grid Link or Generic Datasources.

With Application Continuity am I assured that I no longer will get errors and that all requests will be replayed?

Application Continuity handles most errors; these errors must be recoverable errors. Application Continuity is very conservative; if there have been any changes in the data the application would get before the replay then AC will not replay the operations. For this reason we recommend that applications retain their exception handling.

Are features talked about today available on any platform or Exalogic/Exadata only?

On any platform.

Does middleware need a database?

It all depends on what work your applications are doing.

We have Agile 9.3.1 on Oracle AS. We want to migrate the Oracle AS to WebLogic. Is there a metalink note on how to get started?

Yes there are very detailed resources on this. I would recommend starting with our e-book on this topic. You can find it here:

http://bit.ly/OAS_to_WLS_ebook

Do you have a test application or say eg application?

We have blogs posted on this area that will help you: https://blogs.oracle.com/WebLogicServer/

Is the evaluation of WLS similar to the db in that we can download and install the WLS in a DEVELOPMENT setting without a license?

Yes that is correct; you can obtain a Development license.

What is the future of distributed cache such as Coherence in Oracle's middleware strategy?

Coherence is very strategic to Fusion Middleware. Many of our customers are using Coherence to offload data from backend to increase performance and availability of data

Which WebLogic version contains the Active Grid Link feature?

Starting with WebLogic Server 10.3.6.

Does Active Grid Link require Oracle RAC?

Yes, Active Grid Link is a WebLogic Server Datasource integration with RAC clusters.

On our current project we had a java piece which uses WC spaces and for that a db specifically created for this. Trying to understand is there a better way to handle it.

I would need clarification of what is the current approach you are using to handle WC and what are the DB requirements? In what way would you like to improve this?

Is Failover to another RAC node is automatic or user has to reconnect again?

It is automatic/dynamic, no configuration changes or manual intervention is needed in WebLogic.

What about the transaction if a websession fail over to the other DB server in case of fast connection failover?

Transaction affinity is strict it will not connect to a second RAC instance unless there is a connection error.

Is Active Gridlink installed with WebLogic automatically or we have to install it separately?

Active Grid Link is a WLS Datasource it comes with the product.

Does Oracle Forms support automatic failover to active RAC node?

Forms application instance can "failover" but it doesn't happen transparently.  If one session dies a user will be failed over to a NEW session - and he would start at screen 1 again and any unsaved data would be lost.

With GridLink and session affinity, how are JTA transactions handled? Are there guarantee for a Commit or Rollover in case DB NODE failure?

Yes if there is a failover and the transaction has entered the 2 phase transactions will complete on the failed over RAC instance.

Is Active Grid Link license included in WebLogic license? And which edition?

With WebLogic Server Suite.

Any limitations to the nodes- how many max modes for load distribution?

Active Grid Link can load balance connections on as many RAC instances as there are in the cluster. How many RAC instances are supported on a RAC cluster efficiently is a question for a Database expert. This is a question of resource management in the database.

Is GridLink extra cost?

Active Grid Link for RAC is included with the Oracle WebLogic Suite license. You should check internally with your project team or your Oracle sales rep whether you are licensed for Oracle WebLogic Suite.

How does it differ from MultiDataSource?

There is a good comparison in our documentation at http://docs.oracle.com/middleware/1212/wls/JDBCA/gridlink_datasources.htm#BABHJBGJ

Active GridLink:
• Requires one data source with a single URL. Multi data sources require a configuration with n generic data sources and a multi data source.
• Eliminates a polling mechanism that can fail if one of the generic data sources is performing slowly.
• Eliminates the need to manually add or delete a node to/from the cluster.
• Provides a fast internal notification (out-of-band) when nodes are available so that connections are load-balanced to the new nodes using Oracle Notification Service (ONS).
• Provides a fast internal notification when a node goes down so that connections are steered away from the node using ONS.
• Provides load balancing advisories (LBA) so that new connections are created on the node with the least load, and the LBA information is also used for gravitation to move idle connections around based on load.
• Provides affinity based on your XA transaction or your web session which may significantly improve performance.
• Leverages all the advantages of HA configurations like DataGuard.

Does it need to be thick or thin driver for continuity?

Thin driver

Can the database servers themselves be redundant?

If you refer by database redundancy as the ability of Active Grid Link failing over between RAC clusters this is possible with the use of DataGuard please read the white paper

http://www.oracle.com/technetwork/middleware/weblogic/learnmore/1534212.

- - ah - so there is a limit to the physical DB on the RAC side. Too many can still be a problem then.

Well this is a question of resource management in the database. Active Grid Link will do runtime load balancing, fast connection failover to as many RAC instances as there are in the cluster.

When configuring WebLogic for RAC aware clusters for Oracle DBMS for enterprises with global dispersed sites, will single pool configuration support also do or is such management dynamic connection support just for local data centers alone?

Active Grid Link with Data Guard can manage connections between 2 data centers without having to change the WLS configuration, please read the white paper that explains how to configure http://www.oracle.com/technetwork/middleware/weblogic/learnmore/1534212

If the db tier is not RAC, do you recommend MultiDataSource over the AGL?

Active Grid Link is a WLS datasource integration with RAC clusters. If your database is non RAC then you should use MultiDatasources.

Where can the white paper that goes into details about WebLogic Database integration found?

http://www.oracle.com/technetwork/middleware/weblogic/learnmore/weblogicserverintegration-1991450.pdf

What are the limitations of Application Continuity? When can't I use it?

Application Continuity does not work with Default database or default PDB service, it does not support XA transactions in Database 12.1, and Application Continuity will not replay operations on Java deprecated concrete classes.

Can you provide the link to the white paper you mention about wls 12.1.1 and db 12c integration please?

In the white paper look at Table 1 it will show you the combinations of WebLogic Server, driver, database versions that support the Database 12c features

http://www.oracle.com/technetwork/middleware/weblogic/learnmore/weblogicserverintegration-1991450.pdf

Is EBS or PeopleSoft certified with DRCP?

EBS and PeopleSoft are not using Database 12c yet.

Are these features work with non RAC database?

Yes these features work with RAC and Generic Databases.

In our current integration project we had to make many data sources to DB due to overloading, will Active GridLink be okay for that case or we will be need to configure more Grid links?

No you only need a single Active Grid Link Datasource. You would want to configure both your Database as well as you WLS Datasource to be able to best handle the load.

Please recap the two ways mentioned to connect to Multitenant data bases.

One way is to have a single WLS Datasource that pools connections to the different PDBs. The second configuration is one WLS Datasource per PDB, you would configure the WebLogic Datasources as you do today when connecting to different Databases.

Please refer to the blog posting https://blogs.oracle.com/WebLogicServer/entry/part_3_12c_database_and for a description.

Is there any tool for automated upgrade of the code from 10.3.x to 12c WebLogic?

Everything should be upward compatible. If you want to upgrade from MultiDataSources to Active Grid Link, see

http://docs.oracle.com/middleware/1212/wls/JDBCA/gridlink_datasources.htm#BABHJBGJ

What is the failover mechanism for GridLink?

Grid Link will receive a FAN event from the Database, indicating that the RAC instance has come down. Active Grid Link will then make a connection to one of the surviving instances.

Node affinity and session affinity, is one we are doing what 3rd party load balance tool like big ip does, is that correct ? In that case which one is better to go for?

WLS does websession and transaction affinity with Active GridLink and not with a 3rd party. In the case of Transaction affinity the first connection is load balanced, once the connection is made to a RAC instance the affinity is saved in the transaction context. For the life of the transaction it will go against the same RAC instance. Websession affinity works the same way.

Is Active grid linked packed with WebLogic or needs separate setup and installation?

Active Grid Link is a WebLogic Datasource and is part of the WebLogic product.

What if the GridLink itself fails?

If Active Grid Link fails you would untarget the Datasource and then re-target it. If ActiveGridLink fails because of the health of the WebLogic server is bad, you would need to restart the server.

Can we set custom load balancing policies?

The load balancing policy is set on the database service on the database server side.

Can we use Active grid link option of WebLogic with Oracle Forms sessions?

Yes, but any failover is not completely transparent, the forms application after the failover to a new session would start at screen 1 again and any unsaved data would be lost.

Is there any sharding capabilities build in similar to multi-tenancy?

Sharding is not based or related to MultiTenancy. Sharding will be provided in a future release of Oracle Database.

Grid Link failover only detects node failure, or if database is down in RAC, then also it redirects connection to other RAC database?

ActiveGridLink fails over to other RAC instances within the RAC cluster. When ActiveGridLink is used together with DataGuard it can be used to failover between two different RAC clusters.

Is Global Data Services similar to MultiDataSrouce?

No it is not. Global Data Services is a Database feature not a WebLogic Datasource. Global Data Services manages global services that are available in more than one data center, or more than one RAC cluster, more than one Database. WebLogic Server integrates to it by using Active Grid Link.

Can GridLink support, active active databases as a single unit ?

The Oracle solution for active-active databases is Golden Gate. Active Grid Link works with Golden Gate.

Does WebLogic Active Grid Link works only with Oracle database, or it has support with other databases like Teradata and SQL?

Active Grid Link is a special feature of the WebLogic-OracleDB integration. We encourage you to look into it for special features and benefits.

How would ActiveGridLink handle a node hang or slow response?

Active Grid Link would not take any existing connection away from the application (even when connected to a slow RAC instance). Any new connection requests from the application would be given to less loaded instances in the RAC Cluster.

Is Active Grid Link available with only WebLogic Suite, WebLogic Server, or both? In other words, is Active Grid Link available with WebLogic Server if we do not have WebLogic Suite?

Active Grid Link is available with WebLogic Suite. All other features are available with all WebLogic Server SKUs.

Global Data Services is not a database but it manages global services across more than one RAC cluster, data centers, and databases. In WLS you would have a Active GridLink Datasource, when a Datacenter comes down, GDS sends an event to AGL indicating where the service is available and AGL will dynamically make a connection to where the service is available.

Global Data Services is not a database but it manages global services across more than one RAC cluster, data centers, and databases. In WLS you would have a Active GridLink Datasource, when a Datacenter comes down, GDS sends an event to AGL indicating where the service is available and AGL will dynamically make a connection to where the service is available.

Friday May 17, 2013

Troubleshooting Tools Part 3 - Heap Dumps

A Heap Dump is a snapshot of the Java process heap memory at a given time.  It's a useful tool to troubleshoot memory leaks and other memory related issues.  Heap dumps are to memory what thread dumps are to java threads.

There are different ways to dump the java heap used by a Java application such as WebLogic Server.  Heap dumps can be triggered automatically by JVMs such as HotSpot or JRockit when an OutOfMemory event occurs.

Example:

java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\myApp\hprof-dumps myApp  

This command will generate a heap dump file in the defined heap dump directory when an OOM is thrown.  

The file will be in HPROF binary format (*.hprof).  If no path is defined the file will be created in the directory from which the java process was launched.  The format of the file with JRockit is jrockit_pid,hprof, pid being the process ID of this JVM instance.  With HotSpot the format of the file will be java_pidpid.hprof.

Example:

java.lang.OutOfMemoryError: Java heap space

Dumping heap to D:\java_pid4148.hprof ...

Heap dump file created [24921731 bytes in 1.400 secs]

For WebLogic Server these properties, HeapDumpOnOutOfMemoryError and HeapDumpPath (optional), can be added directly to the startup script that contain the Java command that launches WLS.  On Windows the script (with default name startWebLogic.cmd) lives in the domain bin directory and the parameters can be directly added to the existing JAVA_OPTIONS.

With a JRockit VM process the following command can also be used to generate a heap dump.

Example:

jrcmd pid hprofdump filename=name_of_dump_file

However if you are using this command against a non JRockit process the following error will come up:

java.io.IOException: Command failed in target VM

You can also manually generate a heap dump with tools such as jmap or VisualVM.

Example:

jmap -heap:live,format=b,file=filename pid

This command will generate a heap dump file in binary format and will only count live objects (the live option is optional). Live objects are used by applications and generally reside in the Young Generation part of the heap.

As illustrated in the screenshot below, generating a heap dump with VisualVM is very simple.  VisualVM is shipped as part of the HotSpot JVM  (/bin/jvisualvm.exe).  However, VisualVM can connect to java processes that started with other JVM such as JRockit.


Once generated, the heap dump will be parsed as shown below:

VisualVM enables you to browse heap dumps as shown above with the Classes view where you can easily identify the number and percentage of instances referred by each class.

jhat can also be used to analyze heap dump files.

Example:

jhat dumpfile

Reading from dumpfile...
Dump file created Fri May 17 15:25:41 PDT 2013
Snapshot read, resolving...
Resolving 580390 objects...
Chasing references, expect 116 dots.............................................
.......................................................................
Eliminating duplicate references................................................
....................................................................
Snapshot resolved.
Started HTTP server on port 7000
Server is ready.

Then you can open http://localhost:7000/ to navigate through the content of the dump file to identify objects with high number of occurrences.

Finally, as shown below, the OpenSource Eclipse MAT offers a very rich GUI that includes histograms and leak hunter actions, overview and leak suspect reports and much more.


Previous posts on troubleshooting tools:

Troubleshooting Tools Part 1 - VisualVM

Troubleshooting Tools Part 2 - jstack

Thursday Dec 06, 2012

How does EJIE, Basque Government's IT arm, uses Oracle WebLogic

Watch Mike Lehmann, Senior Director of Product Management from Oracle and Oscar Guadilla, Senior Architect from EJIE, Basque Government's IT Company, discuss EJIE's implementation of Oracle WebLogic Server. Hear EJIE's history with Oracle WebLogic Server, how and why they are using it for its web application platform, common services, file services, and intranet and the benefits they are gleaning. In addition, hear how EJIE is using WebLogic JMS for document management common service integration in its Eco-government project.

While you are at it, since you are at our youtube channel (www.youtube.com/oracleweblogic) already, take a look at the various 'how to' videos Jeff West, Steve Button and others from our product management team have published here. Topics such as WebLogic Maven Plugin, TopLink Grid, How to Patch a WebLogic domain and much more are covered. Great way to spend some of your downtime during the holidays! :) 

 

Thursday May 19, 2011

WebLogic MDB and Distributed Queue Elastic Capabilities

Recently, a customer asked me how MDBs interact with a Distributed Queue, especially after an Automatic Service Migration event occurs. We have some great technology built into WebLogic Server to make migration and failover seamless. I thought there might be some other folks interested in knowing more about this, too.[Read More]

Wednesday Jul 07, 2010

How to use Security Policies in WebLogic SCA Web Service Binding

[Read More]

Tuesday Dec 01, 2009

Getting started with SCA

[Read More]

Monday Nov 02, 2009

Understanding Custom Context propagation

[Read More]

Monday Oct 05, 2009

Managing WebLogic servers with JConsole

[Read More]

Tuesday Sep 22, 2009

Sample WebLogic JMX Client

[Read More]
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