JNI Invocation retry from JNI_ENOMEM leads to JNI_ERR

We are using JNI Invocation from a C++ program to call from C++ to Java in a cross-platform Windows/Mac program. Usually this works great. Lately, though, we have been running into some issues on Windows XP (no problems so far on either Windows Vista or Mac OS X).
In the problem cases, when we try to create the JVM, we get a JNI_ENOMEM error. This is odd since there appears to be plenty of memory available. We then try again, asking for less JVM memory. But that never seems to work - instead, we get a JNI_ERR message when retrying, at which point we are giving up. Asking for less memory does work when we do it the first time we try to create the JVM. But setting the maximum memory value that small would cause us to run out of JVM memory when handling larger data sets.
Here's the basic code that we are using. Is there something obvious that we are doing wrong here when trying to create the JVM a second time?
JavaVM *Jvm_mine;
JNIEnv *Env_mine;
JavaVMInitArgs vm_args;
JavaVMOption options[3];
char* classpathC;
char* vmpathC;
// Omitting classpathC and vmpathC assignment
options[0].optionString = classpathC;
options[1].optionString = "-Xms32m";
options[2].optionString = "-Xmx512m"
vm_args.version = JNI_VERSION_1_4;
vm_args.options = options;
vm_args.ignoreUnrecognized = JNI_TRUE;
// JNU_FindCreateJavaVM taken from Liang's JNI book
CreateJavaVM_t pCreateJVM = JNU_FindCreateJavaVM(vmpathC);
result = pCreateJVM(&Jvm_mine, (void**)(&Env_mine), &vm_args);
// Usually this works, but sometimes on XP we get JNI_ENOMEM
if (result == JNI_ENOMEM) {
    options[2].optionString = "-Xmx256m";
    result = pCreateJVM(&Jvm_mine, (void**)(&Env_mine), &vm_args);
    // We nearly always get a JNI_ERR value in result here
}Pointers to debugging tools we could use to figure out why we are getting either the first JNI_ENOMEM error or the second JNI_ERR error would also be appreciated.
Thanks for any assistance!
Michael

I also need to destroy the jvm from w/in a dll but i havent been able to get it to work properly. So far, everything ive read in the forum says just dont use it. but i dont want to just leave it hanging around.
if you hear anything different, please share. :)
txjump

