3 Replies Latest reply: Apr 16, 2013 8:38 AM by userBDBDMS-Oracle RSS

    Unsafe exit after deleting some old data

    1003114
      Hi,

      In our application, there will be continuous stream of data flowing in and we need to keep on adding more data and delete older data time to time in batches.
      we identified a bug in our application code that soon after delete and commit there is an unsafe exit before we clean up some of the handles, and because of that we have got the data base corrupted and recovery is not helping here.

      Below are the error thrown by the db recovery (normal and not catastrophic) which is embedded in the application itself.

      Apr-14-2013 23:01:01:271 [ERROR] 28047: 4149270256: BDB:ERROR:BDB1520 Recovery function for LSN 931772 898438 failed on forward pass
      Apr-14-2013 23:01:01:271 [ERROR] 28047: 4149270256: BDB:ERROR:BDB0061 PANIC: No such file or directory
      Apr-14-2013 23:01:01:273 [ERROR] 28047: 4149270256: BDB:ERROR:BDB1546 unable to join the environment
      Apr-14-2013 23:01:01:301 [ERROR] 28047: 4149270256: Class BDBStorageManager constructor failed for home_dir /ghostcache/analyticsdb/output//qos/100084/126/ with error DbEnv::open: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
      Apr-14-2013 23:01:01:309 [ERROR] 28047: 4149270256: Type: 15DbOpenException Desc: BDBStorageManager constructor failed for /ghostcache/analyticsdb/output//qos/100084/126/DbEnv::open: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
      Apr-14-2013 23:01:01:309 [ERROR] 28047: 4149270256: DataBaseException Exception for qos.100084.126

      What has happened here ? why isnt the recovery working ? anyway we can recover the data base?

      I tried even catastrophic recovery and it is not helping.

      Thanks in Advance for the help.

      Pranav
        • 1. Re: Unsafe exit after deleting some old data
          userBDBDMS-Oracle
          Hi Pranav,

          This is an issue that is probably best handled through Oracle support. Do you have a BDB license with a support contract?


          thanks
          mike
          • 2. Re: Unsafe exit after deleting some old data
            1003114
            No we dont have a support contract. Any explanation here would be appreciated.

            Thnks,
            Pranav

            Edited by: 1000111 on 16-Apr-2013 03:27
            • 3. Re: Unsafe exit after deleting some old data
              userBDBDMS-Oracle
              Hi Pranav,


              The recovery code is very complex, and the infrastructure to work this type of in-depth issue is not available through OTN. What we can do through this avenue is provide general guidance. The error is being thrown because we cannot find the end point to recover to. During a recovery process we need to determine the beginning point and the ending point. In this case we cannot find the ending point. A common cause for this is a corrupted log file or missing some log files, etc. Both forms of recovery, normal and catastrophic need to have an end point to recover to, which is why you are getting the same error regardless of recovery method used. What we can suggest at this point is that you first try and verify your database see doc: http://docs.oracle.com/cd/E17076_02/html/api_reference/C/frame_main.html -- go under utilities and look for db_verify. You can try to dump/reload your data (db_dump, db_load utilities) If your database is corrupt, which is a possibility here you can use the salvage option (-r) to try and dump as much data as possible out of the db.


              thanks
              mike