Saturday, July 20, 2013

Final Release of NetBeans IDE 7.4 Planned for Fall 2013

NetBeans IDE 7.4 Beta extends the advanced HTML5 development support introduced in NetBeans IDE 7.3 to Java EE and PHP application development, while offering new support for hybrid HTML5 application development on the Android and iOS platforms. In addition, this release provides support for working with preview versions of JDK 8, and includes continued enhancements to JavaFX, C/C++ and more.
Release Highlights Include:
  • HTML5
    • Phonegap application development
    • Support for Android and iOS Browsers
    • Editing support for stylesheet languages: SASS and LESS
    • Browser switcher in main toolbar
    • Saving changes from Chrome Developer Tools
    • Network monitor
  • Java EE
    • HTML5 features available in Java EE projects
    • Wizards for JSF 2.2 Resource Library Contracts and FacesComponents
  • PHP
    • HTML5 features available in PHP applications
    • Nette Framework 2 (with Latte templates) and Zend Framework 2 support
    • Atoum testing framework support
    • Editor and Rename type refactoring improvements
    • Static code analysis support
  • Java
    • Preview support for JDK 8 features: Profiles, Lambdas
    • Code completion, Hints and Refactoring improvements
    • Native packaging
    • Updated bundled Ant 1.9.0 and Maven 3.0.5
  • JavaScript
    • Editing support for AngularJS, Knockout and ExtJS frameworks
    • Navigator and code folding in JSON files
    • Enhanced code completion with improved accuracy
  • JavaFX
    • New FXML File dialog in Maven projects
    • Tighter alignment for JavaSE and JavaFX project types
    • Improvements to Project Deployment options
  • C/C++
    • Run/Debug launchers support
    • Find Usages improvements
    • C/C++ formatting style per project
  • Miscellaneous
    • Lock Contention for profiling tasks
    • Enhancements to Versioning tools: Subversion, Git, Mercurial
    • TestNG and Junit improvements
    • Improvements to Databases
    • New Tasks Dashboard and Notifications windows
NetBeans IDE 7.4 Beta is available in English, Brazilian Portuguese, Japanese, Russian, and Simplified Chinese. Visit the 7.4 New and Noteworthy page for a complete list of highlights.
The final release of NetBeans IDE 7.4 is planned for Fall 2013

Thursday, July 11, 2013

Oracle Fusion Middleware 12c (12.1.2.0.0) Released

Oracle Fusion Middleware Team just announced the release of Oracle Fusion Middleware 12c (12.1.2.0.0). Media is being made available for download on the Oracle Technology Network (OTN), and the Oracle Software Delivery Cloud (OSDC). This includes the following products:
  • Oracle WebLogic Server 12c (12.1.2.0.0)
  • Oracle Coherence 12c (12.1.2.0.0)
  • Oracle TopLink 12c (12.1.2.0.0)
  • Oracle Fusion Middleware Infrastructure 12c (12.1.2.0.0)
  • Oracle HTTP Server 12c (12.1.2.0.0)
  • Oracle Virtual Assembly Builder 12c (12.1.2.0.0)
  • Oracle JDeveloper 12c (12.1.2.0.0)
Here is the related information for these releases:

You can also visit the Oracle Fusion Middleware page on OTN to find more information about the products.

Thursday, July 4, 2013

Shared Memory Size - This Is a Prerequisite Condition Tested during Oracle Installation

During the "Prerequisite Checks" of Oracle Database 11g installation[1], one of three issues we have seen is:
  • Shared memory Size

Detailed Message

This is a prerequisite condition to test whether the OS kernel parameter "shmmax" is properly set.(more details)
Expected Value
:Current=4294967296; Configured=4294967296
Actual Value
:Current=2147483648; Configured=2147483648

shmmax & shmall


For Oracle 11g, the following kernel parameters have to be set to values greater than or equal to the recommended values which can be changed in the proc file system:
  • shmmax
    • The maximum size of a shared memory segment
  • shmall[2]
    • This parameter sets the total amount of shared memory pages that can be used system wide. Hence, shmall should always be at least 
      • ceil ( shmmax / PAGE_SIZE).
