What is the difference between view and materialized views

What is the difference between view and materialized view ? can we update the base table using views

can we update the base table using viewsYes:
1. an updatable view is one that lets you perform DML on the underlying table
(see Oracle Database Concepts 10g - 5 Schema Objects)
2. non-updatable view requires INSTEAD OF Triggers
(see Oracle Database Concepts 10g - 22 Triggers)
You can have updateable (and writeable) snapshots - in updateable (writeable) MV replication.
Oracle uses snapshots (Materialized Views - MV) for two different purposes:
1. replication
2. automated Query Rewrite facility (first introduced in Oracle Discoverer, later included in Oracle database 8i).
Replication types in Oracle are:
a) Basic replication (MV replication)
- transaction based
- row-level
- asynchronous from master table to MV (Materialized View)
- DML replication only
- database 7 / 8.0 / 8i / 9i / 10g
- Standard and Enterprise Edition
1. Read-only MV replication
2. Updateable MV replication:
2.1 asynchronous from MV to master
2.2 synchronous from MV to master
3. Writeable MV replication
b) Multimaster replication
- transaction based
- row-level or procedural
- asynchronous or synchronous
- DML and DDL replication
- database 7 / 8.0 / 8i / 9i / 10g
- Enterprise Edition only
1. row-level asynchronous replication
2. row-level synchronous replication
3. procedural asynchronous replication
4. procedural synchronous replication
c) Streams replication
- (redo) log based
- row-level
- asynchronous
- DML and DDL replication
- database 9i / 10g (10g has Down Streams Capture)
- Enterprise Edition only (Standard Edition 10g can execute Apply process)
Zlatko Sirotic

