Spatial query results in core dump

Following query leads to a core dump error. I only can get the first 45 rows.
ksedmp: internal or fatal error
ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [_kokekd2m+43] [PC:0x13A71A3] [ADDR:0x65CECD14] [UNABLE_TO_READ] []
SELECT geom.link_id, geom.link
FROM state
JOIN link ON state.state_id=link.state_id
JOIN geom ON link.link_id=geom.link_id
WHERE MDSYS.SDO_FILTER(link, MDSYS.SDO_GEOMETRY(2003, 8307, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 3), MDSYS.SDO_ORDINATE_ARRAY(-118, 36, -114, 40)), 'querytype=WINDOW') = 'TRUE'
AND state.class=1
If i change the select clause to:
SELECT count(geom.link_id) ...
it works fine.
Does anyone has similar experience?

Hi,
I'm not sure this is exactly relevant but there used to be a bug (certainly in 9i) wherby if you had a SDO_GEOMETRY column in a result set (or subquery) that was being subjected to a sort operation and there were more than a certain figure (32K rings a bell although I could be wrong on that) of rows then it would die. The sort wasn't necessarily a "user" sort - it could be being performed by the database to speed up a join or group by.
Which version of the DB are you using?
If you just try this :
SELECT geom.link_id
FROM state
JOIN link ON state.state_id=link.state_id
JOIN geom ON link.link_id=geom.link_id
WHERE MDSYS.SDO_FILTER(link, MDSYS.SDO_GEOMETRY(2003, 8307, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 3), MDSYS.SDO_ORDINATE_ARRAY(-118, 36, -114, 40)), 'querytype=WINDOW') = 'TRUE'
AND state.class=1
i.e just remove the geometry column from the results set, does this work?
If it does than you may need to wrap this (working) query up as a subselect and join back to your original table to get the geometry "back" if you need it.....
Steve