In some early versions of the kernel, this needed to be changed and the kernel rebuilt. Since the 2.2 version of the kernel, it can be changed while the system is running with commands like

#echo "4294967296" >/proc/sys/kernel/shmmax 
#echo "1048576" >/proc/sys/kernel/shmall

would set it to 4GB.  Note that we also set shmall to be 1M pages.  You can find the size of page by using:

# getconf PAGE_SIZE
4096

Also note that this needs to be done after each boot.  So, you want to control this at boot by using sysctl. You can place entries in /etc/sysctl.conf like:

kernel.shmmax=4294967296
kernel.shmall=1048576

which will be processed at your next reboot and set it to 4GB, 4 * 1024*1024*1024. Larger values are supported. Check the manuals that came with your Linux distribution[3].

More Information


Oracle uses shared memory for implementing the SGA, which needs to be visible to all database sessions.  On OTN, it recommends setting shmmax to be:
  • SHMMAX= max value of shared memory segment = 0.5 * size of physical memory

For servers running Oracle Fusion Applications, shared memory are also needed for Java heap.  It is recommended that your shared memory segment be larger than the Java heap size.

To determine your physical memory size, you use:
  • #cat /proc/meminfo | grep MemTotal
    MemTotal:     148425832 kB
In summary, you can use the following commands to manage shared memory:
  • To view current settings, run command: 
    • # more /proc/sys/kernel/shmmax
  • To set it to a new value for this running session, which takes effect immediately, run command: 
    • # echo 4294967296 > /proc/sys/kernel/shmmax
  • To have the changes to survive reboot, modify the /etc/sysctl.conf file:
    • kernel.shmmax = 4294967296

References

  1. Installing Oracle Database 11g Release 2
  2. Meaning of SHMALL kernel variable
  3. Verifying Kernel Parameters (Redhat)
  4. How I Simplified Oracle Database Installation on Oracle Linux (Good)
  5. Kernel Configuration
  6. Linux Tuning Parameters



Wednesday, July 3, 2013

Why My WebLogic Managed Server is in ADMIN State?

After bringing up CommonDomain in WebLogic, I have tried to bring up all its managed servers. Some servers were in RUNNING state. However, some were in ADMIN state.

What's ADMIN state?


In the ADMIN state, WebLogic Server is up and running, but available only for administration operations, allowing you to perform server and application-level administration tasks. Read [1] to find out what you can do when a server instance is in the ADMIN state. For example, you can resume its state from the WebLogic Console. However, even it can be resumed to the RUNNING state, the underlying issue, which has brought it to the ADMIN state at beginning, remains un-handled. So, you must check out what happened from the server log files.

The Culprit


As stated in [2], it says:
Most of the cases it happens if any of the Database is down and WebLogic tries to create the Connection Pool at the boot up time. One way to avoid this kind of scenario is to set the InitialCapacity of the DataSource to 0 (Zero) so that weblogic will not try to create any JDBC Connection object at the start up time so like this we can avoid Connection creation failure conditions and avoid moving our server to ADMIN State.

Our case was exactly like that—the database was down.

Conclusion


If you have found the following entries in your log file:
MDS-01376: Unable to get database connection from data source "mds-SpacesDS" configured with JNDI name "jdbc/mds/SpacesDS".
weblogic.common.resourcepool.ResourceDeadException: 0:weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: IO Error: The Network Adapter could not establish the connection
        at oracle.mds.internal.lcm.deploy.DeployManager.deploy(DeployManager.java:747)
        at oracle.mds.internal.lcm.deploy.DeployManager.startDeployment(DeployManager.java:211)
        at oracle.mds.internal.lcm.MDSLifecycleListenerImpl.start(MDSLifecycleListenerImpl.java:215)
        at oracle.mds.lcm.weblogic.WLLifecycleListener.preStart(WLLifecycleListener.java:77)
        at weblogic.application.internal.flow...$PreStartAction.run(BaseLifecycleFlow.java:290)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at weblogic.application.internal....$LifecycleListenerAction.invoke(BaseLifecycleFlow.java:207)

the solution of it is checking the health of your database, which your managed servers depend on.

References

  1. Understanding Server Life Cycle
  2. WebLogic Server is in ADMIN State ?