UNDO SPACE DURING SNAPSHOT REFRESH

Hi All,
I am seeing a weird issue with mu undo space in oracle 10g 10.2.0.3.
Problem is ....
I am doing a complete snapshot refresh from a remote database to source database. When I do this the snapshot refresh is consuming my all undo, I can see this by executing
select distinct segment_name,sum(bytes)/1024/1024/1024 from dba_segments where tablespace_name='UNDO_TBS' group by segment_name;
SEGMENT_NAME SUM(BYTES)
_SYSSMU16$                    39.931324
My total undo space is 40GB
Why the snapshot refresh is consuming all the undo. Any idea? Appreciate your help.

Hi,
You can use the undocumented parameter "_mav_refresh_consistent_read" - refresh materialized views using consistent read snapshot (it will reduced the undo log issues).
The Basic problem is "ATOMIC_REFRESH" is true or enable. try to make it false and check
ATOMIC_REFRESH=>false
Example :- execute DBMS_MVIEW.REFRESH(''view_name,'C’,ATOMIC_REFRESH=>false);
- Pavan Kumar N

Similar Messages

  • What happen when an error occurs during Snapshot-Refresh?

    Hi,
    I would like to know what happens, when an error occurs
    during a refresh (COMPLETE-REFRESH) of a snapshot?
    Is there a possibility for exception-handling??
    During a complete refresh the data in the snapshot will be deleted an the requested new from the master-side. Now when
    an error occurs during the refresh what happens with the "old" data of the snapshot??? Will it be lost?
    Thanxx
    Schoeib

    Each thread has its own error state. To get the results for a thread (including error result), you need to have a wait step which waits for it. If a thread has an error and you wait for it, you will get the error at the wait step that waits for it.
    If your main thread has an error and you want some worker thread to exit, you should add code to the cleanup of your main thread's sequence which signals the worker thread to exit (you should already have some sort of mechanism for signaling the worker thread to exit (there are many ways to do this, for example, a boolean variable passed by reference to the new thread's sequence, or a TestStand notification).
    If your main thread is getting an error, but is stuck inside a step, that problem is probably specific to something your code is doing, that is not the normal behavior of TestStand. You will need to provide more details or an example sequence in order for us to better understand what is happening.
    Hope this helps,
    -Doug

  • Snapshot Refresh

    Hi.,
    I am facing following error on during the snapshot refresh at 8i
    ORA-04052: error occurred when looking up remote object [email protected]
    ORA-00604: error occurred at recursive SQL level 2
    ORA-02085: database link RT.PRDU connects to RT
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 617
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 674
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 654
    ORA-06512: at line 1
    Provide me the suitable solution.
    Thanks in advance.

    Try to solve the following error :
    ORA-02085 database link string connects to string
    Cause: The database link attempted to connect to a database with a different name. The name of the database link must be the same name as the name of the database.
    Action: Create a database link with the same name as the database to which it connects.
    What's the name of the dblink ?
    Nicolas.
    Message was edited by:
    N. Gasparotto

  • Snapshot Refresh taking More Time

    Dear All,
    We are facing a Snapshot refresh problem currently in Production Environment.
    Oracle Version : Oracle8i Enterprise Edition Release 8.1.6.1.0
    Currently we have created a Snapshot on a Join with 2 remote tables using Synonyms.
    ex:
    CREATE SNAPSHOT XYZ REFRESH COMPLETE WITH ROWID
    AS
    SELECT a.* FROM SYN1 a, SYN2 b
    Where b.ACCT_NO=a.ACCT_NO;
    We have created a Index on the above Snapshot XYZ.
    Create index XYZ_IDX1 on XYZ (ACCT_NO);
    a. The Explain plan of the above query shows the Index Scan on SYN1.
    If we query above Select Statement,it hardly takes 2 seconds to exedute.
    b. But the Complete Refresh of Snapshot XYZ is almost taking 20 Mins for just truncating and inserting 500 records and is generating huge Disk Reads as SYN1 in remote table consists of 32 Million records whereas SYN2 contains only 500 Records.
    If we truncate and insert inot a table as performed by the Complete refresh of Snapshot,it hardly takes 4 Seconds to refresh the table.
    Please let me know what might be the possible reasons for the Complete refresh of Snapshot taking more time.

    Dear All,
    While refreshing the Snapshot XYZ,I could find the following.
    a. Sort/Merge operation was performed while inserting the data into Snapshot.
    INSERT /*+ APPEND */ INTO "XYZ"
    SELECT a.* FROM SYN1 a, SYN2 b Where b.ACCT_NO=a.ACCT_NO;
    The above operation performed huge disk reads.
    b. By Changing the session parameter sort_area_size ,the time decreased by 50% but still the disk reads are huge.
    I would like to know why Sort/Merge Operation is performed in the above Insert?
    Edited by: Prashanth Deshmukh on Mar 13, 2009 10:54 AM
    Edited by: Prashanth Deshmukh on Mar 13, 2009 10:55 AM

  • How to track Snapshot refresh error

    Hi
    I have a procedure which is doing the below transaction one after one:
    1- Refresh snapshot Snap1
    2- track snapshot refresh status If Ok do step 3 if not exit
    2- Insert agregate data from snapshot Snap1 to table
    3- Track insertion status if Ok proceed on next steps if not exit
    3- commit
    To refresh the snapshot here is the syntaxe i want to use.
    DBMS_SNAPSHOT.refresh('Snap1','F');
    If refresh ok then
    insert into T1 select ..... from Snap1;
    commit;
    end if;
    Thank you.

    I try to show/hide a div depending on the occurence of errors. I resolved this problem by doing this in javascript.
    function showEdu(){
    $("#edu").animate({ height: 'show', opacity: 'show' }, 'slow');
    $s('P6_EDU_SHOWN','Y');
    function hideEdu(){
    $("#edu").animate({ height: 'hide', opacity: 'hide' }, 'slow');
    $s('P6_EDU_SHOWN','N');
    function checkEduError(){
    if($("span").hasClass("errTxt") == true)
    {showEdu();}
    else
    if($v('P6_EDU_SHOWN') == 'Y')
    {showEdu();}
    else
    {hideEdu();}
    }

  • Snapshot refresh interval

    Hi,
    I would like to know how to create a snapshot refresh group that would refresh the snapshot daily between 0800 hrs to 1700 hrs.
    Appreciate any inputs.
    Thanks & Kind Regards,
    Zaid

    Standard disclaimer-- 8.0.5 has been desupported for many years, you really ought to upgrade. Most of the folks on this and other forums haven't seen an 8.0.5 system in quite some time, so there may be version-specific caveats that we've long forgotten.
    When a job fails, the error should be written to the alert log.
    When a job fails, it will be rescheduled with an increasing delay (1 sec, 2 sec, 4 sec, 8 sec, ...) for 16 times. If it fails 16 times in a row, the job is marked as broken.
    You can use the DBMS_JOB.BROKEN method to indicate that a job is no longer broken. You generally want to fix the underlying problem first, though.
    Justin

  • ORA-12008: error in snapshot refresh path

    I am getting this error even i am specifying to use other rollback segment
    ALTER ROLLBACK SEGMENT R02 SHRINK;
    SET TRANSACTION USE ROLLBACK SEGMENT R02;
    alter materialized view PAY_REV_BREAKUPWITHWOFF NOLOGGING;
    BEGIN dbms_mview.refresh('PAY_REV_BREAKUPWITHWOFF') ; END;
    ERROR at line 1:
    ORA-12008: error in snapshot refresh path
    ORA-01562: failed to extend rollback segment number 1
    ORA-01628: max # extents (505) reached for rollback segment SYS_RBS
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 617
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 674
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 654
    ORA-06512: at line 1

    The reason why it's still using SYS_RBS seems to be that since you are refreshing a materialized view, it might be doing parallel DMLs. In this case the clause of specifying a particular rollback segment is ignored.
    In addition to the above, try taking the rollback segment offline by executing
    alter rollback segment SYS_RBS offline;
    and then drop it by running
    drop rollback segment SYS_RBS;
    Then create new one and see if it works.
    if the above mentioned doesn't work somehow...
    try to change the extents storage parameter by running
    alter rollback segment sys_rbs storage (MAXEXTENTS 1000);
    Can't be sure as i currently don't have access to my system
    Hope this helps
    Message was edited by:
    thrilller

  • What happens when UNDO space is full? Transaction takes more time to ERROR?

    I have a long running transaction (more than 3 hours), and at the same time other operations are occurring on different tables, using the same UNDO space.
    Sometimes we see ORA-30036, but this error occurs very late in the process.
    The transaction normally takes 3 hours, but when UNDO space is full, we do not get ORA-30036 upto 8 hours or 9 hours of process.
    I am wondering what could be happening in the background, when UNDO space is full, whcih makes the transaction to extend upto 8 hours or 9 hours (pl. note, this transaction gets completed within 3 hours normally).
    This is in 11g, UNDO space is managed manually.
    Any clues? Thanks in advance.
    Edited by: user588583 on Jan 26, 2011 8:44 AM

    user588583 wrote:
    Any clues? Thanks in advance.Check with your DBA if resumable operations are set, or check RESUMABLE_TIMEOUT init.ora parameter yourself. If it is set to non-zero value, Oracle will suspend SQL statement execution if it runs out of certain resources, and running out of UNDO space is one of them. SQL statement execution will be suspended for RESUMABLE_TIMEOUT seconds giving DBA time to fix space issue. Then SQL statement execution will contitue. If issue is not fixed within RESUMABLE_TIMEOUT, statement will fail.
    SY.

  • Preserving SOA Logical Ports and Trust Relationships during DB Refresh

    Hi,
    I have been searching for this for a while and have not had any luck so far. I thought maybe the vast experience in this community might be able to help me.
    I am trying to preserve the SOA Logical Ports and the SMT1 Trust relationships of the target server during  DB Refresh. Is there a list of tables that we could export (Much like exporting/transporting RFC Destination)?
    Regards
    Shantanu

    Hi
    Check the here under tables if they fits to your needs
    Regards
    SRT_LP                       Logical Ports
    SRT_LP_FEAT            Logical Port Feature
    SRT_LP_OP_FEAT     Logical Port Feature (Operation-Dependent)
    SRT_LP_SXI_ADDR   Logical Ports: XI Addressing
    RSECACTB                 Table for ABAP Access Authorization for Secure Memory
    RSECTAB                    Secure Memory: Memory for Encrypted Data
    RFCTRUST                 List of existing trusting systems
    RFCSYSACL               List of permitted trusted systems for the current system

  • During daily refresh/clone alter database rename file genrating logs under $ORACLE_HOME/dbs with name c-1437102747-20130920-16

    Did anyone have seen this behavior?
      DB version : 11.1.0.7
      OS : HP-UX Itanum
      EBS -11.5.10.2
    We are doing daily refresh/clone of a database instance from production. Recently we are seeing the growth of $ORACLE_HOME/dbs directory during this
    refresh.   During investigation we find out that
      1) When we rename the database files after database restoration. Each below command genrating the 24MB of log file under $ORACLE_HOME/dbs.
      Command :
      alter database rename file '/db02/prod/XDB.dbf' to '/db02/test/XDB.dbf';
    alter database rename file '/db02/prod/a_archive01.dbf' to '/db02/test/a_archive01.dbf';
      Logfiles under $ORACLE_HOME/dbs on target :
      -rw-r----- xxxxx 24379392 Sep 20 05:30 ./dbs/c-1437102747-20130920-02
      -rw-r----- xxxxx 24379392 Sep 20 05:30 ./dbs/c-1437102747-20130920-03
      2) After few minutes, these logs got removed from the directory.
      3) Did not find anything unusual in the alert log.

    These are controlfile autobackups.   Every time you make a physical change to the database structure, an autobackup is created.  In 11.2, the frequency is reduced -- for example if you make 5 changes in quick succession, one autobackup is created.
    CONTROLFILE AUTOBACKUP ON    would be visible when you do a SHOW ALL in rman.
    Hemant K Chitale

  • Transports backup during system refresh

    I have a requirement to take the backup of transports from QA system which are not yet imported into PRD as QA is getting refreshed.  After refresh, I would like to add these transports into queue and import them in sequence.
    Now I can get the list of transports not imported into PRD from "transports waiting to be imported" from PRD system.  But I am unable to get in which sequence should these be imported into QA.  Last time I did but it went in the wrong order and programs got overwritten in QA as I tried to do it by the time/date sequence.
    I wish to know if anyone following the better procedure to take the transports backup in QA during the refresh process.

    Hi Sameer,
    2 things: Either these TRws are being imported for the first time, OR, you are concerned about the repeat import.
    1.
    Usually, the order of import is the same as order of release of the TR from development. However, there may be exceptions in some cases.
    But why are you being worried about the order of the transports? The developers should have a look at the list and tell you the order in which they are to be imported. See, only they would know which request contains which versions of the objects and only they can tell you what goes in and in what order.
    Being from Basis (I hope you are from basis only) you have no way of knowing the correct sequence in such a case. Basis never decides order of TRs.
    2.
    But, if you mean these were imported once in Q but after refresh you want the same order, then you should have gone to the transport history for the system in STMS and from there, you should have seen and saved the order of the original imports.
    Regards,
    Shitij

  • Snapshot Refresh (How to stop COMPLETE refresh and run FAST refresh)?

    Hi,
    I have a snapshot refresh executed as COMPLETE which is taking very long. When I try to kill this and try to run a FAST I get:
    ERROR at line 1:
    ORA-12057: materialized view "PORTALSNP1"."V21_BILLING_ACCOUNT" is INVALID an must complete refresh
    How can I resolve this to stop the COMPLETE refresh altogether and be able to run the FAST refresh.
    Also is there a way to get the time it will take to complete the running snapshot refresh?
    Please and thankYou!
    Regards,
    A

    You don't resolve it ... you drop the materialized view. Then you create a materialized view log. Then a properly coded MV.
    http://www.morganslibrary.org/library.html
    bookmark this link
    then look up "Materialized Views and "Materialized View Logs"
    The log must be created first.

  • The query processor ran out of stack space during query optimization. Please simplify the query

    Can you suggest me that what should i do in this case.
    Actually i am having one table that is a MasterTable.I am referring this table in more than 300 tables that means i am having foreign key of this primary key in 300+ tables.
    due to this i am getting following error during deleting any row,
    doesn't matter that data is existing in reference table or not.
    Error that i am getting is 
    "The query processor ran out of stack space during query optimization. Please simplify the query"
    Can you suggest me that what should i do to avoid this error,because i am unable to delete this entry.
    Apart from it,i am getting performance problem too,so is it due to such huge FK on it.
    Please suggest me on following points
    1. Is it worst way to handle it,if yes then please suggest me solution for it.
    2. If it is a correct way then what should i do if getting error during deleting any record.
    3. Is it right to create Foreign key on each table where i am saving data of this master. if no then how to manage integrity.
    4. What people do in huge database when they wants to create foreign key for any primary key.
    5. Can you suggest me that how DBA's are handling this in big database,where they are having huge no. of tables.

    The most common reason of getting such error is having more than 253 foreign key constraints on a table. 
    The max limit is documented here:
    http://msdn.microsoft.com/en-us/library/ms143432(SQL.90).aspx 
    Although a table can contain an unlimited number of FOREIGN KEY constraints, the recommended maximum is 253. Depending on the hardware configuration hosting SQL Server, specifying additional foreign key constraints may be expensive for the query
    optimizer to process. If you are on 32 bit, then you might want to move to 64 bit to get little bigger stack space but eventually having 300 FK is not something which would work in long run.
    Balmukund Lakhani | Please mark solved if I've answered your question, vote for it as helpful to help other users find a solution quicker
    This posting is provided "AS IS" with no warranties, and confers no rights.
    My Blog |
    Team Blog | @Twitter
    Author: SQL Server 2012 AlwaysOn -
    Paperback, Kindle

  • Scheduling Snapshot refreshes

    Hi
    Need help here. The following is the script to create one of our snapshots.
    CREATE SNAPSHOT PREEM_VIEW_SNP
    PCTFREE 0
    PCTUSED 99
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 25600 K
    NEXT 5120 K
    MINEXTENTS 1
    MAXEXTENTS 505
    PCTINCREASE 0
    FREELISTS 1
    FREELIST GROUPS 1
    BUFFER_POOL DEFAULT)
    TABLESPACE BP_DATA
    LOGGING
    NOCACHE
    NOPARALLEL
    USING INDEX PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    BUFFER_POOL DEFAULT)
    REFRESH COMPLETE
    NEXT TRUNC(SYSDATE+1) + 6.5/24
    WITH ROWID
    USING DEFAULT LOCAL ROLLBACK SEGMENT
    DISABLE QUERY REWRITE AS
    select cust_id customer_id,BTN || BTN_CUST_CD || RPAD(BTN_SORT_CD, 1) || RPAD(BTN_SFX, 4) || RPAD(BTN_ST_CD, 1)BLG_ACCT_TLPHN_NO
    from CSBAN10V@UCDWP001
    where ACCT_MKT_UN_ID in ('C', 'D', 'F', 'G', 'I',
    'L', 'O', 'P', 'R', 'S', 'V', 'W')
    Im concerned about the NEXT TRUNC(SYSDATE+1) + 6.5/24 part. It says the snapshot refreshes every day at 6:30 am.
    I need to schedule the refreshes every day except Saturday and Sunday. Got any idea how can I do that?
    Prash

    You would probably want to use the dbms_job package to schedule the refresh in that case, rather than scheduling the refresh in the materialized view creation. Write a function that returns the next refresh time for your snapshot and pass that in when you create your job.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Printers deployed by Group Policy Preferences disappeared during GP refresh processing

    I am testing deployment of print queues using GP preference. All clients are Win 7. Replace mode is used so that the print queues can be updated if they are renamed on server side. Also set to remove the printers when GP is out of scope. I found that all
    the printers disappeared during GP refresh processing which happens every 90 to 120 mins by default. Then repopulated. As most of them are utilizing HP universal print driver so the repopulation usually take 5 to 10 minutes to complete.
    To stop the refresh I attempt to set maxnogpolistchangesinterval registry value in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions\{BC75B1ED-5833-4858-9BB8-CBF0B166DF9D} to 960 (16 hours). As users shutdown computer
    daily so this should eliminate the refresh processing on printers. But the reg key can be writted only by SYSTEM. Administrators have read access only. Looks like anything under the key should not be modified.
    Is there something I can set so that printer processing happens only during computer startup?

    HelloForest,
    To achieve the requirement, you can try the following solutions:
    1.     Create
    a startup script to deploy the registry value;
    How Can I Use the RunAs Command to Run a Script Under Alternate User Credentials?
    http://blogs.technet.com/b/heyscriptingguy/archive/2006/04/28/how-can-i-use-the-runas-command-to-run-a-script-under-alternate-user-credentials.aspx
    2.     Create
    a custom .adm to deploy the registry value;
    Writing Custom ADM Files for System Policy Editor
    http://support.microsoft.com/kb/225087
    Brent Hu,
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer
    your question. This can be beneficial to other community members reading the thread. ”

Maybe you are looking for

  • Script that moves items to trash after importing to iTunes

    Hi, I have zero experience in this, all I have done is just from having googled stuff, so please be patient if I'm asking stupid questions. I have tried searching the forum first but I can't find the answer to this question. I download music from var

  • New calculation in pdf form

    I've got a little pdf-form where you can enter the unit price and the order size. The form will calculate the allround price (Text1+text2...), taxes and so on. First the unit price is multiplied by order size, these will be add and finally I calculat

  • PPV DataFlow

    Hi, Could some one give me a step by step data flow for a PPV report. I understand thats its a custom report. Im looking for a generic sample. Thanks Edited by: TEE JAY on Feb 22, 2008 6:59 PM

  • Algorithms in ABAP

    Hello folks, I'm looking for material (books or anything) describing the developement of effective algorithms in ABAP, and the measurement of the performance of the used concepts. I'm thinking about the possibility to write my Bachelor Thesis about a

  • How to catch browser close event excluding navigation events

    Hi, I tried using onBeforeUnload event and onUnload events.. but they are catching navigation events within the same site. Could you please let me know how I can catch browser close events without catching Navigation events? Thanks.