3 Replies Latest reply: May 7, 2013 4:36 AM by 669847 RSS

    Unable to create SDO_TIN causing ORA-07445, ORA-13199

    669847
      Dear experts,

      I have Oracle 11.2.0.3 installed on a machine with Windows Server 2008 R2.
      Target size of Oracle SGA and PGA memory (MEMORY_TARGET) is 21 474 836 480.
      The database is in NOARCHIVELOG mode.

      I'm trying to create TIN using sdo_tin data type. The code, showed below, works fine for a certain amount of points (it works upto ~ 5 000 000 points).

      DECLARE
      tin sdo_tin;
      BEGIN
      tin := SDO_TIN_PKG.init
      (
      'BASE_TIN', 'TIN', 'BLK_TIN', 'blk_capacity=50000',
      mdsys.sdo_geometry (3008, 32636, NULL,
      mdsys.sdo_elem_info_array (1, 1007, 3),
      mdsys.sdo_ordinate_array (671208.722, 3571014.191, 12.447, 678470.293, 3578602.733, 226.409)),
      0.0005,
      3,
      NULL
      );
      INSERT INTO base_tin VALUES (tin);
      SDO_TIN_PKG.create_tin (tin, 'INPM');
      END;
      /

      When I run this code for full data set (~27 000 000 points), I get following error in alert.log (after ~1.5 hours of computing):

      Exception [type: ACCESS_VIOLATION, UNABLE_TO_WRITE] [ADDR:0x44] [PC:0x146A7E2F0, mdtnmconnect()+76]
      Errors in file C:\ORACLE\diag\rdbms\kugioas\kugioas\trace\kugioas_ora_58460.trc (incident=55960):
      ORA-07445: exception encountered: core dump [mdtnmconnect()+76] [ACCESS_VIOLATION] [ADDR:0x44] [PC:0x146A7E2F0] [UNABLE_TO_WRITE] []
      ORA-13199: Error in mdtngt_edge
      ORA-00308: cannot open archived log 'C:\ORACLE\REDO\ARC0000003655_0682278972.0001'
      ORA-27041: unable to open file
      OSD-04002: unable to open file
      O/S-Error: (OS 2) The system cannot find the file specified.

      What would be possible workaround?
      Please help.
        • 1. Re: Unable to create SDO_TIN causing ORA-07445, ORA-13199
          John O'Toole
          Hi,

          You mentioned you're in NOARCHIVELOG mode but you're getting an ORA-00308 error. This might be happening if the LOG_ARCHIVE_DEST_n parameter is still pointing to an archive log destination and if the default value for the LOG_ARCHIVE_DEST_STATE_n parameter is set to 'ENABLE'. In this case the database database will still attempt to open the required archive log file during recovery of a long running transaction.
          To resolve that issue you could set LOG_ARCHIVE_DEST_STATE_n to 'defer'. See: http://docs.oracle.com/cd/E11882_01/server.112/e25513/initparams124.htm#REFRN10087

          However that issue is really just a side effect of having to rollback a long running transaction, so the main problem still exists.
          I checked MOS for any mention of mdtnmconnect() or mdtngt_edge. I found two old reports...
          Bug 7176267 : ACCESS_VIOLATION WHILE BUILDING A TIN, DEPENDING ON BLOCK SIZE USED
          Bug 6606678 : CREATION OF A TIN FAILS WITH ORA-7445 [MDTNMMKEDGE]
          ... but there doesn't seem to be any conclusion in either of those. If anything it sounds like it might be worth playing around with the blk_capacity parameter to see if it helps (i.e. trying increasing and reducing it).

          Have you checked through the kugioas_ora_58460.trc trace file for anything of potential use?

          Apart from some basic prototyping I haven't really used SDO_TIN so can't comment much on how to troubleshoot it.

          By the way, what's your exact Oracle version - just the base 11.2.0.3 or have you added any patch bundles (if not, then you probably should) as they might help.

          John

          Edited by: John O'Toole on Apr 30, 2013 9:02 AM
          • 2. Re: Unable to create SDO_TIN causing ORA-07445, ORA-13199
            669847
            Hi, John.

            First of all, thanks for the response.

            1. Thank you for your clarification about LOG_ARCHIVE_DEST_STATE_n parameter. I didn't know about it.

            2. I tried to use blk_capacity parameter=5000, 50000, 100000. Unfortunately, it doesn't help.

            3. kugioas_ora_58460.trc trace file doesn't contain any additional useful information:

            Trace file C:\ORACLE\diag\rdbms\kugioas\kugioas\trace\kugioas_ora_58460.trc
            Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
            With the Partitioning option
            Windows NT Version V6.1 Service Pack 1
            CPU : 24 - type 8664, 12 Physical Cores
            Process Affinity : 0x0x0000000000000000
            Memory (Avail/Total): Ph:11725M/32757M, Ph+PgF:45823M/65513M
            Instance name: kugioas
            Redo thread mounted by this instance: 1
            Oracle process number: 94
            Windows thread id: 58460, image: ORACLE.EXE (SHAD)

            *** 2013-04-30 01:28:12.989
            *** SESSION ID:(447.1) 2013-04-30 01:28:12.989
            *** CLIENT ID:() 2013-04-30 01:28:12.989
            *** SERVICE NAME:(KUGIOAS) 2013-04-30 01:28:12.989
            *** MODULE NAME:(TOAD 11.6.0.43) 2013-04-30 01:28:12.989
            *** ACTION NAME:() 2013-04-30 01:28:12.989

            Exception [type: ACCESS_VIOLATION, UNABLE_TO_WRITE] [ADDR:0x44] [PC:0x146A7E2F0, mdtnmconnect()+76]
            Incident 55960 created, dump file: C:\ORACLE\diag\rdbms\kugioas\kugioas\incident\incdir_55960\kugioas_ora_58460_i55960.trc
            ORA-07445: exception encountered: core dump [mdtnmconnect()+76] [ACCESS_VIOLATION] [ADDR:0x44] [PC:0x146A7E2F0] [UNABLE_TO_WRITE] []
            ORA-13199: Error in mdtngt_edge

            4. I'll try to install patches on database. It looks promising.
            • 3. Re: Unable to create SDO_TIN causing ORA-07445, ORA-13199
              669847
              Unfortunately, installing 11.2.0.3 Patch 17 didn't help.