Why SQL Operation is misfire in FLASHBACK_TRANSACTION_QUERY (Ora 10g XE)?

I am selecting the list of sql queries issued using FLASHBACK_TRANSACTION_QUERY . (Oracle 10g XE)
The below is query...
select operation,START_SCN,undo_sql from FLASHBACK_TRANSACTION_QUERY where logon_user='SHARMA' AND table_owner='SHARMA' AND TABLE_NAME='EMPLOYEE';
Output is..
operation START_SCN undo_sql
DELETE 1000896 insert into "SHARMA"."EMPLOYEE"("ID","NAME") values ('103','Shiva');
UPDATE 966271 update "SHARMA"."EMPLOYEE" set "NAME" = 'Fernandas' where ROWID = 'AAADeIAABAAAKlaAAD';
INSERT 966222 delete from "SHARMA"."EMPLOYEE" where ROWID = 'AAADeIAABAAAKlaAAD';
From the above o/p
Sql query is "Delete from.." for that Operation is INSERT and vice versa.
Update is correct format only.
How to rectify this?
Thanks

Thanks for yor reply..
I am trying to get when the INSERT,UPDATE and DELETE query is issued..
For this i had created a table with 'ROWDEPENDENCIES'.
Then i issue a query
SELECT SCN_TO_TIMESTAMP(ORA_ROWSCN),ID,NAME FROM emptest;
It shows except DELETED quey information..
I need to get DELETED query details also..
Using FLASHBACK we can retrive the deleted query info know?
For that only i tried in FLASHBACK_TRANSACTION_QUERY table.
It wont give full information..
I had tried AS OF clause
SELECT * FROM emptest AS OF TIMESTAMP
TO_TIMESTAMP('25-JAN-08 07.53.17 PM', 'DD-MON-YY HH:MI:SS AM')
The above query also doesn't display DELETED query details..
How to get when the record is got deleted?
Thanks

