Performance DB vs Java Edition

Hi there,
we've been investigating wether a (and when which) NoSQL-DB outperforms a standard SQL solution for our usecase:
500.000 records bulk insert
2k - 5k per record
With 2 Indices
Using Java API
Multi OS: Linux, Windows, z/OS
Berkeley DB performed best (bulk insert, selects and deletes) on our Windows-Tests (with 2GB memory).
Unfortunately theres a huge gap between Berkley DB and its Java Edition performance.
For a 20.000 record chunk insert Berkeley DB (using BTREE) takes 2000 - 3500 ms. When the cache is full and the first cache misses appear the inserting time grows and stays at arround 8000 ms. After a while st_cacheMiss decreases again resulting in 2000 - 3500 ms per insert.
The JE starts with 4500 - 5000 ms per insert. After the first 200.000 records the cache is full and the nCacheMiss grows rapidly along with the inserting time (11s, 13s, 16s, ... 30s and even longer). There is no constancy like the non Java version shows to have.
Is there any way to reach the Berkeley DB's performance with the JE? Esp. the constant insert time.
We've tried already different CacheModes but default mode is the best.
Setting je.log.faultReadSize=5120 leads to a slighter better perfomance, but still the inserting gets slower and slower.
Since we need z/OS support we'd prefer to use the JE.
Thanks for any help.
Jonas

Hello Jonas,
Glad you found the main problem.
I don't find it's productive to compare the two products' performance as they are so different, but I can help with tuning BDB JE.
The first step is to take a look at the performance section of the FAQ:
http://www.oracle.com/technetwork/database/berkeleydb/je-faq-096044.html
If you have further questions on tuning please be sure to post:
+ Your EnvironmentConfig settings and je.properties (if any)
+ Your DatabaseConfig or StoreConfig settings.
+ A couple dumps of the EnvironmentStats covering the performance test time period, and be sure to clear the stats each time with StatsConfig.setClear(true).
This is just the starting info for doing any sort of tuning with JE.
I'm surprised that CacheMode.EVICT_LN didn't help, since moving the LNs out of cache immediately should reduce the burden on the evictor and Java GC. If you don't have enough cache to hold all LNs (see the FAQ entry on DbCacheSize), then EVICT_LN is usually beneficial. If you use EVICT_LN, be sure to also set EnvironmentConfig.CLEANER_LAZY_MIGRATION to false. Lazy migration retains LNs in cache and partially negates the benefits of EVICT_LN.
As described in the FAQ, be sure your cache size is large enough to hold the BINs.
The deferred-write mode is sometimes a win for bulk loading, but if you are doing pure insertions it may not help.
I suggest enlarging these ENVIRONMENT_CONFIG settings if you haven't already:
CLEANER_LOOK_AHEAD_CACHE_SIZE - try 1MB
CLEANER_READ_SIZE - try 1MB
See Durability if your database/store is transactional. Using NO_SYNC durability is much faster of course, but there are trade-offs. NO_SYNC is the default for a non-transactional database/store.
--mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