Similar Messages

  • JNI FindClass Error: Using the Invocation API  from visual C++

    I am using JNI invocation api in microsoft visual c++ to invoke java. When I use the FindClass method, I get a return value of 0. I have verified that the class "a" exists and believe have set the java class path appropriately. A valid jvm and jenv are created. The program fails at the FindClass call and returns 0.
    std::string classPath = "c:\\work\\java;C:\\j2sdk1.4.2_08;C:\\j2sdk1.4.2_08\\bin;C:\\j2sdk1.4.2_08\\lib";
         vmArgs.classpath = classpath;
         jint res = JNI_CreateJavaVM(&jvm, (void**)(&jenv), &vmArgs);
         if (res < 0)
              cout << "Error!! Cannot create jvm" << endl;
    jclass jFixEngineClass1 = jenv->FindClass("a");
         if (jFixEngineClass1 == 0)
              cout << "Error could not find a class" << endl;
         else
              cout << "a class found" << endl;
    thanks in advance,
    hcg

    Jschell,
    Thanks for your help.
    I found the error. I was using JDK1_1InitArgs for my vm_args. Since, I am using JDK 1.4, the classpath I was setting was not getting picked up. I changed the vm_args type as in the code below and it worked.
    JavaVMInitArgs vmArgs;
         JavaVMOption options[1];
         char classPathDef[1024];classPathDef[0] = '\0';
         sprintf(classPathDef, "%s", "-Djava.class.path=");
         sprintf(classpath, "%s%s", classPathDef, NYSE_FIX::userClassPath.c_str());
         options[0].optionString = classpath;
         cout << "Option string is:" << options[0].optionString << endl;
    vmArgs.version = 0x00010004;
    vmArgs.options = options;
    vmArgs.nOptions = 1;
    vmArgs.ignoreUnrecognized = JNI_TRUE;
         jint ret = JNI_GetDefaultJavaVMInitArgs(&vmArgs);

  • JNI Invocation: open file in Java, write file in CPP

    Hello,
    Warning: I am a dunce, bad CPP code ahead!
    Using JNI invocation, I am trying to read a binary file in Java and write it in CPP.
    Everything compiles and runs without error, but the input and output jpg files are of course different.
    TIA to any help,
    kirst
    (begin ByteMe.java)
    import java.io.*;
    public class ByteMe
        // Returns the contents of the file in a byte array.
        public byte[] getBytesFromFile(String strInfo) throws IOException
            System.out.println("Testing:" + strInfo);
            File file = new File("1.jpg");
            InputStream is = new FileInputStream(file);
            // Get the size of the file
            long length = file.length();
            // Create the byte array to hold the data
            byte[] bytes = new byte[(int)length];
            // Read in the bytes
            int offset = 0;
            int numRead = 0;
            while (offset < bytes.length
                   && (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) {
                offset += numRead;
            // Ensure all the bytes have been read in
            if (offset < bytes.length)
                throw new IOException("Could not completely read file "+file.getName());
            // Close the input stream and return bytes
            is.close();
            return bytes;
        public ByteMe()
              //System.out.println("in constructor");
    }(end ByteMe.java)
    (begin ByteMe.cpp)
    #include <stdlib.h>
    #include <string.h>
    #include <jni.h>
    #include <windows.h>
    // for file operations:
    #include <fstream>
    int main( int argc, char *argv[] )
         JNIEnv *env;
         JavaVM *jvm;
         JavaVMInitArgs vm_args;
         JavaVMOption options[5];
         jint res;
         jclass cls;
         jmethodID mid;
         jstring jstr;
         jobject obj_print;
         options[0].optionString = "-Xms4M";
         options[1].optionString = "-Xmx64M";
         options[2].optionString = "-Xss512K";
         options[3].optionString = "-Xoss400K";
         options[4].optionString = "-Djava.class.path=.";
         vm_args.version = JNI_VERSION_1_4;
         vm_args.options = options;
         vm_args.nOptions = 5;
         vm_args.ignoreUnrecognized = JNI_FALSE;
         // Create the Java VM
         res = JNI_CreateJavaVM(&jvm,(void**)&env,&vm_args);
         if (res < 0)
              printf("Can't create Java VM");
              goto destroy;
         cls = env->FindClass("ByteMe");
         if (cls == 0)
              printf("Can't find ByteMe class");
              goto destroy;
         jmethodID id_construct = env->GetMethodID(cls,"<init>","()V");
         jstr = env->NewStringUTF(" from C++\n");
         obj_print = env->NewObject(cls,id_construct);
         // signature obtained using javap -s -p ByteMe
         mid = env->GetMethodID(cls, "getBytesFromFile", "(Ljava/lang/String;)[B");
         if (mid == 0)
              printf("Can't find ByteMe.getBytesFromFile\n");
              goto destroy;
         else
              jbyteArray jbuf = (jbyteArray) env->CallObjectMethod(obj_print,mid,jstr);
              jlong size = jsize(jbuf);
              printf("size is: %d\n", size); // size shown in output is
              std::ofstream out("data.jpg", std::ios::binary);
              out.write ((const char *)jbuf, 100000);     
         destroy:
             if (env->ExceptionOccurred())
                env->ExceptionDescribe();
        jvm->DestroyJavaVM();
    }(end ByteMe.cpp)

    Hello,
    Me again. Well, not such a dunce after all. Here is code that works correctly, and compiles with no errors and no warnings.
    Will much appreciate help with clean-up code.
    TIA,
    kirst
    (begin ByteMe.java)
    import java.io.*;
    public class ByteMe
        public long getFilezize(String strInfo) throws IOException
              // demonstrates String parameter passed from CPP to Java:
              System.out.println("(getFilesize) Hello world" + strInfo);
              File file = new File("1.bmp");
              InputStream is = new FileInputStream(file);
              // Get the size of the file
              long length = file.length();
              is.close();
              return length;
        // Returns the contents of the file in a byte array.
        public byte[] getBytesFromFile(String strInfo) throws IOException
            System.out.println("(getBytesFromFile) Hello world" + strInfo);
            File file = new File("1.bmp");
            InputStream is = new FileInputStream(file);
            // Get the size of the file
            long length = file.length();
            System.out.println("length is: " + String.valueOf(length));
            // Create the byte array to hold the data
            byte[] bytes = new byte[(int)length];
            // Read in the bytes
            int offset = 0;
            int numRead = 0;
            while (offset < bytes.length && (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0)
                offset += numRead;
            // Ensure all the bytes have been read in
            if (offset < bytes.length)
                throw new IOException("Could not completely read file "+ file.getName());
            // Close the input stream and return bytes
            is.close();
            return bytes;
        public ByteMe()
              //System.out.println("in constructor");
    }(end ByteMe.java)
    (begin ByteMe.cpp)
              Signature obtained with command:
                   "C:\Program Files\Java\jdk1.5.0_15\bin\javap.exe" -s -p ByteMe
                   Compiled from "ByteMe.java"
                   public class ByteMe extends java.lang.Object{
                   public long getFilezize(java.lang.String)   throws java.io.IOException;
                     Signature: (Ljava/lang/String;)J
                   public byte[] getBytesFromFile(java.lang.String)   throws java.io.IOException;
                     Signature: (Ljava/lang/String;)[B
                   public ByteMe();
                     Signature: ()V
         Compiled VC++ 2005 Express, run on Vista
    #include <stdlib.h>
    #include <string.h>
    #include <jni.h>
    // file operations
    #include <fstream>
    int main( int argc, char *argv[] )
         JNIEnv *env;
         JavaVM *jvm;
         JavaVMInitArgs vm_args;
         JavaVMOption options[5];
         jint res;
         jclass cls;
         jmethodID mid;
         jmethodID sizeid;
         jstring jstr;
         jobject obj_print;
         jlong filesize;
         options[0].optionString = "-Xms4M";
         options[1].optionString = "-Xmx64M";
         options[2].optionString = "-Xss512K";
         options[3].optionString = "-Xoss400K";
         options[4].optionString = "-Djava.class.path=.";
         vm_args.version = JNI_VERSION_1_4;
         vm_args.options = options;
         vm_args.nOptions = 5;
         vm_args.ignoreUnrecognized = JNI_FALSE;
         // Create the Java VM
         res = JNI_CreateJavaVM(&jvm,(void**)&env,&vm_args);
         if (res < 0)
              printf("Can't create Java VM");
              goto destroy;
         cls = env->FindClass("ByteMe");
         if (cls == 0)
              printf("Can't find ByteMe class");
              goto destroy;
         jmethodID id_construct = env->GetMethodID(cls,"<init>","()V");
         printf("%s\n",id_construct);
         jstr = env->NewStringUTF(" from C++!\n");
         if (jstr == 0)
              // Normally not useful
              printf("Out of memory (could not instantiate new string jstr)\n");
              goto destroy;
         obj_print = env->NewObject(cls,id_construct);
         //BEGIN BLOCK to get file size
         sizeid = env->GetMethodID(cls, "getFilezize", "(Ljava/lang/String;)J");
         if (sizeid == 0)
              printf("Can't find ByteMe.getFilezize\n");
              goto destroy;
         else
              printf("got here\n");
              filesize =(jlong) env->CallObjectMethod(obj_print,sizeid,jstr);
              printf("got filesize\n");
         // END BLOCK to get file size
         // BEGIN BLOCK to write file
         mid = env->GetMethodID(cls, "getBytesFromFile", "(Ljava/lang/String;)[B");
         if (mid == 0)
              printf("Can't find ByteMe.getBytesFromFile\n");
              goto destroy;
         else
              jbyteArray ret =(jbyteArray) env->CallObjectMethod(obj_print,mid,jstr);
              // Access the bytes:
              jbyte *retdata = env->GetByteArrayElements(ret, NULL);
              // write the file
              std::ofstream out("data.bmp", std::ios::binary);
              //out.write ((const char *)retdata, 921654);
              out.write ((const char *)retdata, (long)filesize);
         // END BLOCK to write file
         destroy:
             if (env->ExceptionOccurred())
                env->ExceptionDescribe();
        jvm->DestroyJavaVM();
    }(end ByteMe.cpp)

  • My daughter disconnected her iPod nano from the lead before ejecting the device.  It no longer syncs and we have re-set the device, but it now only occasionally appears on the computer screen any suggestions please?

    My daughter disconnected her iPod nano from the lead before ejecting the device.  It no longer syncs and we have re-set the device, but it now only occasionally appears on the computer screen any suggestions please?

    Restoring the iPod will do nothing to his iPhone.
    When you restore it wipes the iPod clean no matter what computer you use.
    The only plus to doing it form your home computer is if you have a backup stored there, then you can restore from the backup once it's done wiping.
    If you are away form your home computer, go ahead and use the computer you have to restore it, then when you get home, you can restore form any backup you may find. You can use this to help you do that when you get there: http://support.apple.com/kb/ht1766

  • How to upload the invocie verify from excel file?

    How to upload the invocie verify from excel file?
    there is more items requied to input.
    refer to MIR7
    thanks

    How to upload the invocie verify from excel file?
    there is more items requied to input.
    refer to MIR7
    thanks

  • Create Activity from a Lead on PCUI

    Hi everybody,
    I am having a problem, I don't know if anybody has had this before. I am trying to create an Activity from the lead screen on PCUI by using the Standard create activity button, but when I click on it instead of trying to open a popup accessing the portal and one of the roles in it, it tries to open a popup calling the CRM WAS but it sends the portal role and i-view information. Of course with this instead of getting the activity I-view open I am getting a BSP Error from the PCUI BSP application.
    I am not sure why is this happening I am using the standard i-views.
    The exact error I am getting is as follows:
    Business Server Page (BSP) Error
    What happened?
    Call of BSP page terminated due to error.
    Note
    Following error text processed in system:
    BSP Exception: the Application Name com.sap.pct.crm.LeadManager in URL /roles/com.sap.pct.crm.LeadManager/ActivityManagement/MaintainActivities_2?DynamicParameter=CRM_OBJECT_TYPE%3DBUSINESSACTIVITYCRM%26CRM_BOR_TYPE%3DBUS2000126%26CRM_LOGSYS%3DCRDCLNT110%26CRM_NAV_EVENT%3DCREATE_FOLLOWUP%26sap-syscmd%3Dnocookie%26crm_psid_gu is invalid.
    Error Type:
    Your SAP Business Server Pages Team
    Thanks a lot for any help you can give me on this.
    Regards,
    Felipe

    The CRM Context Service is already installed, but I don't know if maybe something on it was not installed right and I don't know how I could check it.
    Regards,
    Felipe

  • How to get the Converted opportunities from the lead extension BO?.

    Hi Experts,
    In Sales lead after converting to opportunity, it will appear in opportunity sub facet in lead. How to get these opportunity in ABSL script file.
    Technically: In opportunity business object what should i pass to get this converted opportunity from the extension Lead BO.
    If i pass Account ID to the opportunity BO, i am getting more than one opportunities.
    Can you please tell me what are the common and unique field to pass to opportunity BO for getting the corresponding opportunity from the lead extension BO.
    Regards,
    Vijay.

    You have to convert your long string to a table of shorter strings.
    There may be other ways, but one possibility is to use a loop to process you string.
    while (there is something left)
       put the next e.g. 1024 characters in a new row of your table
    endwhile
    If you need to reconstruct your string from the table, don't use simple concatenation since it will remove blanks at the end of lines. Believe me (from experience) sooner or later this will happen.
    Instead you need to either set the subsections of your long string, or insert from the end of your table and keep shifting the contents (probably less efficient) right

  • Debugging JVM crash via JNI Invocation

    Our software is causing a JVM crash with an EXCEPTION_FLT_STACK_CHECK error using the latest
    Sun 1.4.2 and 5.0 JVMs on Windows XP. No such error appears with 1.4 on Macintosh OS X.
    We start the JVM via JNI Invocation - our software is a plug-in for a standard Windows GUI program that
    requires a C++ interface. How can we get a crash dump or otherwise see what is going on when we
    crash? We don't have a chance to catch a Java exception. It seems to be crashing within a very generic
    call to the Xerces 2.6.2 XML parser.
    When we use the "-XX:+ShowMessageBoxOnError" option invoking the JVM, we do see a message box
    on the JVM error. Using the "-Xcheck:jni" option shows no problems. I tried viewing the JVM in jconsole,
    which worked nicely, but adding the "-Dcom.sun.management.jmxremote" option makes the crash
    go away.
    I feel like I've likely missed something obvious in my web and reference searches, but on the other hand
    JNI invocation information can be in short supply. This bug is 100% reproducible with a certain software
    and data setup.
    Thanks for any pointers and advice you can offer!
    Michael

    Thanks. Off list someone also pointed me to the Java troubleshooting guide at:
    http://java.sun.com/j2se/1.5/pdf/jdk50_ts_guide.pdf
    This is very helpful for giving instructions for creating a crash dump. Sun might be able to use it but I can't
    seem to get any response to my JVM bug report, so I'm looking for something that might help me figure
    out what the heck is going on. Is there a way to get a normal Java fatal error log via either
    -XX:+ShowMessageBoxOnError or -XX:OnError?
    Thanks again,
    Michael

  • Automatic account or contact creation from a lead

    Is it possible to automatically create the associated contact record or account record from the lead creation web service?
    (assuming the email address is unique)

    If you are creating a Lead Record using Webservices then you can also automatically create an Account or Contact Record as well. Make sure that you create the code to search the CRM first to make sure that the account or contact dont already exsist and then if they dont create an account or contact if they dont then the lead should be associated with the Account or Contact.

  • ALERT from JNI invocation

    When I invoce the jvm from C++ with -verbose:jni I get the following :
    ***ALERT: JNI local ref creation exceeded capacity (creating: 17, limit: 16)
    at java.lang.System.initProperties(Native Method)
    at java.lang.System.initializeSystemClass(System.java:858)
    ***ALERT: JNI local ref creation exceeded capacity (creating: 18, limit: 16)
    at java.lang.System.initProperties(Native Method)
    at java.lang.System.initializeSystemClass(System.java:858)
    Can anyone explain what's happening ??

    Here's the code that brought up the ALERT :
    STDMETHODIMP CComToJava::CreateJavaVM()
         // TODO: Add your implementation code here
         JavaVM *jvm;
         JNIEnv *env;
         JavaVMOption options[3];
         JavaVMInitArgs vmArgs;
         vmArgs.version = JNI_VERSION_1_2;
         options[0].optionString = "-Djava.compiler=NONE"; /* disable JIT */
         options[1].optionString = "-Djava.class.path=c:\\prototyping\\jni\\classes"; /* user classes */
         options[2].optionString = "-verbose:jni"; /* print JNI-related messages */
         vmArgs.options = options;
         vmArgs.nOptions = 3;
         vmArgs.ignoreUnrecognized = TRUE;
         jint result = JNI_CreateJavaVM(&jvm,(void**) &env, &vmArgs);
         jclass jni2AtlClazz = env->FindClass("jni2atl/Jni2Atl");
         if(result == 0) {
              cout << "VM created" << endl;
         else {
              cout << "VM not created" << endl;
              exit(1);
         if(jni2AtlClazz == NULL) {
              cout << "Didn't find class" << endl;
              exit(1);
         return S_OK;
    /&ers

  • JNI, invocation API

    Hi,
    I would like to start with JNI.
    I read the JNI-Tutorial and
    didn't find the file: jni.h.
    Where can I get it?
    I would like to write an invocation API.
    A VC-program should call a java-function.
    Does anybody know,
    where to find the demo-code (c and java)
    of a 'hello world'-program?
    Thanks
    Ully

    Thanks bschauwe,
    I tested so many things,
    that I installed somethings else,
    but not the sdk!

  • JNI, invocation-API, JNI_CreateJavaVM

    Hi,
    I want to compile 'invoke.c' from the internet and
    get a compiler-error. Does anybody know, what to do?
    Thanks Ully
    c-code:
    #include "jni.h"
    jint res;
    JavaVM *jvm;
    JNIEnv *env;
    JDK1_1InitArgs vm_args;
    res=JNI_CreateJavaVM( &jvm, &env, &vm_args );
    compiler VC++ 6.0:
    error C2664: 'JNI_CreateJavaVM':
    cannot convert parameter 2 from 'struct JNIEnv_ ** ' to 'void ** '

    Hi,
    I want to compile 'invoke.c' from the internet and
    get a compiler-error. Does anybody know, what to do?
    Thanks Ully
    c-code:
    #include "jni.h"
    jint res;
    JavaVM *jvm;
    JNIEnv *env;
    JDK1_1InitArgs vm_args;
    res=JNI_CreateJavaVM( &jvm, &env, &vm_args );
    compiler VC++ 6.0:
    error C2664: 'JNI_CreateJavaVM':
    cannot convert parameter 2 from 'struct JNIEnv_ ** '
    to 'void ** 'Alas, you have to cast &env to (void **). The correct call looks like this:
    res = JNI_CreateJavaVM(&jvm, (void **)&env, &vm_args);
    -Aaron

  • Upon installation of Shackwave Flash update, recieved error message "failed to initialize". Redownloading installer from mozzilla leads to same result.

    Firefox prompts update for shockwave flash. Downloaded installer but repeatedly fails at 50%, reads "failed to initialize." Redownloading the installer leads to the same result.

    Hello, be sure that Firefox is closed (from File > Exit), before install Flash.
    Also be sure to run the Flash installer as Administrator (right-click: Run as ...) to get access rights for installing the files. Any luck ?
    thank you

  • BPEL invocation securely from client using JAZN security not working.

    HI,
    We are trying to invoke the BPEL process securely from the client application using JAZN security settings, this is not working, with any credentilas or with out providing the security credentilas BPEL invocation is happening. Need the solution for this security credentials while invoking the BPEL process.
    Please provide the update at the earliest. Thanks in advance. Your quick update is greatly appreciated.

    Hi James,
    Thanks for the update.
    Please find the attached docs.
    Bpel.xml:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <BPELSuitcase>
    <BPELProcess id="HelloWorld" src="HelloWorld.bpel">
    <partnerLinkBindings>
    <partnerLinkBinding name="client">
    <property name="wsdlLocation">HelloWorld.wsdl</property>
    </partnerLinkBinding>
    </partnerLinkBindings>
    <configurations>
    <property name="role">oc4j-administrators</property>
    </configurations>
    </BPELProcess>
    </BPELSuitcase>
    orion-application.xml: folder location: C:\product1\10.1.3.1\OracleAS_1\j2ee\home\applications\orabpel\META-INF\orion-application.xml
    <?xml version="1.0"?>
    <orion-application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/orion-application-10_0.xsd"
    schema-major-version="10"
    schema-minor-version="0" component-classification="internal-BPEL">
    <connectors path="./oc4j-connectors.xml"/>
         <ejb-module remote="false" path="ejb_ob_engine.jar" />
         <ejb-module remote="false" path="ejb_services.jar" />
         <web-module id="httpbinding" path="httpbinding.war" />
         <web-module id="admin_war" path="admin_war" />
         <web-module id="startup_war" path="startup_war" />
         <web-module id="console_war" path="console_war" />
         <persistence path="persistence" />
         <principals path="principals.xml" />
         <jazn provider="XML" location="../../config/system-jazn-data.xml" jaas-mode="doAsPrivileged">
         <!-- <jazn-web-app auth-method="CUSTOM_AUTH"/> -->
    </jazn>
    <imported-shared-libraries>
         <inherited-shared-libraries/>
         <import-shared-library name="oracle.bpel.common" parent="api" />
         <import-shared-library name="oracle.ws.client" parent="oracle.ws.jaxrpc" version="10.1.3" />
         <import-shared-library name="oracle.ws.jaxrpc" />
         <import-shared-library name="oracle.toplink" />
         <import-shared-library name="oracle.ws.testpage" />
         </imported-shared-libraries>
         <log>
              <file path="application.log" />
         </log>
         <namespace-access>
              <read-access>
                   <namespace-resource root="">
                        <security-role-mapping name="oc4j-administrators">
                             <group name="oc4j-administrators" />
                        </security-role-mapping>
                   </namespace-resource>
              </read-access>
              <write-access>
                   <namespace-resource root="">
                        <security-role-mapping name="oc4j-administrators">
                             <group name="oc4j-administrators" />
                        </security-role-mapping>
                   </namespace-resource>
              </write-access>
         </namespace-access>
         <security-role-mapping name="PUBLIC">
              <group name="{{PUBLIC}}" />
         </security-role-mapping>
    </orion-application>
    web.xml file: C:\product1\10.1.3.1\OracleAS_1\j2ee\home\applications\orabpel\startup\WEB-INF\web.xml
    <?xml version="1.0" ?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app id="StartupWebApp_Id">
    <!--servlet id="BPEL_Axis_Servlet_Id">
    <servlet-name>BPEL_Axis_Servlet</servlet-name>
    <display-name>BPEL Axis Servlet</display-name>
    <servlet-class>com.collaxa.cube.ws.soap.axis.BPELAxisServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet-->
    <servlet id="BPEL_OC4J_Servlet_Id">
    <servlet-name>BPEL_OC4J_Servlet</servlet-name>
    <display-name>BPEL OC4J JAX/RPC Servlet</display-name>
    <description>BPEL endpoint Provider Port via oc4j jax/rpc</description>
    <servlet-class>com.collaxa.cube.ws.soap.oc4j.BPELOC4JServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet id="LoaderServlet_Id">
    <servlet-name>cxloader</servlet-name>
    <servlet-class>com.collaxa.cube.admin.CXLoaderServlet</servlet-class>
    <load-on-startup>3</load-on-startup>
    </servlet>
         <!--servlet-mapping id="BPEL_Axis_Servlet_Mapping_id">
    <servlet-name>BPEL_Axis_Servlet</servlet-name>
    <url-pattern>/*</url-pattern>
    </servlet-mapping-->
    <servlet-mapping id="BPEL_OC4J_Servlet_Mapping_Id">
    <servlet-name>BPEL_OC4J_Servlet</servlet-name>
    <url-pattern>/*</url-pattern>
    </servlet-mapping>
    <security-constraint>
         <web-resource-collection>
              <web-resource-name>Default Domain Pages</web-resource-name>
              <description>These pages are only accessible by authenticated users.</description>
              <url-pattern>*orabpel/default/HelloWorld/v2010_05_02__62961</url-pattern>
         </web-resource-collection>
         <auth-constraint>
         <role-name>oc4j-administrators</role-name>
         </auth-constraint>
    </security-constraint>
    <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>jazn.com</realm-name>
    </login-config>
    <security-role>
    <description>BPEL Admins</description>
    <role-name>oc4j-administrators</role-name>
    </security-role>
    <distributable/>
    <resource-ref id="ResRef_BPELContainerDataSource_Id">
    <res-ref-name>jdbc/BPELServerDataSource</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    <!--ejb-local-ref id="EjbRef_AdaptorManager_Id">
    <ejb-ref-name>ejb/local/AdaptorManagerLocalBean</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local-home>com.collaxa.cube.engine.ejb.interfaces.IAdaptorManagerLocalBeanHome</local-home>
    <local>com.collaxa.cube.engine.ejb.interfaces.IAdaptorManagerLocalBean</local>
    <ejb-link>AdaptorManagerBean</ejb-link>
    </ejb-local-ref>
    -->
    <ejb-ref id="EjbRef_CubeFinder_Id">
    <ejb-ref-name>ejb/collaxa/system/CubeFinderBean</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <home>com.collaxa.cube.engine.ejb.interfaces.ICubeFinderBeanHome</home>
    <remote>com.collaxa.cube.engine.ejb.interfaces.ICubeFinderBean</remote>
    </ejb-ref>
    <ejb-ref id="EjbRef_Dispatcher_Id">
    <ejb-ref-name>ejb/collaxa/system/DispatcherBean</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <home>com.collaxa.cube.engine.ejb.interfaces.IDispatcherBeanHome</home>
    <remote>com.collaxa.cube.engine.ejb.interfaces.IDispatcherBean</remote>
    </ejb-ref>
    <ejb-local-ref>
    <ejb-ref-name>ejb/local/CubeEngineLocalBean</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local-home>com.collaxa.cube.engine.ejb.interfaces.ICubeEngineLocalBeanHome</local-home>
    <local>com.collaxa.cube.engine.ejb.interfaces.ICubeEngineLocalBean</local>
    <ejb-link>CubeEngineBean</ejb-link>
    </ejb-local-ref>
    <ejb-local-ref>
    <ejb-ref-name>ejb/local/ProcessManagerLocalBean</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local-home>com.oracle.bpel.client.ejb.interfaces.IBPELProcessManagerLocalBeanHome</local-home>
    <local>com.oracle.bpel.client.ejb.interfaces.IBPELProcessManagerLocalBean</local>
    <ejb-link>ProcessManagerBean</ejb-link>
    </ejb-local-ref>
    <ejb-local-ref>
    <ejb-ref-name>ejb/local/CubeDeliveryLocalBean</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local-home>com.collaxa.cube.engine.ejb.interfaces.ICubeDeliveryLocalBeanHome</local-home>
    <local>com.collaxa.cube.engine.ejb.interfaces.ICubeDeliveryLocalBean</local>
    <ejb-link>CubeDeliveryBean</ejb-link>
    </ejb-local-ref>
    <ejb-local-ref>
    <ejb-ref-name>ejb/local/KeyGeneratorLocalBean</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local-home>com.collaxa.cube.engine.ejb.interfaces.IKeyGeneratorLocalBeanHome</local-home>
    <local>com.collaxa.cube.engine.ejb.interfaces.IKeyGeneratorLocalBean</local>
    <ejb-link>KeyGeneratorBean</ejb-link>
    </ejb-local-ref>
    <ejb-local-ref>
    <ejb-ref-name>ejb/local/MessageLocalBean</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local-home>com.collaxa.cube.engine.ejb.interfaces.IMessageLocalBeanHome</local-home>
    <local>com.collaxa.cube.engine.ejb.interfaces.IMessageLocalBean</local>
    <ejb-link>MessageBean</ejb-link>
    </ejb-local-ref>
    <ejb-local-ref>
    <ejb-ref-name>ejb/local/ServerLocalBean</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
         <local-home>com.oracle.bpel.client.ejb.interfaces.IServerLocalBeanHome</local-home>
    <local>com.oracle.bpel.client.ejb.interfaces.IServerLocalBean</local>
    <ejb-link>ServerBean</ejb-link>
    </ejb-local-ref>
    </web-app>
    jazn.xml : C:\product1\10.1.3.1\OracleAS_1\j2ee\home\config
    <?xml version = '1.0' encoding = 'UTF-8' standalone = 'yes'?>
    <jazn xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/jazn-10_0.xsd" schema-major-version="10" schema-minor-version="0" provider="XML" location="./system-jazn-data.xml" default-realm="jazn.com" persistence="ALL">
         <property name="custom.sso.url.login" value="/jsso/SSOLogin"/>
         <property name="custom.sso.key.alias" value="{AES-128}dpvTz49oIQWnM1gZfdpZ1w=="/>
         <property name="idm.token.asserter.class" value="oracle.security.jazn.sso.SSOCookieTokenAsserter"/>
         <property name="idm.token.collector.class" value="oracle.security.jazn.sso.SSOCookieTokenCollector"/>
         <property name="idm.token.type" value="HTTP_COOKIE"/>
         <property name="idm.token.collector.cookie.1" value="ORA_OC4J_SSO"/>
         <property name="custom.sso.url.logout" value="/jsso/SSOLogout"/>
         <property name="idm.authentication.name" value="JavaSSO"/>
    </jazn>
    system-jazn-data.xml
    <?xml version="1.0" encoding="UTF-8" standalone='yes'?>
    <jazn-data
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/jazn-data-10_0.xsd"
    schema-major-version="10"
    schema-minor-version="0"
    >
    <!-- JAZN Realm Data -->
    <jazn-realm>
         <realm>
              <name>jazn.com</name>
              <users>
                   <user>
                        <name>Bharani</name>
                        <guid>99116C7155E211DFBFB59D7811B59628</guid>
                        <credentials>{903}26NFSvxAeBAo3nBkbvJ/e2BCD+actZzi</credentials>
                   </user>
              </users>
                   <role>
                        <name>oc4j-administrators</name>
                        <display-name>OC4J Admin Role</display-name>
                        <description>Administrative role for OC4J</description>
                        <guid>8A00C8701A0511DFBF99734349FF0592</guid>
                        <members>
                             <member>
                                  <type>user</type>
                                  <name>oc4jadmin</name>
                             </member>
                        </members>
                   </role>
              </roles>
         </realm>
    </jazn-realm>
    <!-- JACC Repository Data -->
    <jacc-repository>
    </jacc-repository>
    <jazn-policy>
         <grant>
              <grantee>
                   <principals>
                        <principal>
                             <realm-name>jazn.com</realm-name>
                             <type>role</type>
                             <class>oracle.security.jazn.spi.xml.XMLRealmRole</class>
                             <name>jazn.com/oc4j-administrators</name>
                        </principal>
                   </principals>
              </grantee>
              <permissions>
                   <permission>
                        <class>oracle.security.jazn.policy.AdminPermission</class>
                        <name>oracle.security.jazn.realm.RealmPermission$jazn.com$createrole</name>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.policy.AdminPermission</class>
                        <name>oracle.security.jazn.realm.RealmPermission$jazn.com$modifyrealmmetadata</name>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.policy.AdminPermission</class>
                        <name>oracle.security.jazn.policy.RoleAdminPermission$jazn.com/*$</name>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.policy.AdminPermission</class>
                        <name>oracle.security.jazn.realm.RealmPermission$jazn.com$createrealm</name>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.policy.AdminPermission</class>
                        <name>oracle.security.jazn.realm.RealmPermission$jazn.com$droprealm</name>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.policy.AdminPermission</class>
                        <name>oracle.security.jazn.realm.RealmPermission$jazn.com$droprole</name>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.policy.RoleAdminPermission</class>
                        <name>jazn.com/*</name>
                   </permission>
                   <permission>
                        <class>com.evermind.server.AdministrationPermission</class>
                        <name>administration</name>
                        <actions>administration</actions>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.realm.RealmPermission</class>
                        <name>jazn.com</name>
                        <actions>modifyrealmmetadata</actions>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.realm.RealmPermission</class>
                        <name>jazn.com</name>
                        <actions>createrealm</actions>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.realm.RealmPermission</class>
                        <name>jazn.com</name>
                        <actions>dropuser</actions>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.realm.RealmPermission</class>
                        <name>jazn.com</name>
                        <actions>droprealm</actions>
                   </permission>
                   <permission>
                        <class>com.evermind.server.rmi.RMIPermission</class>
                        <name>login</name>
                   </permission>
                   <permission>
                        <class>com.evermind.server.rmi.RMIPermission</class>
                        <name>subject.propagation</name>
                   </permission>
              </permissions>
         </grant>
         <grant>
              <grantee>
                   <principals>
                        <principal>
                             <realm-name>jazn.com</realm-name>
                             <type>role</type>
                             <class>oracle.security.jazn.spi.xml.XMLRealmRole</class>
                             <name>jazn.com/ascontrol_admin</name>
                        </principal>
                   </principals>
              </grantee>
              <permissions>
                   <permission>
                        <class>oracle.security.jazn.policy.AdminPermission</class>
                        <name>oracle.security.jazn.realm.RealmPermission$jazn.com$createrole</name>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.policy.AdminPermission</class>
                        <name>oracle.security.jazn.realm.RealmPermission$jazn.com$modifyrealmmetadata</name>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.policy.AdminPermission</class>
                        <name>oracle.security.jazn.policy.RoleAdminPermission$jazn.com/*$</name>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.policy.AdminPermission</class>
                        <name>oracle.security.jazn.realm.RealmPermission$jazn.com$createrealm</name>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.policy.AdminPermission</class>
                        <name>oracle.security.jazn.realm.RealmPermission$jazn.com$droprealm</name>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.policy.AdminPermission</class>
                        <name>oracle.security.jazn.realm.RealmPermission$jazn.com$droprole</name>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.policy.RoleAdminPermission</class>
                        <name>jazn.com/*</name>
                   </permission>
                   <permission>
                        <class>com.evermind.server.AdministrationPermission</class>
                        <name>administration</name>
                        <actions>administration</actions>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.realm.RealmPermission</class>
                        <name>jazn.com</name>
                        <actions>modifyrealmmetadata</actions>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.realm.RealmPermission</class>
                        <name>jazn.com</name>
                        <actions>createrealm</actions>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.realm.RealmPermission</class>
                        <name>jazn.com</name>
                        <actions>dropuser</actions>
                   </permission>
                   <permission>
                        <class>oracle.security.jazn.realm.RealmPermission</class>
                        <name>jazn.com</name>
                        <actions>droprealm</actions>
                   </permission>
                   <permission>
                        <class>com.evermind.server.rmi.RMIPermission</class>
                        <name>login</name>
                   </permission>
                   <permission>
                        <class>com.evermind.server.rmi.RMIPermission</class>
                        <name>subject.propagation</name>
                   </permission>
              </permissions>
         </grant>
         <grant>
              <grantee>
                   <principals>
                        <principal>
                             <realm-name>jazn.com</realm-name>
                             <type>role</type>
                             <class>oracle.security.jazn.spi.xml.XMLRealmRole</class>
                             <name>jazn.com/oc4j-app-administrators</name>
                        </principal>
                   </principals>
              </grantee>
              <permissions>
                   <permission>
                        <class>com.evermind.server.rmi.RMIPermission</class>
                        <name>login</name>
                   </permission>
              </permissions>
         </grant>
         <grant>
              <grantee>
                   <principals>
                        <principal>
                             <realm-name>jazn.com</realm-name>
                             <type>role</type>
                             <class>oracle.security.jazn.spi.xml.XMLRealmRole</class>
                             <name>jazn.com/users</name>
                        </principal>
                   </principals>
              </grantee>
              <permissions>
                   <permission>
                        <class>com.evermind.server.rmi.RMIPermission</class>
                        <name>login</name>
                   </permission>
              </permissions>
         </grant>
         <grant>
              <grantee>
                   <principals>
                        <principal>
                             <realm-name>jazn.com</realm-name>
                             <type>user</type>
                             <class>oracle.security.jazn.spi.xml.XMLRealmUser</class>
                             <name>jazn.com/anonymous</name>
                        </principal>
                   </principals>
              </grantee>
              <permissions>
                   <permission>
                        <class>com.evermind.server.rmi.RMIPermission</class>
                        <name>login</name>
                   </permission>
              </permissions>
         </grant>
         <grant>
              <grantee>
                   <principals>
                        <principal>
                             <realm-name>jazn.com</realm-name>
                             <type>role</type>
                             <class>oracle.security.jazn.spi.xml.XMLRealmRole</class>
                             <name>jazn.com/BPMSystemAdmin</name>
                        </principal>
                   </principals>
              </grantee>
              <permissions>
                   <permission>
                        <class>com.collaxa.security.ServerPermission</class>
                        <name>server</name>
                        <actions>all</actions>
                   </permission>
              </permissions>
         </grant>
         <grant>
              <grantee>
                   <principals>
                        <principal>
                             <realm-name>jazn.com</realm-name>
                             <type>role</type>
                             <class>oracle.security.jazn.spi.xml.XMLRealmRole</class>
                             <name>jazn.com/BPMDefaultDomainAdmin</name>
                        </principal>
                   </principals>
              </grantee>
              <permissions>
                   <permission>
                        <class>com.collaxa.security.DomainPermission</class>
                        <name>default</name>
                        <actions>all</actions>
                   </permission>
              </permissions>
         </grant>
         <grant>
              <grantee>
                   <principals>
                        <principal>
                             <realm-name>jazn.com</realm-name>
                             <type>role</type>
                             <class>oracle.security.jazn.spi.xml.XMLRealmRole</class>
                             <name>bpel_users</name>
                        </principal>
                   </principals>
              </grantee>
              <permissions>
                   <permission>
                        <class>com.evermind.server.AdministrationPermission</class>
                        <name>administration</name>
                        <actions>administration</actions>
                   </permission>
                   <permission>
                        <class>com.evermind.server.rmi.RMIPermission</class>
                        <name>login</name>
                   </permission>
              </permissions>
         </grant>
         <grant>
              <grantee>
                   <principals>
                        <principal>
                             <class>sun.security.acl.PrincipalImpl</class>
                             <name>oc4j-administrators</name>
                        </principal>
                   </principals>
              </grantee>
              <permissions>
                   <permission>
                        <class>java.lang.RuntimePermission</class>
                        <name>setContextClassLoader</name>
                   </permission>
              </permissions>
         </grant>
    </jazn-policy>
    <!-- Login Module Data -->
    <jazn-loginconfig>
         <application>
              <name>oracle.security.jazn.oc4j.CertificateAuthenticator</name>
              <login-modules>
                   <login-module>
                        <class>oracle.security.jazn.login.module.X509LoginModule</class>
                        <control-flag>required</control-flag>
                        <options>
                             <option>
                                  <name>addAllRoles</name>
                                  <value>true</value>
                             </option>
                        </options>
                   </login-module>
              </login-modules>
         </application>
         <application>
              <name>oracle.security.jazn.tools.Admintool</name>
              <login-modules>
                   <login-module>
                        <class>oracle.security.jazn.login.module.RealmLoginModule</class>
                        <control-flag>required</control-flag>
                        <options>
                             <option>
                                  <name>addAllRoles</name>
                                  <value>true</value>
                             </option>
                        </options>
                   </login-module>
              </login-modules>
         </application>
         <application>
              <name>oracle.security.jazn.oc4j.WebCoreIDSSOAuthenticator</name>
              <login-modules>
                   <login-module>
                        <class>oracle.security.jazn.login.module.coreid.CoreIDLoginModule</class>
                        <control-flag>required</control-flag>
                        <options>
                             <option>
                                  <name>coreid.name.attribute</name>
                                  <value>your credential mapping variable name</value>
                             </option>
                             <option>
                                  <name>addAllRoles</name>
                                  <value>true</value>
                             </option>
                             <option>
                                  <name>coreid.resource.operation</name>
                                  <value>your oreid resource operation</value>
                             </option>
                             <option>
                                  <name>coreid.resource.type</name>
                                  <value>your coreid resource type</value>
                             </option>
                             <option>
                                  <name>coreid.name.header</name>
                                  <value>your http header name variable</value>
                             </option>
                             <option>
                                  <name>coreid.resource.name</name>
                                  <value>your coreid resource name</value>
                             </option>
                             <option>
                                  <name>coreid.password.attribute</name>
                                  <value>your password authentication variable</value>
                             </option>
                             <option>
                                  <name>coreid.password.header</name>
                                  <value>your http header password variable</value>
                             </option>
                        </options>
                   </login-module>
              </login-modules>
         </application>
         <application>
              <name>oracle.security.wss.jaas.SAMLAuthManager</name>
              <login-modules>
                   <login-module>
                        <class>oracle.security.jazn.login.module.saml.SAMLLoginModule</class>
                        <control-flag>required</control-flag>
                        <options>
                             <option>
                                  <name>issuer.name.1</name>
                                  <value>www.oracle.com</value>
                             </option>
                             <option>
                                  <name>addAllRoles</name>
                                  <value>true</value>
                             </option>
                        </options>
                   </login-module>
              </login-modules>
         </application>
         <application>
              <name>oracle.security.jazn.oc4j.DigestAuthenticator</name>
              <login-modules>
                   <login-module>
                        <class>oracle.security.jazn.login.module.digest.DigestLoginModule</class>
                        <control-flag>required</control-flag>
                        <options>
                             <option>
                                  <name>addAllRoles</name>
                                  <value>true</value>
                             </option>
                        </options>
                   </login-module>
              </login-modules>
         </application>
         <application>
              <name>oracle.security.jazn.oc4j.JAZNUserManager</name>
              <login-modules>
                   <login-module>
                        <class>oracle.security.jazn.login.module.RealmLoginModule</class>
                        <control-flag>required</control-flag>
                        <options>
                             <option>
                                  <name>addAllRoles</name>
                                  <value>true</value>
                             </option>
                        </options>
                   </login-module>
              </login-modules>
         </application>
         <application>
              <name>oracle.security.wss.jaas.JAASAuthManager</name>
              <login-modules>
                   <login-module>
                        <class>oracle.security.jazn.login.module.WSSLoginModule</class>
                        <control-flag>required</control-flag>
                        <options>
                             <option>
                                  <name>addAllRoles</name>
                                  <value>true</value>
                             </option>
                        </options>
                   </login-module>
              </login-modules>
         </application>
    </jazn-loginconfig>
    <jazn-permission-classes>
    </jazn-permission-classes>
    </jazn-data>
    It is huge to check all these files, but for reference providing all the files for checking the security details.
    Thanks for your help...

  • Python + Miro from testing lead to corrupted database

    This update today was a killer. Miro just blew up and took all my channel metadata along with it to the tune of 'corrupted database'.
    It doesn't work even when I delete the .miro folder from my home. The thing errors out when I try to close it and stays open...
    OT: I've had a fair share of problems with Miro so I think it's time to look for something less bloated and less fragile. Any ideas?

    user3006396 wrote:
    Hi Experts,
    On one of the servers with Windows Server 2008, we have 5 Oracle 11g databases installed for our dev & testing environments.
    With the help of oracle client we are connecting to those server db's.
    Last Friday,for one of the db's, I have populated a million records to few tables and everything was fine on that day.
    Suddenly on this Monday, one of the front-end users complained that the db was not working. We are not able to connect to that db, but able to connect to one of the other db's on the same server.
    Message thrown was :
    " ORA-12514: TNS:listener does not currently know of service requested in connect
    descriptor "
    I connected to server and tried to login from there..the same message was thrown, but able to connect to other db's.
    Finally I set the oracle_home path to the db to which i was not able to login and connected using
    something like....
    conn /as sysdbaidle instance
    startup;database mounted
    database started
    After that i was able to connect to that db as well as all other db's on the server.
    My doubt is, why suddenly that stopped working and it didn't work until i use "startup" command ?
    Also, how DBA's maintain server's with multiple oracle_home's?(though recommended to have multiple schema's instead of multiple db's)
    I'm the only Oracle guy in the team and need to take care of everything(basically i'm developer and new to DBA related tasks)
    My lead's warned me to make sure that it won't happen again !!
    Thanks guys.. you are always awesome in giving nice suggestions.find alert_SID.log file post excerpt showing entries from period just prior to the DB STARTUP.
    it appears the instance went missing.
    Hopefully the log file will have clues as to why it went away.

Maybe you are looking for