Similar Messages

  • Order of the sql operation

    hi experts,
    I want to clear my basic concepts here.
    I want to know the order of the sql operation.
    actually the problem with me that i have read from different blog and websites
    about the order of operation of the sqkl queries , hence i am confused here.
    what i think the order of operation iis
    -----------MY assumptuion---------------------
          From
           |
          where
           |
          group
           |
          having
           |
          select
           |
          order by
    is my assupmtion is correct?
    if yes , then if suppose there is rownum clause in my selection criteria,at which timing
    will it apply?
    on some site i have seen below criteria
    1. The FROM/WHERE clause goes first.
    2. ROWNUM is assigned and incremented to each output row from the FROM/WHERE clause.
    3. SELECT is applied.
    4. GROUP BY is applied.
    5. HAVING is applied.
    6. ORDER BY is applied.
    is this correct or my assumption is correct?
    thanks a lot in advance..!!
    regards,
    prashant

    Hi Prashant,
    Instead of memorizing, why not check the query plan -
    -->-- Creating a test table
    CREATE TABLE test_tbl as
      SELECT 'A' name, 100 sal FROM dual UNION ALL
      SELECT 'A' name, 120 sal FROM dual UNION ALL
      SELECT 'B' name, 66 sal FROM dual UNION ALL
      SELECT 'C' name, 20 sal FROM dual UNION ALL
      SELECT 'C' name, 50 sal FROM dual UNION ALL
      SELECT 'C' name, 60 sal FROM dual UNION ALL
      SELECT 'D' name, 90 sal FROM dual UNION ALL
      SELECT 'D' name, 110 sal FROM dual;
    -->-- Query explain plan
    EXPLAIN PLAN for
    SELECT name, SUM(sal) sm
    FROM test_tbl
    GROUP BY name
    HAVING Sum(sal) > 150
    ORDER BY sm;
    -->-- Fetching the plan from cursor pool
    SELECT *
    FROM TABLE(dbms_xplan.display);
    -->-- Query plan
    PLAN_TABLE_OUTPUT                                                               
    Plan hash value: 3401269832                                                     
    | Id  | Operation            | Name     | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT     |          |     8 |   128 |     5  (40)| 00:00:01 |
    |   1 |  SORT ORDER BY       |          |     8 |   128 |     5  (40)| 00:00:01 |
    |*  2 |   FILTER             |          |       |       |            |          |
    |   3 |    HASH GROUP BY     |          |     8 |   128 |     5  (40)| 00:00:01 |
    |   4 |     TABLE ACCESS FULL| TEST_TBL |     8 |   128 |     3   (0)| 00:00:01 |
    Predicate Information (identified by operation id):                             
         2 - filter(SUM("SAL")>150)                                                                                       
    Now, how to read the plan?
    Start reading the plan - with the line "Operation" indented towards extreme right. Line-4 in this case.
    Note: If two lines are indented similarly i.e. on same vertical line... read normally as-in order.
    Like this:
    | Id  | Operation            | Name       | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT     |            |     8 |   128 |     5  (40)| 00:00:01 |
    |   1 |  SORT ORDER BY       |            |     8 |   128 |     5  (40)| 00:00:01 |
    |*  2 |   FILTER             |            |       |       |            |          |
    |   3 |    HASH GROUP BY     |            |     8 |   128 |     5  (40)| 00:00:01 |
    |   4 |     TABLE ACCESS FULL| TEST_TBL_1 |     8 |   128 |     3   (0)| 00:00:01 |
    |   5 |     TABLE ACCESS FULL| TEST_TBL_2 |     8 |   128 |     3   (0)| 00:00:01 |
    Read: line 4 and then line 5, since both are on same vertical level.
    Final sequence:
    1- (Line 4) Table Access : FROM clause
    2- (Line 3) GROUP BY
    3- (Line 2) Filtering : WHERE clause
    4- (Line 1) Sorting : ORDER BY clause
    5- (Line 0) SELECT
    Hope this helps.
    -- Ranit

  • SQL operations are not allowed with no global transaction by default for X

    Hi All,
    I am getting the above mentioned error.
    java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA driver supports performing SQL operations with no global transaction, explicitly allow it by setting "SupportsLocalTransaction" JDBC connection pool property to true. In this case, a
    lso remember to complete the local transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback().
    I am developing a web application. I have jsp, servlets, JDBC classes.
    I am using DataSource and Connection pools.
    I am on WLS 8.1 sp3 and Oracle 10.1.
    Part of My Config file looks as follows:
    <JDBCConnectionPool DriverName="weblogic.jdbcx.oracle.OracleDataSource" KeepLogicalConnOpenOnRelease="true" KeepXAConnTillTxComplete="false" Name="AUMDataSource" NeedTxCtxOnClose="false" NewXAConnForCommit="false" Password="{3DES}AKRkWgdzXN8WrXSRtSvJ6g==" Properties="user=pibsrmgr;portNumber=1521;SID=pibsrdod;serverName=pibsrdod.dtu.mlam.ml.com" RollbackLocalTxUponConnClose="true" SupportsLocalTransaction="false" Targets="myserver" TestTableName="SQL SELECT 1 FROM DUAL" URL="jdbc:bea:oracle://pibsrdod.dtu.mlam.ml.com:1521" XAEndOnlyOnce="false" />
    <JDBCTxDataSource EnableTwoPhaseCommit="true" JNDIName="jdbc/AUMDataSource" Name="AUMDataSource" PoolName="AUMDataSource" Targets="myserver" />
    Any help will be appreciated.
    Thanks
    ---Radhe

    Hi,
    Regarding Transactions , the following link can helpful to you .
    Regards,
    Prasanna Yalam

  • How to add custom sql operations in Database adapters?

    I have a database adapter in ESB configured with insert, update and select operations.
    I wanted to add another select operation with pure sql. When I added the operation it gave me error "Start of the root element expected" while registering the service.
    Can't we do like this?
    I use SOA suite 10.1.3.4.
    - Sam

    Hi Thanks for reply.
    There is an option while configuring the DB adapter "Execute Custom SQL" where you can specify the query you want to execute. It will generate the schema as per the query you enter in the wizard.
    I have created adapters with this type of custom SQLs and even I have put multiple operations in the same adapters where all use Custom SQL and they are working fine.
    Thease custom SQL operations can be anything insert, update, select and they even work with other operations using procedures in the same adapter. But yes we need to modify the WSDL manuallly.
    My problem was that when I try to add the custom SQL operation in the adapter which is configured with normal select, insert and update operation, I was getting the error mentioned.
    - Sam

  • "SQL Operation failed" When deleting forms EPMA

    V11.1.2.1 - Planning through EPMA.
    I have a form which I made to test something that I cant get rid of. I can edit it, I can hide it and I can change any normal setting you would expect on it. When I open it, everything appears as expected. This is happening for just one form, I can create and delete others in the same folder. I've tried renaming it and deleting and that still doesn't work.
    I just cant select it and click "Delete": I get an error message saying "The SQL Operation failed. Check logs for details.
    Does anyone know which logs in particular might point me to the cause of the problem?
    Has anyone had and resolved this before?
    Regards
    Ed

    Check the user_projects/<instancename>/diagnostics/logs/starter or services depending on linx/windows. Check the Hyperion Planning log to see what errors are generated in the log when you attempt the delete. You should see an sql error message.
    If you don't see any messages you want to set planning property debug_enabled TRUE (the instructions for this are in the troubleshooting documentation for EPM) and restart the server.
    Retry and reexamine the logs.

  • While adding/Changing member in planning it gives the error "The SQL operation failed with an error code: 0"

    Hi,<BR>While adding/Changing member in planning it gives the error "The SQL operation failed with an error code: 0" and not allowing any of the changes. I am not able to open the forms giving the error as "Fiscal Days Input - is invalid". Interestingly one form was opening, when the Page selection is changed it also started giving error as like "Fisacal Days Input(form name) - is invalid check log for details". <BR>Pls advice us that what is this error and how to resolve this.<BR><BR>And Which log is to be referred for the details.<BR><BR>Thanks<BR>Ravi

    If a form is invalid it generally means that one of the dimension references is missing.<BR><BR>Can you get in to edit the form?<BR>If you can, see if you can preview it. I suspect you will not be able to.<BR><BR>If not, check all dimension boxes have at least one member against them.<BR>If you have multiple rows and/or columns check all of them too.<BR><BR>I've had a couple of forms in dev "drop" a dimension reference but only once or twice so not enough to reproduce or find out what is causing it. Each time I got the "form invalid" error message and managed to fix it.<BR><BR>Hope this helps.<BR>

  • Why SQL Server

    HI VC gurus,
       I am new to VC.Can anyone explain me why SQL server is needed for VC.Can we use some other Database other than SQL server like Oracle etc..
    Please clarify.

    Hi Sapient,
    VC 6.0 uses MS SQL server to act as a model repository for VC, that means whatever models are created using VC 6.0, on click of Save button at the menu bar, the model gets reposited in MS SQL.
    Only MS SL Server is to be used if you are using VC 6.0 as a model repository, but you can talk to any back-end through portal Connectivity.
    Go through these links:
    https://media.sdn.sap.com/public/eclasses/atlanta/session_8916_files/Default.htm#nopreload=1
    https://media.sdn.sap.com/public/ebooks/Visual_Composer_BI_Kit/index.html?slide=
    Thanks in advance,
    deep.

  • Avoid procedure or function calls between a SQL operation and an implicit cursor test

    when i analyse this code with code expert

    atpidgeon wrote:
    when i analyse this code with code expert
                            UPDATE P_PM_CONTROL_COUNT
                            SET AVAIL_SEG = AVAIL_SEG -1,
                                ALLOCATION = ALLOCATION -1
                            WHERE PM_UNIT_TYPE_ID = vrectab(1)
                            AND USAGE_DATE = vrectab(2)
                            AND SEGMENT_CODE = vrectab(5)
                            AND ALLOCATION - UNITS_RESERVED > 0;
                            IF sql%rowcount = 0 then --Added block and exception to prevent invetory going negative when placing multi units in same unit type out of service.
                                vErrMsg := 'Could not process your out of service request because your selection for unit '|| vrectab(3) || ' at ' || pvPropertyId || ' for ' || vrectab(2) || ' would cause segment ' || vrectab(5) || ' to be over allocated.';
                                RAISE SegOverAllocated;
                            END IF;
    i get "Avoid procedure or function calls between a SQL operation and an implicit cursor test.",as far has i know
    iff you're doing a sql%rowcount    after an update.. trying to see how many rows were updated...  you dont want procedure or function calls between the update and the sql% line
    correct me if im wrong and how would i fix it?or maybe i shouldnt
    You correct it by NOT executing function calls as part of the UPDATE statement.
    1. Issue the function calls BEFORE the update statement
    2. save the function results into variables
    3. use those variables in the UPDATE statement.
    v_rectab1 := vrectab(1);
    v_rectab2 := vrectab(21);
    v_rectab5 := vrectab(5);
    UPDATE P_PM_CONTROL_COUNT 
                            SET AVAIL_SEG = AVAIL_SEG -1,
                                ALLOCATION = ALLOCATION -1
                            WHERE PM_UNIT_TYPE_ID = v_rectab1
                            AND USAGE_DATE = v_rectab2
                            AND SEGMENT_CODE = v_rectab5
                            AND ALLOCATION - UNITS_RESERVED > 0;

  • SQL operation failed when new creating form ?

    Dear All,
    When I create a new form in workspace 11.1.2.1 , it occur an error and returns "SQL operation failed". So, how to solve it ?
    Thank you all.
    Eva

    Try to restart planning. Have you used admin account to create form?
    Look at the logs <MIDDLEWARE_HOME>\user_projects\epmsystem1\diagnostics\logs\services\HyS9Planning-sysout.log and HyS9Planning-syserr.log

  • Flashback_transaction_query.undo_sql 10g

    I have hard time getting over the 4000 limit on UNDO_SQL column in FLASHBACK_TRANSACTION_QUERY view on 10.2.0.3/x86 linux. The problem is in sqls longer than 4000 characters, I assume they should be split as in v$sqltext but they are not. Supplemental logging doesn't do much difference except that undo sqls are truncated and not absent.
    Is there a possibility to generate UNDO_SQL for statement longer than 4000 characters at all? 11g has transaction backout based on that view so it's hard to believe that this is for small sqls only. Below example is for database without supplemental logging.
    SQL> drop table t purge;
    Table dropped.
    SQL> create table t (x varchar2(4000), y varchar2(4000));
    Table created.
    SQL> insert into t values (lpad('#', 4000, '#'), lpad('#',4000, '#'));
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> select max(ora_rowscn) from t;
    MAX(ORA_ROWSCN)
    7217362153
    SQL> select undo_sql from flashback_transaction_query where commit_scn=7217362153;
    UNDO_SQL
    delete from "SYSTEM"."T" where ROWID = 'AAHUIxAABAAAbzLAAA';
    delete from "SYSTEM"."T" where ROWID = 'AAHUIxAABAAAbzKAAA';
    SQL> delete from t;
    1 row deleted.
    SQL> commit;
    Commit complete.
    SQL> select max(commit_scn) from flashback_transaction_query where table_name='T';
    MAX(COMMIT_SCN)
    7217364347
    SQL> select undo_sql from flashback_transaction_query where commit_scn=7217364347;
    UNDO_SQL
    SQL> select length(undo_sql) from flashback_transaction_query where commit_scn=7217364347;
    LENGTH(UNDO_SQL)
    SQL> select dump(undo_sql) from flashback_transaction_query
    where commit_scn=7217364347;
    DUMP(UNDO_SQL)
    NULL
    NULL
    NULL

    Does this mean log miner (did I mention the same applies to v$logmnr_contents?), transaction backout, flashback transaction are useless for statements involving values longer than 4000 characters? Hard to believe...

  • How to integrate from MS SQL SERVER 2005 and Flatfile to Oracle 10g.

    Hi
    I am new to ODI. I am trying to load sample data from MS SQL Server 2005 and Flatfile to Oracle 10g.
    1. I have created three models.
    1-1. SQL2005 (SRC_CUSTOMER table)
    1-2. Flatfile (SRC_AGE_GROUP.txt & SRC_SALES_PERSON.txt)
    1-3. Oracle 10g (TRG_CUSTOMER table)
    You may know I got those environments from the ODI DEMO environment.
    2. I could able to reverse the tables also.
    3. I have created an interface which contains source table (from MSSQL 2005), Flatfile and target table from ORACLE model.
    4. I have imported the knowledge modules. But I am confusing in selecting the knowledge modules to source and target tables.
    I've selected LKM File to SQL for flatfile model.
    I've also selected LKM SQL to SQL for MSSQL 2005 model and IKM Oracle Incremental Update for the target table (ORACLE).
    I've also implemented the interface that I created. It worked without errors. But there is no data in target table which is TRG_CUSTOMER.
    I really would like to know what happened and what the problems are.
    You can email me [email protected]
    Thanks in advance
    Jason Lee

    what did give for SRC_AGE_GROUP SRC_CUSTOMER join condition
    if it is
    (SRC_CUSTOMER.AGE=SRC_AGE_GROUP.AGE_MIN) AND SRC_CUSTOMER.AGE=SRC_AGE_GROUP.AGE_MAX
    give it as
    (SRC_CUSTOMER.AGE>SRC_AGE_GROUP.AGE_MIN) AND SRC_CUSTOMER.AGE<SRC_AGE_GROUP.AGE_MAX

  • Connecting SQL Analysis Services 2005 cube with obiee 10g

    Hello experts,
    I'm trying to link an SQL Analysis Services 2005 cube with obiee 10g.
    In Oracle BI Administration, when I choose File -> Import -> From
    Multi-dimensional, I have to fill the next gaps:
    Provider Type: Analysis Services 2005
    URL: ***********
    User: blank
    Password: blank
    Before to do that, I need to create the URL path.
    To create the URL, I have followed this link.
    http://erpthings.blogspot.com/2008/08/obiee-connection-to-msas-2005-
    cube.html
    But, it hasn't worked because when I was trying to configure the HTTP
    access to SQL Server 2005 Analysis Services, we have to perform a test to ensure that it has been well configured. In IIS -> WebSites -> Default WebSites -> olap, we should browse the document called "msmdpump.dll" and this should show an xml document, but it doesn't.
    Thanks!

    Hi Alex
    It sounds like your MS data pump might not be configured correctly. First ensure that is working before trying to put the values into OBIEE. Don't worry about the 500 error - I get that too instead of an XML page.
    You can read a bit more about SSAS support on my blog here:
    http://total-bi.com/2010/12/obiee-sql-server-analysis-services-cubes/
    Here's the link to Microsoft's description of setting up msmdpump.dll
    http://technet.microsoft.com/en-us/library/cc917711.aspx
    Paul

  • Why Oracle Names have been discontinued in Oracle 10g

    Hello,
    I wanted to know why Oracle Names is not supported in Oracle 10g? Desupporting Oracle Names in future releases on Oracle is a big decision, as most of the sites still use Oracle 8i for legacy applications, which does not support OID. Translation tunnel between Oracle 8i ONAMES and Oracle 10g OID can be used... but what is the reason for not supportin ONAMES in Oracle 10g?
    Regards
    Sudhanshu

    ONames is an obsolete technology. I suspect Oracle wanted to eliminate the need to support a code line that has an obvious replacement.
    Those customers who still use Oracle8i obviously don't care about being supported by Oracle. Anyone who has a useable support contract will likely have upgraded, especially since Oracle gave lots of warning about desupporting Oracle8i, and even extended the desupport date.
    Besides, there really is no conflict - use ONames for the unsupported legacy systems and OiD for the new systems. Or ... use the Oracle9i ONames & Oracle9i client against an Oracle 10g environment.

  • Certified operating system for Oracle Identity Management 10g (10.1.4.0.1)

    Hello,
    I have a question regarding the certified operating system for Oracle Identity Management 10g (10.1.4.0.1)
    http://www.oracle.com/technology/software/products/ias/files/idm_certification_101401.html
    - for an Intel EM64T 64 bit machine
    for the application server database it is stated that we need
    Windows 2003 R1 (64 bit OS)
    and the application server platform is certified with
    Windows 2003 R1 with SP1 or higher (64 bit OS)
    an installation of application server platform + database on a single Intel EM64T with Windows 2003 R1 with SP1 is not certified ? or with other words, if I add Sp1 to 2003 than the application server database is not on a certified platform ?
    thanks

    Hi Florin
    My guess is that you are looking at the Oracle Identity Federation certification section in the link for the IDM certification.
    The IDM certification for windows is in par. 2.3
    For a 64 bits machine it specifies that you need Windows 2003 R2 to run it. And it is only certified for an Oracle database version 9.0.3.1. The footnote says:
    Oracle Database includes Oracle 9i 9.2.0.8, Oracle 10g 10.1.0.5, Oracle 10g 10.2.0.1, and Oracle 10g 10.2.0.2
    so I would go for the latest Oracle database version 10g 10.2.0.2. However the link with the Oracle database versions only notes an Oracle database version 10.2.0.1 available for Windows 64 bit. A quick lookup under the certifify tab in metalink shows that Oracle 10g R2 is certified for Windows 2003 10g R2 and that there is a 10.2.0.2 patch set that can be applied upon the Oracle database 10.2.0.1 base release. Don't forget to apply the latest CPU after this is done.
    I have this from the documentation links you added in your question. I have not installed IDM 10.1.4 on Windows 64 bit myself.
    Cheers

  • Why sql select 'Hello'||'world012345678' from dual; cause error?

    I have problem and your help to solve it would be very much appreciated.
    Can anybody tell why the result is so different for the following two sql-sentence in SQL/PLus?
    sql>select 'Hello'||'world012345678' from dual;
    sql>select 'Hello'||'world0123456789' from dual;
    sql>select 'Hello'||'world012345678' from dual;
    Result:
    select 'Hello'||'world012345678' from dual
    ERROR at line 1:
    ORA-00600: internal error code, arguments: [17182], [158346180], [], [], [],
    sql>select 'Hello'||'world0123456789' from dual;
    Helloworld0123456789
    I found that if the length of one string equals 14, then the sql will failed as the first sentence.

    If you need to check the validity of DUAL then you have:
    Select count(1) from DUAL ;
    NOT
    Select * from DUAL;
    If you find more than 1, then
    delete from dual;
    insert into dual values ('x') ;
    commit;
    Then, try you offending query.

Maybe you are looking for