Similar Messages

  • Berkeley DB Java Edition and Java 1.4

    As a Berkeley DB Java Edition user we place a very high value on your input. We need your feedback regarding a product requirement for Java 1.5.
    As time goes on we find ourselves implementing more and more performance enhancements based on facilities found only Java 1.5, primarily in the java.util.concurrent package. When we make these enhancements, we currently also maintain support for Java 1.4 although not at the same level of performance. Maintaining and testing this dual mode operation is beginning to slow down our development process. We would like to move as quickly as possible to take advantage of Java 1.5 performance features, but we are constrained by maintaining support for Java 1.4.
    We are therefore planning to require Java 1.5 in the next major release of Berkeley DB Java Edition. Before finalizing this plan, we need your input on whether Java 1.4 support is important to you. Please let us know what your needs are by replying to this forum message.
    Thanks.
    The Java Edition team

    Morgan,
    Yes, we currently plan to only offer replication for Java 1.5. Our motivations are split between the speed consideration and the codeline issues. We've seen better performance with 1.5. Also taking full advantage of the type safety and concurrent support in 1.5 can end up affecting implementation choices significantly, and can make 1.4 code and 1.5 code diverge a lot.
    As for bug fixing on the 1.4 releases, we don't yet have an official plan. We care very much about supporting our open source users and have been able to provide backwards patches where critical in the past. However, the cost of backporting between 1.5 and 1.4 may be high for some bug fixes, and we'll probably have to decide case by case.
    Regards,
    Linda

  • Berkeley DB Java Edition (JE) and JRuby Interoperability

    I finally got around to doing a quick test of calling Berkeley DB Java Edition (JE) from JRuby (JRuby is a 100% pure-Java implementation of Ruby).
    Before we get to JE and JRuby you probably want to know the answer to this question: "Why you would want to run Ruby on a JVM?" The answer is threefold:
    1. Ruby Performance. A large amount of effort has been put into tuning contemporary JVMs (e.g. Hotspot, Java 6, etc.) and Ruby programmers (through JRuby) can benefit from these tuning efforts. The JRuby guys have set a goal to make JRuby the fastest Ruby implementation available and Sun is certainly throwing their weight behind that effort.
    2. Portability. JRuby is a Ruby interpreter that runs anywhere a Java 5 JVM runs. You download it as a single tar.gz and it will run pretty much anywhere.
    3. Legacy Code. JRuby makes legacy Java apps and libraries available to Ruby programmers (did you ever think you'd see the word "legacy" next to the word "Java"?).
    JE interoperability with JRuby is important because it means that Ruby programmers now have a simple, embeddable, ACID storage engine (JE) available to them.
    To test this interoperability, I cobbled together a simple Ruby test program which does the following:
    * Opens an Environment, Database, and Transaction
    * Creates 10 records with keys 1..10 and marshaled Ruby Time instances as the corresponding data. This uses the Ruby Marshal package for the data binding and the JE Integer binding on the key side. There's no reason why you couldn't use different marshaling packages or methods for keys and data.
    * Commits the transaction,
    * Performs a Cursor scan to read those 10 records and prints out the Time instances, and
    * Searches for and reads the record with key 5 (an arbitrary key) and prints out the Time instance that is the corresponding data
    By the way, hats off to the JRuby developers: all of this code "just worked", out of the box, and most of my two hour investment was spent learning enough basic Ruby to make it all work. If you already know Ruby and JE, then demonstrating this interoperability would take you all of about 10 minutes.
    This was all done at the "base API" level of JE and no modifications to JE were required. I used Transactions in my code, but there's no reason that you need to. Mark and I have been talking about how to integrate JE's Direct Persistence Layer (DPL) with JRuby and we think it can be done with some remodularization of some of the DPL code. This is exciting because it would provide POJO ACID persistence to Ruby programmers.
    Linda and I have been talking about whether it makes sense to possibly use Ruby as a scripting platform for JE in the future. Given how easy it was to bring up JE and JRuby, this certainly warrants some further thought.
    The Ruby code and corresponding output is shown below. By the way, if you see something that I didn't do "The Ruby Way", feel free to let me know.
    I'd love to hear about your experiences with JE and JRuby. Feel free to email me a charles.lamb at <theobviousdomain dot com>.
    require 'java'
    module JESimple
      require 'date'
      # Include all the Java and JE classes that we need.
      include_class 'java.io.File'
      include_class 'com.sleepycat.je.Cursor'
      include_class 'com.sleepycat.je.Database'
      include_class 'com.sleepycat.je.DatabaseConfig'
      include_class 'com.sleepycat.je.DatabaseEntry'
      include_class 'com.sleepycat.je.Environment'
      include_class 'com.sleepycat.je.EnvironmentConfig'
      include_class 'com.sleepycat.je.OperationStatus'
      include_class 'com.sleepycat.je.Transaction'
      include_class 'com.sleepycat.bind.tuple.IntegerBinding'
      include_class 'com.sleepycat.bind.tuple.StringBinding'
      # Create a JE Environment and Database.  Make them transactional.
      envConf = EnvironmentConfig.new()
      envConf.setAllowCreate(true)
      envConf.setTransactional(true)
      f = File.new('/export/home/cwl/work-jruby/JE')
      env = Environment.new(f, envConf);
      dbConf = DatabaseConfig.new()
      dbConf.setAllowCreate(true)
      dbConf.setSortedDuplicates(true)
      dbConf.setTransactional(true)
      db = env.openDatabase(nil, "fooDB", dbConf)
      # Create JE DatabaseEntry's for the key and data.
      key = DatabaseEntry.new()
      data = DatabaseEntry.new()
      # Begin a transaction
      txn = env.beginTransaction(nil, nil)
      # Write some simple marshaled strings to the database.  Use Ruby
      # Time just to demonstrate marshaling a random instance into JE.
      for i in (1..10)
        # For demonstration purposes, use JE's Binding for the key and
        # Ruby's Marshal package for the data.  There's no reason you
        # couldn't use JE's bindings for key and data or visa versa or
        # some other completely different binding.
        IntegerBinding.intToEntry(i, key)
        StringBinding.stringToEntry(Marshal.dump(Time.at(i * 3600 * 24)),
                                    data)
        status = db.put(txn, key, data)
        if (status != OperationStatus::SUCCESS)
          puts "Funky status on put #{status}"
        end
      end
      txn.commit()
      # Read back all of the records with a cursor scan.
      puts "Cursor Scan"
      c = db.openCursor(nil, nil)
      while (true) do
        status = c.getNext(key, data, nil)
        if (status != OperationStatus::SUCCESS)
          break
        end
        retKey = IntegerBinding.entryToInt(key)
        retData = Marshal.load(StringBinding.entryToString(data))
        dow =
        puts "#{retKey} => #{retData.strftime('%a %b %d')}"
      end
      c.close()
      # Read back the record with key 5.
      puts "\nSingle Record Retrieval"
      IntegerBinding.intToEntry(5, key)
      status = db.get(nil, key, data, nil)
      if (status != OperationStatus::SUCCESS)
        puts "Funky status on get #{status}"
      end
      retData = Marshal.load(StringBinding.entryToString(data))
      puts "5 => #{retData.strftime('%a %b %d')}"
      db.close
      env.close
    end
    Cursor Scan
    1 => Fri Jan 02
    2 => Sat Jan 03
    3 => Sun Jan 04
    4 => Mon Jan 05
    5 => Tue Jan 06
    6 => Wed Jan 07
    7 => Thu Jan 08
    8 => Fri Jan 09
    9 => Sat Jan 10
    10 => Sun Jan 11
    Single Record Retrieval
    5 => Tue Jan 06

    In my previous post (Berkeley DB Java Edition in JRuby), I showed an example of calling JE's base API layer and mentioned that Mark and I had been thinking about how to use the DPL from JRuby. Our ideal is to be able to define classes in Ruby, annotate those class definitions with DPL-like annotations, and have the JE DPL store them. There are a number of technical hurdles to overcome before we can do this. For instance, Ruby classes defined in JRuby do not map directly to underlying Java classes; instead they all appear as generic RubyObjects to a Java method. Granted, it would be possible for the DPL to fish out all of the fields from these classes using reflection, but presently it's just not set up to do that (hence the modification to the DPL that I spoke about in my previous blog entry). Furthermore, unlike Java, Ruby allows classes to change on the fly (add/remote new fields and methods) causing more heartburn for the DPL unless we required that only frozen Ruby classes could be stored persistently.
    On thinking about this some more, we realized that there may be a way to use the DPL from JRuby, albeit with some compromises. The key to this is that in JRuby, if a Java instance is passed back to the "Ruby side" (e.g. through a return value or by calling the constructor for a Java class), it remains a Java instance, even when passed around in JRuby (and eventually passed back into the "Java side"). So what if we require all persistent classes to be defined (i.e. annotated) on the Java side? That buys us the standard DPL annotations (effectively the DDL), freezes the classes that the DPL sees, and still lets us benefit from the POJO persistence of the DPL. All of this can be done without modification to JE or the DPL using the currently available release. I cooked up a quick example that builds on the standard "Person" example in the DPL doc and included the code below.
    require 'java'
    module DPL
      require 'date'
      # Include all the Java and JE classes that we need.
      include_class 'java.io.File'
      include_class 'com.sleepycat.je.Environment'
      include_class 'com.sleepycat.je.EnvironmentConfig'
      include_class 'com.sleepycat.persist.EntityCursor'
      include_class 'com.sleepycat.persist.EntityIndex'
      include_class 'com.sleepycat.persist.EntityStore'
      include_class 'com.sleepycat.persist.PrimaryIndex'
      include_class 'com.sleepycat.persist.SecondaryIndex'
      include_class 'com.sleepycat.persist.StoreConfig'
      include_class 'com.sleepycat.persist.model.Entity'
      include_class 'com.sleepycat.persist.model.Persistent'
      include_class 'com.sleepycat.persist.model.PrimaryKey'
      include_class 'com.sleepycat.persist.model.SecondaryKey'
      include_class 'com.sleepycat.persist.model.DeleteAction'
      include_class 'persist.Person'
      include_class 'persist.PersonExample'
      # Create a JE Environment and Database.  Make them transactional.
      envConf = EnvironmentConfig.new()
      envConf.setAllowCreate(true)
      envConf.setTransactional(true)
      f = File.new('/export/home/cwl/work-jruby/JE')
      env = Environment.new(f, envConf);
      # Open a transactional entity store.
      storeConfig = StoreConfig.new();
      storeConfig.setAllowCreate(true);
      storeConfig.setTransactional(true);
      store = EntityStore.new(env, "PersonStore", storeConfig);
      class PersonAccessor
        attr_accessor :personBySsn, :personByParentSsn
        def init(store)
          stringClass = java.lang.Class.forName('java.lang.String')
          personClass = java.lang.Class.forName('persist.Person')
          @personBySsn = store.getPrimaryIndex(stringClass, personClass)
          @personByParentSsn =
            store.getSecondaryIndex(@personBySsn, stringClass, "parentSsn");
        end
      end
      dao = PersonAccessor.new(store)
      dao.init(store)
      personBySsn = dao.personBySsn
      person = Person.new('Bob Smith', '111-11-1111', nil)
      personBySsn.put(person);
      person = Person.new('Mary Smith', '333-33-3333', '111-11-1111')
      personBySsn.put(person);
      person = Person.new('Jack Smith', '222-22-2222', '111-11-1111')
      personBySsn.put(person);
      # Get Bob by primary key using the primary index.
      bob = personBySsn.get("111-11-1111")
      puts "Lookup of Bob => #{bob.name}, #{bob.ssn}"
      children = dao.personByParentSsn.subIndex(bob.ssn).entities()
      puts "\nRetrieving children of Bob"
      while (true) do
        child = children.next()
        break if child == nil
        puts "#{child.name}, #{child.ssn}"
      end
      children.close()
      store.close
      env.close
    end

  • Berkeley DB Java Edition and Amazon AWS/EC2, EBS

    In a previous OTN thread titled [BerkeleyDB and Amazon EC2/S3|http://forums.oracle.com/forums/thread.jspa?messageID=2627679&tstart=0] questions were raised about using Berkeley DB Java Edition on AWS/EC2. Specifically,
    (1) Does JE work on AWS/EC2, and
    (2) Can S3 be used as a persistent store for JE.
    To follow up on this, recently I have done some work validating JE on AWS and am happy to report that it works fine (there should be no surprise there). I have run it under 32b and 64b Ubuntu distros with Java 6, but I have no reason to think that it doesn't work on other platforms.
    On the second question, I did no work with S3 as a persistent store. Rather, I ran JE with both the Instance Local Storage and with an EBS volume as Environment storage. In the Instance Local Storage case, AWS/EC2 makes no guarantees of durability if the instance fails. In the EBS case, the durability guarantees are much stronger. Both of these storage mechanisms worked fine with JE.
    I call attention to the performance that I observed with EBS on an m1.large instance type. Raw write/fsync operations were on the order of 1.99 msec which is quite fast. A discussion of this can be found in this [AWS Forum thread|http://developer.amazonwebservices.com/connect/thread.jspa?messageID=111957&#111957].
    Charles Lamb

    Morgan,
    Yes, we currently plan to only offer replication for Java 1.5. Our motivations are split between the speed consideration and the codeline issues. We've seen better performance with 1.5. Also taking full advantage of the type safety and concurrent support in 1.5 can end up affecting implementation choices significantly, and can make 1.4 code and 1.5 code diverge a lot.
    As for bug fixing on the 1.4 releases, we don't yet have an official plan. We care very much about supporting our open source users and have been able to provide backwards patches where critical in the past. However, the cost of backporting between 1.5 and 1.4 may be high for some bug fixes, and we'll probably have to decide case by case.
    Regards,
    Linda

  • Berkeley DB Java Edition 3.3.69 is available

    Berkeley DB Java Edition (JE) 3.3.69 is now available for download. The release contains a number of bug fixes, some to problems posted on the OTN forum. The full list of changes may be found in the change log.
    <br>
    <br>
    There is one critical bug fix in this release, described in the change log as follows:
    <br>
    <br>
    "Fix a bug that prevents opening an Environment as read-only under certain circumstances, or causes queries in a read-only Environment to return out of date, and possibly transactionally incorrect, data. The LogFileNotFoundException may be thrown when the problem occurs. [#16368]"
    <br>
    <br>
    This is a fix to a bug that was introduced in JE 3.3.62. If you are currently using 3.3.62 and you are opening the Environment read-only or using the DbDump utility (which opens the Environment read-only), then we strongly recommend that you upgrade to JE 3.3.69.
    <br>
    <br>
    The corresponding Maven POM will be available in a few days.
    <br>
    <br>
    If you are using the JE wrapper plugin for your own Eclipse plugin development AND you open the Environment read-only, you should update that package through
    download.oracle.com/berkeley-db/eclipse. Other DPL Assistant users can consider the update to be optional.

    Morgan,
    Yes, we currently plan to only offer replication for Java 1.5. Our motivations are split between the speed consideration and the codeline issues. We've seen better performance with 1.5. Also taking full advantage of the type safety and concurrent support in 1.5 can end up affecting implementation choices significantly, and can make 1.4 code and 1.5 code diverge a lot.
    As for bug fixing on the 1.4 releases, we don't yet have an official plan. We care very much about supporting our open source users and have been able to provide backwards patches where critical in the past. However, the cost of backporting between 1.5 and 1.4 may be high for some bug fixes, and we'll probably have to decide case by case.
    Regards,
    Linda

  • Berkeley DB Java Edition 3.3.62 is available

    All,
    Berkeley DB Java Edition (JE) 3.3.62 is now available for download at http://www.oracle.com/technology/software/products/berkeley-db/je/index.html . The release contains new features and bug fixes, many in response to questions and requests posted on this forum. Thanks to all for your help in reporting problems, describing use cases, and patiently waiting for features to appear.
    There's improvements in performance, cache management and memory and disk space utilization. Highlights include:
    * Multiple JE environments can now share the same cache to make better use of memory.
    * The deferred write mode can be configured to differentiate between truly temporary databases and databases which should be persistent.
    * Better cache management for large numbers of databases.
    * Per operation caching policy.
    * Key prefixing.
    * Performance improvements.
    Note that JE 3.3.62 introduces a forward-compatible on-disk file format change from JE 3.2. And for the first time, this release introduces a binary and API incompatibility that will hopefully affect few of you. The full list of changes may be found at http://www.oracle.com/technology/documentation/berkeley-db/je/changeLog.html
    We welcome your continued feedback on the product and feature requests.
    Regards,
    The JE team

    Morgan,
    Yes, we currently plan to only offer replication for Java 1.5. Our motivations are split between the speed consideration and the codeline issues. We've seen better performance with 1.5. Also taking full advantage of the type safety and concurrent support in 1.5 can end up affecting implementation choices significantly, and can make 1.4 code and 1.5 code diverge a lot.
    As for bug fixing on the 1.4 releases, we don't yet have an official plan. We care very much about supporting our open source users and have been able to provide backwards patches where critical in the past. However, the cost of backporting between 1.5 and 1.4 may be high for some bug fixes, and we'll probably have to decide case by case.
    Regards,
    Linda

  • Should i use the Java edition ?

    Hi,
    i'm not sure if i should use the Java edition or the "normal" edition of the berkeley db.
    My application is developed in Java, but i won't be using either JTA, JCA or JMX.
    Is there still any advantage to be taken from using the Java edition ?
    Thanks

    There are many minor differences, e.g., JE has somewhat better write performance, DB uses somewhat less memory, DB has an SQL interface and JE does not. But overall, the two products are very similar, so for most questions you might ask, the answer is going to be "about the same".
    If you want to choose the best product for your app, you'll have to define the very specific criteria that are most important to you. If you care most about getting every ounce of performance out of a specific piece of hardware, using a specific amount of memory, for a specific app (access pattern), then you'll have to write a test and do a comparison.
    --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Sneak Preview Update: Full Java Edition is now available on NW04 SP15

    Hi SDNers,
    Here's something that might make your new year more interesting... We just released the SP15 version of the <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/downloaditem?rid=/library/uuid/cfc19866-0401-0010-35b2-dc8158247fb6">sneak Preview SAP NetWeaver: Full Java Edition</a> on SDN.
    This version - like its SP11 predecessor - includes the following components:
    - SAP NetWeaver Application Server (Java)
    - SAP NetWeaver Developer Studio
    - SAP Enterprise Portal
    - SAP Knowledge Management
    - SAP Composite Application Framework including Guided Procedures
    - Interactive Forms based on Adobe Software
    Note: We've updated the system requirements and installation instructions, so please take the time to read through the information carefully.
    You'll need to download 4 rather large files with this release (total approx. 5GB), so your patience is required! Especially in the beginning when everyone is trying to download at the same time, expect that the server performance will suffer. You might try downloading at off-peak hours to avoid the rush.
    Please post your questions and comments about the Full Java Edition in this discussion forum and we'll try to get you an answer as soon as possible.
    Enjoy and Happy New Year!
    Kathy Clemens, SDN

    Hi SDNers,
    i tried to install NW04-Java-SP15 with following error:
    ERROR      2006-01-02 23:24:28 [iaxxejsbas.cpp:170]
               EJS_ErrorReporter
    FJS-00003  TypeError: (new FileMgt()).getNode(PropertyFileFullPath) has no properties (in script InstallationScript_21, line 8488: ???)
    WARNING    2006-01-02 23:24:28 [iaxxccntrl.cpp:477]
               CController::stepExecuted()
    The step readSourceProperties with step key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_System
    Copy|ind|ind|ind|ind|ind|0|readSourceProperties was executed with status ERROR.
    The system requirements are all fulfilled.
    Whats the problem? I have no ideas anymore.
    Of course I started the installation with admin user.
    Thanks a lot for any help.
    Best Regards
    Steffen

  • Has anyone been able to install the java edition?

    I've been trying for the past 3 days to install the sneak preview Java edition.
    I've tried it on two machines.
    1. Windows 2003, 1Gig RAM, 80GB HD, +min. requirements
    2. XP Pro, 1Gig RAM, 60GB HD, +min. requirements
    Nothing works. The install always stops at "load database content".
    If anyone has sucessfully installed the Java version, I'd like to hear from you.

    Oliver, 
    Here's my latest attempt at installing this preview. I'll write every step I'm taking just to make sure we are on the same page. By the way, I'm putting a lot of efforts into this because my company is hesitating between SAP and Oracle as a portal engine. My task is to come up with a demo asap. So needless to say any help with this would be greatly appreciated. 
    Steps... 
    Format HD in NTFS
    Install Windows 2003
    Get updates for Windows 2003 - Reboot
    Install JDK (j2sdk1.4.2_08)
    Get JDK Updates - Reboot
    Start the SAP Install
    - Page 1: Point to JDK folder
    - Page 2: . DB ID: J2E (Read only)
               . Mirror log volume: No
               . CPUs Used: 1 (Read only)
               . I/O Buffer: 128 (as recommended)
    - Page 3: Log Volumes: c:/ - 3000
    - Page 4: Data Volume: c:/ - 3000
    - Page 5: Confirmation - start 
    After about an hour, the install reports an error. 
    Here is the log information generated by the SAPinst window and the sapinst_dev.log file: 
    Log information generated by the SAPinst window: 
    ERROR      2005-06-20 11:32:17 ianxbservi.hpp:235
               CServiceHandle::Open(SAPOsCol)
    FSL-06002  Error 1060 (The specified service does not exist as an installed service. 
    ) in execution of a 'OpenService' function, line (255), with parameter (SAPOsCol). 
    ERROR      2005-06-20 11:32:47 ianxbservi.hpp:235
               CServiceHandle::Open(SAPJ2E_01)
    FSL-06002  Error 1060 (The specified service does not exist as an installed service. 
    ) in execution of a 'OpenService' function, line (255), with parameter (SAPJ2E_01). 
    ERROR      2005-06-20 11:32:47 ianxbservi.hpp:235
               CServiceHandle::Open(SAPJ2E_01)
    FSL-06002  Error 1060 (The specified service does not exist as an installed service. 
    ) in execution of a 'OpenService' function, line (255), with parameter (SAPJ2E_01). 
    ERROR      2005-06-20 11:32:47 ianxbservi.hpp:235
               CServiceHandle::Open(SAPJ2E_00)
    FSL-06002  Error 1060 (The specified service does not exist as an installed service. 
    ) in execution of a 'OpenService' function, line (255), with parameter (SAPJ2E_00). 
    ERROR      2005-06-20 11:32:47 ianxbservi.hpp:235
               CServiceHandle::Open(SAPJ2E_00)
    FSL-06002  Error 1060 (The specified service does not exist as an installed service. 
    ) in execution of a 'OpenService' function, line (255), with parameter (SAPJ2E_00). 
    ERROR      2005-06-20 11:33:28 ianxbservi.hpp:235
               CServiceHandle::Open(SAPOsCol)
    FSL-06002  Error 1060 (The specified service does not exist as an installed service. 
    ) in execution of a 'OpenService' function, line (255), with parameter (SAPOsCol). 
    ERROR      2005-06-20 12:20:09
               CJSlibModule::writeError_impl()
    CJS-20065  Execution of JLoad tool 'C:j2sdk1.4.2_08/bin/java.exe '-classpath' './sharedlib/antlr.jar;./sharedlib/exception.jar;./sharedlib/jddi.jar;./sharedlib/jload.jar;./sharedlib/logging.jar;./sharedlib/offlineconfiguration.jar;./sharedlib/opensqlsta.jar;./sharedlib/tc_sec_secstorefs.jar;c:sapdbprograms
    untimejarsapdbc.jar;C:/usr/sap/J2E/SYS/global/security/lib/tools/iaik_jce_export.jar;C:/usr/sap/J2E/SYS/global/security/lib/tools/iaik_jsse.jar;C:/usr/sap/J2E/SYS/global/security/lib/tools/iaik_smime.jar;C:/usr/sap/J2E/SYS/global/security/lib/tools/iaik_ssl.jar;C:/usr/sap/J2E/SYS/global/security/lib/tools/w3c_http.jar' '-showversion' '-Xmx512m' 'com.sap.inst.jload.Jload' '-sec' 'J2E,jdbc/pool/J2E,C:usrsapJ2ESYSglobal/security/data/SecStore.properties,C:usrsapJ2ESYSglobal/security/data/SecStore.key' '-dataDir' 'C:/NW04SneakPrevJavaSP11/NWSneakPreviewSP11/SAP_NetWeaver_04_SR_1_Installation_Master_DVD__ID__51030843IM01_NT_I386....SneakPreviewContentJDMP' '-job' 'C:PROGRA1SAPINS1NW04SR1WEBAS_1ONE_HOST/IMPORT.XML' '-log' 'C:PROGRA1SAPINS1NW04SR1WEBAS_1ONE_HOST/jload.log'' aborts with returncode 2. Check 'C:PROGRA1SAPINS1NW04SR1WEBAS_1ONE_HOST/jload.log' and 'C:PROGRA1SAPINS1NW04SR1WEBAS_1ONE_HOST/jload.java.log' for more information. 
    sapinst_dev.log 
    TRACE      iaxxccontrolfile.cpp:344
               CControlFile::getMessageFilePath()
    Running with messages from C:/PROGRA1/SAPINS1/NW04SR1/WEBAS_~1/ONE_HOST 
    TRACE      sapinst.cpp:306
               CSapInst::initMessaging()  
    This is SAPinst, version 642, build 703609
    compiled on Nov 21 2004, 22:48:58 
    TRACE      sapinst.cpp:311
               CSapInst::initMessaging()
    Gui connected by user Administrator from host server3 
    TRACE      syxxsyshlp.cpp:133
               syslib::logSystemState()
    Process environment
    =================== 
    Environment Variables
    =====================
       = C:=C:PROGRA1SAPINS1NW04SR1WEBAS_~1ONE_HOST
      ALLUSERSPROFILE = C:Documents and SettingsAll Users
      APPDATA = C:Documents and SettingsAdministratorApplication Data
      ClusterLog = C:WINDOWSClustercluster.log
      CommonProgramFiles = C:Program FilesCommon Files
      COMPUTERNAME = SERVER3
      ComSpec = C:WINDOWSsystem32cmd.exe
      FP_NO_HOST_CHECK = NO
      HOMEDRIVE = C:
      HOMEPATH = Documents and SettingsAdministrator
      LOGONSERVER =
    SERVER3
      NUMBER_OF_PROCESSORS = 1
      OS = Windows_NT
      Path = C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem
      PATHEXT = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
      PROCESSOR_ARCHITECTURE = x86
      PROCESSOR_IDENTIFIER = x86 Family 15 Model 2 Stepping 9, GenuineIntel
      PROCESSOR_LEVEL = 15
      PROCESSOR_REVISION = 0209
      ProgramFiles = C:Program Files
      SAPINST_EXEDIR_CD = C:/Program Files/sapinst_instdir/NW04SR1/WEBAS_COPY/ONE_HOST
      SESSIONNAME = Console
      SystemDrive = C:
      SystemRoot = C:WINDOWS
      TEMP = C:DOCUME1ADMINI1LOCALS~1Temp
      TMP = C:DOCUME1ADMINI1LOCALS~1Temp
      USERDOMAIN = SERVER3
      USERNAME = Administrator
      USERPROFILE = C:Documents and SettingsAdministrator
      windir = C:WINDOWS 
    User: SERVER3Administrator, Id: S-1-5-21-2014860405-2990321232-2395399597-500
    Working directory: C:PROGRA1SAPINS1NW04SR1WEBAS_~1ONE_HOST 
    Current access token
    ====================
    Could not get thread token. Last error: 1008. I assume that no thread token exists.
    Got process token.
    Privileges:
      Privilege SeBackupPrivilege, display name: Back up files and directories, not enabled.
      Privilege SeRestorePrivilege, display name: Restore files and directories, not enabled.
      Privilege SeShutdownPrivilege, display name: Shut down the system, not enabled.
      Privilege SeDebugPrivilege, display name: Debug programs, not enabled.
      Privilege SeAssignPrimaryTokenPrivilege, display name: Replace a process level token, not enabled.
      Privilege SeIncreaseQuotaPrivilege, display name: Adjust memory quotas for a process, not enabled.
      Privilege SeSystemEnvironmentPrivilege, display name: Modify firmware environment values, not enabled.
      Privilege SeChangeNotifyPrivilege, display name: Bypass traverse checking, enabled.
      Privilege SeRemoteShutdownPrivilege, display name: Force shutdown from a remote system, not enabled.
      Privilege SeTcbPrivilege, display name: Act as part of the operating system, not enabled.
      Privilege SeUndockPrivilege, display name: Remove computer from docking station, not enabled.
      Privilege SeSecurityPrivilege, display name: Manage auditing and security log, not enabled.
      Privilege SeTakeOwnershipPrivilege, display name: Take ownership of files or other objects, not enabled.
      Privilege SeLoadDriverPrivilege, display name: Load and unload device drivers, not enabled.
      Privilege SeManageVolumePrivilege, display name: Perform volume maintenance tasks, not enabled.
      Privilege SeSystemProfilePrivilege, display name: Profile system performance, not enabled.
      Privilege SeImpersonatePrivilege, display name: Impersonate a client after authentication, enabled.
      Privilege SeSystemtimePrivilege, display name: Change the system time, not enabled.
      Privilege SeCreateGlobalPrivilege, display name: Create global objects, enabled.
      Privilege SeProfileSingleProcessPrivilege, display name: Profile single process, not enabled.
      Privilege SeIncreaseBasePriorityPrivilege, display name: Increase scheduling priority, not enabled.
      Privilege SeCreatePagefilePrivilege, display name: Create a pagefile, not enabled. 
    TRACE      syxxsyshlp.cpp:143
               syslib::logSystemState()
    System information
    ==================
    OS version, host name: Microsoft Windows NT SERVER3 
    RAM size (MB): 1015.5 
    Swap size (MB): 2453.52 
    TRACE      iaxxclientacceptor.cpp:124
               CClientAcceptor::acceptImpl()
    Running with control file C:/PROGRA1/SAPINS1/NW04SR1/WEBAS_~1/ONE_HOST/control.xml version 0 and changelist not defined 
    TRACE      iaxxccontrolfile.cpp:235
               CControlFile::getDialogControlFileName()
    Running with dialog control file C:/PROGRA1/SAPINS1/NW04SR1/WEBAS_~1/ONE_HOST/dialog.xml 
    TRACE      iaxxccontrolfile.cpp:184
               CControlFile::getResourecFileName()
    Running with resource file C:/PROGRA1/SAPINS1/NW04SR1/WEBAS_~1/ONE_HOST/helppool.xml 
    INFO       2005-06-20 11:18:54 syxxcfile.cpp:325
               CSyFileImpl::copy(const CSyPath & q0w9e9r8t7.1.xml, ISyNode::eCopyMode 3, ISyProgressObserver*) const   
    Copying file C:/PROGRA1/SAPINS1/NW04SR1/WEBAS_~1/ONE_HOST/keydb.xml to: q0w9e9r8t7.1.xml. 
    INFO       2005-06-20 11:18:54 syxxcfile.cpp:446
               CSyFileImpl::copy(const CSyPath & q0w9e9r8t7.1.xml, ISyNode::eCopyMode 3, ISyProgressObserver*) const   
    Copying file C:/PROGRA1/SAPINS1/NW04SR1/WEBAS_~1/ONE_HOST/keydb.xml to: q0w9e9r8t7.1.xml. 
    TRACE      iaxxclib.cpp:165
               load()
    Opened iaccdlib.dll 
    TRACE      iaxxccontrolfile.cpp:77
               CControlFile::getControlFilePath()
    Running with control file path C:/PROGRA1/SAPINS1/NW04SR1/WEBAS_~1/ONE_HOST 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step Preinstall|ind|ind|ind|ind|ind|0|changeUserInstall 
    TRACE      iaxxclib.cpp:165
               load()
    Opened iamodos.dll 
    TRACE      synxccuren.cpp:780
               CSyCurrentProcessEnvironmentImpl::getEffectiveUser(iastring&)
    effective user corresponds to real user 
    INFO       2005-06-20 11:18:59 syxxcfile.cpp:325
               CSyFileImpl::copy(const CSyPath & C:/PROGRA1/SAPINS1/NW04SR1/WEBAS_~1/ONE_HOST/change.1.log, ISyNode::eCopyMode 3, ISyProgressObserver*) const   
    Copying file C:/PROGRA1/SAPINS1/NW04SR1/WEBAS_1/ONE_HOST/change.log to: C:/PROGRA1/SAPINS1/NW04SR1/WEBAS_1/ONE_HOST/change.1.log. 
    INFO       2005-06-20 11:18:59 syxxcfile.cpp:446
               CSyFileImpl::copy(const CSyPath & C:/PROGRA1/SAPINS1/NW04SR1/WEBAS_~1/ONE_HOST/change.1.log, ISyNode::eCopyMode 3, ISyProgressObserver*) const   
    Copying file C:/PROGRA1/SAPINS1/NW04SR1/WEBAS_1/ONE_HOST/change.log to: C:/PROGRA1/SAPINS1/NW04SR1/WEBAS_1/ONE_HOST/change.1.log. 
    INFO       2005-06-20 11:18:59 synxcpath.cpp:834
               CSyPath::createFile()
    Creating file C:Program Filessapinst_instdirNW04SR1WEBAS_COPYONE_HOSTchange.1.log. 
    INFO       2005-06-20 11:18:59 synxcfile.cpp:152
               CSyFileImpl::remove()
    Removing file C:PROGRA1SAPINS1NW04SR1WEBAS_~1ONE_HOSTchange.log. 
    TRACE      iaxxejsexp.cpp:208
               EJS_Installer::writeTraceToLogBook()
    nodeType: 'UNKNOWN' 
    INFO       2005-06-20 11:18:59 synxcpath.cpp:834
               CSyPath::createFile()
    Creating file C:Program Filessapinst_instdirNW04SR1WEBAS_COPYONE_HOSTchange.log. 
    TRACE      iaxxclib.cpp:165
               load()
    Opened iajsmod.dll 
    INFO       2005-06-20 11:19:00
               CJSlibModule::writeInfo_impl()
    Output of change 'user' '/install' is written to the logfile change.log. 
    WARNING    2005-06-20 11:19:00
               CJSlibModule::writeWarning_impl()
    Execution of the command "change 'user' '/install'" finished with return code 1. Output:
    Install mode does not apply to a Terminal server configured for remote administration. 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step changeUserInstall with key Preinstall|ind|ind|ind|ind|ind|0|changeUserInstall has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step Preinstall|ind|ind|ind|ind|ind|0|AddPrivilege 
    TRACE      synxccuren.cpp:780
               CSyCurrentProcessEnvironmentImpl::getEffectiveUser(iastring&)
    effective user corresponds to real user 
    TRACE      synxccuren.cpp:780
               CSyCurrentProcessEnvironmentImpl::getEffectiveUser(iastring&)
    effective user corresponds to real user 
    TRACE      iaxxclib.cpp:165
               load()
    Opened iamodnt.dll 
    TRACE      ianxbusprv.cpp:288
               CIaNtUserPrivileges::add_impl(., SERVER3Administrator, SeTcbPrivilege SeAssignPrimaryTokenPrivilege SeIncreaseQuotaPrivilege)  
    Ignored existing privilege: SeTcbPrivilege 
    TRACE      ianxbusprv.cpp:288
               CIaNtUserPrivileges::add_impl(., SERVER3Administrator, SeTcbPrivilege SeAssignPrimaryTokenPrivilege SeIncreaseQuotaPrivilege)  
    Ignored existing privilege: SeAssignPrimaryTokenPrivilege 
    TRACE      ianxbusprv.cpp:288
               CIaNtUserPrivileges::add_impl(., SERVER3Administrator, SeTcbPrivilege SeAssignPrimaryTokenPrivilege SeIncreaseQuotaPrivilege)  
    Ignored existing privilege: SeIncreaseQuotaPrivilege 
    INFO       2005-06-20 11:19:00 ianxbusprv.cpp:337
               CIaNtUserPrivileges::add_impl(., SERVER3Administrator, SeTcbPrivilege SeAssignPrimaryTokenPrivilege SeIncreaseQuotaPrivilege)  
    Successfully added privileges 'SeTcbPrivilege SeAssignPrimaryTokenPrivilege SeIncreaseQuotaPrivilege' to account 'SERVER3Administrator' on host '.'. 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step AddPrivilege with key Preinstall|ind|ind|ind|ind|ind|0|AddPrivilege has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step Preinstall|ind|ind|ind|ind|ind|0|replaceDLLs 
    INFO       2005-06-20 11:19:00
               CJSlibModule::writeInfo_impl()
    File not found: . 
    INFO       2005-06-20 11:19:00
               CJSlibModule::writeInfo_impl()
    File not found: . 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step replaceDLLs with key Preinstall|ind|ind|ind|ind|ind|0|replaceDLLs has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step Preinstall|ind|ind|ind|ind|ind|0|registerEventsDll 
    TRACE      iaxxejsexp.cpp:208
               EJS_Installer::writeTraceToLogBook()
    C:/DOCUME1/ADMINI1/LOCALS~1/Temp/sapinst_exe.248.1119280670/sapinstevents.dll not found. 
    TRACE      iaxxejsexp.cpp:208
               EJS_Installer::writeTraceToLogBook()
    C:/NW04SneakPrevJavaSP11/NWSneakPreviewSP11/SAP_NetWeaver_04_SR_1_Installation_Master_DVD__ID__51030843IM01_NT_I386SAPINST/NT/I386/sapinstevents.dll not found. 
    TRACE      synxcfile.cpp:134
               CSyFileImpl::getFileVersion()
    file C:/PROGRA1/SAPINS1/NW04SR1/WEBAS_~1/ONE_HOST/sapinstevents.dll has version 693717.642 
    TRACE      synxcfile.cpp:134
               CSyFileImpl::getFileVersion()
    file C:/WINDOWS/system32/SAPinst/sapinstevents.dll has version 703609.642 
    TRACE      syxxcfile.cpp:240
               CSyFileImpl::copy(const CSyPath & C:/WINDOWS/system32/SAPinst/sapinstevents.dll, ISyNode::eCopyMode 545, ISyProgressObserver*) const   
    Did not copy file C:/PROGRA1/SAPINS1/NW04SR1/WEBAS_~1/ONE_HOST/sapinstevents.dll to: C:/WINDOWS/system32/SAPinst/sapinstevents.dll (source file version is not higher than target file version) 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step registerEventsDll with key Preinstall|ind|ind|ind|ind|ind|0|registerEventsDll has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step Preinstall|ind|ind|ind|ind|ind|0|diSummarize 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step diSummarize with key Preinstall|ind|ind|ind|ind|ind|0|diSummarize has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step Preinstall|ind|ind|ind|ind|ind|0|diProgress 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step diProgress with key Preinstall|ind|ind|ind|ind|ind|0|diProgress has been executed successfully. 
    INFO       2005-06-20 11:19:01 synxcpath.cpp:834
               CSyPath::createFile()
    Creating file C:Program Filessapinst_instdirNW04SR1WEBAS_COPYONE_HOSTsummary.html. 
    PHASE      2005-06-20 11:19:01 iaxxcwalker.cpp:416
               CDomWalker::printPhaseInfo()
    Prepare the installation program. 
    TRACE      iaxxcwalker.cpp:55
               CDomWalker::walk()
    Installation start: Monday, 20 June 2005, 11:18:54; installation directory: C:PROGRA1SAPINS1NW04SR1WEBAS_~1ONE_HOST; product to be installed: SAP NetWeaver Sneak Preview '04 Support Release 1> Migration - Target System Installation 
    TRACE      iaxxclib.cpp:165
               load()
    Opened iamodora.dll 
    TRACE      iaxxccntrl.cpp:398
               CController::activateEvaluator()
    The controller registered the module COraInputChecker 
    TRACE      iaxxclib.cpp:165
               load()
    Opened iamodada.dll 
    TRACE      iaxxccntrl.cpp:398
               CController::activateEvaluator()
    The controller registered the module CIaSdbActor 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|eula 
    TRACE      iaxxgenimp.cpp:189
               showDialog()
    showing dlg diLicense_j2ee 
    TRACE      iaxxgenimp.cpp:205
               showDialog()  
    TRACE      iaxxgenimp.cpp:845
               showDialog()
    waiting for an answer from gui 
    TRACE      iaxxdlghnd.cpp:98
               CDialogHandler::doHandleDoc()
    CDialogHandler: ACTION_NEXT requested 
    TRACE      iaxxgenimp.cpp:212
               showDialog()  
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step eula with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|eula has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|fillContext 
    TRACE      iaxxejsexp.cpp:208
               EJS_Installer::writeTraceToLogBook()
    t_J2EE_SystemCopy.remove(WHERE 1=1) 
    TRACE      iaxxejsexp.cpp:208
               EJS_Installer::writeTraceToLogBook()
    t_J2EE_SystemCopy.insertRow(), inserting 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step fillContext with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|fillContext has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|requestCDs 
    TRACE      cdxxccdcli.cpp:202
               CCdClientImpl::makeSomePackagesAvailable
    CD Client for Component J2EE_SystemCopy|ind|ind|ind|ind|ind 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step requestCDs with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|requestCDs has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|readSourceProperties 
    TRACE      iaxxejsexp.cpp:208
               EJS_Installer::writeTraceToLogBook()
    Instance name of source CI is 'JC00', J2EE standalone is 'true'. The following J2EE applications were installed on the source system: portal,kmc,adobe. 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step readSourceProperties with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|readSourceProperties has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|updateApplTable 
    INFO       2005-06-20 11:19:44
               CJSlibModule::writeInfo_impl()
    This SAPinst Java System Copy is Property File Version : 1.1 
    INFO       2005-06-20 11:19:44
               CJSlibModule::writeInfo_impl()
    This SAPinst EXE uses OS Build Version : I386 
    INFO       2005-06-20 11:19:44
               CJSlibModule::writeInfo_impl()
    This SAPinst XML is DB Build Version : ada 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step updateApplTable with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|updateApplTable has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|fillContext 
    TRACE      iaxxejsexp.cpp:208
               EJS_Installer::writeTraceToLogBook()
    t_J2EE_Dialogs.remove(WHERE 1=1) 
    TRACE      iaxxejsexp.cpp:208
               EJS_Installer::writeTraceToLogBook()
    t_J2EE_Dialogs.insertRow(), inserting 
    TRACE      iaxxejsexp.cpp:208
               EJS_Installer::writeTraceToLogBook()
    t_syscopy_post_steps.remove(WHERE 1=1) 
    TRACE      iaxxejsexp.cpp:208
               EJS_Installer::writeTraceToLogBook()
    t_syscopy_post_steps.insertRow(), inserting 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step fillContext with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|fillContext has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|readProductXml 
    TRACE      iaxxejsexp.cpp:208
               EJS_Installer::writeTraceToLogBook()
    Reading additional shipment information from product.xml... 
    TRACE      iaxxejsexp.cpp:208
               EJS_Installer::writeTraceToLogBook()
    tProductInfo.updateRow(, WHERE ROWNUM=0), updating
    TRACE      iaxxejsexp.cpp:208
               EJS_Installer::writeTraceToLogBook()
    IA_CONTR_DBPLATFORM.updateRow(, WHERE ROWNUM=0), updating
    TRACE      iaxxejsexp.cpp:208
               EJS_Installer::writeTraceToLogBook()
    Table: tWhat
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step readProductXml with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|readProductXml has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|setDefaults 
    TRACE      iaxxejsexp.cpp:208
               EJS_Installer::writeTraceToLogBook()
    t_systems.remove(WHERE 1=1) 
    INFO[E]    2005-06-20 11:19:46 synxcfsmgt.cpp:132
               CSyFileSystemMgtImpl::getFSExport(iastring)
    File system export (share) saploc does not exist. 
    TRACE      syxxcnamrs.cpp:278
               PSyHostsEntry CSyIPNameResolverImpl::getHostByName(const iastring& hostName) const  
    IP name server3 resolves to IP address(es): 192.168.15.100 
    TRACE      syxxcnamrs.cpp:208
               PSyHostsEntry CSyIPNameResolverImpl::getHostByAddress(const iastring& ipAddress) const  
    IP address 192.168.15.100 resolves to IP name(s): server3 
    TRACE      iaxxbhosts.cpp:674
               CIaOsHosts::resolveHostName()
    hostname after reverse lookup is: server3 
    INFO       2005-06-20 11:19:46
               CJSlibModule::writeInfo_impl()
    Looking for SAP system instances installed on this host... 
    INFO       2005-06-20 11:19:47
               CJSlibModule::writeInfo_impl()
    No installed instances found! 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step setDefaults with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|setDefaults has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|adminCheck 
    TRACE      synxccuren.cpp:780
               CSyCurrentProcessEnvironmentImpl::getEffectiveUser(iastring&)
               lib=iamodos module=CIaOsExecutes
    effective user corresponds to real user 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step adminCheck with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|adminCheck has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|DNSCheck 
    INFO       2005-06-20 11:19:48
               CJSlibModule::writeInfo_impl()
    DNS is configured correctly. 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step DNSCheck with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|DNSCheck has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|W2K_SPCheck 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step W2K_SPCheck with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|W2K_SPCheck has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|WXP_SPCheck 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step WXP_SPCheck with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|WXP_SPCheck has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|MemoryCheck 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step MemoryCheck with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|MemoryCheck has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|virtualHostCheck 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step virtualHostCheck with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|virtualHostCheck has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|fillMounts 
    TRACE      iaxxejsexp.cpp:208
               EJS_Installer::writeTraceToLogBook()
    t_mounts.remove(WHERE 1=1) 
    TRACE      iaxxejsexp.cpp:208
               EJS_Installer::writeTraceToLogBook()
    t_mounts.insertRow(), inserting 
    INFO[E]    2005-06-20 11:19:50 synxcfsmgt.cpp:132
               CSyFileSystemMgtImpl::getFSExport(iastring)
    File system export (share) saploc does not exist. 
    TRACE      iaxxclib.cpp:165
               load()
    Opened iamodutl.dll 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step fillMounts with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|fillMounts has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|askWhat 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step askWhat with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|askWhat has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|askPrep 
    TRACE      iaxxccntrl.cpp:493
               CController::stepExecuted()
    The step askPrep with key J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|askPrep has been executed successfully. 
    TRACE      iaxxcdgprc.cpp:635
               CDialogProcessor::processDialogs()
    Executing dialog step J2EE_SystemCopy_OneHost|ind|ind|ind|WebAS|640|0|J2EE_SystemCopy|ind|ind|ind|ind|ind|0|J2EE_EngineEnterpriseDialogs|ind|ind|ind|WebAS|630|0|getJavaHome 
    INFO       2005-06-20 11:19:52 syxxcfile.cpp:325
               CSyFileImpl::copy(const CSyPath & ., ISyNode::eCopyMode 3, ISyProgressObserver*) const   
    Copying file C:/NW04SneakPrevJavaSP11/NWSneakPreviewSP11/SAP_NetWeaver_04_SR_1_Java_DVD__ID__51030724/J2EE_OSINDEP/JDKVersion.xml to: .. 
    INFO       2005-06-20 11:19:52 syxxcfile.cpp:446
               CSyFileImpl::copy(const CSyPath & ., ISyNode::eCopyMode 3, ISyProgressObserver*) const   
    Copying file C:/NW04SneakPrevJavaSP11/NWSneakPreviewSP11/SAP_NetWeaver_04_SR_1_Java_DVD__ID__51030724/J2EE_OSINDEP/JDKVersion.xml to: .. 
    INFO       2005-06-20 11:19:52 synxcpath.cpp:834
               CSyPath::createFile()
    Creating file C:Program Filessapinst_instdirNW04SR1WEBAS_COPYONE_HOSTJDKVersion.xml. 
    TRACE      synxccuren.cpp:780
               CSyCurrentProcessEnvironmentImpl::getEffectiveUser(iastring&)
    effective user corresponds to real user 
    INFO[E]    2005-06-20 11:19:52 syxxccuren.hpp:189
               CSyCurrentProcessEnvironmentImpl::getEnvironmentVariable(iastring)
    Unable to get value for environment variable JAVA_HOME. 
    INFO       2005-06-20 11:19:53
               CJSlibModule::writeInfo_impl()
    Execution of the

  • Can multiple threads share the same cursor in berkeley db java edition?

    We use berkeley db to store our path computation results. We now have two threads which need to retrieve records from database. Specifically, the first thread accesses the database from the very beginning and read a certain number of records. Then, the second thread needs to access the database and read the rest records starting from the position where the cursor stops in the first thread. But, now, I cannot let these two threads share the same cursor. So, I have to open the database separately in two threads and use individual cursor for each thread. This means I have to in the second thread let the cursor skip the first certain number of records and then read the rest records. However, in this way, it is a waste of time letting the second thread skip a certain of records. It will be ideal for us that the second thread can start reading the record just from the place where the first thread stops. Actually, I have tried using transactional cursor and wanted to let the two threads share the same transactional cursor. But it seems that this didn't work.
    Can anyone give any suggestion? Thank you so much!
    sgao

    If your question is really about using the BDB Java Edition product please post to the JE forum:
    Berkeley DB Java Edition
    If your question is about using the Java API of the BDB (C-based) product, then this is the correct forum.
    --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Java edition compatible with standard edition?

    Hi
    I have a database created using Java edition 3.2.44
    I want to write an application in C++ which reads this database using the standard Berkeley DB (possibly at the same time as the java application is also accessing them). Are the database files compatible?
    I'm not too hopeful since the the database files are named something like 00000000.jdb and je.lck.
    Any help appreciated
    Nick

    Hi Nick,
    This FAQ entry addresses this question:
    [http://www.oracle.com/technology/products/berkeley-db/faq/je_faq.html#2|http://www.oracle.com/technology/products/berkeley-db/faq/je_faq.html#2]
    (a small additional information to this entry is that DPL API has been introduced for BDB as well in 4.7.25)
    As explained, the on-disk format for the database files is different. You should dump the database created with JE (using the DbDump/com.sleepycat.je.util.DbDump utility: [http://www.oracle.com/technology/documentation/berkeley-db/je/java/com/sleepycat/je/util/DbDump.html|http://www.oracle.com/technology/documentation/berkeley-db/je/java/com/sleepycat/je/util/DbDump.html]) and load it using BDB before opening it in a a program using one of the BDB APIs (using the db_load utility: [http://www.oracle.com/technology/documentation/berkeley-db/db/utility/db_load.html|http://www.oracle.com/technology/documentation/berkeley-db/db/utility/db_load.html] )
    If you face any issues with dumping/loading the database let me know.
    Regards,
    Andrei

  • DB High Availability - Java Edition

    I am using Berkeley DB Java Edition to do writes and reads to my database. I am planning on having a cluster of databases with HA feature. I noticed that the feature set for Berkeley DB Java Editon does not include High Availabilty.
    I did check the C example code that is available in the 4.4 version. I understand that I need to build a communication infrastructure in Java for master and replicated db's. Is there any example that I can follow, or any other materials available for doing HA in Java?

    I believe the answer in java replication example is relevant for you.
    <p>
    Please note that you should be able to build the communication infrastructure in C, and then still access DB via the Java interface layer from your Java program. (I.e., your communication infrastructure doesn't have to be in Java.)
    <p>
    Also, I hope it's clear that Berkeley DB Java Edition is a separate product. This is different from using Berkeley DB via its Java interface layer.
    <p>
    Alan Bram<br>
    Oracle

  • Use java edition and native edition at same time in a single java app

    Hi
    I have a situation where I need to use both versions of berkeley Db at the same time. I have an external library that I use that requires the Java edition and my own code that uses the native version. Unfortunately the source code of the library is not available and I don't want to redesign my program to use the Java edition.
    Some packages in je.4.0.103.jar and db.jar (version 5.1) contain the same naming structure and same classes eg. com.sleepycat.persist.EntityStore. I removed the duplicated packages in je.4.0.103.jar However it seems that the implementation is slightly different between the two version as I get
    java.lang.NoSuchMethodError: com.sleepycat.persist.EntityStore.<init>(Lcom/sleepycat/je/Environment;Ljava/lang/String;Lcom/sleepycat/persist/StoreConfig;)V
    When I simply had both versions available my code for the native version kept using the packages from the Java edition and the external library kept on using the native version and as a result I got loads of runtime errors.
    So how do I tell them apart. The problem is because both sets of packages have identical names and class names so Java does not know which ones to use. I am using eclipse so maybe there is some option where I can tell certain classes to use certain packages.
    Any ideas?

    Hi,
    We don't officially support using BDB and BDB JE from the same JVM process.
    It's possible to work around this limitation by creating two [url http://download.oracle.com/javase/1.4.2/docs/api/java/lang/ClassLoader.html] Java Classloaders  that load one of the two jar files. When calling BDB or BDB JE methods, the call must be bracketed with calls like this that cause the correct classloader to be used:
    ClassLoader saveLoader = Thread.currentThread().getContextClassLoader();
    Thread.currentThread().setContextClassLoader(/* specify correct loader for BDB or BDB JE here */);
    try {
       // do something with BDB or BDB JE
    } finally {
      Thread.currentThread().setContextClassLoader(saveLoader);
    }We are not experts on classloaders and we don't have an example of doing this. We have not done it ourselves, we only know that users have done it.
    I hope this helps.
    Regards,
    Alex Gorrod
    Oracle Berkeley DB

  • Compatibility issues between Berkeley DB Java Edition and Berkeley DB

    We are trying to use both Berkeley DB Java Edition and Berkeley DB (Java/C) in one of our projects. However, they share the common classes (i.e. EntryDingin.java), but with their own different impementation. Is there any reason that they have to share the same names/packages? Can we request to have the shared java classes going into different packages?
    Thanks
    Yao

    Hello Yao,
    You're correct and the DB and JE products were not designed to run under the same classloader in the same JVM. It is very unlikely that we'll be changing the package names, since that would be very disruptive and yet have no value for the overwhelming majority of users. We will note your request, however, for future reference.
    The two workarounds I know of are:
    1. Use a separate classloader for the use of each product.
    2. Use a tool such as jarjar links (http://code.google.com/p/jarjar/) to rename the packages in one or both of the products.
    Option 2 is not something we (the JE team members) have experience with, but it was used successfully by a JE user. The user also pointed out a bug in the jarjar tool to be aware of: http://code.google.com/p/jarjar/issues/detail?id=21
    --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Using Oracle Berkeley DB Java Edition RELEASE 3.2

    Hi,
    I am completely new to Oracle. I intend to use Oracle Berkeley DB Java Edition RELEASE 3.2., in conjunction with Java.
    Can some one help me figure out what documentation I should use, and the learning path ?
    Any suggestions would be greatly appreciated.
    Thanks
    Ravi Banthia
    Kolkata

    Please refer
    http://www.oracle.com/technology/products/berkeley-db/je/index.html

Maybe you are looking for