Similar Messages

  • Spatial Query, Use Multiple Cores

    Basic question, is SQL 2012 running on Windows 2008 R2 64 bit expected to use multiple cores to execute it's tasks?
    I have a table of points, 480, that has 3 empty columns that are being updated from 3 separate tables of polygons via a spatial join based on an intersection (STIntersects) of the point and polygons. All of the data is in 4326 and all tables have spatial
    indexes.
    The server running this query has 32 logical cores, but only 1 core is used and it is maxed out. It takes 53 seconds to complete the update. I have over a million points that need this done. I want to assume that if SQL can access more cores it will complete
    faster.
    I've looked at the actual execution plan and there is a 99% cost on the spatial query.
    update A
    set CONGRESS_DISTRICT = B.DISTRICT, HOUSE_DISTRICT = C.DISTRICT, SENATE_DISTRICT = D.DISTRICT
    from [LegislativeMapData2014].[dbo].[CNRM_INFORCE_EXTRACT093014_COMBINED_GEOCODED] A
    inner join [LegislativeMapData2014].[dbo].[CONGRESS_2014] B
    on A.FEATURE_SHAPE.STIntersects(B.FEATURE_SHAPE) = 1
    inner join [LegislativeMapData2014].[dbo].[HOUSE_2014] C
    on A.FEATURE_SHAPE.STIntersects(C.FEATURE_SHAPE) = 1
    inner join [LegislativeMapData2014].[dbo].[SENATE_2014] D
    on A.FEATURE_SHAPE.STIntersects(D.FEATURE_SHAPE) = 1
    Is there anything I can do to improve the performance of the query? Do I need to hint the indexes? Or something else?
    Thanks

    Hi,
    updating millions of records could lock your resource and other users may have trouble connecting or reading data.
    In some cases, variable table is your friend, insert the data you needed to a variable table before issuing the update.
    with that, you may need to have (nolock) on each table. eg. 
    [LegislativeMapData2014].[dbo].[CONGRESS_2014] (nolock)
    Regards,
    gioVhan
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

  • Increasing the number of thread results in core dump

    Hi all ,
    I am having application in C++ on Solaris and WIn NT OS . In Win Nt if the Number of Threads Spawned is 50 it's working fine but if we try the same it results in Core , but if we reduce the number of Threads spawned to 40 the application works just fine . The System configuration for WIn NT is 512 RAM and for Solaris is 1GB . Any pointers to what can be the possible reason and solution to the cause .
    Regards
    Rahul

    Hi,
    The basis sets the maximum number of pages that can be printed by the user in authorization object S_SPO_PAGE.
    Please discuss with your basis guy.
    Tyken

  • OCI Call resulting in core dump

    Hi,
    I have a C++ code that is resulting in segmentation fault when for a particular query define_by_position( ) (this calles OCI odefin()) is called. this function is running in loop and for other queries it successfully completes but for one particular query it always result in seg fault. Code was compiled for Solaris using following compiler with -m64 flag.
    [nus825:sr54713] /opt/sfw/bin >> g++ -v
    Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.8/3.4.2/specs
    Configured with: ../configure with-as=/usr/ccs/bin/as with-ld=/usr/ccs/bin/ld --disable-nls
    Thread model: posix
    gcc version 3.4.2
    Here is the code.
    bool OracleConduit::doSelect(string inputQuery)
            if(m_cur_numfields!=0)
                    for (int a=0; a<m_cur_numfields;a++){
                            delete m_cur_info[a].col_data;
            //m_SQL_SelFilesToDelete, colsinfo_3, 1
            //doSelect(m_SQL_SelMaxCon,colsinfo_4,1
            //doSelect(m_SQL_SelFileToProcess,colsinfo_2,5
            if(inputQuery==m_SQL_SelFilesToDelete)
                FullReplace(inputQuery,"DISP_END_TS","TO_CHAR(DISP_END_TS, 'YYYY-MM-DD HH24:MI:SS')");
                m_cur_info = colsinfo_3;
                m_cur_numfields =1;
            else if(inputQuery==m_SQL_SelMaxCon || inputQuery==m_SQL_SelMinCon )
                    m_cur_info  = colsinfo_4;
                    m_cur_numfields = 1;
            else if(inputQuery==m_SQL_SelFileToProcess)
                    m_cur_info  = colsinfo_2;
                    m_cur_numfields = 4;
            else if(inputQuery==m_SQL_SelFromCon)
                    m_cur_info  = colsinfo;
                    m_cur_numfields = 17;
        int a;
            oCur.close();
        if (oCur.open(&oConn))
          return false;
    cout << inputQuery.c_str() << endl ;
        if (oCur.parse((const unsigned char *)inputQuery.c_str()))
          return false;
        /* describe the select-list field "Event_TS" */
            for (a=0; a<m_cur_numfields;a++){
                            m_cur_info[a].col_name_len = sizeof (m_cur_info[a].col_name_buf);
                            if (oCur.describe(a+1,
                                            &(m_cur_info[a].col_data_len),
                                            &(m_cur_info[a].db_type),
                        m_cur_info[a].col_name_buf,
                                            &(m_cur_info[a].col_name_len),
                        &(m_cur_info[a].dsize),
                                            (sb2 *) 0,
                        (sb2 *) 0,
                                            (sb2 *) 0)
                              oCur.display_error(stderr);
                              return false;
                            /* allocate space for dept name now that you have length */
                            sword allocLen = m_cur_info[a].col_data_len + 1;
                            m_cur_info[a].col_data = new text[allocLen];
                            /* define the output variable for the select-list */
                            //ub2 rlen, rcode;
                            //text *datptr = m_cur_info[a].col_data;
                            //ub1 *cdatptr= (ub1 *)datptr;
                            cout << "oCur.define_by_position" << endl;
                            if (oCur.define_by_position(a+1,
                                            m_cur_info[a].col_data,
                                            allocLen,
                                            STRING_TYPE,
                                            -1,
                                            &m_cur_info[a].indic,
                                            &m_cur_info[a].rlen,
                                            &m_cur_info[a].rcode)
                              oCur.display_error(stderr);
                              for (a=0; a<m_cur_numfields;a++){
                                    delete m_cur_info[a].col_data;
                              return false;
                            cout << "oCur.define_by_position successed" << endl;
        if (oCur.execute())
          if (oCur.get_error_code() != NO_DATA_FOUND)
            oCur.display_error(stderr);
                for (a=0; a<m_cur_numfields;a++){
                            delete m_cur_info[a].col_data;
            return false;
         else
            return true;
        else
                    return true;
    }

    You problem sounds like an Oracle issue, not necessarily a Sun C++ compiler issue. I suggest you take up this question first with Oracle.

  • Unparameterized THROW results in core dump.

    Hi,
    There is a strange problem which I am not able to comprehend at all. When I use an unparameterized throw in my c++ program it dumps but a parameterized throw works fine without any problems. I searched on the internet for any reasoning but unfortunately couldnt find anything related to my problem.
    Below is the program I am using.
    #include <iostream>
    #include<string>
    using namespace std;
    void foo(int i)
            try
                             if (i==0)
                            cout<<"THROWING DEFAULT EXCEPTION FROM FOO \n";
                            throw ;
            catch (...)
                    cout<<"IN DEFAULT CATCH OF FOO \n";
                    throw;
            try
                    if (i == 1)
                            cout<<"THROWING PARAMATERIZED EXCEPTION FROM FOO \n";
                            throw 1;
            catch (...)
                    cout<<"IN PARAMATERIZED CATCH OF FOO \n";
                    throw 1;
    int main()
            int i;
            cout<<"start main\n";
            cout<<"Enter a number: 0 - FOR DEFAULT THROW, 1 - PARAMATERIZED THROW \n";
            cin>>i;
            try
                    foo(i);
            catch (...)
                    cout<<"IN catch of main \n";
            cout<<"End Main \n";
    }Compilation option:
    CC -g -o throw.exe throw.cc
    I would be really appreciate if anyone can let me know the reasoning behind this behavior.
    regards,
    Ankur.

    Copies of the C++ standard are available from INCITS (www.incits.org), the body that charters the US C++ Committee, at their store:
    [http://www.techstreet.com/cgi-bin/detail?product_id=1143945]
    A downloadable PDF file costs US $30.
    If you want a hard copy, the best choice is the hardcover book published by John Wiley (www.wiley.com) for US $85. The book is bound so that it lies flat when opened to any page. It is printed from the same electronic files that produced the official standard, so it is an exact copy.
    from the publisher: [http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470846747.html]
    from amazon.com: [http://www.amazon.com/C%2B%2B-Standard-Incorporating-Technical-Corrigendum/dp/0470846747/sr=11-1/qid=1164141690/ref=sr_11_1/103-7967641-2022251]

  • OCCI Threading - core dumps

    Hi,
    After learning howto setup my OCCI Environment handle
    correctly for threads using;
    Environment::Mode mode = (Environment::THREADED_MUTEXED,
    Environment::OBJECT);
    The class that encapsulates this is a singleton and used
    through out the process by all the threads. This class
    conection pools and is synchronised for all the threads.
    However, using this singleton model, I get core dumps
    when more than 1 thread attempts to execute a commit on
    the database via the connection they have obtained from
    this singleton class.
    Instantiating the class or environment per thread does
    not result in core dumps. Rather it runs smoothly.
    Is this normal behaviour?
    (Also when all the threads are querying the singleton
    model works fine. Seems only commits)
    Raffaele

    Hi,
    I tried the THREADED_MUTEX|OBJECT but I still get core
    dumps when threading. What I experience is during a
    connection->commit() or any other call on a connection
    when threading causes a core dump.
    I use the OCCI object inrterface and my db is an object
    schema. I am trying to use the full OO dev that comes
    with Oracle...ott included.
    Everything boils down to my singleton DB class which
    is shown below; (Is there any other thread initialisation
    required)
    #include <db/oracle.h>
    #include <env/config.h>
    #include <env/errlog.h>
    #include <env/stdenv.h>
    #include <taucpp/except_base.h>
    #include <gtcpp/mtlock.h>
    #include <gtcpp/debug.h>
    GTFILE;
    static GtMtCritSec db_mutex;
    Oracle::Oracle (GtString &userName,
    GtString &password,
    GtString &url,
    int max,
    int min,
    int inc) :
    _user (userName),
    _pwd (password),
    _url (url),
    _max (max),
    _min (min),
    _inc (inc),
    _connection (0)
    GtMtAutoLock lock (db_mutex);
    Environment::Mode mode
    = (Environment::Mode) (Environment::THREADED_MUTEXED | Environment::OBJECT);
    _system = Environment::createEnvironment (mode);
    char* s = getenv ("ORACLE_HOME");
    if (!s || (strlen (s) == 0))
    cout << "environment variable ORACLE_HOME not initialized"
    << endl;
    connect ();
    Oracle::~Oracle ()
    GtMtAutoLock lock (db_mutex);
    if (_connection)
    system->terminateConnectionPool (connection);
    Environment::terminateEnvironment (_system);
    void Oracle::getConnection (Connection** connection)
    GTASSERT (connection);
    GtMtAutoLock lock (db_mutex);
    try
    if (_connection)
    *connection = connection->createConnection ( (char*)& (*user),
    (char*)& (*_pwd));
    else
    Exception ex ("MSN reconnect exception");
    *connection = 0;
    throw ex;
    catch (SQLException ex)
    retry ();
    catch(Exception ex)
    retry();
    catch (...)
    void Oracle::retry ()
    GtMtAutoLock lock (db_mutex);
    try
    if (_connection)
    system->terminateConnectionPool (connection);
    catch (...)
    connect ();
    void Oracle::terminateConnection (Connection* connection)
    GTASSERT (connection);
    GtMtAutoLock lock (db_mutex);
    if (connection)
    try
    if (_connection)
    _connection->terminateConnection (connection);
    catch (SQLException ex)
    catch (...)
    Environment* Oracle::getEnvironment ()
    GtMtAutoLock lock (db_mutex);
    return _system;
    void Oracle::connect ()
    GtMtAutoLock lock (db_mutex);
    try
    connection = system->createConnectionPool ( (char*)& (*_user),
    (char*)& (*_pwd),
    (char*)& (*_url),
    min,max,_inc);
    catch (SQLException ex)
    _connection = 0;
    catch (...)
    _connection = 0;
    Any help much appreciated,
    Raffaele

  • OCI connect error reported to cause core dump

    I use OCI in my developped library. Other developers use my library for their development purposes. Last night, the oracle server went down for patching, and a user reported a core dump that I recognized it is comming from my OCI section of library.
    I do OCI initialization, select, execute a query, and cleanup.
    Has there been any reports as for the case, when a connection is initialized, and the server goes down after successful initialization but before calls to execute a query or commit?
    Any comment???
    I have the error message below, and replace prepriotory info with xxxxxxx.
    thanks,
    --M
    Fatal NI connect error 12541, connecting to:
    (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxxxxxx)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=xxxxxx)(CID=(PROGRAM=xxxxxx@fashing)(HOST=xxxxxx)(USER=xxxxx))))
    VERSION INFORMATION:
    TNS for Solaris: Version 10.1.0.4.0 - Production
    TCP/IP NT Protocol Adapter for Solaris: Version 10.1.0.4.0 - Production
    Time: 15-FEB-2007 15:49:09
    Tracing not turned on.
    Tns error struct:
    ns main err code: 12541
    TNS-12541: TNS:no listener
    ns secondary err code: 12560
    nt main err code: 511
    TNS-00511: No listener

    We have seen core dumps in system calls earlier and have tried to debug them. We did not have the exact same stack as you but the core used to show up a stack in _malloc.
    As it turned out that we had out of bound array reads (used purify to detect this) and which resulted in this dump. So the stack shown in this case could be totally misleading and the real cause could be somewhere else.
    Hope this helps.

  • ORA-07445: exception encountered: core dump [_memcpy()+916] [SIGSEGV] [Addr

    Hi ,
    One of my sql query is causing the below exception. What is the cause and how can it be solved ?
    I am using oracle and ORM IBatis.
    ORA-07445: exception encountered: core dump [_memcpy()+916] [SIGSEGV] [Address n ot mapped to object] [0x30362E3235393334]
    Thanks,
    Avinash

    $ oerr ora 7445
    07445, 00000, "exception encountered: core dump [%s] [%s] [%s] [%s] [%s] [%s]"
    // *Cause: An OS exception occurred which should result in the creation of a
    //         core file.  This is an internal error.
    // *Action: Contact your customer support representative.The cause is very likely an Oracle software bug: you should search on Oracle support site for a possible patch set upgrade, interim patch or workaround.

  • Gateway for Sybase - core dump [npixfc()+243] [SIGSEGV]

    Hi All,
    We are using a couple of gateways to various Sybase servers in our environment, which generally work very fine.
    However, occasionally we find the following lines in the alert.log on one or the other node of the cluster.
    The DB platform is currently 11.2.0.1 in RAC on Linux x86-64 RHEL5, but similar problems happened
    before on 11.1.0.7 (the entries in the logs were not as descriptive as on 11gR2).
    Thu Feb 11 07:48:33 2010
    HS: Lost RPC connection to remote Agent...
    HS: ... Agent SID = (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx043vip)(PORT=1521))(CONNECT_DATA=(SID=PM04PMDB))), NCR status = -2147385341
    Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x7FFF20B670B8] [PC:0x59BAADD, npixfc()+243] [flags: 0x0, count: 1]
    Errors in file /oracle/app/diag/rdbms/xxx1/xxx11/trace/xxx11_ora_32050.trc (incident=16497):
    ORA-07445: exception encountered: core dump [npixfc()+243] [SIGSEGV] [ADDR:0x7FFF20B670B8] [PC:0x59BAADD] [Address not mapped to object] []
    ORA-28511: lost RPC connection to heterogeneous remote agent using SID=ORA-28511: lost RPC connection to heterogeneous remote agent using SID=(DESCRIPTION=(ADDRESS=(PR
    OTOCOL=TCP)(HOST=xxx043vip)(PORT=1521))(CONNECT_DATA=(SID=PM04PMDB)))
    ORA-02063: preceding line from PM04PMDB
    Incident details in: /oracle/app/diag/rdbms/xxx1/xxx11/incident/incdir_16497/xxx11_ora_32050_i16497.trc
    The .trc file starts with:
    Dump file /oracle/app/diag/rdbms/xxx1/xxx11/incident/incdir_16497/xxx11_ora_32050_i16497.trc
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
    Data Mining and Real Application Testing options
    ORACLE_HOME = /oracle/app/product/11.2.0/dbhome_1
    System name: Linux
    Node name: xxx043
    Release: 2.6.18-128.el5
    Version: #1 SMP Wed Dec 17 11:41:38 EST 2008
    Machine: x86_64
    Instance name: xxx11
    Redo thread mounted by this instance: 1
    Oracle process number: 62
    Unix process pid: 32050, image: oracle@xxx043
    *** 2010-02-11 07:48:33.186
    *** SESSION ID:(695.7521) 2010-02-11 07:48:33.186
    *** CLIENT ID:() 2010-02-11 07:48:33.186
    *** SERVICE NAME:(xxx1) 2010-02-11 07:48:33.186
    *** MODULE NAME:(JDBC Thin Client) 2010-02-11 07:48:33.186
    *** ACTION NAME:() 2010-02-11 07:48:33.186
    Dump continued from file: /oracle/app/diag/rdbms/xxx1/xxx11/trace/xxx11_ora_32050.trc
    ORA-07445: exception encountered: core dump [npixfc()+243] [SIGSEGV] [ADDR:0x7FFF20B670B8] [PC:0x59BAADD] [Address not mapped to object] []
    ORA-28511: lost RPC connection to heterogeneous remote agent using SID=ORA-28511: lost RPC connection to heterogeneo
    ========= Dump for incident 16497 (ORA 7445 [npixfc()+243]) ========
    ----- Beginning of Customized Incident Dump(s) -----
    Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x7FFF20B670B8] [PC:0x59BAADD, npixfc()+243] [flags: 0x0, count: 1]
    Registers:
    %rax: 0x000000000a99d750 %rbx: 0x0000000000000001 %rcx: 0x00007fff20b6dee0
    %rdx: 0x0000000000000000 %rdi: 0x00007fff20b6d710 %rsi: 0x00002aed89f745a0
    %rsp: 0x00007fff20b670c0 %rbp: 0x00007fff20b6dce0 %r8: 0x0000000000000000
    %r9: 0x0000000000000000 %r10: 0x0000000000000000 %r11: 0x0000000000000001
    %r12: 0x0000000000000010 %r13: 0x00002aed89fa7560 %r14: 0x00002aed89f73c18
    %r15: 0x0000000000000001 %rip: 0x00000000059baadd %efl: 0x0000000000010202
    (0x59baadd) call 0x9d24a0(0x59baae2) mov %eax,-0x14(%rbp)
    (0x59baae5) test %eax,%eax
    (0x59baae7) jnz 0x59bfd26
    (0x59baaed) mov -0x120(%rbp),%rsi
    Is it something to worry about? Any hints about the reasons?
    Thanks,
    P.

    Thanks for your reply. I expected the advice to utilize the support for that :)
    The results of my investigation:
    Listener log - normal activity. New connections to the DB and to different gateways (including the one that caused the problem) every couple of seconds, everything seemed to be working fine.
    Alert log - no other entries +/- 1 hour around the incident, except log switching.
    I checked the application logs and managed to find out the session that caused the problem. It is an ETL process that runs the same extraction query on Sybase machine every minute. The query does not change and it was executed successfully hundreds of times before. Other similar processes were running fine, executing similar queries on all Sybase machines, including the one in the incident. So the incident seems to be random, with no correlation to other activities.
    The flow of events in the problematic session iis as follows:
    1. opens Gateway connection and sets session parameters on Sybase by executing:
    dbms_hs_passthrough.execute_immediate@PM04PMDB('set lock wait 60 ') -> that went OK
    2. starts data extraction by running:
    insert into ... select ... from ...@PM04PMDB -> that operation hang, no further logs from this point
    3. commits
    4. closes DB link by executing:
    alter session close database link PM04PMDB
    The SQL that failed was executed at 7:23, and the incident entry in the alert log is dated 7:33.
    Is it possible that the 10 seconds delay is caused by HS_FDS_CONNECT_PROPERTIES="timeout='10'" ?
    The gateway config:
    HS_FDS_CONNECT_INFO=xxx
    HS_FDS_TRANSACTION_MODEL=READ_ONLY
    HS_FDS_TRACE_LEVEL=OFF
    HS_OPEN_CURSORS=10
    HS_FDS_CONNECT_PROPERTIES="timeout='10'"
    HS_FDS_RECOVERY_ACCOUNT=xxx
    HS_FDS_RECOVERY_PWD=xxx
    Listener config:
    (SID_DESC=
    (SID_NAME=PM04PMDB)
    (ORACLE_HOME=/oracle/app/product/11.2.0/dbhome_1)
    (ENVS=LD_LIBRARY_PATH=/oracle/app/product/11.2.0/dbhome_1/dg4sybs/driver/lib:/oracle/app/product/11.2.0/dbhome_1/lib)
    (PROGRAM=dg4sybs)
    )

  • Kcs core dump

    We got a core dump to run oracle SQL in ExecuteQuery,
    we look at it in dbx, it occurs when iAS try to do loging,
    and the SQL string contains '%20ne', the query runs fine
    in SQL Plus. here is the dbx result,
    [1] dopr(0xfb380b3d, 0xfb380d14, 0x2f45ff, 0x14, 0xffffffff, 0x6), at
    0xff3667c8
    [2] GXFormatMsg(0x101, 0xfb380d00, 0x2f4540, 0x29, 0xfb380b3d, 0x12a), at
    0xff2e8a0c
    [3] GXLogMsgELVaArg(0xfb380b14, 0x288178, 0x2f4540, 0x1, 0x1, 0xfb380d00),
    at 0xff2e86dc
    [4] GXLogMsgEL(0x211650, 0x288178, 0x8029004e, 0x1, 0x1, 0x0), at
    0xff2e85d4
    [5] GXDSORCLConn::Execute(0x2ffb30, 0x0, 0xffffffff, 0xfcfedc74, 0x3031a8,
    0x0), at 0xfcfc3b50
    [6] GXDSORCLConn::ExecuteQuery(0x2ffb30, 0x4000, 0x3031a8, 0x0, 0x0,
    0x2f4200), at 0xfcfc4df0
    [7] GXDataConn::ExecuteQuery(0x0, 0x2f41f8, 0x2f3f98, 0x0, 0x0, 0x2ffd50),
    at 0xfe1dc870
    [13] GXAgent::Execute(0x2dc260, 0x0, 0x2dc890, 0x2dca20, 0x0, 0x0), at
    0xfec49a14
    [14] PureBaseAppLogic::Execute(0x2dc260, 0x0, 0x2dc890, 0x2dca20, 0x0,
    0x0), at 0xfcdd3f9c
    [15] GXReqStep_Exec::ExecStep(0x2c1630, 0xff355c9c, 0xfe0b9bbc, 0x0,
    0x22c458, 0x0), at 0xfe0a6530
    [16] GXReqMgr::Main(0x1, 0x2c99e8, 0x0, 0x1, 0x2219c8, 0x2c1630), at
    0xfe10b09c
    [17] GXRequestProc(0x0, 0x2219c8, 0x800b0009, 0x2c99e8, 0x1, 0x2b9969), at
    0xfe108af0
    [18] GXExecThread(0x2c99e8, 0xfe108a6c, 0xff1ae000, 0x8, 0x2c93c8, 0x0),
    at 0xfe3d4038
    Is this a known bug?
    BTW, the iAS SQL logging remove some percentage sign inside SQL,
    is there any way to avoid this?
    Any idea is apprecieated. Thanks.
    --Heng                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Forgot to mention. We are calling OCISessionEnd before rolling through OCIServerDetach.
    /* STATIC */
    static void logout()
    printf ("\n\nFreeing statement handles..\n");
    if(stmthp) OCIHandleFree ((dvoid *) stmthp, (ub4) OCI_HTYPE_STMT);
    printf ("Logging off...\n");
    if(authp) OCISessionEnd (svchp, errhp, authp, (ub4) 0);

  • Spatial query w/ logical operators in a subquery on Linux using Oracle 1

    Hello...
    I'm being given XML that I need to parse and create SQL from it. Below my signature is the SQL that I generate (its a simple example) and can be more elaborate due to the logical operators (AND and OR) given in the XML.
    The problem that we're seeing is performance-based: when one of the logical operator queries is Spatial-based, like below. Running it in JDBC, the query never returns.
    The spatial query just by itself returns ~300 rows (takes approximately 0.2 seconds). The "PERCENTAGE" query by itself returns about ~40000 rows (takes approximately ~.8 seconds).
    If we run the query below with 2 non-spatial subqueries, the result returns and performance is very acceptable (~ 0.9 seconds)-- the result set is about 80000 rows.
    Thanks,
    Jim
    =========================
    SELECT
    COLUMN_WE_WANT , RESULTS
    FROM
    TABLE_A
    WHERE
    COLUMN_WE_WANT IN
    SELECT
    COLUMN_WE_WANT
    FROM
    TABLE_A
    WHERE
    SDO_OVERLAPBDYINTERSECT(TABLE_A.MY_SPATIAL_COLUMN,
    SDO_GEOMETRY(2003,
    4326,
    null,
    SDO_elem_info_array( 1 , 3 , 1 ),
    SDO_ORDINATE_ARRAY( lng_1,lat_1 , lng_2,lat_2 , lng_3,lat_3 , lng_4,lat_4 , lng_1,lat_1 )
    ) = 'TRUE'
    OR
    COLUMN_WE_WANT IN
    SELECT
    COLUMN_WE_WANT
    FROM
    TABLE_B
    WHERE
    SOME_PERCENTAGE_RATE_COLUMN < 90
    )

    Its difficult to comment without seeing the execution plan. You should trace this query to get a better idea of exactly what's happening.
    Depending on the complexity of the logical operators, I would look at doing this using set operations. So for an OR you might have...
    SELECT COLUMN_WE_WANT, RESULTS
    FROM TABLE_A
    WHERE COLUMN_WE_WANT IN (
         SELECT COLUMN_WE_WANT
         FROM TABLE_A
         WHERE SDO_OVERLAPBDYINTERSECT(TABLE_A.MY_SPATIAL_COLUMN,SDO_GEOMETRY(2003,4326,
         NULL, SDO_elem_info_array( 1 , 3 , 1 ),
         SDO_ORDINATE_ARRAY( lng_1,lat_1 , lng_2,lat_2 , lng_3,lat_3 , lng_4,lat_4 , lng_1,lat_1 ) )) = 'TRUE'
    UNION
         SELECT COLUMN_WE_WANT
         FROM TABLE_B
         WHERE SOME_PERCENTAGE_RATE_COLUMN < 90)For an AND, you would use INTERSECT.
    Edited by: Reggie to remove the extra INTERSECT

  • Spatial query w/ logical operators in a subquery on Linux using Oracle 10g

    Hello...
    I'm being given XML that I need to parse and create SQL from it. Below my signature is the SQL that I generate (its a simple example) and can be more elaborate due to the logical operators (AND and OR) given in the XML.
    The problem that we're seeing is performance-based: when one of the logical operator queries is Spatial-based, like below. Running it in JDBC, the query never returns.
    The spatial query just by itself returns ~300 rows (takes approximately 0.2 seconds). The "PERCENTAGE" query by itself returns about ~40000 rows (takes approximately ~.8 seconds).
    If we run the query below with 2 non-spatial subqueries, the result returns and performance is very acceptable (~ 0.9 seconds)-- the result set is about 80000 rows.
    Thanks,
    Jim
    =========================
    SELECT
    COLUMN_WE_WANT , RESULTS
    FROM
    TABLE_A
    WHERE
    COLUMN_WE_WANT IN
    SELECT
    COLUMN_WE_WANT
    FROM
    TABLE_A
    WHERE
    SDO_OVERLAPBDYINTERSECT(TABLE_A.MY_SPATIAL_COLUMN,
    SDO_GEOMETRY(2003,
    4326,
    null,
    SDO_elem_info_array( 1 , 3 , 1 ),
    SDO_ORDINATE_ARRAY( lng_1,lat_1 , lng_2,lat_2 , lng_3,lat_3 , lng_4,lat_4 , lng_1,lat_1 ) )
    ) = 'TRUE'
    OR
    COLUMN_WE_WANT IN
    SELECT
    COLUMN_WE_WANT
    FROM
    TABLE_B
    WHERE
    SOME_PERCENTAGE_RATE_COLUMN < 90
    )

    There is a spatial forum. You will likely have a far better experience there.

  • Webcenter crashing with core dump

    Hi All,
    Once in a while Webcenter(11.1.1.5) is crashing and generating core dump and the error message is same evertime. We tried to research on addPartialTriggerListeners and found this kind of behaviour is a bug in apache trinidad version 1.2.5-core and is fixed in 1.2.7-core. But the webcenter we are using as version 1.2.12. Also the issue seems to be comming from webcenter/adf framework itself as none of our code uses addPartialTriggerListeners.
    Please help us resolve this issue as we are getting this issue in our production environment and we need to fix this asap.
    # A fatal error has been detected by the Java Runtime Environment:
    # SIGSEGV (0xb) at pc=0xffffffff7318caf0, pid=19921, tid=149
    # JRE version: 6.0_29-b11
    # Java VM: Java HotSpot(TM) 64-Bit Server VM (20.4-b02 mixed mode solaris-sparc compressed oops)
    *# Problematic frame:*
    +*# J  org.apache.myfaces.trinidadinternal.context.RequestContextImpl.addPartialTriggerListeners(Ljavax/faces/component/UIComponent;[Ljava/lang/String;)V*#+
    # If you would like to submit a bug report, please visit:
    # http://java.sun.com/webapps/bugreport/crash.jsp
    --------------- T H R E A D ---------------
    Current thread (0x00000001145ba000): JavaThread "[ACTIVE] ExecuteThread: '13' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon [_thread_in_Java, id=149, stack(0xfffffffea6800000,0xfffffffea6900000)]
    siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x0000000000000000
    Registers:
    G1=0xffffffff503d5098 G2=0x00000001145ba000 G3=0xffffffff73516254 G4=0x00000000000000d1
    Thanks

    Oracle Support has a thread and work around for this.
    DocID 1514563.1
    Applies to:
    Oracle WebCenter Portal - Version 11.1.1.5.0 and later
    Information in this document applies to any platform.
    Purpose
    Java HotSpot Virtual Machine, a core component of Oracle's Java SE platform, known to core dump (resulting in a server crash) while optimizing certain methods in Oracle WebCenter.
    If you can switch to JRockit you can get around it also. Otherwise follow the note and setup the appropriate pre-compile excludes in your WC startup script.

  • Linux 6.1/Oracle 8.1.5 Pro C compilation core dumps

    Linux installation did not place stdarg.h or stddef.h in the /usr/include directory for some reaon. I located different copies in other directories and have created symobolic links to them all in the end. BUT all result in the following error when I attempt to make sample1.pc in $ORACLE_HOME/precomp/demo/proc. Has anyone got any ideas how I can fix this problem.
    Yours hopefully Kev
    make -f demo_proc.mk sample1
    gmake -f /oracle/app/oracle/product/8.1.5/precomp/demo/proc/demo_proc.mk
    OBJS=sample1.o EXE=sample1 build
    gmake[1]: Entering directory `/oracle/app/oracle/product/8.1.5/precomp/demo/proc'
    proc iname=sample1
    Pro*C/C++: Release 8.1.5.0.0 - Production on Sun Jan 9 17:02:05 2000
    (c) Copyright 1999 Oracle Corporation. All rights reserved.
    System default option values taken from:
    /oracle/app/oracle/product/8.1.5/precomp/admin/pcscfg.cfg
    gmake[1]: *** [sample1.o] Segmentation fault (core dumped)
    gmake[1]: Leaving directory `/oracle/app/oracle/product/8.1.5/precomp/demo/proc'
    make: *** [sample1] Error 2
    null

    Thanks for your input. But having investiagted further I have made progress.
    On one of the FAQ docs listed throughout the Linux Forum I found an example of what should be in the pcscfg.cfg file. Once this was in place I then had, /usr/bin/ld cannot find -laio (or the file /usr/lib/libaio.a). To get a clean(ish) compile, I created a symbolic link from libc.a to libaio.a which is crude but was effective. I had a working Pro C exe.
    I understand that the second patch solves the libaio.a prob as well as others. But a colleague has installed it and had to regress it, due to more damaging problems he listed but I cannot recall at this time.
    Thanks again.

  • Spatial query in a distributed environment

    We want to compare two spatial tables.
    We have (at present identical) tables on two computers GEOSRV0 and NB25.
    On both we have Oracle 10.1.0.2. GEOSRV0 has the WINDOWS 2000 operating system installed, on NB25 there is WINDOWS XP Professional.
    The table is EZG:
    GEOMETRY MDSYS.SDO_GEOMETRY
    GEOMETRY_SK VARCHAR2(15)
    EZG_NR NOT NULL NUMBER
    FLAECHE FLOAT(126)
    The primary key is EZG_NR.
    There is a private database link for the user WLKREP on NB25 to user WLKREP on GEOSRV0.
    The USER_SDO_GEOM_METADATA are the same on both machines (same SRID, same DIMINFO).
    The following query – we check, if for each record on NB25 is a record on GEOSRV0 - works normally:
    SQL> select ezg_nr from
    2 ezg a where not exists
    3 (select 1 from wlkrep.ezg@wlk where ezg_nr=a.ezg_nr);
    no rows selected
    This is correct.
    We can read the geometry on the remote database:
    SQL> select * from wlkrep.ezg@wlk where rownum=1;
    GEOMETRY(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
    GEOMETRY_SK EZG_NR FLAECHE
    SDO_GEOMETRY(3003, 1040001, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARRAY(182285.489, 405672.889, 0, 182248.701, 405644.889, 0, 182241.984, 405639.771, 0, 182171.753, 405538.805, 0, 182130.953, 405498.016, 0, 181971.1, 405274.91
    6, 0, 182223.796, 405176.609, 0, 182292.701, 405204.37, 0, 182439.028, 405451.66
    , 0, 182573.506, 405628.153, 0, 182643.64, 405726.59, 0, 182718.945, 405764.608,
    0, 182780.371, 405805.57, 0, 182862.191, 405843.931, 0, 182966.69, 405933.13, 0
    , 183131.065, 406064.852, 0, 183205.098, 406160.637, 0, 183231.535, 406220.959,
    0, 183266.473, 406265.415, 0, 183308.669, 406303.524, 0, 183295.305, 406364.696,
    0, 183204.283, 406331.35, 0, 183161.835, 406299.691, 0, 183134.554, 406243.403,
    GEOMETRY(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
    GEOMETRY_SK EZG_NR FLAECHE
    0, 183080.454, 406171.548, 0, 183027.376, 406123.698, 0, 182914.558, 406039.291
    , 0, 182770.335, 405973.138, 0, 182593.691, 405886.413, 0, 182443.506, 405795.85
    2, 0, 182343.293, 405713.991, 0, 182285.489, 405672.889, 0))
    13 304906.065
    Now we want to compare the geometry and get
    SQL> select a.ezg_nr from
    2 wlkrep.ezg@wlk b, ezg a where a.ezg_nr=b.ezg_nr and
    3 sdo_equal(a.geometry,b.geometry) != 'TRUE';
    select a.ezg_nr from
    ERROR at line 1:
    ORA-03113: end-of-file on communication channel
    Only comparing two elements gives the same result
    SQL> select a.ezg_nr from
    2 wlkrep.ezg@wlk b, ezg a where a.ezg_nr=640 and
    3 b.ezg_nr = 640 and
    4 sdo_equal(a.geometry,b.geometry) = 'TRUE';
    select a.ezg_nr from
    ERROR at line 1:
    ORA-03113: end-of-file on communication channel
    Even if we query a non existing element
    select count(*) from ezg where ezg_nr=99999;
    COUNT(*)
    0
    SQL> select a.ezg_nr from
    2 wlkrep.ezg@wlk b, ezg a where a.ezg_nr=99999 and
    3 b.ezg_nr = 99999 and
    4 sdo_equal(a.geometry,b.geometry) = 'TRUE';
    select a.ezg_nr from
    ERROR at line 1:
    ORA-03113: end-of-file on communication channel
    Is this a bug or is a distributed spatial query not supported?
    The following statement works:
    SQL> select a.ezg_nr from
    2 wlkrep.ezg@wlk a where not exists
    3 (select 1 from ezg b where
    4 b.ezg_nr=a.ezg_nr and
    5 sdo_equal(b.geometry,a.geometry)='TRUE');
    no rows selected
    Regards
    Karl

    Actually, I have filed a TAR to Oracle on this. I also spoke to Steve Muench about it at OracleWorld, briefly. As of today, I'm trying to add to DataScroller.java to make it implement java.io.Serializable (with no luck...maybe someone can comment on what I'm doing wrong).
    Here's what I have done so far.
    Changed DataScroller.java (located in bc4jhtmlsrc.zip) to the following:
    public class DataScroller implements java.io.Serializable
    I added the following members per the docs on java.io.Serializable
    private void writeObject(java.io.ObjectOutputStream out)
    throws IOException
    // really don't need to save state. Next call will recompute what's necessary
    private void readObject(java.io.ObjectInputStream in)
    throws IOException, ClassNotFoundException
    // really don't need to load state. Next call will recompute what's necessary
    I then used jar xvf to "unjar" datatags.jar, replaced DataScroller.class with my version and used
    jar cv0Mf datatags.jar META-INF/* oracle/*
    to recreate the datatags.jar. My file is not 100% the exact same as their file, but it looks to be right to me. I ended up doing it this way because the oracle\ord\* classes are not in the bc4jhtmlsrc.zip, only in the jar file and felt this was the "safest" way to include the correct contents of the file.
    HOWEVER -- I'm sorry to say that I've then tried to run my app and get the same issue.
    Thanks,
    Jeff

Maybe you are looking for

  • How to trigger automatically an IDOC and RFC from SAP R/3 system?

    Hi , lets say if we are implementing IDOC to FILE &RFC to FILE scenario ,how can we trigger  on timely basis(schedules) 1)standard IDOCs and BAPIs? 2)customized Idocs and Customized Bapis? 3)Master Idocs and transactiona Idocs?I think we need to use

  • Switched startup disc and now can't start...

    i tried to boot up from an old disc warrior cd, and couldn't. i switched the startup disk in sys pref, and now can't start the computer at all (i keep getting the message "you need to restart your computer...") now i know i need a new version of DW,

  • IPhoto deleting albums from Facebook, etc., etc.

    So.  I was trying to upload an album to Facebook.  Now iPhoto is in permanent freakout mode.  It sends me numeros, repeated messages that an album I created on Facebook has been deleted.  And some of the names of these albums are ones which I did sen

  • OdiFileAppend tool issue with new line character?

    Hello ODI experts, I am using OdiFileAppend tool in a package to concatenate multiple files with same structure to a new file. ODI is installed in windows and also files exists in Windows only. OdiFileAppend "-FILE=C:\ODI_WORK\FILE_LOAD_DIR\PROCESS_D

  • __Please help - my file opens up twice - dunno why!

    My CS4 file opens up twice each time I open it -- here's an example -  the original filename is "drawing.pdf", yet it opens as: "drawing.pdf:1" and "drawing.pdf:2" I must've mistakenly typed the wrong key command or something...