Similar Messages

  • What is the difference between 'workbookk' and ' view'?

    Hi all,
    What is the difference between 'workbook' and 'view'. I check some document but I don't see there is big difference.

    hi John,
    We use workbooks for excel formating,like font changes, lay out changes etc...
    Workbooks into which queries are inserted are no different in appearance than other Excel workbooks.
    They can be saved as files, copied, sent and (using Excel functions) edited however you like and even supplemented with other data.
    Views are primarily used for BW Web Reports, it is similar to the concept of workbooks is for BEx.A local view can be accessed only within a workbook in which it was saved, where as a global view can be accessed globally in the system, it is not attached to a workbook. Only Global view can be used in BW Web Templates.
    u can seee the help doc for more details:

  • What is the difference between task and change request?

    Hi all
    What is the difference between task and change request?
    thanks all

    Dear Ispit,
    <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/19/3f5bf8a4b011d285090000e8a57770/content.htm">Request Types and Task Types</a>
    <a href="http://help.sap.com/saphelp_sm32/helpdata/en/dd/cc86a571464559a2685a404397065b/content.htm">Change Transactions in Change Request Management</a>
    For more information about the SAP Change and Transport System (CTS), visit the following link:
    Transport Request is generated in following scenarios:
    1. Customizing Request - When doing or changing some customization.
    2. WorkBench Request - When configuration is cross-client. Eg Generating new Table, making changes in access sequence, Abap development, etc.
    Transport request is not generated for Master Data. For eg: Customer Master, Material Master, price master, etc.
    Benefit of Transport Request:
    SAP Landscape normally has 3- Tier system:
    Development Server - Where customization takes place. Transport request is generated at this level & then first transported to Quality server for testing whether it meets the requirement or not. Once the requirement is met in Quality server then Request is transported from Development Server to Production Server (Actual / Live System)
    Quality Server - Mainly useful for testing.
    Production Server Actual / Live server, where the real transactions are created & posted.
    Procedure to Release & Transport Request:
    1. In development server, go to T.Code: SE10 & select the check box Modifiable & enter
    2. In the next screen, you will see list of transport request created.
    Note: Transport request consist of main request along with sub request. These sub request hold the object to be transported.
    3. Expand the main request & you will be able to view the sub requests attached to main request.
    4. First release the sub requests.
    Note: To release the request, select the request ni & click on release request individually (Do not select release all request)
    5. Next release main request.
    6. Once the request is released sucessfully, imform the basis person to import the request to QA server.
    If the authority is with you, through T.Code: STMS, select development server --> select request no & release to QA server. Here when it pops up client no, user id & password, maintain it of QA server & release the request to QA server.
    Reward points if this is helpful.

  • What is the difference between tkprof and explainplan

    what is the difference between tkprof and explainplan.

    Execution Plans and the EXPLAIN PLAN Statement
    Before the database server can execute a SQL statement, Oracle must first parse the statement and develop an execution plan. The execution plan is a task list of sorts that decomposes a potentially complex SQL operation into a series of basic data access operations. For example, a query against the dept table might have an execution plan that consists of an index lookup on the deptno index, followed by a table access by ROWID.
    The EXPLAIN PLAN statement allows you to submit a SQL statement to Oracle and have the database prepare the execution plan for the statement without actually executing it. The execution plan is made available to you in the form of rows inserted into a special table called a plan table. You may query the rows in the plan table using ordinary SELECT statements in order to see the steps of the execution plan for the statement you explained. You may keep multiple execution plans in the plan table by assigning each a unique statement_id. Or you may choose to delete the rows from the plan table after you are finished looking at the execution plan. You can also roll back an EXPLAIN PLAN statement in order to remove the execution plan from the plan table.
    The EXPLAIN PLAN statement runs very quickly, even if the statement being explained is a query that might run for hours. This is because the statement is simply parsed and its execution plan saved into the plan table. The actual statement is never executed by EXPLAIN PLAN. Along these same lines, if the statement being explained includes bind variables, the variables never need to actually be bound. The values that would be bound are not relevant since the statement is not actually executed.
    You don’t need any special system privileges in order to use the EXPLAIN PLAN statement. However, you do need to have INSERT privileges on the plan table, and you must have sufficient privileges to execute the statement you are trying to explain. The one difference is that in order to explain a statement that involves views, you must have privileges on all of the tables that make up the view. If you don’t, you’ll get an “ORA-01039: insufficient privileges on underlying objects of the view” error.
    The columns that make up the plan table are as follows:
    Name Null? Type
    ID NUMBER(38)
    There are other ways to view execution plans besides issuing the EXPLAIN PLAN statement and querying the plan table. SQL*Plus can automatically display an execution plan after each statement is executed. Also, there are many GUI tools available that allow you to click on a SQL statement in the shared pool and view its execution plan. In addition, TKPROF can optionally include execution plans in its reports as well.
    Trace Files and the TKPROF Utility
    TKPROF is a utility that you invoke at the operating system level in order to analyze SQL trace files and generate reports that present the trace information in a readable form. Although the details of how you invoke TKPROF vary from one platform to the next, Oracle Corporation provides TKPROF with all releases of the database and the basic functionality is the same on all platforms.
    The term trace file may be a bit confusing. More recent releases of the database offer a product called Oracle Trace Collection Services. Also, Net8 is capable of generating trace files. SQL trace files are entirely different. SQL trace is a facility that you enable or disable for individual database sessions or for the entire instance as a whole. When SQL trace is enabled for a database session, the Oracle server process handling that session writes detailed information about all database calls and operations to a trace file. Special database events may be set in order to cause Oracle to write even more specific information—such as the values of bind variables—into the trace file.
    SQL trace files are text files that, strictly speaking, are human readable. However, they are extremely verbose, repetitive, and cryptic. For example, if an application opens a cursor and fetches 1000 rows from the cursor one row at a time, there will be over 1000 separate entries in the trace file.
    TKPROF is a program that you invoke at the operating system command prompt in order to reformat the trace file into a format that is much easier to comprehend. Each SQL statement is displayed in the report, along with counts of how many times it was parsed, executed, and fetched. CPU time, elapsed time, logical reads, physical reads, and rows processed are also reported, along with information about recursion level and misses in the library cache. TKPROF can also optionally include the execution plan for each SQL statement in the report, along with counts of how many rows were processed at each step of the execution plan.
    The SQL statements can be listed in a TKPROF report in the order of how much resource they used, if desired. Also, recursive SQL statements issued by the SYS user to manage the data dictionary can be included or excluded, and TKPROF can write SQL statements from the traced session into a spool file.
    How EXPLAIN PLAN and TKPROF Aid in the Application Tuning Process
    EXPLAIN PLAN and TKPROF are valuable tools in the tuning process. Tuning at the application level typically yields the most dramatic results, and these two tools can help with the tuning in many different ways.
    EXPLAIN PLAN and TKPROF allow you to proactively tune an application while it is in development. It is relatively easy to enable SQL trace, run an application in a test environment, run TKPROF on the trace file, and review the output to determine if application or schema changes are called for. EXPLAIN PLAN is handy for evaluating individual SQL statements.
    By reviewing execution plans, you can also validate the scalability of an application. If the database operations are dependent upon full table scans of tables that could grow quite large, then there may be scalability problems ahead. On the other hand, if large tables are accessed via selective indexes, then scalability may not be a problem.
    EXPLAIN PLAN and TKPROF may also be used in an existing production environment in order to zero in on resource intensive operations and get insights into how the code may be optimized. TKPROF can further be used to quantify the resources required by specific database operations or application functions.
    EXPLAIN PLAN is also handy for estimating resource requirements in advance. Suppose you have an ad hoc reporting request against a very large database. Running queries through EXPLAIN PLAN will let you determine in advance if the queries are feasible or if they will be resource intensive and will take unacceptably long to run.

  • What is the difference between DSo and Infocube

             Kindly tell me what is the difference between DSO and Infocube?
    And please tell me how to take the desicion that in whichi case we can use DSO and in which case we can use Infocube..

    Hi ,
    DataStore object serves as a storage location for consolidated and cleansed transaction data or master data on a document (atomic) level.
    This data can be evaluated using a BEx query.
    A DataStore object contains key fields (for example, document number/item) and data fields that can also contain character fields (for example, order status, customer) as key figures. The data from a DataStore object can be updated with a delta update into InfoCubes and/or other DataStore objects or master data tables (attributes or texts) in the same system or across different systems.
    Unlike multidimensional data storage using InfoCubes, the data in DataStore objects is stored in transparent, flat database tables. The system does not create fact tables or dimension tables.
    The cumulative update of key figures is supported for DataStore objects, just as it is with InfoCubes, but with DataStore objects it is also possible to overwrite data fields. This is particularly important with document-related structures. If documents are changed in the source system, these changes include both numeric fields, such as the order quantity, and non-numeric fields, such as the ship-to party, status and delivery date. To reproduce these changes in the DataStore objects in the BI system, you have to overwrite the relevant fields in the DataStore objects and set them to the current value. Furthermore, you can use an overwrite and the existing change log to render a source delta enabled. This means that the delta that is further updated to the InfoCubes, for example, is calculated from two successive after-images.
    An InfoCube describes (from an analysis point of view) a self-contained dataset, for example, for a business-orientated area. You analyze this dataset in a BEx query.
    An InfoCube is a set of relational tables arranged according to the star schema: A large fact table in the middle surrounded by several dimension tables.
    InfoCubes are filled with data from one or more InfoSources or other InfoProviders. They are available as InfoProviders for analysis and reporting purposes.
    The data is stored physically in an InfoCube. It consists of a number of InfoObjects that are filled with data from staging. It has the structure of a star schema.
    The real-time characteristic can be assigned to an InfoCube. Real-time InfoCubes are used differently to standard InfoCubes.
    ODS versus Info-cubes in a typical project scenario
    why we use ods?
    why is psa  & ods nessasary
    Hope this helps,
    CSM Reddy

  • What is the difference between 651 and 653 movement types

    What is the difference between 651 and 653 movement types
    Points will be rewarded

    Whenever goods movment happens following things are going on in the background:
    A material document is generated, which is used as proof of the movement and as a source of information for any other applications involved.
    If the movement is relevant for Financial Accounting, one or more accounting documents are generated.
    The stock quantities of the material are updated.
    The stock values in the material master record are updated, as are the stock and consumption accounts.
    651 - two steps - with a transfer posting using 453
    653 - one steps - direct post to unrestricted used
    *Using movement type 651, you post returns from a customer with a return delivery in Shipping to blocked stock returns.
    Using 653 movement type, you post returns from the customer with returns delivery via Shipping directly to the valuated stock.
    <b>Reward if helpful.</b>

  • What is the difference between IPortalComponentContext and ServletContext ?

    1) What is the difference between IPortalComponentContext and ServletContext  or PageContext?
    2) Both IPortalComponentContext and ServletContext are Same . If Both are Same Both Can be interchangeably Used?
    3) If Both IPortalComponentContext and ServletContext are not same ,what is the specific functionality of each. I mean when is the IPortalComponentContext used and when is ServletContext is used?
    4) can any please explain the difference and functionlity of each code snippet?
    Thanks and Regards

    Hi Prasad,
    what both contexts have in common is, that the context gives access to some resources the container provides.
    Nothing else.
    The servlet context is rather an application context of any java webapp and exists once per vm, a PortalComponentContext exists for every component and represents a view of the context in which the runtime runs the component.
    To answer your questions shortly:
    1) http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/ServletContext.html
    2) NO!
    3) see 1)
    4) ?
    Regards, Karsten

  • What is the Difference between Consolidation and Aggregation

    Hi Masters
    What is the difference between Consolidation and Aggregation? i think both are same, what is the exact difference in-terms of HFM and Essbase?

    The differences lies in the mechanism used to calculate and store the value. Dynamic members such as parent accounts or customs, derived views, parent periods, or <Total> members in the value dimension are performed on the fly in the HFM app server's memory without any discrete action on the user or adminisrator's part. These are aggregations in this context, and are distinct from amounts that are calculated and then stored in the HFM database which are either the result of direct data entry (from data loads or journals) or calculated amounts resulting from HFM's rules. "Consolidation" in your question would be one of the stored, calculated amounts in HFM.

  • What is the difference between #variable_name and :variable_name?

    What is the difference between #variable_name and :variable_name?
    I have found that if we use alphanumeric variable then :variable_name return value in quotes but #variable_name without quotes.
    Why it does not work in the same way for variable default values when variable is used in filter? (It works in mapping)
    I use variable in filter like T.OUT_DATE>convert(datetime,:LAST_UPDATE_DATE,121)
    When I use my variable in package and do refresh it works fine. But when I try to execute the same interface with variable default value I get error. Seems that variable name has been not changed to the value. It does not work with default value in quotes neither without quotes.
    Any ideas how to solve that?
    Thank you in advance!
    Edited by: user13278245 on Sep 15, 2010 4:34 AM

    Question is how to make it work with default value, when I execute interface standalone, not in package? And why it works in mapping but not in filter?
    + I have found that it works if source is Oracle. It doesn't work only for MS SQL source.
    Edited by: user13278245 on Sep 15, 2010 6:43 AM

  • What is the difference between start() and run()

    what is the difference between start() and the run()???
    in my app, i have
    Console.debug( "starting thread to listen for clients" );
    _server = new Server( this );
    _server extends Thread..
    why everytime i use server.start(); my app will terminate on it is own, even though in my servr.run() method, i have a while loop
    and if i call _server.run() explicitly in my code, that while loop will be in execution
    can someone let me know??

    what is the difference between start() and the
    run()???start() is a method on Thread that tells it to start.
    run() is a method in the object that the thread executes.
    why everytime i use _server.start(); my app will
    terminate on it is own, Err.... I'm not convinced this is true. It'll throw an IllegalThreadStateException, if you try to restart an existing thread.
    If that's what you're saying.
    even though in my _servr.run()
    method, i have a while loopI don't see the connection. Are you saying that the while loop never terminates, and you don't see why the thread is terminating?
    and if i call _server.run() explicitly in my code,
    that while loop will be in executionIf you call server.run() explicitly, then run() will be executed in the same thread that you called it in.

  • What is the difference between exists and in

    hi all
    if i have these queries
    1- select ename from emp where ename in ( select ename from emp where empno=10)
    2- select ename from emp where exists ( select ename from emp where empno=10)
    what is the difference between exists and in is that only when i use in i have to bring the field name or what.... i mean in a complex SQL queries is it will give the same answer

    You get two entirely different result sets that may be the same. Haah! What do I mean by that.
    SQL> select table_name from user_tables;
    2 rows selected.
    SQL> select table_name from user_tables where table_name in (select table_name from user_tables where table_name = 'FOO');
    1 row selected.
    SQL> select table_name from user_tables where exists(select table_name from user_tables where table_name = 'FOO');
    2 rows selected.So, why is this? the WHERE EXISTS means 'if the next is true', much like where 1=1 being always true and 1=2 being always false. In this case, where exists could be TRUE or FALSE, depending on the subquery.
    WHERE EXISTS can be useful for something like testing if we have data, without actually having to return columns.
    So, if you want to see if an employee exists you might say
    SELECT 1 FROM DUAL WHERE EXISTS( select * from emp where empid = 10);
    If there is a row in emp for empid=10, then you get back 1 from dual;
    This is what I call an 'optimistic' lookup because the WHERE EXISTS ends as soon as there is a hit. It does not care how many - only that at least one exists. It is optimistic because it will continue processing the table lookup until either it hits or reaches the end of the table - for a non-indexed query.

  • 1)Now I use Lightrom 5.7 how to upgrade to 6 or CC? 2) What is the difference between 6 and CC vercion? 3) When I used lightromm 3, I could see inEXIF the distance in meters till the object I took, in the later virsions that function disappeared, it is ve

    1)Now I use Lightrom 5.7 how to upgrade to 6 or CC?
    2) What is the difference between 6 and CC version?
    3) When I used lightromm 3, I could see in EXIF the distance in meters till the object I took, in the later virsions that function disappeared, it is very sad  I am stiil waiting and hope that it would be possibble in the new  versions. Or this indication may  possible by setting?

    1)Now I use Lightrom 5.7 how to upgrade to 6 or CC?
    Purchase the standalone upgrade from here: Products
    Download CC version from here: Explore Adobe desktop apps | Adobe Creative Cloud
    2) What is the difference between 6 and CC version?
    See this comparison chart: Compare Lightroom versions | Adobe Photoshop Lightroom CC
    3) When I used lightromm 3, I could see in EXIF the distance in meters till the object I took, in the later virsions that function disappeared, it is very sad  I am stiil waiting and hope that it would be possibble in the new  versions. Or this indication may  possible by setting?
    Rob Cole's ExifMeta plugin displays the Subject Distance field (and much more).  Unfortunately, his Web site appears to be down again.  He used to be very active here, but he hasn't posted in several months.

  • What's the difference between thunderbolt and mini displayport?

    I'm trying to connect my Macbook with a monitor and I'm thinking of what cable to get. I will have to connect using a (Thunderbolt to HDMI cable) or a (mini displayport to HDMI cable).
    I was wondering what's the difference between Thunderbolt and mini displayport

    @bontistic: it is not true that only the Macbook Air supports Thunderbolt. All models(!) support thunderbolt: also the Macbook Pro's and Mini's. Eg.: http://www.apple.com/nl/macbookpro/features.html#thunderbolt
    My Macbook Pro from 2011 already supported Thunderbolt...

  • What is the difference between, DSO and DTP in BI 7.0

    Hi Guru's
    what is the difference between, DSO and DTP in BI 7.0 , how it will come the data from r/3 to BI 7.0, can u discribe?
    points will be assined?
    Thanks & Regards,

    The data will be replicated in the same way as we do in 3.5.
    Activating, and Transporting the same DS in BW, and Replicating them in BW from R/3.
    First you need to know Diff b/w 3.5 nd 7.0, for that check the below doc's:
    Re: How to identify Header, Item and Schedule item level data sources?
    For Transformations in BI:
    For DTP:
    For DSO:
    Data Store Objects:

  • What is the difference between ojvm and client versions?

    Changing the java vm from client to ojvm result in the following error:
    java.lang.UnsatisfiedLinkError: no UniqueC in java.library.path
    Project Settings -&gt; Configurations -&gt; Development -&gt; Runner -&gt; Virtual Machine -&gt; ojvm FAILS
    Project Settings -&gt; Configurations -&gt; Development -&gt; Runner -&gt; Virtual Machine -&gt; ojvm      RUNS OK.
    Project Settings -&gt; Configurations -&gt; Development -&gt;Paths -&gt;Additional Classpath:
    What is the difference between ojvm and client versions? How can I make ojvm to find UniqueC.dll?
    Various version info:
    Output from program:
    java version:1.4.2_01
    java home:C:\programfiler\JAVA\2sdk1.4.2_01\jre
    java vm version: cdov
    Taken from JDeveloper Help About:
    Oracle IDE
    UML Modelers Version
    Business Components Version
    java.version     1.3.1_02
    java.vm.name     OJVM Client VM
    java.vm.version o

    However, Adobe offers extra paid services to create PDF or to export PDF to other formats. You are not required to buy them, however.

  • What is the difference between TO_CHAR and TO_DATE()?

    Hi everybody,
    i am facing a problem in my system.It is quite urgent, can you explain me "What is the difference between TO_CHAR and TO_DATE()?".
    According to user's requirement, they need to generate a code with format "YYMRRR".
    YY = year of current year
    M = month of current month (IF M >=10 'A' ,M >=11 'B' , M >=10 'C')
    RRR = sequence number
    Example: we have table USER(USER_ID , USER_NAME , USER_CODE)
    EX: SYSDATE = "05-29-2012" MM-DD-YYYY
    IF 10
    1- UID01 , AAAAA , 125001
    2- UID02 , AAAAA , 125002
    10- UID010 , AAAAA , 12A010
    This is the original Script code. But This script runs very well at my Local. Right format. But it just happens wrong format on production.
    12A010 (Right) => 11C010 (Wrong).
    SELECT TO_CHAR(SYSDATE, 'YY') || DECODE( TO_CHAR(SYSDATE, 'MM'),'01','1', '02','2', '03','3', '04','4', '05','5', '06','6', '07','7', '08','8','09','9', '10','A', '11','B', '12','C') ||     NVL(SUBSTR(MAX(USER_CODE), 4, 3), '000') USER_CODE FROM TVC_VSL_SCH                                                       
         WHERE TO_CHAR(SYSDATE,'YY') = SUBSTR(USER_CODE,0,2)                         
         AND TO_CHAR(SYSDATE,'MM') = DECODE(SUBSTR(USER_CODE,3,1),'1','01',          
              '2','02', '3','03', '4','04', '5','05',          
              '6','06', '7','07', '8','08', '9','09',          
              'A','10', 'B','11', 'C','12')                    
    I want to know "What is the difference between TO_CHAR and TO_DATE()?".

    try to use following select
    with t as
    (select TO_CHAR(SYSDATE, 'YY') ||
             DECODE(TO_CHAR(SYSDATE, 'MM'),
                    '01', '1',
                    '02', '2',
                    '03', '3',
                    '04', '4',
                    '05', '5',
                    '06', '6',
                    '07', '7',
                    '08', '8',
                    '09', '9',
                    '10', 'A',
                    '11', 'B',
                    '12', 'C') as code
        from dual)
    SELECT t.code || NVL(SUBSTR(MAX(USER_CODE), 4, 3), '000') USER_CODE
    WHERE SUBSTR(USER_CODE, 1, 3) = t.codeand yes you need check time on your prodaction server
    good luck
    Edited by: Galbarad on May 29, 2012 3:56 AM

Maybe you are looking for