Dirty select with oracle !

With some database (ingres , SQL Server), If you disable readlock, you can obtain "dirty select".
Explanation:
Transaction one:
read a record !
Transaction two:
read the same record !
write the record !
TRansaction one:
write the record !!!! Dirty because rewriting a modified record.
The solution with ingres is to put a lock on a read statement.
How does Oracle solve this problem ?

The second transaction will wait until the first one does a commit or rollback. The UPDATE statement automatically acquires a ROW EXCLUSIVE LOCK on the table, which is released at the transaction's end.
If you have an Oracle DB in hand, that is very easy to verify.

Similar Messages

  • Able to make dirty read using Oracle 9i and JDBC thin driver v 9.2.0

    I've searched this forum and did not see anything to directly answer my question.
    I checked the Oracle JDBC Frequently Asked Questions...
    ditto (perhaps due to the fact that it was last updated: 22 June 2001).
    So here is my question, and thank you in advance for any insight (apologies if I have missed finding an already answered question):
    Section 19-15 of:
    "JDBC Developer’s Guide and Reference"
    (which is for Oracle 9i database)
    downloadable from:
    http://download-east.oracle.com/docs/cd/B10501_01/java.920/a96654.pdf
    is entitled:
    "Transaction Isolation Levels and Access Modes"
    The section seems to indicate that
    if JDBC connection A is setup with:
    setAutoCommit(false)
    setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED)
    and then used to perform an update on a row (no commit(), rollback(), or close() yet) ...
    then JDBC connection B (setup in the same way) will be prevented from
    making a dirty read of that same row.
    While this behavior (row-level locking) occurs correctly when using MS SQL Server 2000,
    it is not occuring correctly with Oracle 9i and the Oracle Thin JDBC driver version 9.2.0.
    The test case I have shows that with Oracle, connection B is able to make a dirty read
    successfully in this case.
    Am I doing something wrong here ?
    Again, MS SQL Server correctly blocks connection B from making the Read until Connection A
    has been either committed, rolled back, or closed, at which time connection B is able to
    complete the read because the row is now unlocked.
    Is there a switch I must throw here ?
    Again, any help is greatly appreciated.

    Thanks for the response.
    I understand what you are saying...
    that readers don't block writers in Oracle (the same is true in SQL Server 2000).
    However, I don't see how my test case is working correctly with Oracle (the exact same code acting as I'm thinking it should with SQL Server, but I still think it is acting incorrectly with Oracle).
    I have transaction A do this:
    update <table> set <column2>=<value> where <column1>='1'
    then I use Thread.sleep() to make that program hang around for a few minutes.
    Meanwhile I sneak off and start another program which begins transaction B. I have transaction B do this:
    select * from <table> where <column1>='1'
    and the read works immediately (no blocking... just as you have said) however, transaction A is still sleeping, it has not called commit() or rollback() yet.
    So what if transaction A were to call rollback(), the value read by transaction B would be incorrect wouldn't it ?
    Both A and B use setAutoCommit(false) to start their transactions, and then call setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED).
    Isn't that supposed to guarantee that a reader can only read what is committed ?
    And if a row is in "flux"... in the process of having one or more values changed, then the database cannot say what the value will be ?
    I can almost see what you are saying.
    In letting the reader have what it wants without making it wait, I suppose it could be said that Oracle is holding true to the "only let committed data be read"
    So if that's it, then what if I want the blocking ?
    I want an entire row to be locked until whoever it in the middle of updating, adding, or removing it has finished.
    Do you know if that can be done with Oracle ? And how ?
    Thanks again for helping me.

  • Petstore 1.3 with Oracle 8.1.7 on Solaris 9 - deployment error

    Hello,
    I'm trying to get Petstore 1.3 shipped with WebLogic Server 7.0 to work with Oracle
    8.1.7 on Solaris 9 with a third-party (Oracle) jdbc driver (classes12). I did
    the following:
    1) created a new connection pool with the correct Oracle database URL and driver
    class name (oracle.jdbc.driver.OracleDriver), also user/password properties for
    the Oracle db, and the WL server selected in targets;
    2) created a database schema for Oracle based on the data in Pointbase and the
    weblogic-cmp-rdbms-jar file as well as petstore_catalog_utf8.sql;
    3) created a new tx datasource pointing to the Oracle conn pool;
    4) modified the catalog component's ejb-jar.xml file's env-entry to contain CatalogOracleDAOImpl;
    5) put weblogic.jar in the classpath;
    6) used Java's dbping utility to check connection to the database via the Oracle
    driver (works fine--no network adapter error or anything related).
    I then rebuilt the ear files (build is successful), but when deploying get the
    following error:
    "Cannot deploy EJB AccountEJB from customerEjb.jar. Cannot find datasource for
    JNDI datasource-petstorePool" and says to make sure the JNDI name and deployment
    descriptors are correct (I checked the customer component's deployment descriptors
    against the tx datasources' JNDI and they match).
    What step(s) am I missing? Any suggestions on what else I need to modify would
    be very much appreciated.
    Thanks,
    Beverly Claire

    Beverly:
    If you have 8.1, then you should be able to simply and easily create a
    connection pool to petstore via the console.
    The current error you encountering: "petstorePool does not exist" is
    because either:
    petstorePool is not defined or there was a failure when the pool was first
    created trying to connect to the DBMS.
    The full errror should be in the log file prior to the TXDatasource error.
    Cheers
    mbg
    "Beverly Claire" <[email protected]> wrote in message
    news:[email protected]...
    >
    Hello Rob,
    Thanks for your reply. Yes, the tx datasource's JNDI name isdatasource-petstorePool.
    The server log says that "petstorePool does not exist".
    My conn pool contents:
    Name: petstorePool
    URL: jdbc:oracle:thin:@<replaced with db address>:<replaced with dbport>:<replaced
    with db SID>
    Driver Class Name: oracle.jdbc.driver.OracleDriver
    Properties: user=<replaced with username*>
    password=<replaced with password*>
    *same username and password used to set up the Petstore tables in Oracledb.
    >
    My tx datasource contents:
    Name: PetstoreDataSource
    JNDI: datasource-petstorePool
    Pool Name: petstorePool
    No, actually we're not evaluating in the sense of just-trying-things-out.One
    of our clients is considering an application server. They're relying on usfor
    help in choosing which would be best. As of now, we are comparing BEA WLServer
    7 and 8.1, Sun ONE Application Server 7 EE, Oracle 9i Application Server,and
    Fujitsu Interstage v5 Application Server. For cluster testing andperformance
    comparison purposes, we'd like to use the same J2EE Application across allservers,
    and the obvious choice is Petstore 1.3. One aim is to smoothly connect toan Oracle
    database. The other app servers provide setup scripts and databaseschemas for
    Petstore-with-Oracle, so db conn and deployment are not a problem at all.As for
    WL, we've been trying to get Petstore (both the version downloaded fromSun's
    Java Blueprints and the version that shipped with WL 7) to work withOracle, but
    no luck so far. It's getting a bit frustrating, given the ease with whichthings
    worked out with the other app servers.
    Yes, I've tried out Avitek MedRec for WL 8.1, and this time BEA has kindlymade
    provisions for Oracle db, so connection to Oracle is not a problem. I'mhoping
    BEA will come around to doing the same thing for Petstore, although I'mguessing
    that won't be in the near future.
    Any other suggestions would be much appreciated.
    Thanks,
    Bevery Claire

  • Database selection with invalid cursor !

    hi experts,
        When  execute SAP BW processchar, it occur some system error: (sm21)
    Database selection with invalid cursor
    The database interface was called by a cursor (in a FETCH or CLOSE
    cursor operation) that is not flagged as opened. This can occur if a
    COMMIT or ROLLBACK was executed within a SELECT loop (which closes all
    opened cursors), followed by another attempt to access the cursor (for
    example, the next time the loop is executed).
    this error occur when apply bw support package 19.
    sap notes 1118584 Solution is: Import Support Package 17 . but my support package is 19.
    how can i solve this error?
    thanks,
    xwu.

    I am only assuming things, but it might be worth to look closely if you were experiencing an ORA- error during the execution. This could have caused a rollback and thus closed the cursor. Please check the job log, the workprocess trace (dev_wX file) and the system log SM21 and ST22 as well.
    Besides that check the oracle alertlog and the usertrace destination.
    Best regards, Michael

  • Load data error: Database selection with invalid cursor (sm21)

    hi experts,
    when I execute processchar, it occur some system error:
    "Database selection with invalid cursor ",
    "Documentation for system log message BY 7 :
    The database interface was called by a cursor (in a FETCH or CLOSE
    cursor operation) that is not flagged as opened. This can occur if a
    COMMIT or ROLLBACK was executed within a SELECT loop (which closes all
    opened cursors), followed by another attempt to access the cursor (for
    example, the next time the loop is executed). "
    the error msg occur when apply bw support package19.
    data from DSO to CUBE, Transferred Recodes is not zero, but Added Recodes is zero.
    Request status always yellow, process is running.
    current sys info: BI7 and BW19, BASIS17,PI_BASIS17, the database is oracle10g R2.
    thanks for your help.

    I have solved this issue, The Oracle checkpoint not complete.
    thanks,
    xwu.

  • Processchar occur error:  Database selection with invalid cursor (sm21)

    hi,
       when I execute processchar, it occur some system error:
    "Database selection with invalid cursor ",
    "Documentation for system log message BY 7 :
    The database interface was called by a cursor (in a FETCH or CLOSE
    cursor operation) that is not flagged as opened. This can occur if a
    COMMIT or ROLLBACK was executed within a SELECT loop (which closes all
    opened cursors), followed by another attempt to access the cursor (for
    example, the next time the loop is executed). "
    the error msg occur when apply bw support package19.
    data from DSO to CUBE, Transferred Recodes is not zero, but Added Recodes is zero.
    Request status always yellow, process is running.
    current sys info: BI7 and BW19, BASIS17,PI_BASIS17, the database is oracle10g R2.
    thanks for your help.

    I have solved this issue , The Oracle checkpoint is not complete.
    thanks,
    xwu.

  • Error while installing CRM 4.0 SR1 with Oracle 10.2 on Windows 2000 Server

    Hi.. I'm getting error messages in the Database Instance phase, while installing <b>CRM 4.0 SR1 with Oracle 10.2</b> on Windows 2000 Server. Following are message snippets with last few lines showing error message:
    <b>SAPSSEXC.log</b>
    [code](DB) INFO: REPOSRC~0 created
    (DB) INFO: REPOTEXT created
    DbSl Trace: ORA-4031 occured when executing SQL statement (parse error offset = 0)
    (IMP) ERROR: DbSlExeModify/DbSlLobPutPiece failed
      rc = 99, table "REPOTEXT"
      (SQL error 4031)
      error message returned by DbSl:
    ORA-04031: unable to allocate 84 bytes of shared memory ("shared pool","select name,intcol#,segcol#,...","Typecheck","opndef:qkexrAddMatching1")
    (DB) INFO: disconnected from DB
    C:\usr\sap\CRM\SYS\exe\run/R3load.exe: job finished with 1 error(s)
    C:\usr\sap\CRM\SYS\exe\run/R3load.exe: END OF LOG: 20121102144208
    [/code]
    <b>SAPAPPL2.log</b>
    [code](DB) INFO: SMOT413~0 created
    (DB) INFO: SMOT413~R04 created
    DbSl Trace: ORA-604 occured when executing SQL statement (parse error offset = 31)
    (DB) ERROR: DDL statement failed
    (CREATE  INDEX "SMOT413~R05" ON "SMOT413" ( "MANDT" , "ERSKZ"  ) TABLESPACE PSAPCRM STORAGE (INITIAL 16384 NEXT 0000000040K MINEXTENTS 0000000001 MAXEXTENTS 2147483645 PCTINCREASE 0 ) )
    DbSlExecute: rc = 99
      (SQL error 604)
      error message returned by DbSl:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-04031: unable to allocate 4108 bytes of shared memory ("shared pool","select owner#,name,namespace...","Typecheck","seg:kggfaAllocSeg")
    (DB) INFO: disconnected from DB
    C:\usr\sap\CRM\SYS\exe\run/R3load.exe: job finished with 1 error(s)
    C:\usr\sap\CRM\SYS\exe\run/R3load.exe: END OF LOG: 20121102144207
    [/code]
    <b>SAPSLEXC.log</b>
    [code]DbSl Trace: ORA-1403 when accessing table SAPUSER
    (DB) INFO: connected to DB
    (DB) INFO: DbSlControl(DBSL_CMD_NLS_CHARACTERSET_GET): WE8DEC
    (DB) INFO: CO2MAP created
    (IMP) INFO: import of CO2MAP completed (0 rows)
    (DB) INFO: CO2MAP~0 created
    (DB) INFO: CO2MAP~IDX created
    DbSl Trace: ORA-604 occured when executing SQL statement (parse error offset = 0)
    (DB) ERROR: DDL statement failed
    (CREATE TABLE "CO2MAPINF" ( "SRCID" VARCHAR2(30) DEFAULT ' ' NOT NULL , "METHID" VARCHAR2(1) DEFAULT ' ' NOT NULL , "APPLNAME" VARCHAR2(30) DEFAULT ' ' NOT NULL , "PAGEKEY" VARCHAR2(70) DEFAULT ' ' NOT NULL , "ID" NUMBER(10) DEFAULT 0 NOT NULL , "LANGUAGE" VARCHAR2(1) DEFAULT ' ' NOT NULL , "NAMESPACE" VARCHAR2(30) DEFAULT ' ' NOT NULL  ) TABLESPACE PSAPCRM620 STORAGE (INITIAL 16384 NEXT 0000000640K MINEXTENTS 0000000001 MAXEXTENTS 2147483645 PCTINCREASE 0 ) )
    DbSlExecute: rc = 99
      (SQL error 604)
      error message returned by DbSl:
    ORA-00604: error occurred at recursive SQL level 2
    ORA-04031: unable to allocate 84 bytes of shared memory ("shared pool","select ts#,file#,block#,nvl(...","Typecheck","opndef:qkexrAddMatching1")
    (DB) INFO: disconnected from DB
    C:\usr\sap\CRM\SYS\exe\run/R3load.exe: job finished with 1 error(s)
    C:\usr\sap\CRM\SYS\exe\run/R3load.exe: END OF LOG: 20121102144742
    [/code]
    <b>SAPSDIC.log</b>
    [code](DB) INFO: TNMAP~0 created
    (DB) INFO: TODIR created
    DbSl Trace: ORA-604 occured when executing SQL statement (parse error offset = 0)
    (IMP) ERROR: DbSlExeModify/DbSlLobPutPiece failed
      rc = 99, table "TODIR"
      (SQL error 604)
      error message returned by DbSl:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-04031: unable to allocate 4108 bytes of shared memory ("shared pool","update seg$ set type#=:4,blo...","Typecheck","seg:kggfaAllocSeg")
    (DB) INFO: disconnected from DB
    C:\usr\sap\CRM\SYS\exe\run/R3load.exe: job finished with 1 error(s)
    C:\usr\sap\CRM\SYS\exe\run/R3load.exe: END OF LOG: 20121102144811
    [/code]
    <b>SAPSDOCU.log</b>
    [code](DB) INFO: TLSY3~0 created
    (DB) INFO: TLSY5 created
    (IMP) INFO: import of TLSY5 completed (3 rows)
    DbSl Trace: ORA-604 occured when executing SQL statement (parse error offset = 33)
    (DB) ERROR: DDL statement failed
    (CREATE UNIQUE INDEX "TLSY5~0" ON "TLSY5" ( "LANGU", "REL", "OLD_REL", "IMP_DATE" ) TABLESPACE PSAPCRM STORAGE (INITIAL 16384 NEXT 0000000080K MINEXTENTS 0000000001 MAXEXTENTS 2147483645 PCTINCREASE 0 ) )
    DbSlExecute: rc = 99
      (SQL error 604)
      error message returned by DbSl:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-04031: unable to allocate 4108 bytes of shared memory ("shared pool","update seg$ set type#=:4,blo...","Typecheck","seg:kggfaAllocSeg")
    (DB) INFO: disconnected from DB
    C:\usr\sap\CRM\SYS\exe\run/R3load.exe: job finished with 1 error(s)
    C:\usr\sap\CRM\SYS\exe\run/R3load.exe: END OF LOG: 20121102144811
    [/code]
    I am not sure but I think the problem is with the allocated shared memory size, which right now is:
    <b>init.ora</b>
    [code]shared_pool_size = 67108864[/code]
    <b>init<SID>.ora</b>
    [code]shared_pool_size = 90112000
    shared_pool_reserved_size = 9011200
    [/code]
    If this is the cause of the problem then how much should i increase it to? and do i need to modify the size in both files or only init<SID>.ora? Is there any SAP Note related to this problem? Thanks.
    Regards,

    Hi Vasu,
    ORA-4031... for 99%  of cases this means one thing:
    the database instance is not configured correctly.
    To proceed, do the following:
    1. get rid of init.ora (it's not used at all)
    2. make sure that the init<sid>.ora file is really used.
       If there is a spfile in the %ORACLE_HOME&/database folder
       then this will be used.
    3. With your  configured shared pool of 85MB your memory should really not be filled up - anyhow it's really too small for a SAP system!
    Thus I'd check how much memory the other sga-area members (buffer cache, large pool, streams pool, java pool...) take up.
        Remember on Windows 32 Bit, everything runs in one single process that can only allocate 2GB (or 3GB if you've set this option).
    See note:
    <a href="https://websmp102.sap-ag.de/~form/handler?_APP=01100107900000000342&_EVENT=REDIR&_NNUM=869006&_NLANG=E">#869006 - Composite SAP note: ORA-04031</a>
    for more on this.
    And when you're setting up parameters anyway, check note
    <a href="https://websmp102.sap-ag.de/~form/handler?_APP=01100107900000000342&_EVENT=REDIR&_NNUM=830576&_NLANG=E">#830576 - Parameter recommendations for Oracle 10g</a>
    KR Lars

  • Pre-loading Oracle text in memory with Oracle 12c

    There is a white paper from Roger Ford that explains how to load the Oracle index in memory : http://www.oracle.com/technetwork/database/enterprise-edition/mem-load-082296.html
    In our application, Oracle 12c, we are indexing a big XML field (which is stored as XMLType with storage secure file) with the PATH_SECTION_GROUP. If I don't load the I table (DR$..$I) into memory using the technique explained in the white paper then I cannot have decent performance (and especially not predictable performance, it looks like if the blocks from the TOKEN_INFO columns are not memory then performance can fall sharply)
    But after migrating to oracle 12c, I got a different problem, which I can reproduce: when I create the index it is relatively small (as seen with ctx_report.index_size) and by applying the technique from the whitepaper, I can pin the DR$ I table into memory. But as soon as I do a ctx_ddl.optimize_index('Index','REBUILD') the size becomes much bigger and I can't pin the index in memory. Not sure if it is bug or not.
    What I found as work-around is to build the index with the following storage options:
    ctx_ddl.create_preference('TEST_STO','BASIC_STORAGE');
    ctx_ddl.set_attribute ('TEST_STO', 'BIG_IO', 'YES' );
    ctx_ddl.set_attribute ('TEST_STO', 'SEPARATE_OFFSETS', 'NO' );
    so that the token_info column will be stored in a secure file. Then I can change the storage of that column to put it in the keep buffer cache, and write a procedure to read the LOB so that it will be loaded in the keep cache. The size of the LOB column is more or less the same as when creating the index without the BIG_IO option but it remains constant even after a ctx_dll.optimize_index. The procedure to read the LOB and to load it into the cache is very similar to the loaddollarR procedure from the white paper.
    Because of the SDATA section, there is a new DR table (S table) and an IOT on top of it. This is not documented in the white paper (the white paper was written for Oracle 10g). In my case this DR$ S table is much used, and the IOT also, but putting it in the keep cache is not as important as the token_info column of the DR I table. A final note: doing SEPARATE_OFFSETS = 'YES' was very bad in my case, the combined size of the two columns is much bigger than having only the TOKEN_INFO column and both columns are read.
    Here is an example on how to reproduce the problem with the size increasing when doing ctx_optimize
    1. create the table
    drop table test;
    CREATE TABLE test
    (ID NUMBER(9,0) NOT NULL ENABLE,
    XML_DATA XMLTYPE
    XMLTYPE COLUMN XML_DATA STORE AS SECUREFILE BINARY XML (tablespace users disable storage in row);
    2. insert a few records
    insert into test values(1,'<Book><TITLE>Tale of Two Cities</TITLE>It was the best of times.<Author NAME="Charles Dickens"> Born in England in the town, Stratford_Upon_Avon </Author></Book>');
    insert into test values(2,'<BOOK><TITLE>The House of Mirth</TITLE>Written in 1905<Author NAME="Edith Wharton"> Wharton was born to George Frederic Jones and Lucretia Stevens Rhinelander in New York City.</Author></BOOK>');
    insert into test values(3,'<BOOK><TITLE>Age of innocence</TITLE>She got a prize for it.<Author NAME="Edith Wharton"> Wharton was born to George Frederic Jones and Lucretia Stevens Rhinelander in New York City.</Author></BOOK>');
    3. create the text index
    drop index i_test;
      exec ctx_ddl.create_section_group('TEST_SGP','PATH_SECTION_GROUP');
    begin
      CTX_DDL.ADD_SDATA_SECTION(group_name => 'TEST_SGP', 
                                section_name => 'SData_02',
                                tag => 'SData_02',
                                datatype => 'varchar2');
    end;
    exec ctx_ddl.create_preference('TEST_STO','BASIC_STORAGE');
    exec  ctx_ddl.set_attribute('TEST_STO','I_TABLE_CLAUSE','tablespace USERS storage (initial 64K)');
    exec  ctx_ddl.set_attribute('TEST_STO','I_INDEX_CLAUSE','tablespace USERS storage (initial 64K) compress 2');
    exec  ctx_ddl.set_attribute ('TEST_STO', 'BIG_IO', 'NO' );
    exec  ctx_ddl.set_attribute ('TEST_STO', 'SEPARATE_OFFSETS', 'NO' );
    create index I_TEST
      on TEST (XML_DATA)
      indextype is ctxsys.context
      parameters('
        section group   "TEST_SGP"
        storage         "TEST_STO"
      ') parallel 2;
    4. check the index size
    select ctx_report.index_size('I_TEST') from dual;
    it says :
    TOTALS FOR INDEX TEST.I_TEST
    TOTAL BLOCKS ALLOCATED:                                                104
    TOTAL BLOCKS USED:                                                      72
    TOTAL BYTES ALLOCATED:                                 851,968 (832.00 KB)
    TOTAL BYTES USED:                                      589,824 (576.00 KB)
    4. optimize the index
    exec ctx_ddl.optimize_index('I_TEST','REBUILD');
    and now recompute the size, it says
    TOTALS FOR INDEX TEST.I_TEST
    TOTAL BLOCKS ALLOCATED:                                               1112
    TOTAL BLOCKS USED:                                                    1080
    TOTAL BYTES ALLOCATED:                                 9,109,504 (8.69 MB)
    TOTAL BYTES USED:                                      8,847,360 (8.44 MB)
    which shows that it went from 576KB to 8.44MB. With a big index the difference is not so big, but still from 14G to 19G.
    5. Workaround: use the BIG_IO option, so that the token_info column of the DR$ I table will be stored in a secure file and the size will stay relatively small. Then you can load this column in the cache using a procedure similar to
    alter table DR$I_TEST$I storage (buffer_pool keep);
    alter table dr$i_test$i modify lob(token_info) (cache storage (buffer_pool keep));
    rem: now we must read the lob so that it will be loaded in the keep buffer pool, use the prccedure below
    create or replace procedure loadTokenInfo is
      type c_type is ref cursor;
      c2 c_type;
      s varchar2(2000);
      b blob;
      buff varchar2(100);
      siz number;
      off number;
      cntr number;
    begin
        s := 'select token_info from  DR$i_test$I';
        open c2 for s;
        loop
           fetch c2 into b;
           exit when c2%notfound;
           siz := 10;
           off := 1;
           cntr := 0;
           if dbms_lob.getlength(b) > 0 then
             begin
               loop
                 dbms_lob.read(b, siz, off, buff);
                 cntr := cntr + 1;
                 off := off + 4096;
               end loop;
             exception when no_data_found then
               if cntr > 0 then
                 dbms_output.put_line('4K chunks fetched: '||cntr);
               end if;
             end;
           end if;
        end loop;
    end;
    Rgds, Pierre

    I have been working a lot on that issue recently, I can give some more info.
    First I totally agree with you, I don't like to use the keep_pool and I would love to avoid it. On the other hand, we have a specific use case : 90% of the activity in the DB is done by queuing and dbms_scheduler jobs where response time does not matter. All those processes are probably filling the buffer cache. We have a customer facing application that uses the text index to search the database : performance is critical for them.
    What kind of performance do you have with your application ?
    In my case, I have learned the hard way that having the index in memory (the DR$I table in fact) is the key : if it is not, then performance is poor. I find it reasonable to pin the DR$I table in memory and if you look at competitors this is what they do. With MongoDB they explicitly says that the index must be in memory. With elasticsearch, they use JVM's that are also in memory. And effectively, if you look at the awr report, you will see that Oracle is continuously accessing the DR$I table, there is a SQL similar to
    SELECT /*+ DYNAMIC_SAMPLING(0) INDEX(i) */    
    TOKEN_FIRST, TOKEN_LAST, TOKEN_COUNT, ROWID    
    FROM DR$idxname$I
    WHERE TOKEN_TEXT = :word AND TOKEN_TYPE = :wtype    
    ORDER BY TOKEN_TEXT,  TOKEN_TYPE,  TOKEN_FIRST
    which is continuously done.
    I think that the algorithm used by Oracle to keep blocks in cache is too complex. A just realized that in 12.1.0.2 (was released last week) there is finally a "killer" functionality, the in-memory parameters, with which you can pin tables or columns in memory with compression, etc. this looks ideal for the text index, I hope that R. Ford will finally update his white paper :-)
    But my other problem was that the optimize_index in REBUILD mode caused the DR$I table to double in size : it seems crazy that this was closed as not a bug but it was and I can't do anything about it. It is a bug in my opinion, because the create index command and "alter index rebuild" command both result in a much smaller index, so why would the guys that developped the optimize function (is it another team, using another algorithm ?) make the index two times bigger ?
    And for that the track I have been following is to put the index in a 16K tablespace : in this case the space used by the index remains more or less flat (increases but much more reasonably). The difficulty here is to pin the index in memory because the trick of R. Ford was not working anymore.
    What worked:
    first set the keep_pool to zero and set the db_16k_cache_size to instead. Then change the storage preference to make sure that everything you want to cache (mostly the DR$I) table come in the tablespace with the non-standard block size of 16k.
    Then comes the tricky part : the pre-loading of the data in the buffer cache. The problem is that with Oracle 12c, Oracle will use direct_path_read for FTS which basically means that it bypasses the cache and read directory from file to the PGA !!! There is an event to avoid that, I was lucky to find it on a blog (I can't remember which, sorry for the credit).
    I ended-up doing that. the events to 10949 is to avoid the direct path reads issue.
    alter session set events '10949 trace name context forever, level 1';
    alter table DR#idxname0001$I cache;
    alter table DR#idxname0002$I cache;
    alter table DR#idxname0003$I cache;
    SELECT /*+ FULL(ITAB) CACHE(ITAB) */ SUM(TOKEN_COUNT),  SUM(LENGTH(TOKEN_INFO)) FROM DR#idxname0001$I;
    SELECT /*+ FULL(ITAB) CACHE(ITAB) */ SUM(TOKEN_COUNT),  SUM(LENGTH(TOKEN_INFO)) FROM DR#idxname0002$I;
    SELECT /*+ FULL(ITAB) CACHE(ITAB) */ SUM(TOKEN_COUNT),  SUM(LENGTH(TOKEN_INFO)) FROM DR#idxname0003$I;
    SELECT /*+ INDEX(ITAB) CACHE(ITAB) */  SUM(LENGTH(TOKEN_TEXT)) FROM DR#idxname0001$I ITAB;
    SELECT /*+ INDEX(ITAB) CACHE(ITAB) */  SUM(LENGTH(TOKEN_TEXT)) FROM DR#idxname0002$I ITAB;
    SELECT /*+ INDEX(ITAB) CACHE(ITAB) */  SUM(LENGTH(TOKEN_TEXT)) FROM DR#idxname0003$I ITAB;
    It worked. With a big relief I expected to take some time out, but there was a last surprise. The command
    exec ctx_ddl.optimize_index(idx_name=>'idxname',part_name=>'partname',optlevel=>'REBUILD');
    gqve the following
    ERROR at line 1:
    ORA-20000: Oracle Text error:
    DRG-50857: oracle error in drftoptrebxch
    ORA-14097: column type or size mismatch in ALTER TABLE EXCHANGE PARTITION
    ORA-06512: at "CTXSYS.DRUE", line 160
    ORA-06512: at "CTXSYS.CTX_DDL", line 1141
    ORA-06512: at line 1
    Which is very much exactly described in a metalink note 1645634.1 but in the case of a non-partitioned index. The work-around given seemed very logical but it did not work in the case of a partitioned index. After experimenting, I found out that the bug occurs when the partitioned index is created with  dbms_pclxutil.build_part_index procedure (this enables  enables intra-partition parallelism in the index creation process). This is a very annoying and stupid bug, maybe there is a work-around, but did not find it on metalink
    Other points of attention with the text index creation (stuff that surprised me at first !) ;
    - if you use the dbms_pclxutil package, then the ctx_output logging does not work, because the index is created immediately and then populated in the background via dbms_jobs.
    - this in combination with the fact that if you are on a RAC, you won't see any activity on the box can be very frightening : this is because oracle can choose to start the workers on the other node.
    I understand much better how the text indexing works, I think it is a great technology which can scale via partitioning. But like always the design of the application is crucial, most of our problems come from the fact that we did not choose the right sectioning (we choosed PATH_SECTION_GROUP while XML_SECTION_GROUP is so much better IMO). Maybe later I can convince the dev to change the sectionining, especially because SDATA and MDATA section are not supported with PATCH_SECTION_GROUP (although it seems to work, even though we had one occurence of a bad result linked to the existence of SDATA in the index definition). Also the whole problematic of mixed structured/unstructured searches is completly tackled if one use XML_SECTION_GROUP with MDATA/SDATA (but of course the app was written for Oracle 10...)
    Regards, Pierre

  • What is the best Path for a J2EE developer with oracle?

    Hi,
    I am a J2EE developer, for the time being I work at a Commercial Bank as an enterprise application developer. I have learnt java when I was following a local IT diploma and with the help of books, works at my working place and the internet , today I am developing J2EE applications with JSP,Servlets,JSF2.0,EJB3.0 and third party JSF libraries etc. (I am also developing softwares using other programing languages such as Asp.net, C#.net, WPF etc, but I prefer to be in the java path). Other than that, I'm also working as the UI designer of most of our applications.
    I have those skills and practice after working for 4 years as a web/enterprise application developer & a UI designer, but now I have to focus on some paper qualifications and hence I am doing BCS.
    Now I want to be a java professional in Oracle's path, and I need to know what is the best path I can select to move with Oracle. I finished my classes of SCJP , but didn't do the exams as there were some rumors that Oracle will dump those exams in the future. I am interested in Oracle university, but I am unable to even think about it as I live in Sri Lanka and don't have that much of financial wealth to go USA and join.
    So I really appreciate if any Oracle professional could suggest me the best educational path according to what I mentioned about my technical and career background. Because I have a dream to join Oracle one day as an employee and being a good contributer to the same forum, which I am getting helps today!
    Thanks!!!

    As you can see on our website, Oracle did not retire the Java certifications. You can browse through the available certifications and hopefully help to determine your path.
    http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=140
    SCJP has now become Oracle Certified Professional Java Programmer. You can find more info on those exams on our website here: http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=320.
    Regarding training, perhaps live virtual training would be an option for you. You can find more information at http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=233.
    Regards,
    Brandye Barrington
    Certification Forum Moderator

  • SAP fresh installation with Oracle 11.2

    Dear all,
    Do you know if it's already possible to install a new SAP system with Oracle 11.2.
    I'm trying to install Solution Manager 7.0 ehp1 with Oracle 11.2.
    The problem is that SAPINST does not give me the possibility to choose oracle version 11.2. Only 10.2 is possible. (I patched SAPINST to the last version)
    If I select 10.2 SAPINST gives an error "The DB Home folder I:\oracle\PSM\112 has not the correct DB Server version 102. Select a different DB Home folder or install the correct database server software."
    Could anyone help me?
    Thanks in advance.
    Best Regards,
    Olivier

    Hello,
    New installations of systems running with Oracle 11.2 are planned to be certified by early Q4 2010.
    For key information on the status of Oracle 11.2 database, read SAP Notes 1398634 and 1434131.
    Thanks & regards,
    Sagar

  • Interesting Application Issue with Oracle 11.1.0.6/7 (Long Post)

    Just curious to see if anyone has seen anything like this - this is not a production issue, just something that I find interesting (a challenge if you will).
    I have been testing Oracle 11.1.0.6 and 11.1.0.7 with an ERP package since January and have encountered an interesting issue where the ERP package throws an error "ORA-02005: implicit (-1)
    length not valid for this bind or define datatype" error, when selecting the BLOB column from any table containing a BLOB - this same ERP package executes without problem with Oracle
    10.2.0.2/10.2.0.3/10.2.0.4. The table definition is as follows:
    PART_ID     NOT NULL VARCHAR2(30)
    TYPE        NOT NULL CHAR(1)
    BITS        BLOB
    BITS_LENGTH NOT NULL NUMBER(38)The previous version of the ERP package had the same table defined as follows, and the previous version of the ERP package had no problem with Oracle 11.1.0.6:
    PART_ID     NOT NULL VARCHAR2(30)
    TYPE        NOT NULL CHAR(1)
    BITS        LONG RAW
    BITS_LENGTH NOT NULL NUMBER(38)One of the SQL statements which is tossing the error:
    SELECT BITS FROM PART_MFG_BINARY  where TYPE = :1       and PART_ID = :2
    A portion of a 10046 trace from Oracle 10.2.0.2 for comparison:
    =====================
    PARSING IN CURSOR #2 len=87 dep=0 uid=30 oct=3 lid=30 tim=749963475 hv=1159951869 ad='53a45ac8'
    select mfg_name, mfg_part_id from part where id = :1                                  
    END OF STMT
    PARSE #2:c=0,e=1427,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,tim=749963466
    BINDS #2:
    kkscoacd
    Bind#0
      oacdty=96 mxl=32(09) mxlc=00 mal=00 scl=00 pre=00
      oacflg=01 fl2=1000000 frm=01 csi=178 siz=32 off=0
      kxsbbbfp=380b9b68  bln=32  avl=09  flg=05
      value="98567109M"
    EXEC #2:c=0,e=3357,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,tim=749971833
    FETCH #2:c=0,e=52,p=0,cr=3,cu=0,mis=0,r=1,dep=0,og=1,tim=749971968
    FETCH #2:c=0,e=2,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=0,tim=749973655
    =====================
    PARSING IN CURSOR #3 len=59 dep=0 uid=30 oct=3 lid=30 tim=749983314 hv=2907586799 ad='5457f690'
    select part_udf_labels from APPLICATION_GLOBAL            
    END OF STMT
    PARSE #3:c=0,e=3389,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,tim=749983305
    BINDS #3:
    EXEC #3:c=0,e=152,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=749986393
    FETCH #3:c=0,e=124,p=0,cr=7,cu=0,mis=0,r=1,dep=0,og=1,tim=749988214
    STAT #3 id=1 cnt=1 pid=0 pos=1 obj=11925 op='TABLE ACCESS FULL APPLICATION_GLOBAL (cr=7 pr=0 pw=0 time=104 us)'
    =====================
    PARSING IN CURSOR #3 len=59 dep=0 uid=30 oct=3 lid=30 tim=749992936 hv=2907586799 ad='5457f690'
    select part_udf_labels from APPLICATION_GLOBAL            
    END OF STMT
    PARSE #3:c=0,e=117,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=749992932
    BINDS #3:
    EXEC #3:c=0,e=83,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=749996097
    FETCH #3:c=0,e=116,p=0,cr=7,cu=0,mis=0,r=1,dep=0,og=1,tim=749997800
    STAT #2 id=1 cnt=1 pid=0 pos=1 obj=12429 op='TABLE ACCESS BY INDEX ROWID PART (cr=3 pr=0 pw=0 time=48 us)'
    STAT #2 id=2 cnt=1 pid=1 pos=1 obj=12436 op='INDEX UNIQUE SCAN SYS_C005496 (cr=2 pr=0 pw=0 time=28 us)'
    =====================
    PARSING IN CURSOR #2 len=99 dep=0 uid=30 oct=3 lid=30 tim=750003263 hv=1519706035 ad='7e235fc0'
    SELECT BITS FROM PART_MFG_BINARY  where TYPE = :1       and PART_ID = :2                          
    END OF STMT
    PARSE #2:c=0,e=1100,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,tim=750003255
    BINDS #2:
    kkscoacd
    Bind#0
      oacdty=96 mxl=32(01) mxlc=00 mal=00 scl=00 pre=00
      oacflg=01 fl2=1000000 frm=01 csi=178 siz=64 off=0
      kxsbbbfp=380bdcd8  bln=32  avl=01  flg=05
      value="D"
    Bind#1
      oacdty=96 mxl=32(09) mxlc=00 mal=00 scl=00 pre=00
      oacflg=01 fl2=1000000 frm=01 csi=178 siz=0 off=32
      kxsbbbfp=380bdcf8  bln=32  avl=09  flg=01
      value="98567109M"
    EXEC #2:c=0,e=2512,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,tim=750022595
    FETCH #2:c=0,e=33,p=0,cr=1,cu=0,mis=0,r=0,dep=0,og=1,tim=750024142
    STAT #2 id=1 cnt=0 pid=0 pos=1 obj=101246 op='TABLE ACCESS BY INDEX ROWID PART_MFG_BINARY (cr=1 pr=0 pw=0 time=30 us)'
    STAT #2 id=2 cnt=0 pid=1 pos=1 obj=101249 op='INDEX UNIQUE SCAN SYS_C0018720 (cr=1 pr=0 pw=0 time=21 us)'
    =====================
    A portion of a 10046 trace from Oracle 11.1.0.6:
    =====================
    PARSING IN CURSOR #3 len=87 dep=0 uid=59 oct=3 lid=59 tim=1023659125907 hv=1159951869 ad='22a109c8' sqlid='7k8rzcj2k6xgx'
    select mfg_name, mfg_part_id from part where id = :1                                  
    END OF STMT
    PARSE #3:c=0,e=432,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,tim=1023659125903
    BINDS #3:
    Bind#0
      oacdty=96 mxl=32(09) mxlc=00 mal=00 scl=00 pre=00
      oacflg=01 fl2=1000000 frm=01 csi=178 siz=32 off=0
      kxsbbbfp=0c6e0fd4  bln=32  avl=09  flg=05
      value="98567109M"
    EXEC #3:c=0,e=1068,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,tim=1023659130848
    FETCH #3:c=0,e=37,p=0,cr=3,cu=0,mis=0,r=1,dep=0,og=1,tim=1023659132062
    STAT #3 id=1 cnt=1 pid=0 pos=1 obj=67567 op='TABLE ACCESS BY INDEX ROWID PART (cr=3 pr=0 pw=0 time=0 us cost=2 size=14 card=1)'
    STAT #3 id=2 cnt=1 pid=1 pos=1 obj=69248 op='INDEX UNIQUE SCAN SYS_C0011926 (cr=2 pr=0 pw=0 time=0 us cost=1 size=0 card=1)'
    =====================
    PARSING IN CURSOR #6 len=59 dep=0 uid=59 oct=3 lid=59 tim=1023659138710 hv=2907586799 ad='22a44ae8' sqlid='3n102kqqnwh7g'
    select part_udf_labels from APPLICATION_GLOBAL            
    END OF STMT
    PARSE #6:c=0,e=701,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,tim=1023659138706
    BINDS #6:
    EXEC #6:c=0,e=51,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=1023659142030
    FETCH #6:c=0,e=55,p=0,cr=3,cu=0,mis=0,r=1,dep=0,og=1,tim=1023659143936
    STAT #6 id=1 cnt=1 pid=0 pos=1 obj=67410 op='TABLE ACCESS FULL APPLICATION_GLOBAL (cr=3 pr=0 pw=0 time=0 us cost=3 size=146 card=1)'
    =====================
    PARSING IN CURSOR #6 len=59 dep=0 uid=59 oct=3 lid=59 tim=1023659148354 hv=2907586799 ad='22a44ae8' sqlid='3n102kqqnwh7g'
    select part_udf_labels from APPLICATION_GLOBAL            
    END OF STMT
    PARSE #6:c=0,e=40,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=1023659148351
    BINDS #6:
    EXEC #6:c=0,e=89,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=1023659151927
    FETCH #6:c=0,e=46,p=0,cr=3,cu=0,mis=0,r=1,dep=0,og=1,tim=1023659153664
    STAT #6 id=1 cnt=1 pid=0 pos=1 obj=67410 op='TABLE ACCESS FULL APPLICATION_GLOBAL (cr=3 pr=0 pw=0 time=0 us cost=3 size=146 card=1)'
    =====================
    PARSING IN CURSOR #3 len=99 dep=0 uid=59 oct=3 lid=59 tim=1023659158452 hv=1519706035 ad='22a10580' sqlid='gm6bkj9d99rxm'
    SELECT BITS FROM PART_MFG_BINARY  where TYPE = :1       and PART_ID = :2                          
    END OF STMT
    PARSE #3:c=0,e=399,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,tim=1023659158448
    XCTEND rlbk=1, rd_only=1In the above, notice the rollback (XCTEND rlbk=1, rd_only=1) before Oracle would have output the bind variable values in the trace file (bind variable values were never written).
    (Continued...)
    Charles Hooper
    IT Manager/Oracle DBA
    K&M Machine-Fabricating, Inc.

    SQLNet Trace at level 16, 10.2.0.1 client -> 10.2.0.2 server, no problems
    nioqrc: entry
    nsdo: entry
    nsdo: cid=0, opcode=84, *bl=0, *what=1, uflgs=0x20, cflgs=0x3
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: rank=64, nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: nsctx: state=8, flg=0x400d, mvd=0
    nsdo: gtn=127, gtc=127, ptn=10, ptc=2011
    nsdofls: entry
    nsdofls: DATA flags: 0x0
    nsdofls: sending NSPTDA packet
    nspsend: entry
    nspsend: plen=276, type=6
    nttwr: entry
    nttwr: socket 340 had bytes written=276
    nttwr: exit
    nspsend: packet dump
    nspsend: 01 14 00 00 06 00 00 00  |........|
    nspsend: 00 00 03 5E 85 09 80 02  |...^....|
    nspsend: 00 02 00 00 00 01 63 00  |......c.|
    nspsend: 00 00 01 0D 00 00 00 00  |........|
    nspsend: 01 00 00 00 00 01 00 00  |........|
    nspsend: 00 00 00 00 00 01 02 00  |........|
    nspsend: 00 00 00 00 00 00 01 01  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 01 63 53 45 4C 45 43  |..cSELEC|
    nspsend: 54 20 42 49 54 53 20 46  |T.BITS.F|
    nspsend: 52 4F 4D 20 50 41 52 54  |ROM.PART|
    nspsend: 5F 4D 46 47 5F 42 49 4E  |_MFG_BIN|
    nspsend: 41 52 59 20 20 77 68 65  |ARY..whe|
    nspsend: 72 65 20 54 59 50 45 20  |re.TYPE.|
    nspsend: 3D 20 3A 31 20 20 20 20  |=.:1....|
    nspsend: 20 20 20 61 6E 64 20 50  |...and.P|
    nspsend: 41 52 54 5F 49 44 20 3D  |ART_ID.=|
    nspsend: 20 3A 32 20 20 20 20 20  |.:2.....|
    nspsend: 20 20 20 20 20 20 20 20  |........|
    nspsend: 20 20 20 20 20 20 20 20  |........|
    nspsend: 20 20 20 20 20 20 01 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 01 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 01 80 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 00 01  |........|
    nspsend: 80 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00              |....    |
    nspsend: 276 bytes to transport
    nspsend: normal exit
    nsdofls: exit (0)
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: normal exit
    nsdo: entry
    nsdo: cid=0, opcode=85, *bl=0, *what=0, uflgs=0x0, cflgs=0x3
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: rank=64, nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: nsctx: state=8, flg=0x400d, mvd=0
    nsdo: gtn=127, gtc=127, ptn=10, ptc=2011
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: switching to application buffer
    nsrdr: entry
    nsrdr: recving a packet
    nsprecv: entry
    nsprecv: reading from transport...
    nttrd: entry
    nttrd: socket 340 had bytes read=223
    nttrd: exit
    nsprecv: 223 bytes from transport
    nsprecv: tlen=223, plen=223, type=6
    nsprecv: packet dump
    nsprecv: 00 DF 00 00 06 00 00 00  |........|
    nsprecv: 00 00 10 17 34 44 80 BB  |....4D..|
    nsprecv: 49 5F 2C 75 8A 72 99 F9  |I_,u.r..|
    nsprecv: B3 DF 94 5A 78 6C 0B 18  |...Zxl..|
    nsprecv: 08 30 12 00 00 00 00 01  |.0......|
    nsprecv: 00 00 00 4D 71 00 00 00  |...Mq...|
    nsprecv: A0 0F 00 00 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 00 01 04 04 00 00 00 04  |........|
    nsprecv: 42 49 54 53 00 00 00 00  |BITS....|
    nsprecv: 00 00 00 00 00 00 07 00  |........|
    nsprecv: 00 00 07 78 6C 0B 18 0C  |...xl...|
    nsprecv: 17 2C 01 00 00 00 E8 1F  |.,......|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 00 00 08 06 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 02 00 00  |........|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 04 01 00  |........|
    nsprecv: 00 00 83 01 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 00 02 00  |........|
    nsprecv: 11 00 03 00 00 00 00 00  |........|
    nsprecv: C3 88 01 00 04 00 00 0D  |........|
    nsprecv: EA 0A 00 0E 00 00 00 00  |........|
    nsprecv: 00 00 85 00 00 01 00 00  |........|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 00 00     |....... |
    nsprecv: normal exit
    nsrdr: got NSPTDA packet
    nsrdr: NSPTDA flags: 0x0
    nsrdr: normal exit
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: *what=1, *bl=2001
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: normal exit
    nioqrc: exit
    nioqsn: entry
    nioqsn: exit
    nioqrc: entry
    nsdo: entry
    nsdo: cid=0, opcode=84, *bl=0, *what=1, uflgs=0x20, cflgs=0x3
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: rank=64, nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: nsctx: state=8, flg=0x400d, mvd=0
    nsdo: gtn=127, gtc=127, ptn=10, ptc=2011
    nsdofls: entry
    nsdofls: DATA flags: 0x0
    nsdofls: sending NSPTDA packet
    nspsend: entry
    nspsend: plen=218, type=6
    nttwr: entry
    nttwr: socket 340 had bytes written=218
    nttwr: exit
    nspsend: packet dump
    nspsend: 00 DA 00 00 06 00 00 00  |........|
    nspsend: 00 00 03 5E 86 78 80 00  |...^.x..|
    nspsend: 00 02 00 00 00 00 00 00  |........|
    nspsend: 00 00 01 0D 00 00 00 00  |........|
    nspsend: 01 00 00 00 00 01 00 00  |........|
    nspsend: 00 14 00 00 00 01 02 00  |........|
    nspsend: 00 00 00 00 00 00 01 01  |........|
    nspsend: 01 00 00 00 00 00 00 00  |........|
    nspsend: 00 01 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 01 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 60 01  |......`.|
    nspsend: 00 00 01 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 B2 00 01 00  |........|
    nspsend: 00 00 00 60 01 00 00 09  |...`....|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 B2 00 01 00 00 00 00  |........|
    nspsend: 71 05 00 00 14 00 00 00  |q.......|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 07 01 44  |.......D|
    nspsend: 09 30 39 35 34 37 30 30  |.9856710|
    nspsend: 39 4D                    |9M      |
    nspsend: 218 bytes to transport
    nspsend: normal exit
    nsdofls: exit (0)
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: normal exit
    nsdo: entry
    nsdo: cid=0, opcode=85, *bl=0, *what=0, uflgs=0x0, cflgs=0x3
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: rank=64, nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: nsctx: state=8, flg=0x400d, mvd=0
    nsdo: gtn=127, gtc=127, ptn=10, ptc=2011
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: switching to application buffer
    nsrdr: entry
    nsrdr: recving a packet
    nsprecv: entry
    nsprecv: reading from transport...
    nttrd: entry
    nttrd: socket 340 had bytes read=223
    nttrd: exit
    nsprecv: 223 bytes from transport
    nsprecv: tlen=223, plen=223, type=6
    nsprecv: packet dump
    nsprecv: 00 DF 00 00 06 00 00 00  |........|
    nsprecv: 00 00 10 17 34 44 80 BB  |....4D..|
    nsprecv: 49 5F 2C 75 8A 72 99 F9  |I_,u.r..|
    nsprecv: B3 DF 94 5A 78 6C 0B 18  |...Zxl..|
    nsprecv: 08 30 12 00 00 00 00 01  |.0......|
    nsprecv: 00 00 00 4D 71 00 00 00  |...Mq...|
    nsprecv: A0 0F 00 00 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 00 01 04 04 00 00 00 04  |........|
    nsprecv: 42 49 54 53 00 00 00 00  |BITS....|
    nsprecv: 00 00 00 00 00 00 07 00  |........|
    nsprecv: 00 00 07 78 6C 0B 18 0C  |...xl...|
    nsprecv: 17 2C 01 00 00 00 E8 1F  |.,......|
    nsprecv: 00 00 02 00 00 00 02 00  |........|
    nsprecv: 00 00 08 06 00 B5 D0 3D  |.......=|
    nsprecv: 47 00 00 00 00 02 00 00  |G.......|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 04 01 00  |........|
    nsprecv: 00 00 84 01 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 00 02 00  |........|
    nsprecv: 00 00 03 00 00 00 00 00  |........|
    nsprecv: C3 88 01 00 04 00 00 0D  |........|
    nsprecv: EA 0A 00 0E 00 00 00 00  |........|
    nsprecv: 00 00 86 00 00 01 00 00  |........|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 00 00     |....... |
    nsprecv: normal exit
    nsrdr: got NSPTDA packet
    nsrdr: NSPTDA flags: 0x0
    nsrdr: normal exit
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: *what=1, *bl=2001
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: normal exit
    nioqrc: exit
    nioqsn: entry
    nioqsn: exit
    nioqrc: entry
    nsdo: entry
    nsdo: cid=0, opcode=84, *bl=0, *what=1, uflgs=0x20, cflgs=0x3
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: rank=64, nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: nsctx: state=8, flg=0x400d, mvd=0
    nsdo: gtn=127, gtc=127, ptn=10, ptc=2011
    nsdofls: entry
    nsdofls: DATA flags: 0x0
    nsdofls: sending NSPTDA packet
    nspsend: entry
    nspsend: plen=21, type=6
    nttwr: entry
    nttwr: socket 340 had bytes written=21
    nttwr: exit
    nspsend: packet dump
    nspsend: 00 15 00 00 06 00 00 00  |........|
    nspsend: 00 00 03 05 87 02 00 00  |........|
    nspsend: 00 01 00 00 00           |.....   |
    nspsend: 21 bytes to transport
    nspsend: normal exit
    nsdofls: exit (0)
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: normal exit
    nsdo: entry
    nsdo: cid=0, opcode=85, *bl=0, *what=0, uflgs=0x0, cflgs=0x3
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: rank=64, nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: nsctx: state=8, flg=0x400d, mvd=0
    nsdo: gtn=127, gtc=127, ptn=10, ptc=2011
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: switching to application buffer
    nsrdr: entry
    nsrdr: recving a packet
    nsprecv: entry
    nsprecv: reading from transport...
    nttrd: entry
    nttrd: socket 340 had bytes read=102
    nttrd: exit
    nsprecv: 102 bytes from transport
    nsprecv: tlen=102, plen=102, type=6
    nsprecv: packet dump
    nsprecv: 00 66 00 00 06 00 00 00  |.f......|
    nsprecv: 00 00 04 01 00 00 00 85  |........|
    nsprecv: 01 00 00 00 00 7B 05 00  |.....{..|
    nsprecv: 00 00 00 02 00 00 00 03  |........|
    nsprecv: 00 00 00 00 00 C3 88 01  |........|
    nsprecv: 00 04 00 00 0D EA 0A 00  |........|
    nsprecv: 0E 00 00 00 00 00 00 87  |........|
    nsprecv: 00 00 01 00 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 00 00 00 00 19 4F 52 41  |.....ORA|
    nsprecv: 2D 30 31 34 30 33 3A 20  |-01403:.|
    nsprecv: 6E 6F 20 64 61 74 61 20  |no.data.|
    nsprecv: 66 6F 75 6E 64 0A        |found.  |
    nsprecv: normal exit
    nsrdr: got NSPTDA packet
    nsrdr: NSPTDA flags: 0x0
    nsrdr: normal exit
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: *what=1, *bl=2001
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: normal exit
    nioqrc: exit
    SQLNet Trace at level 16, 10.2.0.1 client -> 11.1.0.6 server, not successful
    nioqrc: entry
    nsdo: entry
    nsdo: cid=0, opcode=84, *bl=0, *what=1, uflgs=0x20, cflgs=0x3
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: rank=64, nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: nsctx: state=8, flg=0x400d, mvd=0
    nsdo: gtn=127, gtc=127, ptn=10, ptc=2011
    nsdofls: entry
    nsdofls: DATA flags: 0x0
    nsdofls: sending NSPTDA packet
    nspsend: entry
    nspsend: plen=177, type=6
    nttwr: entry
    nttwr: socket 308 had bytes written=177
    nttwr: exit
    nspsend: packet dump
    nspsend: 00 B1 00 00 06 00 00 00  |........|
    nspsend: 00 00 03 4A FE 01 00 00  |...J....|
    nspsend: 00 03 00 00 00 78 14 FD  |.....x..|
    nspsend: 02 63 00 00 00 00 00 00  |.c......|
    nspsend: 00 00 00 00 00 48 D8 12  |.....H..|
    nspsend: 00 01 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 00 00 00 00 00 00 00  |........|
    nspsend: 00 63 53 45 4C 45 43 54  |.cSELECT|
    nspsend: 20 42 49 54 53 20 46 52  |.BITS.FR|
    nspsend: 4F 4D 20 50 41 52 54 5F  |OM.PART_|
    nspsend: 4D 46 47 5F 42 49 4E 41  |MFG_BINA|
    nspsend: 52 59 20 20 77 68 65 72  |RY..wher|
    nspsend: 65 20 54 59 50 45 20 3D  |e.TYPE.=|
    nspsend: 20 3A 31 20 20 20 20 20  |.:1.....|
    nspsend: 20 20 61 6E 64 20 50 41  |..and.PA|
    nspsend: 52 54 5F 49 44 20 3D 20  |RT_ID.=.|
    nspsend: 3A 32 20 20 20 20 20 20  |:2......|
    nspsend: 20 20 20 20 20 20 20 20  |........|
    nspsend: 20 20 20 20 20 20 20 20  |........|
    nspsend: 20 20 20 20 20 02 00 00  |........|
    nspsend: 00                       |.       |
    nspsend: 177 bytes to transport
    nspsend: normal exit
    nsdofls: exit (0)
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: normal exit
    nsdo: entry
    nsdo: cid=0, opcode=85, *bl=0, *what=0, uflgs=0x0, cflgs=0x3
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: rank=64, nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: nsctx: state=8, flg=0x400d, mvd=0
    nsdo: gtn=127, gtc=127, ptn=10, ptc=2011
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: switching to application buffer
    nsrdr: entry
    nsrdr: recving a packet
    nsprecv: entry
    nsprecv: reading from transport...
    nttrd: entry
    nttrd: socket 308 had bytes read=106
    nttrd: exit
    nsprecv: 106 bytes from transport
    nsprecv: tlen=106, plen=106, type=6
    nsprecv: packet dump
    nsprecv: 00 6A 00 00 06 00 00 00  |.j......|
    nsprecv: 00 00 04 05 00 00 00 FC  |........|
    nsprecv: 01 01 01 00 00 00 00 00  |........|
    nsprecv: 00 00 00 00 03 00 00 00  |........|
    nsprecv: 03 00 00 00 00 00 30 0A  |......0.|
    nsprecv: 01 00 05 00 00 00 86 2A  |.......*|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 00 00 00 FE 00 00 01 00  |........|
    nsprecv: 00 00 36 01 00 00 00 00  |..6.....|
    nsprecv: 00 00 58 BF 0C 0E 00 00  |..X.....|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 00 00                    |..      |
    nsprecv: normal exit
    nsrdr: got NSPTDA packet
    nsrdr: NSPTDA flags: 0x0
    nsrdr: normal exit
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: *what=1, *bl=2001
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: normal exit
    nioqrc: exit
    nioqsn: entry
    nioqsn: exit
    nioqrc: entry
    nsdo: entry
    nsdo: cid=0, opcode=84, *bl=0, *what=1, uflgs=0x20, cflgs=0x3
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: rank=64, nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: nsctx: state=8, flg=0x400d, mvd=0
    nsdo: gtn=127, gtc=127, ptn=10, ptc=2011
    nsdofls: entry
    nsdofls: DATA flags: 0x0
    nsdofls: sending NSPTDA packet
    nspsend: entry
    nspsend: plen=49, type=6
    nttwr: entry
    nttwr: socket 308 had bytes written=49
    nttwr: exit
    nspsend: packet dump
    nspsend: 00 31 00 00 06 00 00 00  |.1......|
    nspsend: 00 00 03 2B FF 03 00 00  |...+....|
    nspsend: 00 01 00 00 00 90 DA C2  |........|
    nspsend: 01 60 A2 C2 01 20 00 00  |.`......|
    nspsend: 00 92 DA C2 01 94 DA C2  |........|
    nspsend: 01 C0 03 00 00 54 DE C2  |.....T..|
    nspsend: 01                       |.       |
    nspsend: 49 bytes to transport
    nspsend: normal exit
    nsdofls: exit (0)
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: normal exit
    nsdo: entry
    nsdo: cid=0, opcode=85, *bl=0, *what=0, uflgs=0x0, cflgs=0x3
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: rank=64, nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: nsctx: state=8, flg=0x400d, mvd=0
    nsdo: gtn=127, gtc=127, ptn=10, ptc=2011
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: switching to application buffer
    nsrdr: entry
    nsrdr: recving a packet
    nsprecv: entry
    nsprecv: reading from transport...
    nttrd: entry
    nttrd: socket 308 had bytes read=79
    nttrd: exit
    nsprecv: 79 bytes from transport
    nsprecv: tlen=79, plen=79, type=6
    nsprecv: packet dump
    nsprecv: 00 4F 00 00 06 00 00 00  |.O......|
    nsprecv: 00 00 08 01 00 01 00 01  |........|
    nsprecv: 71 00 00 00 A0 0F 00 00  |q.......|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 01 04 00 00 00 00 00 00  |........|
    nsprecv: 00 00 00 00 00 00 00 00  |........|
    nsprecv: 05 00 05 42 49 54 53 22  |...BITS"|
    nsprecv: 09 05 00 00 00 FD 01     |....... |
    nsprecv: normal exit
    nsrdr: got NSPTDA packet
    nsrdr: NSPTDA flags: 0x0
    nsrdr: normal exit
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: *what=1, *bl=2001
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: normal exit
    nioqrc: exit
    nioqsn: entry
    nioqsn: exit
    nioqrc: entry
    nsdo: entry
    nsdo: cid=0, opcode=84, *bl=0, *what=1, uflgs=0x20, cflgs=0x3
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: rank=64, nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: nsctx: state=8, flg=0x400d, mvd=0
    nsdo: gtn=127, gtc=127, ptn=10, ptc=2011
    nsdofls: entry
    nsdofls: DATA flags: 0x0
    nsdofls: sending NSPTDA packet
    nspsend: entry
    nspsend: plen=33, type=6
    nttwr: entry
    nttwr: socket 308 had bytes written=33
    nttwr: exit
    nspsend: packet dump
    nspsend: 00 21 00 00 06 00 00 00  |.!......|
    nspsend: 00 00 03 15 00 D5 07 00  |........|
    nspsend: 00 00 00 00 00 EB 8B DB  |........|
    nspsend: 00 C8 00 00 00 48 D8 12  |.....H..|
    nspsend: 00                       |.       |
    nspsend: 33 bytes to transport
    nspsend: normal exit
    nsdofls: exit (0)
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: normal exit
    nsdo: entry
    nsdo: cid=0, opcode=85, *bl=0, *what=0, uflgs=0x0, cflgs=0x3
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: rank=64, nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: nsctx: state=8, flg=0x400d, mvd=0
    nsdo: gtn=127, gtc=127, ptn=10, ptc=2011
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: switching to application buffer
    nsrdr: entry
    nsrdr: recving a packet
    nsprecv: entry
    nsprecv: reading from transport...
    nttrd: entry
    nttrd: socket 308 had bytes read=96
    nttrd: exit
    nsprecv: 96 bytes from transport
    nsprecv: tlen=96, plen=96, type=6
    nsprecv: packet dump
    nsprecv: 00 60 00 00 06 00 00 00  |.`......|
    nsprecv: 00 00 08 4B 00 4B 4F 52  |...K.KOR|
    nsprecv: 41 2D 30 32 30 30 35 3A  |A-02005:|
    nsprecv: 20 69 6D 70 6C 69 63 69  |.implici|
    nsprecv: 74 20 28 2D 31 29 20 6C  |t.(-1).l|
    nsprecv: 65 6E 67 74 68 20 6E 6F  |ength.no|
    nsprecv: 74 20 76 61 6C 69 64 20  |t.valid.|
    nsprecv: 66 6F 72 20 74 68 69 73  |for.this|
    nsprecv: 20 62 69 6E 64 20 6F 72  |.bind.or|
    nsprecv: 20 64 65 66 69 6E 65 20  |.define.|
    nsprecv: 64 61 74 61 74 79 70 65  |datatype|
    nsprecv: 0A 09 05 00 00 00 FD 01  |........|
    nsprecv: normal exit
    nsrdr: got NSPTDA packet
    nsrdr: NSPTDA flags: 0x0
    nsrdr: normal exit
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: *what=1, *bl=2001
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: normal exit
    nioqrc: exit
    nioqsn: entry
    nioqsn: exit
    nioqrc: entry
    nsdo: entry
    nsdo: cid=0, opcode=84, *bl=0, *what=1, uflgs=0x20, cflgs=0x3
    snsbitts_ts: entry
    snsbitts_ts: acquired the bit
    snsbitts_ts: normal exit
    nsdo: rank=64, nsctxrnk=0
    snsbitcl_ts: entry
    snsbitcl_ts: normal exit
    nsdo: nsctx: state=8, flg=0x400d, mvd=0
    nsdo: gtn=127, gtc=127, ptn=10, ptc=2011
    {code}
    Charles Hooper
    IT Manager/Oracle DBA
    K&M Machine-Fabricating, Inc.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     &

  • Issue with Oracle LONG RAW data type

    Hi All,
    I am facing some issues with Oracle LONG RAW DATA Type.
    We are using Oracle 9IR2 Database.
    I got a table having LONG RAW column and I need to transfer the same into another table having LONG RAW column.
    When I tried using INSERT INTO SELECT * command (or) CREATE TABLE as select * , it is throwing ORA-00997: illegal use of LONG datatype.
    I have gone through some docs and found we should not use LONG RAW using these operations.
    So I did some basic PLSQL block given below and I was able to insert most of the records. But records where the LONG RAW file is like 7O kb, the inserting is faliling.
    I tried to convert LONG RAW to BLOB and again for the record where the LONG RAW is big in size I am getting (ORA-06502: PL/SQL: numeric or value error) error.
    Appreciate if anyone can help me out here.
    DECLARE
    Y LONG RAW;
    BEGIN
    FOR REC IN (SELECT * FROM TRU_INT.TERRITORY WHERE TERRITORYSEQ=488480 ORDER BY TERRITORYSEQ ) LOOP
    INSERT INTO TRU_CMP.TERRITORY
    BUSINESSUNITSEQ, COMPELEMENTLIFETIMEID, COMPONENTIMAGE, DESCRIPTION, ENDPERIOD, GENERATION, NAME, STARTPERIOD, TERRITORYSEQ
    VALUES
    REC.BUSINESSUNITSEQ, REC.COMPELEMENTLIFETIMEID, REC.COMPONENTIMAGE, REC.DESCRIPTION, REC.ENDPERIOD, REC.GENERATION, REC.NAME,
    REC.STARTPERIOD, REC.TERRITORYSEQ
    END LOOP;
    END;
    /

    Maddy wrote:
    Hi All,
    I am facing some issues with Oracle LONG RAW DATA Type.
    We are using Oracle 9IR2 Database.
    I got a table having LONG RAW column and I need to transfer the same into another table having LONG RAW column.
    When I tried using INSERT INTO SELECT * command (or) CREATE TABLE as select * , it is throwing ORA-00997: illegal use of LONG datatype.
    I have gone through some docs and found we should not use LONG RAW using these operations.
    So I did some basic PLSQL block given below and I was able to insert most of the records. But records where the LONG RAW file is like 7O kb, the inserting is faliling.
    I tried to convert LONG RAW to BLOB and again for the record where the LONG RAW is big in size I am getting (ORA-06502: PL/SQL: numeric or value error) error.
    Appreciate if anyone can help me out here.
    DECLARE
    Y LONG RAW;
    BEGIN
    FOR REC IN (SELECT * FROM TRU_INT.TERRITORY WHERE TERRITORYSEQ=488480 ORDER BY TERRITORYSEQ ) LOOP
    INSERT INTO TRU_CMP.TERRITORY
    BUSINESSUNITSEQ, COMPELEMENTLIFETIMEID, COMPONENTIMAGE, DESCRIPTION, ENDPERIOD, GENERATION, NAME, STARTPERIOD, TERRITORYSEQ
    VALUES
    REC.BUSINESSUNITSEQ, REC.COMPELEMENTLIFETIMEID, REC.COMPONENTIMAGE, REC.DESCRIPTION, REC.ENDPERIOD, REC.GENERATION, REC.NAME,
    REC.STARTPERIOD, REC.TERRITORYSEQ
    END LOOP;
    END;
    /below might work
    12:06:23 SQL> help copy
    COPY
    Copies data from a query to a table in the same or another
    database. COPY supports CHAR, DATE, LONG, NUMBER and VARCHAR2.
    COPY {FROM database | TO database | FROM database TO database}
                {APPEND|CREATE|INSERT|REPLACE} destination_table
                [(column, column, column, ...)] USING query
    where database has the following syntax:
         username[/password]@connect_identifier

  • Top n Growing tables in BW & R/3 with Oracle env

    Hi all,
    We are on BW 7.0 with Oracle 10.2.0.2 , please let me know how to get the top N growing tables & Top N largest tables.
    I remember collecting these stats from TX: DB02 when we had MS SQLserver as the DB.  It was as easy as clicking a button.  but with Oracle I have been unable to find these options in Db02 or dbacockpit.
    Thanks,
    Nick

    Nick,
    Goto tcode DB02OLD>Detailed Analysis>Object Name *, Tablespace , Objetc Type tab. You will get list of all table, you take out top 50 table from this list.
    Earlywatch report also gives list of top 20 tables. Check your earlywatch report for this.
    You can also use the following SQL query:
    select * from
    (select owner, segment_name, segment_type, tablespace_name, sum (bytes/1024/1024) MB
    from dba_extents
    where segment_type = 'TABLE'
    group by owner, segment_name, segment_type, tablespace_name
    order by MB desc)
    where rownum <= N;
    Put any value for N (e.g. 50)to find out top N growing tables & Top N largest tables.
    If you are planning to go for a table reorg then refer below link.
    Re: is it possible to see decrease of table size & size of tablespace
    Hope this helps.
    Thanks,
    Sushil

  • A lot of problems with Oracle BI SEE 11g

    I have a lot of problems with Oracle BI SEE 11g
    1. I upgraded my BI SEE 10 repository and can it openning in offline mode.
    2. I can't deploy my upgraded repository in EM MW Control 11g - when i try to open Farm_bifoundation_domain->Business Intelligence->coreapplication, i get error "Stream closed
    For more information, please see the server's error log for an entry beggining with: Server Exception during PPR, #41".
    Opening Logs by EM control doesn't work too.
    in file middleware\user_projects\domains\bifoundation_domain\servers\AdminServer\logs\AdminServer.log i see this event:
    <Error> <HTTP> <oratest.itera.ru> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <b639ac3e56e9a463:bd6fa7f:12ac7271e09:-8000-00000000000009e8> <1283408423378> <BEA-101019> <[ServletContext@329875093[app:em module:/em path:/em spec-version:2.5]] Servlet failed with IOException
    java.io.IOException: Stream closed
    Have you any ideas?
    3. Ok, i taking sample repository and adding a new datasource in it:
    Database: Oracle 8i
    Connection pool:
    Call interface OCI 8i/9i
    Data source name:
    (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (Host = oraapp) (Port = 1521) ) ) (CONNECT_DATA = (SID = MYSID) ) )
    This settings are working fine in BI 10.
    In BI 11g i get this funny error: "The connection has failed". I lost my time in attempts to connect to Oracle DB 8, but have not results. After that i hacked button "Query DBMS" at "Features" tab, pressed it and when get error "ORA-03134: Connections to this server version are no longer supported.".
    Therefore Oracle 8 DB as datasource not supported. Am i right?
    4. In sample repository i added oracle DB 10 as datasource, then added two dual tables and their connection to all layers.
    Now i open BI Answers, and trying to create report with one dummy column, Now i have this error:
    Error
         View Display Error
    Odbc driver returned an error (SQLExecDirectW).
    Error Details
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 42016] Check database specific features table. Must be able to push at least a single table reference to a remote database (HY000)
    SQL Issued: SELECT s_0, s_1 FROM ( SELECT 0 s_0, "ORA10G"."dual"."dummy" s_1 FROM "ORA10G" ) djm
    Database features are defaults.
    Does anyone solve this problem?

    Turribeach, Thanks for you time.
    1. It was not a question
    3. Yes, i have read platforms, but not supported datasources. Now i see, that BI 11g support as datasource Oracle DB 9.2.0.7 or higher. I am sorry.
    4. I'm using OCI connection type
    Now i recreate Database in Physical schema and answers is showing report data for me! But only from one table, when i use columns from to tables from one datasource, i geting error:
    Error View Display Error Odbc driver returned an error (SQLExecDirectW). Error Details Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 46008] Internal error: File server/Utility/Server/DataType/SUKeyCompare.cpp, line 875. (HY000) SQL Issued: SELECT s_0, s_1, s_2 FROM ( SELECT 0 s_0, "Ora10g"."hierarchy_obj_cust_v"."sort_order" s_1, "Ora10g"."NSI_SCHEMA"."SCHEMA_NAME" s_2 FROM "Ora10g" ) djm
    Edited by: serzzzh on 03.09.2010 3:44

  • Writing request XQUERY with oracle 11G

    Hi,
    What is exactly the best way to make an XMLTYPE object (column with type XMLType) request with Oracle 11 g ? (Oracle 11g  Release 11.2.0.3.0)
    In different books, we see a lot of different requests.
    Simple example :
    create table contact_file_tbl(filename varchar2(255), xml xmltype);
    insert into contact_file_tbl (filename, xml)
    values ('john_smith.xml', xmltype(bfilename('XML_DIR', 'john_smith.xml'),nls_charset_id('AL32UTF8')));
    Ok for now
    But impossible to make a good query :
    select XMLQuery('declare namespace book="http://xmlbook.com/sample/contact.xsd"; (:
    for $c in /book:contact
    return $c/book:first_name' PASSING a.xml RETURNING CONTENT)
    from contact_file_tbl a;
    returns nothing.
    why this request works ?
    SELECT filename, XMLQuery('toto'
             PASSING xml RETURNING CONTENT) dataResult
      FROM contact_file_tbl;
    Could you send me a request with this example.
    Here the XML document :
    <?xml version="1.0" encoding="UTF-8"?>
    <contact xmlns="http://xmlbook.com/sample/contact.xsd" id="1">
       <category>customer</category>
       <first_name Chinese="约翰">John</first_name>
       <last_name>Smith</last_name>
       <email>[email protected]</email>
       <phone>(512)781-9230</phone>
       <cellphone>(512)781-9230</cellphone>
       <address>
           <street1>1234 sunflower road</street1>
           <city>austin</city>
           <state>texas</state>
           <zipcode>78701</zipcode>
           <country>USA</country>
       </address>
       <references>
         <reference relationship="account manager, tech sales">
           <first_name>robert</first_name>
           <last_name>tian</last_name>
             <email>[email protected]</email>
         </reference>
         <reference relationship="account manager, app sales">
           <first_name>Richard</first_name>
           <last_name>Liu</last_name>
           <email>[email protected]</email>
         </reference>
       </references>
    </contact>
    Thank you very much

    This works fine for me :
    SQL> select XMLQuery(
      2  'declare namespace book="http://xmlbook.com/sample/contact.xsd"; (::)
      3  for $c in /book:contact
      4  return $c/book:first_name'
      5  PASSING a.xml
      6  RETURNING CONTENT
      7  )
      8  from contact_file_tbl a;
    XMLQUERY('DECLARENAMESPACEBOOK
    <first_name xmlns="http://xmlbook.com/sample/contact.xsd" Chinese="??">John</fir
    SQL>
    SQL> select XMLCast(
      2  XMLQuery(
      3  'declare namespace book="http://xmlbook.com/sample/contact.xsd"; (::)
      4  for $c in /book:contact
      5  return $c/book:first_name'
      6  PASSING a.xml
      7  RETURNING CONTENT
      8  )
      9  as varchar2(30)
    10  ) as first_name
    11  from contact_file_tbl a;
    FIRST_NAME
    John
    What's your client tool/version?

Maybe you are looking for

  • Can't get Photoshop CC panorama maker to align images properly on distant horizons.

    Can't get Photoshop CC panorama maker to align images properly for objects further away (ie For distant horizons) Tried reloading CC but no better. Tried manually aligning images but when finished seems to jump and misalign everything as if I'd used

  • Drawing boxes dynamically

    Hi, Can we dynamically position boxes in Sapscripts by giving a varible after the xpos and ypos positions. The command which I gave is BOX XPOS '0' CM YPOS &W_CTR& CM WIDTH '0' CM HEIGHT '11' CM FRAME 5 TW I wanted to draw some horizontal lines and t

  • Picking with SD_DELIVERY_UPDATE_PICKING

    Hello, I am using function module SD_DELIVERY_UPDATE_PICKING to pick delivery items. This FM is being called in a loop for each delivery item. Delivery has two items, and each item has to be picked in two batches. This FM call is working fine if ther

  • Software update conflict

    I downloaded new OSX software update on Friday. Security update, and Java update. Now my computer will not recognize my HP Scanjet scanner. Photoshop will not recognize it. The HP software freezes. I've reinstalled the HP software and updates, no luc

  • Missing columns in iTunes through shared network

    Hi - I currently have a Windows machine running iTunes that is sharing my library on my home network.  Using my Macbook's iTunes to play from that library, many columns are not displayable in iTunes, for instance date added, play count, last played a