Mobile Server Session lock

Hello Guru's,
Since last few days our MGP cycle is not finishing and everytime there is a transaction level session lock held by 2 different Mobileadmin user in our mobile server.
After few hours we have to forcefully killed blocking SID and then only MGP cycle finishes on Mobile server.
Does anybody had face the same problem on their if yes kindly can you please share your experience and how to resolve this issues.
Few thechincal details:
1. We are running windows server 2003 with Olite database 10.2.0.2
Thanks,
Nirms
Message was edited by:
rapchik301

We are having probably the same problem (we run on linux).
tends to be one of two issues
1) table C$ALL_SID_LOGGED_TABLES has a level 6 lock by an INACTIVE mobile session. killing the inactive session allows processing to continue - SR raised with Oracle
2) contention for C$ALL_CLIENT_ITEMS in setting the dirty flag for objects that need to be processed MAY result from multiple MGP threads attampting to process the same transaction, two different transactions in the in queue for the same user or user sync around the MGP processing, but reason not yet tracked down. We have switched to a single thread until we can identify the problem

Similar Messages

  • SQL Server TG Locking Issues

    We are using Oracle Transparent Gateway 9.0.1.1.1 to connect an Oracle (Windows 2000) 9.1.7.4.0 database to a SQL Server 2000 SP2 database.
    Using the TG, we have noticed that inserting/updating a SQL Server table locks the entire table so that nothing can be queried from the table until a commit/rollback. Inserting the same record from SQL Server creates a "page lock" but does not affect the entire table.
    Anyone familiar with the locking rules or any parameters that affect the locking behavior?
    Scott D. Allen
    [email protected]

    Scott,
    The gateway does not create any type of locks. Could you provide the sql statements in your session. Also take a look at the trace generated by the SQL Server profiler

  • Strange bug/problem in mobile server control center

    I am running Mobile server control center for settings some properties for synchronisation. When I leave the system idle for few minutes, I get the following errors:
    WTG-10109: Web-to-Go could not locate requested URL
    Web-to-Go could not locate requested URL /admin/console/usrblank.html
    Please contact the application vendor
    Also this error "oracle.html.HtmlRuntimeException: HtmlFile.toString() IO Exception caught" .
    I had to restart the server again. This happens all the time when I leave the system idle for few minutes.
    I dont think this is a session problem. Even if this is session problem then it should give a valid error message.
    My session timeout was set to 180 minutes(default).
    Your suggestions will help us to evaluate the product.
    Thanks a lot in advance.
    regards
    Yugandhar

    RP
    thanks but I tried all combinations and understand from metalink and other replies in this discussion forums, we need to remove the mobileadmin schema and reinstall it.But dont know why - is it a bug or some problem with installations.
    I am still not able to enter as ADMINISTRATOR/ADMIN or administrator/admin(if case sensitive).
    thanks in advance for suggestions.
    regards
    Yugandhar

  • Oracle Lite Mobile Server Standalone Version

    We are planning to run the Mobile Server in the DMZ and wanted to run the Mobile Server as standalone on it's own box. I found in the documentation that Oracle does not recommend to run the standalone version in production. Oracle recommends that the production use the Oracle Application Server for the middle-tier.
    Does anyone know why Oracle recommends we don't use Mobile server as standalone in a production environment?
    Message was edited by:
    Javier Ruiz

    I have used the stand-alone as a production solution with 1000 users synching approx 2 GB a day and users databases having databases ranging from 50 MB to 1 GB.
    I am deploying to app server and here is what I have found to be better.
    * <strike>better</strike> easier management of the JVM. Actually, maintenance in general is much easier. I like the performance monitors that come with application server. Easier then logging into a telnet session and using mpstat and prstat.
    Does it limit you going stand-alone? No.
    But I would recommend that the bigger the system, the more robust your application server should be. Both in hardware and software (webcache, app server)

  • How to retrieve the owner of a session lock ?

    Hi,
    I'm building a custom application in Java using CMSDK 9.0.3.1.0. I'm using many session locks, and I'd like to know which DirectoryUser put a session lock on a given object.
    There's an 'LOCKEDFORSESSION_ATTRIBUTE' attribute holding the session id associated to the lock, but I found nowhere in the javadoc a way to get all the sessions opened on the server.
    Does anybody know if there's a way to do this ?
    Thanks for your help,
    Roger

    oracle.ifs.server.S_LibraryService has a method getSessionManagers() which returns oracle.ifs.management.domain.SessionManagerInterface[]. For each LibrarySession connected to this particular LibraryService, there will exist an an associated SessionManager that is essentially a non-published read-only administration API for an iFS session.
    oracle.ifs.server.SessionManager (which implements the SessionManagerInterface) has a method getId() that returns the id of the associated librarysession.
    It also has the following 2 methods that should be useful:
         * Gets the name of the DIRECTORYUSER for which this session
         * was authenticated.
         * @return                    the user name
         * @exception IfsException if the operation fails
         * @nopub
         public String getAuthenticatedUserName()
              throws IfsException
              return m_AuthenticatedUserName;
         * Gets the current DIRECTORYUSER for this session.
         * <p>
         * This is the same as the authenticated user, unless a
         * "feign user" operation has been performed.
         * @return                    the user name
         * @exception IfsException if the operation fails
         * @nopub
         public String getUserName()
              throws IfsException
              return m_UserName;
          LockObject lo = ....
          AttributeValue value = lo.getAttributeByUpperCaseName(LockObject.LOCKEDFORSESSION_ATTRIBUTE);
          long sessionid = (value.isNullValue() ? 0L : value.getLong(m_Session));
          SessionManagerInterface[] sessionMgrs =
            [XXXXX.]getSessionManagers();
          // for every session in the current service...
          for( int k = 0; k < sessionMgrs.length; k++ )
            if (sessionMgrs[k].getId() == sessionid)
          }Matt.

  • Session Locks... Please help this is urgent...

    Hi,
    I've created web application in ASP.NET and I'm connecting to one of our Oracle server which resides in other country. I only have read access to it. I can only do select statements.
    After couple of months that the application was running, their database admin told me that my application was creating session locks in the database.
    I only have 4 select statements that's connection to their oracle server. Below one of the query that I'm using.
    IDataReader r = null;
    try
    using (OracleConnection conn = new OracleConnection(this.ConnectionString))
    string _return;
    conn.Open();
    OracleCommand command = new OracleCommand("select site from mashreq_employees where employee_code='" + emplid + "'", conn);
    r = this.ExecuteReader(command);
    if (r.Read())
    _return = r.ToString();
    else
    _return = "";
    return _return;
    finally
    if (r != null)
    r.Close();
    My question is, Can I create Session Locks even if I'm only using SELECT STATEMENT?
    They send me the screen shot of their Enterprise Manager but I cannot paste it here. The Lock Type was "TX".
    Please help me...
    Thanks,
    Liezl

    I didn't see a FOR UPDATE in the code you posted but I don't know what the rest of your code/application does. For all I know the below code adds a FOR UPDATE at the end?
    OracleCommand command = new OracleCommand("select site from mashreq_employees where employee_code='" + emplid + "'", conn); Am trying to say that just because you're using SELECT only doesn't necessarily mean it's non-destructive, in nobody elses way "read-only", it is still possible to do a SELECT FOR UPDATE if you have the SELECT privilege for a table which might explain any TX locks for your session.
    SQL> create table a1 as (select * from user_tables);
    Table created.
    SQL> create table b1 as (select * from user_tables);
    Table created.
    SQL> select * from b1 where table_name = 'A1' for update;Now go to another session and try to update the table
    update b1 set table_name = 'Z';Session will hang, until original session either commits or rolls back. Investigating further:
    SQL> select session_id, object_id from v$locked_object;
    SESSION_ID  OBJECT_ID
            25      17552
    SQL> column object_name format a30
    SQL> select owner, object_id, object_name from dba_objects where object_id = 17552
    OWNER                           OBJECT_ID OBJECT_NAME
    TESTUSER                            17552 B1
    SQL> select sid, type, lmode, id1, id2 from v$lock where sid = 25;
           SID TY      LMODE        ID1        ID2
            25 TM          3      17552          0     <---- see the 17552 which is the B1 table and session 25 which is the session that did the FOR UPDATE?
            25 TX          6     589824        424So, see if you can track down which session is creating the locks from the data dictionary tables and whether it is your code.

  • Appropriate Session Locking

    Our site framework creates a User.cfc object and assigns it
    to the session variable SESSION.User. The User object has all the
    usual CRUD methods plus instance variables for if the user is
    logged in and various other account flags. The object is created in
    the Application.cfc onRequestStartMethod() and is wrapped in a
    session lock tag. When a user logs in, the
    SESSION.User.UserLogin(useranme,password) method is called, the db
    lookups are made, all the instance variables are set, so forth.
    Then, all over the site various methods such as
    SESSION.User.GetUserID() and SESSION.User.IsUserLoggedIn() are
    called for specific actions.For instance, a form post to update an
    email address would be SESSION.User.SetEmail(FORM.Email) and then
    SESSION.User.SaveUser(). Logging out of the system just clears the
    session struct and sets the SESSION.User var to a fresh instance of
    the User.cfc.
    My question is it is safe to be making calls to the
    SESSION.User methods without locking the session scope. I've never
    had an issue with memory or race conditions before but a recent
    server move and increased traffic has caused some unexplained
    results. Just trying to narrow the problem down and am wondering
    about best practices in user of objects stored in the SESSION
    scope.
    Anthony

    I set the session like this:
    <cffunction name="onSessionStart" returnType="void"
    output="false">
    <cflock scope="session" timeout="20" >
    <cfset StructClear(session)>
    <cfset SESSION.User =
    CreateObject("component","lib.UserObject")>
    <cfset SESSION.Company =
    CreateObject("component","lib.CompanyObject")>
    </cflock>
    </cffunction>
    And then yes, I just call SESSION.User.GetUserID() or any
    other method as appropriate.
    I'm just wondering if any memory or race conditions could
    occur if calling the get/set methods of SESSION.User with out
    locking it. Is it enough to just lock the assignment of the User
    cfc to the SESSION scope.

  • Closing Server Session of a BSP application deployed on the Portal

    I have a BSP application deployed on the Portal v. NW07.  This BSP application is a tab sitting besides other applications such as My Staff of MSS.
    The BSP sets a lock like "CALL FUNCTION 'ENQUEUE' " and the backend system is SAP R/3 4.7. 
    QUESTION: How can I get the server session to terminate when the user navigates from the tab corresponding to my BSP application to the other tabs. 
    Currently, the session doesn't even close when I logoff completely from the Portal.  This BSP used to be deployed to users alone within the
    IE browser and I was able to handle session management using JavaScript code similar to what's in page 'session_single_frame.htm' of BSP 'SYSTEM'.   However, when deployed to the Portal, that piece
    of code doesn't seem to do anything.
    "Supports Portal Integration" is checked and the BSP application is stateful.
    Thanks in advance for your help.
    Achille

    for managing the backend session, all you have to do at the BSP app level is to set the supports portal integration flag, so that it generates the domain relaxation scripts.
    it (ending backendsession) is the job of portal's DSM terminator. More on this can be read from http://help.sap.com/saphelp_nw04/helpdata/en/ca/a9a7408f031414e10000000a1550b0/frameset.htm

  • Imexpire cannot get session lock when run with scheduler

    When imexpire runs at the scheduled time, it produces:
    [15/Nov/2007:22:01:00 -0800] vmpm1 imexpire[7946]: General Error: Could not get expire session lock. Possibly another imexpire is running
    I found an imexpire.lck file and deleted it, but got the same error the next day. Next, I restarted messaging, then ran imexpire interactively with no problems. The imexpire.lck file remained and was not removed afterward. Our imexpire policy was migrated from ims5.2 and is housed in configutil. Can you give me any suggestions for how to allow imexpire to run correctly via the scheduler?
    We're running ims 6 2005Q4:
    -bash-3.00$ ./imsimta version
    Sun Java(tm) System Messaging Server 6.2-8.04 (built Feb 28 2007)
    libimta.so 6.2-8.04 (built 19:28:07, Feb 28 2007)
    SunOS vmpm1 5.10 Generic_125100-10 sun4u sparc SUNW,Sun-Fire-V490
    David.

    dpelinka wrote:
    When imexpire runs at the scheduled time, it produces:
    [15/Nov/2007:22:01:00 -0800] vmpm1 imexpire[7946]: General Error: Could not get expire session lock. Possibly another imexpire is runningAre you sure another imexpire isn't running?
    Do you have coreadm enabled on your system and if so has any messaging server processes core dumped since you last restart messaging server?
    I found an imexpire.lck file and deleted it, but got the same error the next day. The imexpire.lck file is supposed to be there. Processes obtain a file-level lock on this file. If you run fuser /opt/SUNWmsgsr/config/imexpire.lck does it return a value?
    Next, I restarted messaging, then ran imexpire interactively with no problems. The imexpire.lck file remained and was not removed afterward. Our imexpire policy was migrated from ims5.2 and is housed in configutil. Can you give me any suggestions for how to allow imexpire to run correctly via the scheduler?You need to determine why the lock was left in the first place. Has it been working since you restarted messaging server i.e. do you see something like the following in your /opt/SUNWmsgsr/log/default log?:
    [17/Nov/2007:23:00:01 +1100] mailserver imexpire[26309]: General Notice: Expire
    started (0)
    [17/Nov/2007:23:00:01 +1100] mailserver imexpire[26309]: General Notice: Expire
    finished
    Regards,
    Shane.

  • The Blackbery device simulator is not able to connect to the mobile server.

    Hi
    While login to Sap Mobile BI i get the below error.
    "unable to connect to mobile server.The request is timed out(0x008)"

    Thank You for your reply.I had no problem with the mobile network connections it is on.The issue i am facing i am using proxy server deployment where we don't have to mention host_port  in the vas cluster configuration due to which i m not able to connect to blackberry Simulator which is on client machine.But if i specify the client machine port to Host_port then i m able to connect.Can you help me to configure the Mobile server for a non-BlackBerry
    deployment that uses a proxy server

  • Sample JAVA Mobile Server Publish code, and technical questions

    Dear Oracle technical representative, or user:
    I need to programmatically create, and remove publications using the pure JAVA classes of Consolidator, ConsolidatorManager, and ResourceManager for the Mobile Server in OracleLite 9i Release 5.0.1. On the creation side I have managed to get the example found in the directory OraLite501\Mobile\Server\Sample\Sample11 functioning using my installation parameters. I had a very difficult time of it because (1) the sample11 code fails to open an jdbc connection to the Mobile Server Repository Schema with the function Consolidator.OpenConnection, and (2) the ResourceManager function openConnection will not work unless the Webtogo.ora file is in the current working directory. The ConsolidatorManager function OpenConnection may also not work unless the Webtogo.ora file is in the current working directory, but I did test the hypothesis. Both of these problems need to be addressed in the sample11 code, and documentation to save other software developers from wasting hours of their valuable time. See line 223, 386, and 448 in the Publish.Java code that follows this problem description.
    With the above two problems resolved, I can now programmatically create publications, but no hints on how to programmatically remove a publication exist in the documentation. The application I am developing will require the dynamic creation, and removal of publications. Also, when developing applications the complete removal of a publication is absolutely necessary when you have botched a publication. Thus my first question is What sequence of ResourceManager, and ConsolidatorManager function calls will completely remove a Publication?.
    I also have two issues remaining with the code that I have so far developed. These issues will most likely be resolved, when I obtain instructions on how to completely remove a publication, and associated users. But, perhaps not. Referencing the Publish.java file that follows this problem description,
         1. The ResourceManager function dropUser does not drop a user. See my comments, and code beginning at line 277 in Publish.java. Do I need to de-instantiate all subscriptions, and unsubscribe all subscription users before calling this function.? I think, I tried the de-instantiate, unsubscribe sequence without success, but in the confusion I may not have made the try.
         2. How do I get rid of an index created with the ConsolidatorManager function DropPublicationItemIndex?. My comments on this problem begin at line 522 in Publish.java. For some reason the DropPublicationItemIndex function call made below line 448 does not work. What function calls are required prior to calling the DropPublicationItemIndex function?
    Throughout the Publish.java code, I have made comments about some of the problems that I have had in getting the sample11 code working for my installation parameters. I think these comments should help the programmers maintaining the ResourceManager, and ConsolidatorManager code improve the stability of the programs. Please pass these comments, and attached files to the appropriate individuals,
    if you are in a position to do so.
    The other files that follow the Publish.java code are
         1. Compile.bat - Compiles Publish.java using j2sdk1.4.0.
         2. Run.bat - Executes Publish using \ j2sdk1.4.0\jre\server\jvm.dll.
         3. Webtogo.ora
         4. tnsnames.ora for the Mobile Server.
         5. tnsnames.ora for the Database.
    Feel free to access my server if you need to do so in resolving my problems. The parameters you will need to gain access can be found at the top of Publish.java, and in the included *.ora files.
    Thanks,
    Thomas G. Matney
    [email protected]
    (662)325-2791
    //Start of Publish.java code
    // Oracle HTTP Server URL = http://yggdrasill.cfr.msstate.edu:7778
    // = http://130.18.168.225:7778
    // Mobile Server URL = http://yggdrasill.cfr.msstate.edu/webtogo/startup
    // = http://130.18.168.225/webtogo/startup
    // Mobile Server Control Center URL = http://yggdrasill.cfr.msstate.edu/webtogo
    // = http://130.18.168.225/webtogo
    // Mobile Server Control Center URL = http://yggdrasill.cfr.msstate.edu/webtogo
    // = http://130.18.168.225/webtogo
    // Mobile Server Control Center username = administrator
    // Mobile Server Control Center password = admin
    // Mobile Server URL = http://yggdrasill.cfr.msstate.edu/webtogo/startup
    // = http://130.18.168.225/webtogo/startup
    // Mobile administrator username = fiafield // Schema FIAFIELD on FIA.CFR.MSSTATE.EDU
    // Mobile administrator password = fiafield // Username and password are the same
    import java.sql.SQLException;
    import java.sql.*;
    import oracle.lite.sync.Consolidator;
    import oracle.lite.sync.ConsolidatorManager;
    import oracle.mobile.admin.ResourceManager;
    import oracle.mobile.admin.ResException;
    import oracle.sql.*;
    import oracle.jdbc.*;
    import oracle.mobile.admin.*;
    public class Publish
    // Schema names and usernames are not case sensitive.
    // UN fiafield = FIAFIELD
    // SCHEMA fiafield = FIAFIELD
    // Schema name/Username, and password used on creation of Mobile Repository
    static String CONS_SCHEMA = "fiafield";
    static String DEFAULT_PASSWORD = "fiafield";
    static String admin_jdbc_url = "jdbc:oracle:oci8:@WEBTOGO.WORLD";
    static String thin_jdbc_url =
    "jdbc:oracle:thin:@YGGDRASILL:1521:FIA.YGGDRASILL.CFR.MSSTATE.EDU";
    static String Publication;
    static String CreateTreeTableShortNames =
    "CREATE TABLE FIAFIELD.ZMTR1TBL("
    + "id FLOAT,"
    + "subp FLOAT,"
    + "rnum FLOAT,"
    + "st FLOAT,"
    + "unit FLOAT,"
    + "cnty FLOAT,"
    + "plot FLOAT,"
    + "cyc FLOAT,"
    + "scyc FLOAT,"
    + "tree FLOAT,"
    + "ncpt FLOAT NULL,"
    + "dist FLOAT NULL,"
    + "diam FLOAT NULL,"
    + "dmht FLOAT NULL,"
    + "dmck FLOAT NULL,"
    + "spec FLOAT NULL,"
    + "lang FLOAT NULL,"
    + "nctc FLOAT NULL,"
    + "stat FLOAT NULL,"
    + "util FLOAT NULL,"
    + "deca FLOAT NULL,"
    + "crat FLOAT NULL,"
    + "ccls FLOAT NULL,"
    + "az FLOAT NULL,"
    + "cond FLOAT NULL,"
    + "tlen FLOAT NULL,"
    + "alen FLOAT NULL,"
    + "lmet FLOAT NULL,"
    + "nctg FLOAT NULL,"
    + "rcul FLOAT NULL,"
    + "ncpd FLOAT NULL,"
    + "dead FLOAT NULL,"
    + "mor FLOAT NULL,"
    + "modm FLOAT NULL,"
    + "dml1 FLOAT NULL,"
    + "dmt1 FLOAT NULL,"
    + "dms1 FLOAT NULL,"
    + "dma1 FLOAT NULL,"
    + "dml2 FLOAT NULL,"
    + "dmt2 FLOAT NULL,"
    + "dms2 FLOAT NULL,"
    + "dma2 FLOAT NULL,"
    + "dml3 FLOAT NULL,"
    + "dmt3 FLOAT NULL,"
    + "dms3 FLOAT NULL,"
    + "dma3 FLOAT NULL,"
    + "dbtr FLOAT NULL,"
    + "dbsp FLOAT NULL,"
    + "nxtn FLOAT NULL,"
    + "dbds FLOAT NULL,"
    + "dbaz FLOAT NULL,"
    + "psta FLOAT NULL,"
    + "fiat FLOAT NULL,"
    + "fhmt FLOAT NULL"
    + ")";
    static String CreateTreeTableLongNames =
    "CREATE TABLE FIAFIELD.ZMTR1TBL("
    + "ID FLOAT,"
    + "SUBPLOT FLOAT,"
    + "RECORD_NUMBER FLOAT,"
    + "STATE FLOAT,"
    + "UNIT FLOAT,"
    + "COUNTY FLOAT,"
    + "PLOT FLOAT,"
    + "CYCLE FLOAT,"
    + "SUBCYCLE FLOAT,"
    + "TREE FLOAT,"
    + "NC_PLOT_TYPE FLOAT,"
    + "DISTANCE FLOAT NULL,"
    + "DIAMETER FLOAT NULL,"
    + "DIAMETER_HEIGHT FLOAT NULL,"
    + "DIAMETER_CHECK FLOAT NULL,"
    + "SPECIES FLOAT NULL,"
    + "LEAN_ANGLE FLOAT NULL,"
    + "NC_TREE_CLASS FLOAT NULL,"
    + "STATUS FLOAT NULL,"
    + "UTILIZATION FLOAT NULL,"
    + "DECAY FLOAT NULL,"
    + "CROWN_RATIO FLOAT NULL,"
    + "CROWN_CLASS FLOAT NULL,"
    + "AZIMUTH FLOAT NULL,"
    + "CONDITION FLOAT NULL,"
    + "TOTAL_LENGTH FLOAT NULL,"
    + "ACTUAL_LENGTH FLOAT NULL,"
    + "LENGTH_METHOD FLOAT NULL,"
    + "NC_TREE_GRADE FLOAT NULL,"
    + "ROTTEN_CULL FLOAT NULL,"
    + "NC_PREVIOUS_DBH FLOAT NULL,"
    + "CAUSE_OF_DEATH FLOAT NULL,"
    + "MORTALITY_YEAR FLOAT NULL,"
    + "MO_DAMAGE FLOAT NULL,"
    + "DAMAGE_LOCATION1 FLOAT NULL,"
    + "DAMAGE_TYPE1 FLOAT NULL,"
    + "DAMAGE_SEVERITY1 FLOAT NULL,"
    + "NC_DAMAGE_AGENT1 FLOAT NULL,"
    + "DAMAGE_LOCATION2 FLOAT NULL,"
    + "DAMAGE_TYPE2 FLOAT NULL,"
    + "DAMAGE_SEVERITY2 FLOAT NULL,"
    + "NC_DAMAGE_AGENT2 FLOAT NULL,"
    + "DAMAGE_LOCATION3 FLOAT NULL,"
    + "DAMAGE_TYPE3 FLOAT NULL,"
    + "DAMAGE_SEVERITY3 FLOAT NULL,"
    + "NC_DAMAGE_AGENT3 FLOAT NULL,"
    + "DB_TREE FLOAT NULL,"
    + "DB_SPECIES FLOAT NULL,"
    + "NEXT_NUMBER FLOAT NULL,"
    + "DB_DISTANCE FLOAT NULL,"
    + "DB_AZIMUTH FLOAT NULL,"
    + "PREVIOUS_STATUS FLOAT NULL,"
    + "FIA_TREE_NUMBER FLOAT NULL,"
    + "FHM_TREE FLOAT NULL"
    + ")";
    public static void main(String argv[]) throws Throwable
    // Publish - an OKAPI sample
    if(argv.length == 2)
    CONS_SCHEMA = argv[0] ;
    DEFAULT_PASSWORD = argv[1] ;
    //create required tables using standard jdbc
    //DriverManager.registerDriver ((Driver)Class.forName ("oracle.jdbc.driver.OracleDriver").newInstance ());
    DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
    Connection c = null;
    Statement s = null;
    try
    // Open connection to Mobile Repositoty/FIAFIELD schema as SYSTEM.
    // Need the ability to grant resources, and connection to Mobile Repository user
    //c = DriverManager.getConnection ("jdbc:oracle:oci8:@WEBTOGO.WORLD", "SYSTEM", "phwphw" );
    // Remote connection. See attached webtogo.ora.
    c = DriverManager.getConnection ("jdbc:oracle:oci8:@WEBTOGO.WORLD.YGG",
    "SYSTEM", "phwphw");
    s = c.createStatement ();
    try
    s.executeUpdate("DROP table FIAFIELD.ZMTR1TBL");
    catch (SQLException ee)
    ee.printStackTrace ();
    try
    s.executeUpdate(CreateTreeTableShortNames);
    catch (SQLException ee)
    ee.printStackTrace ();
    try
    s.executeUpdate("alter table FIAFIELD.ZMTR1TBL add constraint"
    +" zmtr1tbl_pk primary key(subp, tree)");
    catch (SQLException ee)
    ee.printStackTrace ();
    // Line 223 // create consolidator publications.
    try
    // *****!!!!! Unless the Webtogo.ora file is in the current working
    // directory the connection is not made. This version of the resource
    // manager must be looking for the file in the old 8i Mobile default
    // directory. This is a definite problem. If the code was working, the
    // addition of the webtogo.ora should have affect on the functionality
    // of the code.
    // The connection is made to the Mobile Server. At least no exceptions
    // are thrown, provided the webtogo.ora is in the current working
    // directory.
    //oracle.mobile.admin.ResourceManager.openConnection(CONS_SCHEMA, DEFAULT_PASSWORD);
    // I tried making a direct connect to possibly avoid needing to have the
    // webtogo.ora file in the current directory. The direct coonect did not work.
    // You can quickly convince yourself that the webtogo.ora file must
    // be in the current working directory, by running the code with and
    // without the webtogo.ora in the current working directory.
    // The directory OraLiteHome\Mobile\Server\bin is in the PATH after
    // after installation but the extension .ora is not in PATHEXT. The
    // OraLite installer should put .ora in PATHEXT. I tried adding .ora
    // to the PATHEXT, but it still could not find thw webtogo.ora file,
    // and it should have. What is going on? I am a bit rusty on DOS so
    // I may not have thing right.
    // OraLiteHome\Mobile\Server\bin is the residing directory for
    // the functional copy of the webtogo.ora file.
    oracle.mobile.admin.ResourceManager.openConnection(
    CONS_SCHEMA,
    DEFAULT_PASSWORD,
    "jdbc:oracle:oci8:@WEBTOGO.WORLD");
    catch(ResException ee)
    ee.printStackTrace (); // NULL Pointer Exception?
    // The Mobile user is created, and then the function throws a resource exception.
    // This is a serious problem with the code. One would assume that the user
    // is not created if and exception is thrown.
    // This appears to be a bug in the createUser code. The function should return
    // false if the user is not created, and handle, or not throw the exception.
    // The function always returns false. It does return true when a user is created
    // because it throws an exception.
    boolean bIsCreated;
    System.out.println("Begin of why is ResourceManager not dropping users?");
    // Line 277
    try
    // The dropUser function will not drop a user. I have tested the function
    // by creating the user ZMPT1UA in the Mobile Server Control Center
    // http://Yggdrasill.cfr.msstate.edu/webtogo
    // so I know that the user exist.
    // This function throws a ResException but it is not declared correctly
    // since you cannot trap the exception as a ResException. It always tells
    // me the view does not exist. What steps are required to get the function
    // to work? What function calls need to be made prior to calling the dropUser
    // function.
    oracle.mobile.admin.ResourceManager.dropUser("ZMPT1UA");
    catch (Throwable ee)
    ee.printStackTrace (); // NULL Pointer Exception?
    System.out.println("End of why is ResourceManager not dropping users?");
    try
    bIsCreated = oracle.mobile.admin.ResourceManager.createUser(
    "ZMPT1UA",
    DEFAULT_PASSWORD,
    "ZMPT1UA", "S");
    catch (Throwable ee)
    ee.printStackTrace (); // Ignore exception
    // Obsolete or depreciated function, according to documentation?
    oracle.mobile.admin.ResourceManager.commitTransaction();
    // Create CONS_SCHEMA user on the database with the same username, and
    // password as the user on the Mobile Server side. This is why the
    // DriverManager connection was made as SYSTEM/phwphw.
    // Grant ALL to repository, and user on replicated database
    // On the database side there is a user with un = fiafield,
    // and pw = fiafield, which is the same as the Mobile Repository
    // schema name/password pair fiafield/fiafield. Can this duality
    // create a problem? Probably not.
    // Need SYSTEM ADMIN privilages for the next two steps, and that is
    // why the coonection was established as SYSTEM/phwphw.
    // Make user, and grants for Publish to user CONS_SCHEMA, and ZMPT1UA
    System.out.println("Pargress point D");
    try
    s.execute("Create user " + "ZMPT1UA" + " identified by " + DEFAULT_PASSWORD);
    catch (SQLException ee)
    ee.printStackTrace (); // ignore
    try
    s.execute("GRANT ALL ON FIAFIELD.ZMTR1TBL to " + CONS_SCHEMA + " WITH GRANT OPTION");
    catch (SQLException ee)
    ee.printStackTrace (); // ignore
    try
    s.execute("GRANT ALL ON FIAFIELD.ZMTR1TBL to " + "ZMPT1UA" + " WITH GRANT OPTION");
    catch (SQLException ee)
    ee.printStackTrace (); // ignore
    /* This code is not needed to test the code
    // Insert items into table FIAFIELD.ZMTR1TBL from FIAFIELD.HUSKY_TREE
    String Statement =
    "INSERT INTO FIAFIELD.ZMTR1TBL SELECT * from FIAFIELD.HUSKY_TREE WHERE PLOT = 1";
    try
    s.execute(Statement);
    catch (SQLException ee)
    System.out.println("FIAFIELD.HUSKY_TREE was not inserted into FIAFIELD.ZMTR1TBL");
    ee.printStackTrace (); // ignore
    c.commit ();
    catch (SQLException ee)
    ee.printStackTrace ();
    finally
    if (s!= null) try {s.close ();}catch (SQLException e1){}
    if (c!= null) try {c.close ();}catch (SQLException e2){}
    // The Consolidator class is not thread safe, and I will eventually
    // need thread safety. The ConsolidatorManage class is thread safe.
    //Consolidator ConsolidatorXX = new Consolidator();
    ConsolidatorManager ConsolidatorXX = new ConsolidatorManager();
    // Line 386
    // Try opening a connection. Sample11 does not open a connection, but it seems
    // like a logical first thing to do.
    // At least with this connection the DropPublication, and AddPublication functions
    // appear to work, or at least they do not throw exceptions. The DropPublication
    // throws an exception if a publication does not exist? I tested this and indeed
    // if I call the DropPublication function, and do not create the Publication again
    // when I reenter the program the DropPublication function throws an exception, and
    // produces the correct error message(The publication does not exist). There is hope.
    // It is very disturbing that the program fails unless the webtogo.ora file is not
    // in the current working directory. Because the OpenConnection functions of both
    // the ResourceManager, and ConsolidatorManager both appear to need access to the
    // webtogo.ora file, and they are finding them in the current directory, the
    // logical conclusion is that both of the classes are attempting to open the
    // webtogo.ora with the relative path webtogo.ora, and not the absolute path
    // OraHomeLite/Mobile/Server/Bin/webtogo.ora. As this has to be the case, why
    // is this very important fact not in the documentation? Or, am I wrong?
    Connection conn = null;
    try
    //ConsolidatorXX.OpenConnection(CONS_SCHEMA,
    //DEFAULT_PASSWORD);
    //ConsolidatorXX.OpenConnection(CONS_SCHEMA,
    //DEFAULT_PASSWORD,
    //"jdbc:oracle:oci8:@WEBTOGO.WORLD");
    conn = DriverManager.getConnection
    ("jdbc:oracle:oci8:@WEBTOGO.WORLD",
    CONS_SCHEMA,DEFAULT_PASSWORD);
    //conn = DriverManager.getConnection
    //("jdbc:oracle:oci8:@WEBTOGO.WORLD",
    //"SYSTEM","phwphw");
    ConsolidatorXX.OpenConnection(conn);
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    // Publication name
    Publication = "ZMTR1PUB";
    try
    ConsolidatorXX.DeinstantiateSubscription(Publication, "ZMPT1UA");
    catch (Throwable e)
    System.out.println("Could not Deinstantiate Subscription ZMPT1UA");
    e.printStackTrace(); //ignore error
    // Line 448
    // There is no Consolidator.OpenConnection in the orginal sample11.java code.
    // Why?. It appears to be neccessary. The only way I can make the sample11 code
    // or this program work is to open a jdbc connection with the Consolidator.OpenConnection
    // function. I assume that somehow the Consolidator.OpenConnection function was
    // deleted from sample11.java.
    // This try to drop a publication index does not work, because when I try
    // to recreate the index in the following code it warns me that I have a
    // bad column name for the index. So it thinks the index still exist.
    // Why?. How do I get rid of the index?
    try
    ConsolidatorXX.DropPublicationItemIndex("ZMTR1IX1");
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.DropPublicationItem("ZMTR1ITM");
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.DropPublication(Publication);
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    //ConsolidatorXX.CreatePublication(Publication, Consolidator.OKPI_CREATOR_ID,
    //"zMTR1.%s", null);
    ConsolidatorXX.CreatePublication(Publication, Consolidator.OKAPI_WINCE,
    "zMTR1.%s", null);
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.DropPublicationItemIndex("ZMTR1IX1");
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.CreatePublicationItem("ZMTR1ITM","FIAFIELD","ZMTR1TBL", "F",
    "SELECT * FROM FIAFIELD.ZMTR1TBL", null, null);
    catch (Throwable e)
    e.printStackTrace();
    System.out.println("Begin of how can drop this index and get rid of the warning?");
    // Line 522
    // I defined the index ZMTR1IX1 originally on the variable subp, and did not get
    // any warning. I then changed the index variable for the index to id, and started
    // receiving the warning to check the index column for typographical errors. Even
    // if I change the index variable back to subp, I continue to receive the warning.
    // How do I get rid of the index and the warning, so I can recreate the index for
    // another variable? I quess the real question is "How to I completely remove a
    // publication, and all of its parts so I can start over?
    try
    ConsolidatorXX.CreatePublicationItemIndex(
    "ZMTR1IX1", "ZMTR1ITM", "I", "id");
    catch (Throwable e)
    e.printStackTrace ();
    System.out.println("End of how can drop this index and get rid of the warning?");
    try
    ConsolidatorXX.AddPublicationItem(
    Publication, "ZMTR1ITM", null, null, "S", null, null);
    catch (Throwable e)
    e.printStackTrace ();
    try
    ConsolidatorXX.CreateSubscription(Publication, "ZMPT1UA");
    catch (Throwable e)
    e.printStackTrace ();
    try
    ConsolidatorXX.InstantiateSubscription(Publication, "ZMPT1UA");
    catch (Throwable e)
    e.printStackTrace ();
    try
    ConsolidatorXX.CloseConnection();
    if(conn != null)
    conn.close();
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    // Obsolete or depreciated function, according to documentation?
    oracle.mobile.admin.ResourceManager.commitTransaction();
    oracle.mobile.admin.ResourceManager.closeConnection();
    End of Publish.java code     
    Begin Compile.bat
    set CLASSPATH = .;D:\jdk1.4.0\lib\tools.jar;D:\OraLite501\MOBILE\classes\CONSOLIDATOR.JAR;D:\OraLite501\MOBILE\SERVER\BIN\WEBTOGO.JAR;D:\OraLite501\jdbc\lib\classes12.zip;D:\OraLite501\MOBILE\classes\classgen.jar;D:\OraLite501\MOBILE\classes\servlet.jar;D:\OraLite501\MOBILE\CLASSES\OLITE40.JAR
    set PATH= d:\jdk1.4.0\jre\bin\server;d:\jdk1.4.0\bin;D:\OraLite501\bin;D:\OraLite501\Mobile\Server\bin;D:\oracle\ora92\bin;D:\OraLite501\MOBILE\sdk\bin
    d:\jdk1.4.0\bin\javac Publish.java
    End Compile.bat          
    Begin Run.bat
    set CLASSPATH= .;D:\jdk1.4.0\lib\tools.jar;D:\OraLite501\MOBILE\classes\CONSOLIDATOR.JAR;D:\OraLite501\MOBILE\SERVER\BIN\WEBTOGO.JAR;D:\OraLite501\jdbc\lib\classes12.zip;D:\OraLite501\MOBILE\classes\classgen.jar;D:\OraLite501\MOBILE\classes\servlet.jar;D:\OraLite501\MOBILE\CLASSES\OLITE40.JAR
    set PATH= d:\jdk1.4.0\jre\bin\server;d:\jdk1.4.0\bin;D:\OraLite501\bin;D:\OraLite501\Mobile\Server\bin;D:\oracle\ora92\bin;D:\OraLite501\MOBILE\sdk\bin
    d:\jdk1.4.0\bin\java Publish
    End Run.bat
    Begin webtogo.ora
    USE_SYSTEM_CLASSPATH = NO
    MODE = SERVER
    PORT = 80
    BASE_URL=/webtogo
    ADMIN_TNS_NAME=WEBTOGO.WORLD
    ADMIN_JDBC_URL=jdbc:oracle:oci8:@WEBTOGO.WORLD
    APPLET_USE_THIN_JDBC = YES
    THIN_JDBC_URL=jdbc:oracle:thin:@YGGDRASILL:1521:FIA.YGGDRASILL.CFR.MSSTATE.EDU
    SITE_OFFLINE_PERIOD=0
    CUSTOM_WORKSPACE=no
    CUSTOM_DIRECTORY=myworkspace
    DEFAULT_PAGE=myfirstpage.html
    ADMIN_USER=8B37E78535B55525292A3A2929292999
    ADMIN_PASSWORD=873515A838B85828292A3A2929292999
    [EXTERNAL_AUTHENTICATION]
    #CLASS=com.acme.SampleAuthenticator
    # Web-to-go workspace's font
    FONT_NAME=Arial
    [FILESYSTEM]
    #ROOT_DIR=%WEBTOGO_HOME%\server
    #TYPE=O8
    #TYPE=OL
    #TYPE=OS
    # Cache size in MBs
    #CACHE_SIZE=10
    MAX_CONNECTIONS=4
    [DEBUG]
    #ENABLE=YES
    # The log file name.
    #LOG_FILE=test.log
    # Machine name and port where wsh.exe -m is running. Web-to-go
    # will send debug output to that machine.
    #MACHINE=
    #PORT=100
    [APPLICATIONS]
    XMLFILE = ws1.xml
    PACK_HELP=D:\OraLite501\mobile\doc\wtg\html\wtgdep.htm
    [PUBLIC]
    oracle.lite.sync.ConsolidatorServlet=/Consolidator
    [CONSOLIDATOR]
    # Installer will change these values
    SERVER_VERSION=8.1.5
    # 8.0.5 or 8.1.5
    # Installer won't change these values
    MAX_THREADS=3
    JDBC_DRIVER=oracle.jdbc.driver.OracleDriver
    CREATE_USER_OPTIONS_O8I=PROFILE CONSOLIDATOR_CLIENT_P DEFAULT TABLESPACE USERS QUOTA UNLIMITED ON USERS TEMPORARY TABLESPACE INDX QUOTA UNLIMITED ON INDX
    CREATE_USER_OPTIONS_O8=PROFILE CONSOLIDATOR_CLIENT_P DEFAULT TABLESPACE USR QUOTA UNLIMITED ON USR
    TEMPORARY TABLESPACE TEMPORARY QUOTA UNLIMITED ON TEMPORARY
    TEMP=c:\\temp
    WTG_PROXY_PORT=80
    TRACE=NO
    TRACE_ALL=NO
    End webtogo.ora
    Begin Mobile Server tnsnames.ora file
    # TNSNAMES.ORA Network Configuration File: D:\OraLite501\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    WEBTOGO.WORLD =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = YGGDRASILL.CFR.MSSTATE.EDU)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    WEBTOGO.WORLD.YGG =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = YGGDRASILL.CFR.MSSTATE.EDU)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    End Mobile Server tnsnames.ora file
    Begin Database tnsnames.ora file
    # TNSNAMES.ORA Network Configuration File: D:\oracle\ora92\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    INST1_HTTP.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = SHARED)
    (SERVICE_NAME = MODOSE)
    (PRESENTATION = http://HRService)
    FIA.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    FIA.YGGDRASILL.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill.cfr.msstate.edu)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    FIA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    FIA.YGG =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill.cfr.msstate.edu)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    EXTPROC_CONNECTION_DATA.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    End Database tnsnames.ora file

    Dear Oracle technical representative, or user:
    I need to programmatically create, and remove publications using the pure JAVA classes of Consolidator, ConsolidatorManager, and ResourceManager for the Mobile Server in OracleLite 9i Release 5.0.1. On the creation side I have managed to get the example found in the directory OraLite501\Mobile\Server\Sample\Sample11 functioning using my installation parameters. I had a very difficult time of it because (1) the sample11 code fails to open an jdbc connection to the Mobile Server Repository Schema with the function Consolidator.OpenConnection, and (2) the ResourceManager function openConnection will not work unless the Webtogo.ora file is in the current working directory. The ConsolidatorManager function OpenConnection may also not work unless the Webtogo.ora file is in the current working directory, but I did test the hypothesis. Both of these problems need to be addressed in the sample11 code, and documentation to save other software developers from wasting hours of their valuable time. See line 223, 386, and 448 in the Publish.Java code that follows this problem description.
    With the above two problems resolved, I can now programmatically create publications, but no hints on how to programmatically remove a publication exist in the documentation. The application I am developing will require the dynamic creation, and removal of publications. Also, when developing applications the complete removal of a publication is absolutely necessary when you have botched a publication. Thus my first question is What sequence of ResourceManager, and ConsolidatorManager function calls will completely remove a Publication?.
    I also have two issues remaining with the code that I have so far developed. These issues will most likely be resolved, when I obtain instructions on how to completely remove a publication, and associated users. But, perhaps not. Referencing the Publish.java file that follows this problem description,
         1. The ResourceManager function dropUser does not drop a user. See my comments, and code beginning at line 277 in Publish.java. Do I need to de-instantiate all subscriptions, and unsubscribe all subscription users before calling this function.? I think, I tried the de-instantiate, unsubscribe sequence without success, but in the confusion I may not have made the try.
         2. How do I get rid of an index created with the ConsolidatorManager function DropPublicationItemIndex?. My comments on this problem begin at line 522 in Publish.java. For some reason the DropPublicationItemIndex function call made below line 448 does not work. What function calls are required prior to calling the DropPublicationItemIndex function?
    Throughout the Publish.java code, I have made comments about some of the problems that I have had in getting the sample11 code working for my installation parameters. I think these comments should help the programmers maintaining the ResourceManager, and ConsolidatorManager code improve the stability of the programs. Please pass these comments, and attached files to the appropriate individuals,
    if you are in a position to do so.
    The other files that follow the Publish.java code are
         1. Compile.bat - Compiles Publish.java using j2sdk1.4.0.
         2. Run.bat - Executes Publish using \ j2sdk1.4.0\jre\server\jvm.dll.
         3. Webtogo.ora
         4. tnsnames.ora for the Mobile Server.
         5. tnsnames.ora for the Database.
    Feel free to access my server if you need to do so in resolving my problems. The parameters you will need to gain access can be found at the top of Publish.java, and in the included *.ora files.
    Thanks,
    Thomas G. Matney
    [email protected]
    (662)325-2791
    //Start of Publish.java code
    // Oracle HTTP Server URL = http://yggdrasill.cfr.msstate.edu:7778
    // = http://130.18.168.225:7778
    // Mobile Server URL = http://yggdrasill.cfr.msstate.edu/webtogo/startup
    // = http://130.18.168.225/webtogo/startup
    // Mobile Server Control Center URL = http://yggdrasill.cfr.msstate.edu/webtogo
    // = http://130.18.168.225/webtogo
    // Mobile Server Control Center URL = http://yggdrasill.cfr.msstate.edu/webtogo
    // = http://130.18.168.225/webtogo
    // Mobile Server Control Center username = administrator
    // Mobile Server Control Center password = admin
    // Mobile Server URL = http://yggdrasill.cfr.msstate.edu/webtogo/startup
    // = http://130.18.168.225/webtogo/startup
    // Mobile administrator username = fiafield // Schema FIAFIELD on FIA.CFR.MSSTATE.EDU
    // Mobile administrator password = fiafield // Username and password are the same
    import java.sql.SQLException;
    import java.sql.*;
    import oracle.lite.sync.Consolidator;
    import oracle.lite.sync.ConsolidatorManager;
    import oracle.mobile.admin.ResourceManager;
    import oracle.mobile.admin.ResException;
    import oracle.sql.*;
    import oracle.jdbc.*;
    import oracle.mobile.admin.*;
    public class Publish
    // Schema names and usernames are not case sensitive.
    // UN fiafield = FIAFIELD
    // SCHEMA fiafield = FIAFIELD
    // Schema name/Username, and password used on creation of Mobile Repository
    static String CONS_SCHEMA = "fiafield";
    static String DEFAULT_PASSWORD = "fiafield";
    static String admin_jdbc_url = "jdbc:oracle:oci8:@WEBTOGO.WORLD";
    static String thin_jdbc_url =
    "jdbc:oracle:thin:@YGGDRASILL:1521:FIA.YGGDRASILL.CFR.MSSTATE.EDU";
    static String Publication;
    static String CreateTreeTableShortNames =
    "CREATE TABLE FIAFIELD.ZMTR1TBL("
    + "id FLOAT,"
    + "subp FLOAT,"
    + "rnum FLOAT,"
    + "st FLOAT,"
    + "unit FLOAT,"
    + "cnty FLOAT,"
    + "plot FLOAT,"
    + "cyc FLOAT,"
    + "scyc FLOAT,"
    + "tree FLOAT,"
    + "ncpt FLOAT NULL,"
    + "dist FLOAT NULL,"
    + "diam FLOAT NULL,"
    + "dmht FLOAT NULL,"
    + "dmck FLOAT NULL,"
    + "spec FLOAT NULL,"
    + "lang FLOAT NULL,"
    + "nctc FLOAT NULL,"
    + "stat FLOAT NULL,"
    + "util FLOAT NULL,"
    + "deca FLOAT NULL,"
    + "crat FLOAT NULL,"
    + "ccls FLOAT NULL,"
    + "az FLOAT NULL,"
    + "cond FLOAT NULL,"
    + "tlen FLOAT NULL,"
    + "alen FLOAT NULL,"
    + "lmet FLOAT NULL,"
    + "nctg FLOAT NULL,"
    + "rcul FLOAT NULL,"
    + "ncpd FLOAT NULL,"
    + "dead FLOAT NULL,"
    + "mor FLOAT NULL,"
    + "modm FLOAT NULL,"
    + "dml1 FLOAT NULL,"
    + "dmt1 FLOAT NULL,"
    + "dms1 FLOAT NULL,"
    + "dma1 FLOAT NULL,"
    + "dml2 FLOAT NULL,"
    + "dmt2 FLOAT NULL,"
    + "dms2 FLOAT NULL,"
    + "dma2 FLOAT NULL,"
    + "dml3 FLOAT NULL,"
    + "dmt3 FLOAT NULL,"
    + "dms3 FLOAT NULL,"
    + "dma3 FLOAT NULL,"
    + "dbtr FLOAT NULL,"
    + "dbsp FLOAT NULL,"
    + "nxtn FLOAT NULL,"
    + "dbds FLOAT NULL,"
    + "dbaz FLOAT NULL,"
    + "psta FLOAT NULL,"
    + "fiat FLOAT NULL,"
    + "fhmt FLOAT NULL"
    + ")";
    static String CreateTreeTableLongNames =
    "CREATE TABLE FIAFIELD.ZMTR1TBL("
    + "ID FLOAT,"
    + "SUBPLOT FLOAT,"
    + "RECORD_NUMBER FLOAT,"
    + "STATE FLOAT,"
    + "UNIT FLOAT,"
    + "COUNTY FLOAT,"
    + "PLOT FLOAT,"
    + "CYCLE FLOAT,"
    + "SUBCYCLE FLOAT,"
    + "TREE FLOAT,"
    + "NC_PLOT_TYPE FLOAT,"
    + "DISTANCE FLOAT NULL,"
    + "DIAMETER FLOAT NULL,"
    + "DIAMETER_HEIGHT FLOAT NULL,"
    + "DIAMETER_CHECK FLOAT NULL,"
    + "SPECIES FLOAT NULL,"
    + "LEAN_ANGLE FLOAT NULL,"
    + "NC_TREE_CLASS FLOAT NULL,"
    + "STATUS FLOAT NULL,"
    + "UTILIZATION FLOAT NULL,"
    + "DECAY FLOAT NULL,"
    + "CROWN_RATIO FLOAT NULL,"
    + "CROWN_CLASS FLOAT NULL,"
    + "AZIMUTH FLOAT NULL,"
    + "CONDITION FLOAT NULL,"
    + "TOTAL_LENGTH FLOAT NULL,"
    + "ACTUAL_LENGTH FLOAT NULL,"
    + "LENGTH_METHOD FLOAT NULL,"
    + "NC_TREE_GRADE FLOAT NULL,"
    + "ROTTEN_CULL FLOAT NULL,"
    + "NC_PREVIOUS_DBH FLOAT NULL,"
    + "CAUSE_OF_DEATH FLOAT NULL,"
    + "MORTALITY_YEAR FLOAT NULL,"
    + "MO_DAMAGE FLOAT NULL,"
    + "DAMAGE_LOCATION1 FLOAT NULL,"
    + "DAMAGE_TYPE1 FLOAT NULL,"
    + "DAMAGE_SEVERITY1 FLOAT NULL,"
    + "NC_DAMAGE_AGENT1 FLOAT NULL,"
    + "DAMAGE_LOCATION2 FLOAT NULL,"
    + "DAMAGE_TYPE2 FLOAT NULL,"
    + "DAMAGE_SEVERITY2 FLOAT NULL,"
    + "NC_DAMAGE_AGENT2 FLOAT NULL,"
    + "DAMAGE_LOCATION3 FLOAT NULL,"
    + "DAMAGE_TYPE3 FLOAT NULL,"
    + "DAMAGE_SEVERITY3 FLOAT NULL,"
    + "NC_DAMAGE_AGENT3 FLOAT NULL,"
    + "DB_TREE FLOAT NULL,"
    + "DB_SPECIES FLOAT NULL,"
    + "NEXT_NUMBER FLOAT NULL,"
    + "DB_DISTANCE FLOAT NULL,"
    + "DB_AZIMUTH FLOAT NULL,"
    + "PREVIOUS_STATUS FLOAT NULL,"
    + "FIA_TREE_NUMBER FLOAT NULL,"
    + "FHM_TREE FLOAT NULL"
    + ")";
    public static void main(String argv[]) throws Throwable
    // Publish - an OKAPI sample
    if(argv.length == 2)
    CONS_SCHEMA = argv[0] ;
    DEFAULT_PASSWORD = argv[1] ;
    //create required tables using standard jdbc
    //DriverManager.registerDriver ((Driver)Class.forName ("oracle.jdbc.driver.OracleDriver").newInstance ());
    DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
    Connection c = null;
    Statement s = null;
    try
    // Open connection to Mobile Repositoty/FIAFIELD schema as SYSTEM.
    // Need the ability to grant resources, and connection to Mobile Repository user
    //c = DriverManager.getConnection ("jdbc:oracle:oci8:@WEBTOGO.WORLD", "SYSTEM", "phwphw" );
    // Remote connection. See attached webtogo.ora.
    c = DriverManager.getConnection ("jdbc:oracle:oci8:@WEBTOGO.WORLD.YGG",
    "SYSTEM", "phwphw");
    s = c.createStatement ();
    try
    s.executeUpdate("DROP table FIAFIELD.ZMTR1TBL");
    catch (SQLException ee)
    ee.printStackTrace ();
    try
    s.executeUpdate(CreateTreeTableShortNames);
    catch (SQLException ee)
    ee.printStackTrace ();
    try
    s.executeUpdate("alter table FIAFIELD.ZMTR1TBL add constraint"
    +" zmtr1tbl_pk primary key(subp, tree)");
    catch (SQLException ee)
    ee.printStackTrace ();
    // Line 223 // create consolidator publications.
    try
    // *****!!!!! Unless the Webtogo.ora file is in the current working
    // directory the connection is not made. This version of the resource
    // manager must be looking for the file in the old 8i Mobile default
    // directory. This is a definite problem. If the code was working, the
    // addition of the webtogo.ora should have affect on the functionality
    // of the code.
    // The connection is made to the Mobile Server. At least no exceptions
    // are thrown, provided the webtogo.ora is in the current working
    // directory.
    //oracle.mobile.admin.ResourceManager.openConnection(CONS_SCHEMA, DEFAULT_PASSWORD);
    // I tried making a direct connect to possibly avoid needing to have the
    // webtogo.ora file in the current directory. The direct coonect did not work.
    // You can quickly convince yourself that the webtogo.ora file must
    // be in the current working directory, by running the code with and
    // without the webtogo.ora in the current working directory.
    // The directory OraLiteHome\Mobile\Server\bin is in the PATH after
    // after installation but the extension .ora is not in PATHEXT. The
    // OraLite installer should put .ora in PATHEXT. I tried adding .ora
    // to the PATHEXT, but it still could not find thw webtogo.ora file,
    // and it should have. What is going on? I am a bit rusty on DOS so
    // I may not have thing right.
    // OraLiteHome\Mobile\Server\bin is the residing directory for
    // the functional copy of the webtogo.ora file.
    oracle.mobile.admin.ResourceManager.openConnection(
    CONS_SCHEMA,
    DEFAULT_PASSWORD,
    "jdbc:oracle:oci8:@WEBTOGO.WORLD");
    catch(ResException ee)
    ee.printStackTrace (); // NULL Pointer Exception?
    // The Mobile user is created, and then the function throws a resource exception.
    // This is a serious problem with the code. One would assume that the user
    // is not created if and exception is thrown.
    // This appears to be a bug in the createUser code. The function should return
    // false if the user is not created, and handle, or not throw the exception.
    // The function always returns false. It does return true when a user is created
    // because it throws an exception.
    boolean bIsCreated;
    System.out.println("Begin of why is ResourceManager not dropping users?");
    // Line 277
    try
    // The dropUser function will not drop a user. I have tested the function
    // by creating the user ZMPT1UA in the Mobile Server Control Center
    // http://Yggdrasill.cfr.msstate.edu/webtogo
    // so I know that the user exist.
    // This function throws a ResException but it is not declared correctly
    // since you cannot trap the exception as a ResException. It always tells
    // me the view does not exist. What steps are required to get the function
    // to work? What function calls need to be made prior to calling the dropUser
    // function.
    oracle.mobile.admin.ResourceManager.dropUser("ZMPT1UA");
    catch (Throwable ee)
    ee.printStackTrace (); // NULL Pointer Exception?
    System.out.println("End of why is ResourceManager not dropping users?");
    try
    bIsCreated = oracle.mobile.admin.ResourceManager.createUser(
    "ZMPT1UA",
    DEFAULT_PASSWORD,
    "ZMPT1UA", "S");
    catch (Throwable ee)
    ee.printStackTrace (); // Ignore exception
    // Obsolete or depreciated function, according to documentation?
    oracle.mobile.admin.ResourceManager.commitTransaction();
    // Create CONS_SCHEMA user on the database with the same username, and
    // password as the user on the Mobile Server side. This is why the
    // DriverManager connection was made as SYSTEM/phwphw.
    // Grant ALL to repository, and user on replicated database
    // On the database side there is a user with un = fiafield,
    // and pw = fiafield, which is the same as the Mobile Repository
    // schema name/password pair fiafield/fiafield. Can this duality
    // create a problem? Probably not.
    // Need SYSTEM ADMIN privilages for the next two steps, and that is
    // why the coonection was established as SYSTEM/phwphw.
    // Make user, and grants for Publish to user CONS_SCHEMA, and ZMPT1UA
    System.out.println("Pargress point D");
    try
    s.execute("Create user " + "ZMPT1UA" + " identified by " + DEFAULT_PASSWORD);
    catch (SQLException ee)
    ee.printStackTrace (); // ignore
    try
    s.execute("GRANT ALL ON FIAFIELD.ZMTR1TBL to " + CONS_SCHEMA + " WITH GRANT OPTION");
    catch (SQLException ee)
    ee.printStackTrace (); // ignore
    try
    s.execute("GRANT ALL ON FIAFIELD.ZMTR1TBL to " + "ZMPT1UA" + " WITH GRANT OPTION");
    catch (SQLException ee)
    ee.printStackTrace (); // ignore
    /* This code is not needed to test the code
    // Insert items into table FIAFIELD.ZMTR1TBL from FIAFIELD.HUSKY_TREE
    String Statement =
    "INSERT INTO FIAFIELD.ZMTR1TBL SELECT * from FIAFIELD.HUSKY_TREE WHERE PLOT = 1";
    try
    s.execute(Statement);
    catch (SQLException ee)
    System.out.println("FIAFIELD.HUSKY_TREE was not inserted into FIAFIELD.ZMTR1TBL");
    ee.printStackTrace (); // ignore
    c.commit ();
    catch (SQLException ee)
    ee.printStackTrace ();
    finally
    if (s!= null) try {s.close ();}catch (SQLException e1){}
    if (c!= null) try {c.close ();}catch (SQLException e2){}
    // The Consolidator class is not thread safe, and I will eventually
    // need thread safety. The ConsolidatorManage class is thread safe.
    //Consolidator ConsolidatorXX = new Consolidator();
    ConsolidatorManager ConsolidatorXX = new ConsolidatorManager();
    // Line 386
    // Try opening a connection. Sample11 does not open a connection, but it seems
    // like a logical first thing to do.
    // At least with this connection the DropPublication, and AddPublication functions
    // appear to work, or at least they do not throw exceptions. The DropPublication
    // throws an exception if a publication does not exist? I tested this and indeed
    // if I call the DropPublication function, and do not create the Publication again
    // when I reenter the program the DropPublication function throws an exception, and
    // produces the correct error message(The publication does not exist). There is hope.
    // It is very disturbing that the program fails unless the webtogo.ora file is not
    // in the current working directory. Because the OpenConnection functions of both
    // the ResourceManager, and ConsolidatorManager both appear to need access to the
    // webtogo.ora file, and they are finding them in the current directory, the
    // logical conclusion is that both of the classes are attempting to open the
    // webtogo.ora with the relative path webtogo.ora, and not the absolute path
    // OraHomeLite/Mobile/Server/Bin/webtogo.ora. As this has to be the case, why
    // is this very important fact not in the documentation? Or, am I wrong?
    Connection conn = null;
    try
    //ConsolidatorXX.OpenConnection(CONS_SCHEMA,
    //DEFAULT_PASSWORD);
    //ConsolidatorXX.OpenConnection(CONS_SCHEMA,
    //DEFAULT_PASSWORD,
    //"jdbc:oracle:oci8:@WEBTOGO.WORLD");
    conn = DriverManager.getConnection
    ("jdbc:oracle:oci8:@WEBTOGO.WORLD",
    CONS_SCHEMA,DEFAULT_PASSWORD);
    //conn = DriverManager.getConnection
    //("jdbc:oracle:oci8:@WEBTOGO.WORLD",
    //"SYSTEM","phwphw");
    ConsolidatorXX.OpenConnection(conn);
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    // Publication name
    Publication = "ZMTR1PUB";
    try
    ConsolidatorXX.DeinstantiateSubscription(Publication, "ZMPT1UA");
    catch (Throwable e)
    System.out.println("Could not Deinstantiate Subscription ZMPT1UA");
    e.printStackTrace(); //ignore error
    // Line 448
    // There is no Consolidator.OpenConnection in the orginal sample11.java code.
    // Why?. It appears to be neccessary. The only way I can make the sample11 code
    // or this program work is to open a jdbc connection with the Consolidator.OpenConnection
    // function. I assume that somehow the Consolidator.OpenConnection function was
    // deleted from sample11.java.
    // This try to drop a publication index does not work, because when I try
    // to recreate the index in the following code it warns me that I have a
    // bad column name for the index. So it thinks the index still exist.
    // Why?. How do I get rid of the index?
    try
    ConsolidatorXX.DropPublicationItemIndex("ZMTR1IX1");
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.DropPublicationItem("ZMTR1ITM");
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.DropPublication(Publication);
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    //ConsolidatorXX.CreatePublication(Publication, Consolidator.OKPI_CREATOR_ID,
    //"zMTR1.%s", null);
    ConsolidatorXX.CreatePublication(Publication, Consolidator.OKAPI_WINCE,
    "zMTR1.%s", null);
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.DropPublicationItemIndex("ZMTR1IX1");
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.CreatePublicationItem("ZMTR1ITM","FIAFIELD","ZMTR1TBL", "F",
    "SELECT * FROM FIAFIELD.ZMTR1TBL", null, null);
    catch (Throwable e)
    e.printStackTrace();
    System.out.println("Begin of how can drop this index and get rid of the warning?");
    // Line 522
    // I defined the index ZMTR1IX1 originally on the variable subp, and did not get
    // any warning. I then changed the index variable for the index to id, and started
    // receiving the warning to check the index column for typographical errors. Even
    // if I change the index variable back to subp, I continue to receive the warning.
    // How do I get rid of the index and the warning, so I can recreate the index for
    // another variable? I quess the real question is "How to I completely remove a
    // publication, and all of its parts so I can start over?
    try
    ConsolidatorXX.CreatePublicationItemIndex(
    "ZMTR1IX1", "ZMTR1ITM", "I", "id");
    catch (Throwable e)
    e.printStackTrace ();
    System.out.println("End of how can drop this index and get rid of the warning?");
    try
    ConsolidatorXX.AddPublicationItem(
    Publication, "ZMTR1ITM", null, null, "S", null, null);
    catch (Throwable e)
    e.printStackTrace ();
    try
    ConsolidatorXX.CreateSubscription(Publication, "ZMPT1UA");
    catch (Throwable e)
    e.printStackTrace ();
    try
    ConsolidatorXX.InstantiateSubscription(Publication, "ZMPT1UA");
    catch (Throwable e)
    e.printStackTrace ();
    try
    ConsolidatorXX.CloseConnection();
    if(conn != null)
    conn.close();
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    // Obsolete or depreciated function, according to documentation?
    oracle.mobile.admin.ResourceManager.commitTransaction();
    oracle.mobile.admin.ResourceManager.closeConnection();
    End of Publish.java code     
    Begin Compile.bat
    set CLASSPATH = .;D:\jdk1.4.0\lib\tools.jar;D:\OraLite501\MOBILE\classes\CONSOLIDATOR.JAR;D:\OraLite501\MOBILE\SERVER\BIN\WEBTOGO.JAR;D:\OraLite501\jdbc\lib\classes12.zip;D:\OraLite501\MOBILE\classes\classgen.jar;D:\OraLite501\MOBILE\classes\servlet.jar;D:\OraLite501\MOBILE\CLASSES\OLITE40.JAR
    set PATH= d:\jdk1.4.0\jre\bin\server;d:\jdk1.4.0\bin;D:\OraLite501\bin;D:\OraLite501\Mobile\Server\bin;D:\oracle\ora92\bin;D:\OraLite501\MOBILE\sdk\bin
    d:\jdk1.4.0\bin\javac Publish.java
    End Compile.bat          
    Begin Run.bat
    set CLASSPATH= .;D:\jdk1.4.0\lib\tools.jar;D:\OraLite501\MOBILE\classes\CONSOLIDATOR.JAR;D:\OraLite501\MOBILE\SERVER\BIN\WEBTOGO.JAR;D:\OraLite501\jdbc\lib\classes12.zip;D:\OraLite501\MOBILE\classes\classgen.jar;D:\OraLite501\MOBILE\classes\servlet.jar;D:\OraLite501\MOBILE\CLASSES\OLITE40.JAR
    set PATH= d:\jdk1.4.0\jre\bin\server;d:\jdk1.4.0\bin;D:\OraLite501\bin;D:\OraLite501\Mobile\Server\bin;D:\oracle\ora92\bin;D:\OraLite501\MOBILE\sdk\bin
    d:\jdk1.4.0\bin\java Publish
    End Run.bat
    Begin webtogo.ora
    USE_SYSTEM_CLASSPATH = NO
    MODE = SERVER
    PORT = 80
    BASE_URL=/webtogo
    ADMIN_TNS_NAME=WEBTOGO.WORLD
    ADMIN_JDBC_URL=jdbc:oracle:oci8:@WEBTOGO.WORLD
    APPLET_USE_THIN_JDBC = YES
    THIN_JDBC_URL=jdbc:oracle:thin:@YGGDRASILL:1521:FIA.YGGDRASILL.CFR.MSSTATE.EDU
    SITE_OFFLINE_PERIOD=0
    CUSTOM_WORKSPACE=no
    CUSTOM_DIRECTORY=myworkspace
    DEFAULT_PAGE=myfirstpage.html
    ADMIN_USER=8B37E78535B55525292A3A2929292999
    ADMIN_PASSWORD=873515A838B85828292A3A2929292999
    [EXTERNAL_AUTHENTICATION]
    #CLASS=com.acme.SampleAuthenticator
    # Web-to-go workspace's font
    FONT_NAME=Arial
    [FILESYSTEM]
    #ROOT_DIR=%WEBTOGO_HOME%\server
    #TYPE=O8
    #TYPE=OL
    #TYPE=OS
    # Cache size in MBs
    #CACHE_SIZE=10
    MAX_CONNECTIONS=4
    [DEBUG]
    #ENABLE=YES
    # The log file name.
    #LOG_FILE=test.log
    # Machine name and port where wsh.exe -m is running. Web-to-go
    # will send debug output to that machine.
    #MACHINE=
    #PORT=100
    [APPLICATIONS]
    XMLFILE = ws1.xml
    PACK_HELP=D:\OraLite501\mobile\doc\wtg\html\wtgdep.htm
    [PUBLIC]
    oracle.lite.sync.ConsolidatorServlet=/Consolidator
    [CONSOLIDATOR]
    # Installer will change these values
    SERVER_VERSION=8.1.5
    # 8.0.5 or 8.1.5
    # Installer won't change these values
    MAX_THREADS=3
    JDBC_DRIVER=oracle.jdbc.driver.OracleDriver
    CREATE_USER_OPTIONS_O8I=PROFILE CONSOLIDATOR_CLIENT_P DEFAULT TABLESPACE USERS QUOTA UNLIMITED ON USERS TEMPORARY TABLESPACE INDX QUOTA UNLIMITED ON INDX
    CREATE_USER_OPTIONS_O8=PROFILE CONSOLIDATOR_CLIENT_P DEFAULT TABLESPACE USR QUOTA UNLIMITED ON USR
    TEMPORARY TABLESPACE TEMPORARY QUOTA UNLIMITED ON TEMPORARY
    TEMP=c:\\temp
    WTG_PROXY_PORT=80
    TRACE=NO
    TRACE_ALL=NO
    End webtogo.ora
    Begin Mobile Server tnsnames.ora file
    # TNSNAMES.ORA Network Configuration File: D:\OraLite501\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    WEBTOGO.WORLD =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = YGGDRASILL.CFR.MSSTATE.EDU)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    WEBTOGO.WORLD.YGG =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = YGGDRASILL.CFR.MSSTATE.EDU)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    End Mobile Server tnsnames.ora file
    Begin Database tnsnames.ora file
    # TNSNAMES.ORA Network Configuration File: D:\oracle\ora92\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    INST1_HTTP.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = SHARED)
    (SERVICE_NAME = MODOSE)
    (PRESENTATION = http://HRService)
    FIA.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    FIA.YGGDRASILL.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill.cfr.msstate.edu)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    FIA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    FIA.YGG =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill.cfr.msstate.edu)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    EXTPROC_CONNECTION_DATA.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    End Database tnsnames.ora file

  • Trying to set up a new DB and Mobile server ....

    I have a server runing ora 9i and mobile server 10.2 on linux,
    Now trying to change the server to a new one with linux and
    Oracle 10.1. and 10.3 as the mobile server.
    Did the following steps.
    1.All users were logged off in old server
    2.stopped mobile server
    2. Exported using system full db
    3. imported the same to new system
    4. Checked ADMIN_JDBC_URL,THIN_JDBC_URL and found the new server settings.
    . every thing is fine except mobile server part.
    when try to start mobile server it gives following.
    [oracle@test bin]$ ./runmobileserver
    2008-03-05 11:29:03.169 NOTIFICATION JMS Router is initiating ...
    2008-03-05 11:29:04.188 ERROR J2EE HTTP0004 Internal error raised tyring to instantiate web-application: webtogo defined in web site OC4J 10g (10.1.3) Default Web Site. Application: mobileserver does not exist. Error creating Web application: webtogo
    08/03/05 11:29:04 Oracle Containers for J2EE 10g (10.1.3.0.0) initialized
    Then tryied ./repwizard and it says system does not have required priviledge. But as to the help section all roles were assigned to System.
    if anyone has the correct method of transfering the entire db and mobileserver to a new server please post details.
    I need to sync clients on the new server without refreshing.
    Help is appreciated.

    Thanks rekounas,
    I was out of the office for few days and back again at work.
    I made a mistake while running the repwizard.
    now its ok.
    Problem was i was using mobileadmin to run repwizard.
    But i tried it with database schema(back end) user and password now ok and
    running on 10g r3. but it does a complete refresh on the new server. that takes time and i think there should be some parameter to make it only fast refresh.

  • Oracle 9I Database, and Mobile Server install history

    Dear Oracle technical representative:
    This TAR started out as a true request for help in solving installation problems with Oracle 9i Release 2 Enterprise Edition, and Oracle 9i Mobile Server Release 5.0.1, but it has turned into a history of frustration with out of date, laconic, and often incorrect, and misleading documentation. As a software developer, I understand that documentation is always out of date, at least mine is. Nonetheless, I must speak my mind while understanding, and sympathizing with your situation.
    I struggled through the documentation, and managed to get everything working. While I was doing that, I wrote down the step by step procedure that I used to get Database, and Mobile Server running. By sharing this rough install history with you, it is my hope that it will help prevent others from experiencing the same difficulties that I have had. It has been my observation that when a user has problems installing a trial software package they give up quickly, and do not purchase a copy. It is thus extremely important that the installation instructions, and quick start guide be accurate, attentive to detail, and well written. The first impression is the one that counts.
    The Oracle 9i Lite Installation, and Configuration Guide for Windows NT shipped with Oracle 9i Lite Release 5.0.1 definitely requires, and emergency rewrite. It is terribly out of date, inaccurate, and laconic. My guess is that it is a very sloppy rewrite of poorly written 8i documentation. The Oracle 9i Database Installation Guide for Windows is somewhat better. It however should do a better job informing you that before installing onto a old server the Microsoft Foundation Class (MFC), and VC runtime libraries must be up to date. The history describes the trouble with not having the MFC42.dll at version 6. Another corker is that the default port the installer presents is 2030, and not 1521, and that leads to major confusion in the both the Database, and Mobile Server installs.
    Thank you for looking at the history. I hope that it will be of use to you when you update your documentation.
    Thomas G. Matney
    Mississippi State University
    [email protected]
    (662)325-2791
    TAR for Oracle 9i Release 2 Database Enterprise Edition, and Oracle Lite Release 5.0.1 Mobile Server
    Installation problems are highlighted in red.
    Installation sequence/history:
         1. Installed Windows NT 4.0 Server SP1 on Dell Power Edge 4300 dual x86 server to wipe the slate clean.
         2. Setup TCP/IP, and IPX/SPX networks
              Computer name YGGDRASILL
              Host name = YGGDRASILL
              Domain = CFR.MSSTATE.EDU
              Internet name = YGGDRASILL.CFR.MSSATE.EDU = 130.18.130.225
         3. Installed NT SP3, and Internet Explorer 4.01 from the NT 40 Options Pack CD as the gateway to installing MTS 2.0, and IIS 4.0.
         4. Installed MTS 2.0, and IIS 4.0 from NT 4.0 Optins Pack CD.
         5. Applied NT 4.0 SP6.
         6. Installed Internet Explorer 5.5 as a prerequisite to installing MADAC 2.6.          
         7. Installed MDAC 2.6
         8. Installed Paint Shop Pro 7 for capturing error screens.
         9. As previous install errors stated that the ordinal function xxxx could not be found in MFC42.dll, the latest version (6.0.8665.0) of the dll was installed, and registered from MS VC++ SP5. Also I upgraded MSVCIRT.dll, MSVCRT.dll, MSCRT40.dll, and added MSVC60.dll from SP5 to be on the safe side.
    According to the installation documents all the prerequisites for installing Oracle 9i Release 2 Database Enterprise Edition are satisfied.
         10. Began install of Oracle Database Enterprise Edition with target parameters:
              Home directory = D:\Oracle\Ora92
              Database directory = D:\Oracle\oradata
              Global database name = FIA.YGGDRASILL.CFR.MSSTATE.EDU
              Port = 2030
              SID = FIA
              SYSTEM Password = phwphw
              SYS Password = phwphw
              SCOTT Password = phwphw
              DBSNMP Password = I left this one unassigned or empty.
              tnsnames.ora entry for remote TCP/IP connection
              a. CD 1 of 3 load
                   1. Error writting to MFC42u.dll. Action ignore. A check indicated that MFC42u.dll version did not match the updated version of MFC42.dll. Plan is to update after install. Unicode version of MFC is probably not used by the installer.
              b. CD 1 completed with only one problem, and CD 2 load begins.
              c. CD 2 installed without incident., and CD 3 load begins, and completes without farther problems. The only issue to address at this time is to update the MFC42u.dll.
                   HTTP Server URLs
                        http://7778
                        https://4443
         12. Evaluation of install success begins.
              a. Oracle HTTP Service will not start. It is of particular interest that on installs that I do not upgrade the MFC42.dll the Oracle HTTP Service will start correctly, but during the install I get the error message Ordinal nnnn not found in MFC42.dll, and the Oracle MTS Recovery Service crashes during the install. I am caught between a rock and hard spot on this one. See the Figure 1. At the end of this document. I do not need the HTTP Server at this time but I will need it later and this issue must be resolved. It appears that it hangs during startup. I am sorry but I lost the ordinal number nnnn.
              When I try to start the HTTP server from the Programs menu. It Hangs, and does not return an error message. See Figure 2, and the included Apache Setup.txt, the install log, and the HTTPd.conf . The conf, and setup files look OK to me. What is the problem?          
              b. All other services start correctly.
              c. Logged into the database as SCOTT on the server with SQL Plus using the connection information:
                   FIA.CFR.MSSTATE.EDU =
                   (DESCRIPTION =
                   (ADDRESS_LIST =
                   (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
                   (CONNECT_DATA =
                   (SERVER = DEDICATED)
                   (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
              I created some tables, inserted data, and queried for the data. Everthing seems to be working correctly.
              d. Logged in remotely from my AOL account on a dial-up line using Oracle 9i Release 2 Personal Edition installed on my ThinkPad. Every thing tested out as above. I used the connection information:
                   FIA.CFR.MSSTATE.EDU =
                   (DESCRIPTION =
                   (ADDRESS_LIST =
                   (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill.cfr.msstate.edu)(PORT = 1521))
                   (CONNECT_DATA =
                   (SERVER = DEDICATED)
                   (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
         13. I concluded that except for the Oracle HTTP Server Service not starting correctly, and that after updating the MFC42u.dll to VC++ SP5 level the stage is set for installing Oracle 9i Mobile Server Release 5.0.1. I copied the MFC42u.dll to the server and registered it successfully.
         14. As Visual Studio 6.0 Professional updates all of the MFC stuff, I decides to install it at this juncture, and apply SP5.
         15. Installed JDK1.3.1 required for Oracle 9i Mobile Server Release 5.0.1
    At this time the prerequisites for installing Oracle 9i Mobile Server Release 5.0.1 are satisfied, and MFC, and rt are at version 6.
    It is important to note that after installing MS Visual Studio Professional 6.0 SP5, the HTTP server started working. It is clear that prior to installing Oracle Database it is essential that MFC, and possibly other components are upgraded before starting an installation of Oracle. This probably only applies to old NT servers, but it should be mentioned in the installation instructions.
         16. Attempt to install Oracle Mobile Server Release 5.0.1
              a. File locations Screen
                   Name: = OraLite501               
                   Path: = D:\OraLite501
              b. Select Mobile Server at Installation Screen
              c. Mobile Server Repository Database Information Screen
                   Hostname = YGGDRASILL = hostname from tnsnames.ora
                   Port = 2030 = same as Database port
                        It is troublesome that the port in tsnames.ora is 1521, and not 2030 as was specified in the database install. I will try this port on the reinstall. On the retry, it worked. The problem was that I was mislead by the default port of 2030 at the database install. The database was actually installed on port 1521, and I was not given an error message, or warning. As I am a first time installer of Oracle products this threw me for a loop. The default port for the database needs to be 1521, if regardless of what the user specifies for a port you are going to install on port 1521.
                   Net Service Name = FIA.YGGDRASILL.CFR.MSSTATE.EDU = Global database name as required by installation instructions.
              d. Yes. At Do you want to install the Mobile Server Repository question.
              e. At Oracle Protocol Support, I checked the SPX box.
              f. Summary, and Install screens function to specifications.
              g. Mobile Server Repository Wizard
                   Database System password:
                        Password = phwphw
              h. Mobile Server Repository Wizard
                   Schema Name: fiafield
                   Password : fiafield
              i. Success at last with the install part. The problem was the wrong port number. See my above comments on this problem, and how Oracle could grease the skids for the next first time installer.
         j. I could not find the httpd.conf file in the place the install instructions said it should be for running the Mobile Server in Oracle HTTP Server. Since only one copy of httpd.conf existed, I added the include D:\OraLite501\mobile\server\bin\wtgias.conf to the bottom of the file assuming that it is the correct one. I the re-booted instead of using apache -k restart. The Oracle HTTP Server started, so there is hope. The install instructions state that the httpd.conf file would most likely be in the program files directory, when they are really installed in the Oracle Lite home directory.
         k. According to the documentation the Mobile Server should start when the Oracle HTTP Server starts with the wtgias.conf file added to the httpd.conf file. It does not. If I use Process Explorer, I know that Apache loaded the wtgias.conf, because both Apache.exe processes that are running have the wtgias.dll loaded. The facts are at this stage of the game are
              1. OraMTSRecoveryService is started
              2. OracleOraHome92HTTPService is started
              3. OracleOraHome92Listener is started on port
              4. OracleServiceFIA is started
              5. Apache.exe has the wtgias.dll loaded
              6. The Moble Server is not running and it should be if the documentation is correct.
              7. If I start the Mobile Server either as a service using wtgsvc -i or with the webtogo command from the DOS prompt, the Mobile Server starts, but when I attempt to log in with the URL http://Yggdrasill:7778/webtogo/startup it inform me the Mobile Server is not started and it is. Figure 3 shows the response I receive from the login attempt.
         l. I finally ran the Mobile Server in total debug mode using the command webtogo -d0", and it gave me the subtle hint that the correct URL is
              http://Yggdrasill.cfr.msstate.edu/webtogo/startup.
         When I use the above URL and I can login to the Mobile Server with UN = fiafield, and PW = fiafield. I was confused by the documentation. I was under the assumption that the host address would be either http://Yggdrasill:7778, or http://Yggdrasill:4443. After all when I, installed Oracle Database these URLs were listed. It needs to be made clear in the installation guide for the mobile server that the Mobile Server address is http://Your servers WWW address/webtogo/startup, and the statements about the Mobile Server will start when the Oracle HTTP Server is started needs to be removed since they are incorrect. Also, the documentation should clearly state that the Schema Name, and Password given in the Repository Wizard Screen are synonymous with the username, and password for the Mobile Server login.
         m. After determning the hard way that the Mobile Server does not start when the the Oracle HTTP Server starts, and that the correct URL is http://Internet address/webtogo/startup = http://Yggdrasill.cfr.msstate.edu/webtogo/startup, I decide to start the Mobile Server as a service with the command wtgsvc -i. After I re-booted, to my surprise, I could not login to the Mobile Server. When I checked the system services, the webtogo service was running. So to give the start as a service thing a fair chance I re-booted again, but obtained the same results. I thus concluded that the Mobile Server will not run correctly as a service. As it turns out my conclusion was wrong. After waiting a few minutes, my login try was successful. The documentation should indicate that after booting it may be a minute or two before the Mobile Server service become available.
         n. After some serious problems with the installer, and the documentation everything is working. I have a green light to go on to the next stage, which is program the handheld to take advantage of the Mobile Server. I will be glad to get back to programming, and am so thankful that I am not a network administrator.
         Appendix
    HTTPd.Conf (Abstract only), Apache Setup.txt,
    tsnames.ora, and listener.ora.
    HTTPd.conf (Abstract only)
    # Based upon the NCSA server configuration files originally by Rob McCool.
    # Include the Oracle configuration file for custom settings
    include "D:\oracle\ora92\Apache\Apache\conf\oracle_apache.conf"
    include "D:\OraLite501\mobile\server\bin\wtgias.conf "
         tsnames.ora
    # TNSNAMES.ORA Network Configuration File: D:\oracle\ora92\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    INST1_HTTP.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = SHARED)
    (SERVICE_NAME = MODOSE)
    (PRESENTATION = http://HRService)
    FIA.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    EXTPROC_CONNECTION_DATA.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
              listener.ora
    # LISTENER.ORA Network Configuration File: D:\oracle\ora92\network\admin\listener.ora
    # Generated by Oracle configuration tools.
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = D:\oracle\ora92)
    (PROGRAM = extproc)
    (SID_DESC =
    (GLOBAL_DBNAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    (ORACLE_HOME = D:\oracle\ora92)
    (SID_NAME = FIA)
              Apache SetupInfo.txt
    The following information is available in:
    D:\oracle\ora92\Apache\Apache\setupinfo.txt
    The HTTP Server can be accessed using the following URLs:
    http://yggdrasill:7778
    https://yggdrasill:4443

    You can find information regarding enabling the iSQLPLUS in the following Oracle manual.
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14357/ch2.htm

  • Database 9i, and Mobile Server install history

    Dear Oracle technical representative:
    This TAR started out as a true request for help in solving installation problems with Oracle 9i Release 2 Enterprise Edition, and Oracle 9i Mobile Server Release 5.0.1, but it has turned into a history of frustration with out of date, laconic, and often incorrect, and misleading documentation. As a software developer, I understand that documentation is always out of date, at least mine is. Nonetheless, I must speak my mind while understanding, and sympathizing with your situation.
    I struggled through the documentation, and managed to get everything working. While I was doing that, I wrote down the step by step procedure that I used to get Database, and Mobile Server running. By sharing this rough install history with you, it is my hope that it will help prevent others from experiencing the same difficulties that I have had. It has been my observation that when a user has problems installing a trial software package they give up quickly, and do not purchase a copy. It is thus extremely important that the installation instructions, and quick start guide be accurate, attentive to detail, and well written. The first impression is the one that counts.
    The Oracle 9i Lite Installation, and Configuration Guide for Windows NT shipped with Oracle 9i Lite Release 5.0.1 definitely requires, and emergency rewrite. It is terribly out of date, inaccurate, and laconic. My guess is that it is a very sloppy rewrite of poorly written 8i documentation. The Oracle 9i Database Installation Guide for Windows is somewhat better. It however should do a better job informing you that before installing onto a old server the Microsoft Foundation Class (MFC), and VC runtime libraries must be up to date. The history describes the trouble with not having the MFC42.dll at version 6. Another corker is that the default port the installer presents is 2030, and not 1521, and that leads to major confusion in the both the Database, and Mobile Server installs.
    Thank you for looking at the history. I hope that it will be of use to you when you update your documentation.
    Thomas G. Matney
    Mississippi State University
    [email protected]
    (662)325-2791
    TAR for Oracle 9i Release 2 Database Enterprise Edition, and Oracle Lite Release 5.0.1 Mobile Server
    Installation problems are highlighted in red.
    Installation sequence/history:
         1. Installed Windows NT 4.0 Server SP1 on Dell Power Edge 4300 dual x86 server to wipe the slate clean.
         2. Setup TCP/IP, and IPX/SPX networks
              Computer name YGGDRASILL
              Host name = YGGDRASILL
              Domain = CFR.MSSTATE.EDU
              Internet name = YGGDRASILL.CFR.MSSATE.EDU = 130.18.130.225
         3. Installed NT SP3, and Internet Explorer 4.01 from the NT 40 Options Pack CD as the gateway to installing MTS 2.0, and IIS 4.0.
         4. Installed MTS 2.0, and IIS 4.0 from NT 4.0 Optins Pack CD.
         5. Applied NT 4.0 SP6.
         6. Installed Internet Explorer 5.5 as a prerequisite to installing MADAC 2.6.          
         7. Installed MDAC 2.6
         8. Installed Paint Shop Pro 7 for capturing error screens.
         9. As previous install errors stated that the ordinal function xxxx could not be found in MFC42.dll, the latest version (6.0.8665.0) of the dll was installed, and registered from MS VC++ SP5. Also I upgraded MSVCIRT.dll, MSVCRT.dll, MSCRT40.dll, and added MSVC60.dll from SP5 to be on the safe side.
    According to the installation documents all the prerequisites for installing Oracle 9i Release 2 Database Enterprise Edition are satisfied.
         10. Began install of Oracle Database Enterprise Edition with target parameters:
              Home directory = D:\Oracle\Ora92
              Database directory = D:\Oracle\oradata
              Global database name = FIA.YGGDRASILL.CFR.MSSTATE.EDU
              Port = 2030
              SID = FIA
              SYSTEM Password = phwphw
              SYS Password = phwphw
              SCOTT Password = phwphw
              DBSNMP Password = I left this one unassigned or empty.
              tnsnames.ora entry for remote TCP/IP connection
              a. CD 1 of 3 load
                   1. Error writting to MFC42u.dll. Action ignore. A check indicated that MFC42u.dll version did not match the updated version of MFC42.dll. Plan is to update after install. Unicode version of MFC is probably not used by the installer.
              b. CD 1 completed with only one problem, and CD 2 load begins.
              c. CD 2 installed without incident., and CD 3 load begins, and completes without farther problems. The only issue to address at this time is to update the MFC42u.dll.
                   HTTP Server URLs
                        http://7778
                        https://4443
         12. Evaluation of install success begins.
              a. Oracle HTTP Service will not start. It is of particular interest that on installs that I do not upgrade the MFC42.dll the Oracle HTTP Service will start correctly, but during the install I get the error message Ordinal nnnn not found in MFC42.dll, and the Oracle MTS Recovery Service crashes during the install. I am caught between a rock and hard spot on this one. See the Figure 1. At the end of this document. I do not need the HTTP Server at this time but I will need it later and this issue must be resolved. It appears that it hangs during startup. I am sorry but I lost the ordinal number nnnn.
              When I try to start the HTTP server from the Programs menu. It Hangs, and does not return an error message. See Figure 2, and the included Apache Setup.txt, the install log, and the HTTPd.conf . The conf, and setup files look OK to me. What is the problem?          
              b. All other services start correctly.
              c. Logged into the database as SCOTT on the server with SQL Plus using the connection information:
                   FIA.CFR.MSSTATE.EDU =
                   (DESCRIPTION =
                   (ADDRESS_LIST =
                   (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
                   (CONNECT_DATA =
                   (SERVER = DEDICATED)
                   (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
              I created some tables, inserted data, and queried for the data. Everthing seems to be working correctly.
              d. Logged in remotely from my AOL account on a dial-up line using Oracle 9i Release 2 Personal Edition installed on my ThinkPad. Every thing tested out as above. I used the connection information:
                   FIA.CFR.MSSTATE.EDU =
                   (DESCRIPTION =
                   (ADDRESS_LIST =
                   (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill.cfr.msstate.edu)(PORT = 1521))
                   (CONNECT_DATA =
                   (SERVER = DEDICATED)
                   (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
         13. I concluded that except for the Oracle HTTP Server Service not starting correctly, and that after updating the MFC42u.dll to VC++ SP5 level the stage is set for installing Oracle 9i Mobile Server Release 5.0.1. I copied the MFC42u.dll to the server and registered it successfully.
         14. As Visual Studio 6.0 Professional updates all of the MFC stuff, I decides to install it at this juncture, and apply SP5.
         15. Installed JDK1.3.1 required for Oracle 9i Mobile Server Release 5.0.1
    At this time the prerequisites for installing Oracle 9i Mobile Server Release 5.0.1 are satisfied, and MFC, and rt are at version 6.
    It is important to note that after installing MS Visual Studio Professional 6.0 SP5, the HTTP server started working. It is clear that prior to installing Oracle Database it is essential that MFC, and possibly other components are upgraded before starting an installation of Oracle. This probably only applies to old NT servers, but it should be mentioned in the installation instructions.
         16. Attempt to install Oracle Mobile Server Release 5.0.1
              a. File locations Screen
                   Name: = OraLite501               
                   Path: = D:\OraLite501
              b. Select Mobile Server at Installation Screen
              c. Mobile Server Repository Database Information Screen
                   Hostname = YGGDRASILL = hostname from tnsnames.ora
                   Port = 2030 = same as Database port
                        It is troublesome that the port in tsnames.ora is 1521, and not 2030 as was specified in the database install. I will try this port on the reinstall. On the retry, it worked. The problem was that I was mislead by the default port of 2030 at the database install. The database was actually installed on port 1521, and I was not given an error message, or warning. As I am a first time installer of Oracle products this threw me for a loop. The default port for the database needs to be 1521, if regardless of what the user specifies for a port you are going to install on port 1521.
                   Net Service Name = FIA.YGGDRASILL.CFR.MSSTATE.EDU = Global database name as required by installation instructions.
              d. Yes. At Do you want to install the Mobile Server Repository question.
              e. At Oracle Protocol Support, I checked the SPX box.
              f. Summary, and Install screens function to specifications.
              g. Mobile Server Repository Wizard
                   Database System password:
                        Password = phwphw
              h. Mobile Server Repository Wizard
                   Schema Name: fiafield
                   Password : fiafield
              i. Success at last with the install part. The problem was the wrong port number. See my above comments on this problem, and how Oracle could grease the skids for the next first time installer.
         j. I could not find the httpd.conf file in the place the install instructions said it should be for running the Mobile Server in Oracle HTTP Server. Since only one copy of httpd.conf existed, I added the include D:\OraLite501\mobile\server\bin\wtgias.conf to the bottom of the file assuming that it is the correct one. I the re-booted instead of using apache -k restart. The Oracle HTTP Server started, so there is hope. The install instructions state that the httpd.conf file would most likely be in the program files directory, when they are really installed in the Oracle Lite home directory.
         k. According to the documentation the Mobile Server should start when the Oracle HTTP Server starts with the wtgias.conf file added to the httpd.conf file. It does not. If I use Process Explorer, I know that Apache loaded the wtgias.conf, because both Apache.exe processes that are running have the wtgias.dll loaded. The facts are at this stage of the game are
              1. OraMTSRecoveryService is started
              2. OracleOraHome92HTTPService is started
              3. OracleOraHome92Listener is started on port
              4. OracleServiceFIA is started
              5. Apache.exe has the wtgias.dll loaded
              6. The Moble Server is not running and it should be if the documentation is correct.
              7. If I start the Mobile Server either as a service using wtgsvc -i or with the webtogo command from the DOS prompt, the Mobile Server starts, but when I attempt to log in with the URL http://Yggdrasill:7778/webtogo/startup it inform me the Mobile Server is not started and it is. Figure 3 shows the response I receive from the login attempt.
         l. I finally ran the Mobile Server in total debug mode using the command webtogo -d0", and it gave me the subtle hint that the correct URL is
              http://Yggdrasill.cfr.msstate.edu/webtogo/startup.
         When I use the above URL and I can login to the Mobile Server with UN = fiafield, and PW = fiafield. I was confused by the documentation. I was under the assumption that the host address would be either http://Yggdrasill:7778, or http://Yggdrasill:4443. After all when I, installed Oracle Database these URLs were listed. It needs to be made clear in the installation guide for the mobile server that the Mobile Server address is http://Your servers WWW address/webtogo/startup, and the statements about the Mobile Server will start when the Oracle HTTP Server is started needs to be removed since they are incorrect. Also, the documentation should clearly state that the Schema Name, and Password given in the Repository Wizard Screen are synonymous with the username, and password for the Mobile Server login.
         m. After determning the hard way that the Mobile Server does not start when the the Oracle HTTP Server starts, and that the correct URL is http://Internet address/webtogo/startup = http://Yggdrasill.cfr.msstate.edu/webtogo/startup, I decide to start the Mobile Server as a service with the command wtgsvc -i. After I re-booted, to my surprise, I could not login to the Mobile Server. When I checked the system services, the webtogo service was running. So to give the start as a service thing a fair chance I re-booted again, but obtained the same results. I thus concluded that the Mobile Server will not run correctly as a service. As it turns out my conclusion was wrong. After waiting a few minutes, my login try was successful. The documentation should indicate that after booting it may be a minute or two before the Mobile Server service become available.
         n. After some serious problems with the installer, and the documentation everything is working. I have a green light to go on to the next stage, which is program the handheld to take advantage of the Mobile Server. I will be glad to get back to programming, and am so thankful that I am not a network administrator.
         Appendix
    HTTPd.Conf (Abstract only), Apache Setup.txt,
    tsnames.ora, and listener.ora.
    HTTPd.conf (Abstract only)
    # Based upon the NCSA server configuration files originally by Rob McCool.
    # Include the Oracle configuration file for custom settings
    include "D:\oracle\ora92\Apache\Apache\conf\oracle_apache.conf"
    include "D:\OraLite501\mobile\server\bin\wtgias.conf "
         tsnames.ora
    # TNSNAMES.ORA Network Configuration File: D:\oracle\ora92\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    INST1_HTTP.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = SHARED)
    (SERVICE_NAME = MODOSE)
    (PRESENTATION = http://HRService)
    FIA.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    EXTPROC_CONNECTION_DATA.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
              listener.ora
    # LISTENER.ORA Network Configuration File: D:\oracle\ora92\network\admin\listener.ora
    # Generated by Oracle configuration tools.
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = D:\oracle\ora92)
    (PROGRAM = extproc)
    (SID_DESC =
    (GLOBAL_DBNAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    (ORACLE_HOME = D:\oracle\ora92)
    (SID_NAME = FIA)
              Apache SetupInfo.txt
    The following information is available in:
    D:\oracle\ora92\Apache\Apache\setupinfo.txt
    The HTTP Server can be accessed using the following URLs:
    http://yggdrasill:7778
    https://yggdrasill:4443

    When you install the MD Workstation you are opted to choose among different applications i.e. mobile sales, mobile service, mobile system maintenance or authorization management tool. You can there choose the application to install besides the installation of the MD Workstation.
    If you want to add application(s) later, you have to choose 'modify' and choose all parts for the MD Workstation plus the applications. If you omit options chosen before when doing the first installation then these will be removed. So be shure to choose ALL relevant things for the application as well as for the MD Workstation.
    You can also generate the application from the installed repository, there are several notes on this subject available ('how to generate an application') which are referred to in about any installation guide or note changing the msa coding.
    Regards Kai

  • Application Server Session timed out (-11) (lack of debug in internal ITS)

    Dear Sirs,
    I get the error message below, when I try to run a IAC through internal ITS. The IAC worked for a while (<30 minutes), and then suddenly this error appeared.
    I can see that this error message has been asked about previously, but then in connection with statefull/stateless BSP applications (e.g "Session timed out thread", on this forum May 31 2005).
    In this thread the solution is apparently to alter the 'rdisp/plugin_auto_logout', is this the case for us as well?
    I have read Error handling using the ICM , but not able to actually beeing able to pinpoint the problme.
    All our other IAC are working it is only a problem with one of them. The problem is still valid even if I log on with different user, and the error is still there now even after two hours. The problem transaction is a altered version of the WSTA, and I am able to get the first screen where I enter the store number. 
    Any tips or suggestions to pinpoint the error?
    +400 Session timed out - please log in again
    Application Server Session timed out (-11)
    Error:     -11
    Version:     6040
    Component:     ICM
    Date/Time:     Thu Apr 27 14:13:56 2006
    Module:     icxxthr_mt.c
    Line:     1719
    Server:     xxXXXt_TXX_XX
    Detail:     Session does not exist+
    In SM21 :
    +Transaction Canceled ITS_P 025 ( 0x2103: Interpreter: The input contains errors. )                                                              
    Documentation for system log message D01 :
    The transaction has been terminated.  This may be caused by a termination message from the application (MESSAGE Axxx) or by an error detected by the SAP System due to which it makes no sense to proceed with the transaction.  The actual reason for the termination is indicated by the T200 message and the parameters.                         
    Additional documentation for message ITS_P               025 Template interpretation terminated - internal error &1                        
    No documentation exists for message IT025+                                     
    Best regards,
    Jørgen

    Dear Sirs,
    The error has been solved. It was a matter of an illegal input sendt to the RetailHeaderFunction.
    However, this makes way for another question.
    On the standalone ITS, it was possible to get error messages which indicated where the code contained errors, when it was runned.
    How is it possible to make the internal ITS gives better feedback (errors?), and show where the error is?
    Jørgen

Maybe you are looking for

  • Error while while reading mails

    Hi, I'm getting the following error while I'm trying to read mails from server where POP3 is enabled. Could anyone please let me know how I can fix it? Exception in thread "main" javax.mail.AuthenticationFailedException: The request ed mailbox is not

  • How to install in system cache via browser-click of user

    Hi all, I can install a webstart application with this command: javaws -system -import <url> But is it possible to install an application in the system cache (without administrators operation) when a user starts the application with a click at the jn

  • Zen Neeon completely fro

    My son has the Zen Neeon, and it suddenly froze. I tried to reset it with a paper clip, but it won't even do that. It does make connection with my computer, and his laptop, but it won't do anything after that. It froze about 4 months ago, and the res

  • J2EE Help

    I am new to J2EE and am having problems deploying a JSP page with java embeded in it: <%! java.util.Date today = new java.util.Date(); %>. This is straight out of a J2EE book. I get an error: No Java compiler was found to compile the generated source

  • Windows 7 sound driver for dv8225nr

    please help I need sound driver for hp dv8225nr that works with windows 7 I have tried realtec and conexant drivers and no results.