Oracle Concepts!!

(ORACLE CONCEPT DOCS.)
Log Writer (LGWR)..writes to files on the redo log files on the disk
Database Writer (DBWn)...writes to files on Data file on the disk
Log Writer Process (LGWR)
The log writer process (LGWR) is responsible for redo log buffer
management—writing the redo log buffer to a redo log file on disk.
The redo log buffer is a circular buffer. When LGWR writes redo entries from the
redo log buffer to a redo log file, server processes can then copy new entries over
the entries in the redo log buffer that have beenwritten to disk.
When a user issues a COMMIT statement, LGWR puts a commit record in the redo
log buffer and writes it to disk immediately, along with the transaction’s redo
entries. The corresponding changes to data blocks are deferred until it is more
efficient to write them. This is called a fast commit mechanism. The atomic write of
the redo entry containing the transaction’s commit record is the single event that
determines the transaction has committed. Oracle returns a success code to the
committing transaction, although the data buffers have not yet been written to disk.
When a user commits a transaction, the transaction is assigned a system change
number (SCN), which Oracle records along with the transaction’s redo entries in
the redo log. SCNs are recorded in the redo log so that recovery operations can be
synchronized in Oracle9i Real Application Clusters and distributed databases.
so what happens in the mean time if somebody pulls plug of electricity..Data has been written to online redo files not on DATA files...so after a restart which oracle process makes/copies entire new values of commited transactions to DATA files from online redo files?

SMON
SMON process performs instance recovery during startup by using the online redo log files.
When a user issues a COMMIT statement, LGWR puts a
commit record in the redo
log buffer and writes it to disk immediately, along > with the transaction’s redo
entries. I think the above statement is false.evethough commit is done,it will not write immediately to data files.It will make the transactions much slower.change will take effect on datafiles only once checkpoint is happening.
Can anyone verify this?
~

Similar Messages

  • Query on Oracle Concepts: Advantages of ASSM

    Hi,
    A query on Oracle Concepts, specifically on Advantages of ASSM.
    While I am able to understand 'Simplified administration' & 'Increased concurrency', can anyone mention this in simple terms:
    • Dynamic affinity of space to instances in an Oracle Real Application Clusters (Oracle RAC) environment.I guess I know whats Oracle RAC but what it meant by 'Dynamic affinity of space to instances'?
    Regards,
    Ankit Rathi

    Hi Aman,
    I was going through Oracle® Database Concepts 11g Release 2, Chapter 12 Logical Storage Structures (link below):
    http://docs.oracle.com/cd/E11882_01/server.112/e25789/logical.htm#i19599
    *Automatic Segment Space Management*
    The ASSM method uses bitmaps to manage space. Bitmaps provide the following advantages:
    •Simplified administration
    ASSM avoids the need to manually determine correct settings for many storage parameters. Only one crucial SQL parameter controls space allocation: PCTFREE. This parameter specifies the percentage of space to be reserved in a block for future updates (see "Percentage of Free Space in Data Blocks").
    •Increased concurrency
    Multiple transactions can search separate lists of free data blocks, thereby reducing contention and waits. For many standard workloads, application performance with ASSM is better than the performance of a well-tuned application that uses MSSM.
    •Dynamic affinity of space to instances in an Oracle Real Application Clusters (Oracle RAC) environment
    ASSM is more efficient and is the default for permanent, locally managed tablespaces.Regards,
    Ankit Rathi

  • Basic Oracle Concepts

    Hi everyone,
    I am confused about the following basic concepts in Oracle : Database, Schema, User, Tablespace.
    What I think so far :
    -> A Database is an Oracle server service a SQLPlus session can connect onto. Hence, the Database (service) name must be provided in the connection string in the first SQLPlus dialog window.
    -> A Schema is linked to one and only one user. A Schema contains "database objects" such as tables and indexes. Schemas are not necessary in a Database.
    -> A User is linked to one or zero schema. He only has access to its own schema.
    -> A tablespace is included in a schema and can be considered as a logic organisation unit. It contains "database objects" such as tables and indexes.
    On which points am I right ? Please let me know why. I do not want to continue working on Oracle "databases" without knowing exactly the meaning of these basic concepts.

    Technically,
    A database is a collection of data files.
    An instance is a collection of processes and memory structures that you connect to. An instance accesses a database. Normally, there is a 1:1 relationship between an instance and a database but with RAC (real application clusters), you can have instances on multiple different servers accessing a single database on a shared SAN.
    A schema is a collection of objects owned by a user. A user is an account that can log in to a database (via an instance that has mounted the database). You can get into a bit of a semantic argument about whether a normal database user that doesn't own any objects has a schema. Many tools will suppress empty schemas from their GUIs to make navigating easier for the case where you have a database that has hundreds of users of which only a handful own objects. I'd generally prefer to say that the schemas exist but are empty. If you get into enterprise users, however, you'll have users that aren't owned by the database who have a shared schema. But that's a pretty sophisticated distinction to make.
    A tablespace is a logical collection of data files. A database contains many tablespaces (user-defined tablespaces in addition to tablespaces like UNDO, TEMP, SYSTEM, and SYSAUX that are created by default). A database also contains many schemas and many users (user-defined in addition to users and schemas like SYS and SYSTEM that are created automatically).
    All objects exist in 1 schema. An object can exist in multiple tablespaces if it is partitioned but each object would normally reside in a single tablespace. A single schema can own objects in multiple tablespaces. And a tablespace can have objects owned by multiple schemas.
    Justin

  • Oracle Concepts: Query on SQL Processing (execution in SGA/PGA)

    Hi,
    I need some clarity on my understanding, suppose there is a query:
    SELECT t1.c1, t1.c2
    FROM t1, t2
    WHERE t1.c3 = t2.c1
    ORDER BY t1.c1;User A submits above query and following steps are executed:
    Syntax Check -in PGA
    Semantic Check -in PGA
    Shared Pool Check (unsuccessful) -in SGA
    Optimization (Hard Parse) -in SGA
    Row Source Generation (Hard Parse) -in SGA
    Execution - in SGA?User B submits same query and following steps are executed:
    Syntax Check -in PGA
    Semantic Check -in PGA
    Shared Pool Check (successful) -in SGA
    (Soft Parse)
    Execution - in SGA?First question (General):
    I thought Execution happens in SGA, but sorting, hashing, and/or merging bitmaps happens in PGA (temporary segment) so is it a sub-part of Execution that happens in user's PGA?
    Second question (For user B):
    Once Shared Pool Check is successful, and plan/data-sets are already in SGA, so sorting, hashing, and/or merging bitmaps will happen on these data-sets in user B's PGA again?
    Regards,
    Ankit Rathi
    http://oraclenbeyond.blogspot.in

    OnB wrote:
    Hi,
    I need some clarity on my understanding, suppose there is a query:
    SELECT t1.c1, t1.c2
    FROM t1, t2
    WHERE t1.c3 = t2.c1
    ORDER BY t1.c1;User A submits above query and following steps are executed:
    Syntax Check -in PGA
    Semantic Check -in PGA
    Shared Pool Check (unsuccessful) -in SGA
    Optimization (Hard Parse) -in SGA
    Row Source Generation (Hard Parse) -in SGA
    Execution - in SGA?User B submits same query and following steps are executed:
    Syntax Check -in PGA
    Semantic Check -in PGA
    Shared Pool Check (successful) -in SGA
    (Soft Parse)
    Execution - in SGA?First question (General):
    I thought Execution happens in SGA, but sorting, hashing, and/or merging bitmaps happens in PGA (temporary segment) so is it a sub-part of Execution that happens in user's PGA?The execution happens in the SGA(Buffer cache) but any kinds of such processing like sorting is session specific and that's why it happens in the PGA of that user.
    >
    Second question (For user B):
    Once Shared Pool Check is successful, and plan/data-sets are already in SGA, so sorting, hashing, and/or merging bitmaps will happen on these data-sets in user B's PGA again?Yes.
    That said, can you post a link that confirms that the syntax/semantics check happen in the PGA? AFAIK it's not really a part of the PGA because oracle's code itself would store the grammar and would do it .
    Aman....

  • Oracle concepts - SID / instance / service / listener / dispatcher ....

    Hello,
    Newbie, conceptual question, please bear with me.
    Suppose I have a Oracle database server that runs a single database / instance / SID. The server has 2 LAN cards and 2 IP addresses - 192.168.1.1 and 192.168.2.1.
    I wish the users to be able to connect on both IP addresses. Further, I wish two TCP ports to be available for connections - 1521 and 1531. Hence we have a total of 4 possible IP address / TCP port pairs.
    My queries -
    - first of all, is this a valid, do-able scenario ?
    - how many services do we have, one or four ? How many listeners ? How many dispatchers ?
    - what would the IP address / TCP port combination be called in this case ? can I apply different priorities on each of these pairs ?
    Regards
    Edited by: user1050017 on Apr 18, 2012 1:02 AM

    Welcome to OTN!
    user1050017 wrote:
    - first of all, is this a valid, do-able scenario ?Yes
    - how many services do we have, one or four ? How many listeners ? How many dispatchers ?one listener
    - what would the IP address / TCP port combination be called in this case ? can I apply different priorities on each of these pairs ?In this case you must use hostname in listener.ora, not an IP

  • Oracle Concepts: Clarity required on Instance Recovery

    One of my colleague was discussing instance recovery with me.
    We discussed about checkpoint position, instance recovery phases (rolling forward & rolling back ), then he asked me whats the point of rolling forward (applying redo logs) and then rolling back (applying undo blocks), why not applying only committed transactions?
    I told him that this happens because:
    1) roll forward to recreate the scenario just before when Instance crashed
    2) roll forward/roll back is the fastest way to recover
    I am not sure from where I got this learning, may be some blog or article (probably not from Oracle Docs), but is it correct?
    Regards,
    Ankit Rathi

    OnB wrote:
    The 2nd point is completely wrong!Let me elaborate the context of 2nd point, it was mentioned in context of applying only committed transactions during recovery. As all the change vectors go in the redo log files, had there been any mechanism to identify only committed transactions, it would have taken more time (its really hypothetical as there is no mechanism exists, right?) by that mechanism to identify committted transactions (from redo logs) than simply rolling forward and rolling back.There is no context in that point, it's wrong , plain and simple!
    There is a mechanism to identify committed transactions and that's called commit . But when you are doing recovery, you are not recovering just the committed transactions but you are recreating the entire scene before the crash which means, you would be required to apply both the uncommitted and committed work/change vectors. Going by your logic, if Oracle would start searching for the committed transactions, it would have many issues. One, time taken would be more higher. Two, there may be an instance that the commit was issued but before the commit complete message could reach the user, instance got terminated so how about those blocks which may be now in data file and have got an active transaction status and are unsure whether they are committed or not. And last, the way LGWR writes is just to keep on pushing change vectors to the redo stream in the order of the SCN. So for doing a recovery, you would need to reapply all of that changed data in that same SCN ordering.
    The meaning of instance recovery is that you are not having a physical file crashed or deleted but there was a memory loss and few buffers were left out from being written to the data files and now, data files , control file and log files are not in synch.
    The second point, where you are saying its the fastest, is wrong because even for the instance recovery , it can take a very long time and it would depend on how much work was left over before the instance was crashed. Roll Forward is the way to bring the data files in synch with the redo log files and the control files. So if the data files were on Checkpoint Number 100 and the control files and redo log files recorded the number as 120, the missing 20 numbers gap would be reentered in the data files because only then, the database would be opened. Now, your friend's question that why not only committed transaction because you never say a transaction is only done when there is a commit. Whenever any DML is encountered , it's going to cause a transaction. And you do want that missing work to be recreated to ensure that if there was a commit issued before the instance was crashed , next time, Oracle would ensure that work is there and if not , it would be rolled back. And most importantly, in the redo log files all the change vectors go, not just for the committed transactions .This is fine, same understanding here.
    Bring in your own thoughts now that how much you understood from this explanation before I start to get into more technical terms.I would like to know your view about the 1st point. Suppose, something went wrong (in terms of transactions) due to which instance crashed, if it rolls forward (as it happens automatically) during next start-up, will it crash again?
    It would be rolled back in the case of the instance (next) startup. If all what you are doing is plain DML's they won't crash the instance as long as you haven't encountered any bug in the case of which, next time also the instance may crash.
    Aman....

  • Query on Oracle Concepts: Table Compression

    The attributes for table compression can be declared for a tablespace, table, or table partition. If declared at the tablespace level, then tables created in the tablespace are compressed by default. You can alter the compression attribute for a table, in which case the change only applies to new data going into that table. Consequently, a single table or partition may contain compressed and uncompressed blocks, which guarantees that data size will not increase because of compression. If compression could increase the size of a block, then the database does not apply it to the block.
    Can anybody please explain text marked as bold? How can data-size/block-size can increase by compression?
    Regards,
    Ankit Rathi
    http://oraclenbeyond.blogspot.in

    >
    The attributes for table compression can be declared for a tablespace, table, or table partition. If declared at the tablespace level, then tables created in the tablespace are compressed by default. You can alter the compression attribute for a table, in which case the change only applies to new data going into that table. Consequently, a single table or partition may contain compressed and uncompressed blocks, which guarantees that data size will not increase because of compression. If compression could increase the size of a block, then the database does not apply it to the block.
    Can anybody please explain text marked as bold? How can data-size/block-size can increase by compression?
    >
    First let's be clear on what is being said. The doc says this:
    >
    If compression could increase the size of a block, then the database does not apply it to the block.
    >
    That is misleading because, of course, the size of the block can't change. You should really read that as
    >
    If compression could increase the size of the data being stored in a block, then the database does not apply it to the block.
    >
    There is overhead associated with the compression because the metadata that is needed to translate any compressed data back into its original state is stored in the block along with the compressed data.
    The simplest analogy (though not a perfect one) is the effect you can get if you try to zip an already highly compressed file.
    For example, if you try to use Winzip to compress an image file (jpg, gif, etc) or a video file you can easily wind up with a zip file that is larger than the uncompressed file was to begin with. That is because the file itself hardly compresses at all but the overhead of the zip file adds to the ultimate file size.
    I suggest you edit your thread subject since this question is NOT about partitioning.

  • Create tablespace in Oracle 10g Express

    Hi,
    I've been playing around over the last few days with Oracle 10g Express and I need to create my own tablespace and therefore create user associated with my custom table space.
    I tried with the command create tablespace, but I am not successful with configuring the parameters such as the datafile location and such. I did go through the Oracle Concepts Guide which was very helpful, but I must be missing something.
    Also assuming that my db scheme will be part of my application and therefore released to my client as script so they can re-create my database how would the table space integration work on their end.
    I would I have to place my first line of the script to create the table space and ask them for database file location?
    Any advice will be appreciated.
    Thank you in advance.

    user12359577 wrote:
    The reason why I think I should create my own tablespace is because I am creating a database scheme and thus I think it is appropriate to place my db scheme in its own tablespace instead of simply using the Users tablespace default.
    This is my command:
    create tablespace MYTBLSPACE;
    Error:
    Error starting at line 1 in command:
    create tablespace MYTBLSPACE
    Error at Command Line:1 Column:32
    Error report:
    SQL Error: ORA-02199: missing DATAFILE/TEMPFILE clause
    02199. 00000 - "missing DATAFILE/TEMPFILE clause"
    *Cause:    A CREATE TABLESPACE statement has no DATAFILE/TEMPFILE clause.
    *Action:   Specify a DATAFILE/TEMPFILE clause.
    I am also not sure how to specify the datafile.
    Thank you.How about checking with the fine SQL Reference manual for the syntax of the CREATE TABLESPACE command?
    Learning where to look things up in the documentation is time well spent investing in your career. To that end, you should drop everything else you are doing and do the following:
    Go to tahiti.oracle.com. Drill down to your product and version.
    Spend a few minutes just getting familiar with what is available here. Take special note of the "books" and "search" tabs. Under the "books" tab you will find the complete documentation library.
    Spend a few minutes just getting familiar with what kind of documentation is available there by simply browsing the titles under the "Books" tab.
    Open the Reference Manual and spend a few minutes looking through the table of contents to get familiar with what kind of information is available there.
    Do the same with the SQL Reference Manual.
    Do the same with the Utilities manual.
    You don't have to read the above in depth. They are reference manuals. Just get familiar with what is there to be referenced. Ninety percent of the questions asked on this forum can be answered in less than 5 minutes by simply searching one of the above manuals.
    Then set yourself a plan to dig deeper.
    - Read a chapter a day from the Concepts Manual.
    - Take a look in your alert log. One of the first things listed at startup is the initialization parms with non-default values. Read up on each one of them in the Reference Manual.
    - Take a look at your listener.ora, tnsnames.ora, and sqlnet.ora files. Go to the Network Administrators manual and read up on everything you see in those files.
    - When you have finished reading the Concepts Manual, do it again.
    Give a man a fish and he eats for a day. Teach a man to fish and he eats for a lifetime.
    Edited by: EdStevens on Mar 3, 2010 10:13 AM
    Edited by: EdStevens on Mar 3, 2010 10:15 AM

  • Oracle plsql stored procedure

    I want to write a procedure in which IN parameter will be a query [e.g. select * from employee] & I want to store the result of the query into OUT parameter...
    what will be the datatype for the OUT parameter & how to write the procedure??

    user10412263 wrote:
    this question was asked in interview of plsql...Idiotic question. An interviewer should determine if you know how to correctly use the tools in SQL and PL/SQL.. and not whether you know how to use it incorrectly. Even better - an interviewer should determine how you approach problems and how you will solve them using SQL and PL/SQL.
    Questions that need to answers directly from the manual? That is pretty useless as it is easy to use manuals as reference material and no-one memorises the entire manual. Simple example. A question about the syntax for a partition exchange (ALTER TABLE) is silly.. whereas a question about where, when and why you would use a partition exchange is critical. The former you can look up in the manual at anytime when coding partition exchanges. The latter is a skill that requires understanding Oracle concepts and correctly applying these.
    Remember this when you go for interviews. I realise one cannot always wait and choose the perfect job - but be careful landing in a job position where you will not grow your skills and knowledge because of an environment that values "+syntax knowledge+" higher than understanding and applying software engineering fundamentals and concepts.

  • Performance problem with Oracle

    We are currently getting a system developed in Unix/Weblogic/Tomcat/Oracle environment. We have developed a screen that contains 5 or 6 different parameters to select from. We could select multiple parameters in each of these selections. The idea behind the subsequent screens is to attach information to already existing data/ possible future data that matches the selection criteria.
    Based on these selections, existing data located within the system in a table is searched and those that match are selected. Also new rows are created in the table against combinations that do not currently have a match. Frequently multiple parameters are selected, and 2000 different combinations need to be searched in the table. Of these selections, only about 100 or 200 combinations will be available in existing data. So the system is having to insert 1800 rows. The user meanwhile waits for the system to come up with data based on their selections. The user is not willing to wait more than 30 seconds to get to the next screen. In the above mentioned scenario, the system takes more than an hour to insert the new records and bring the information up. We need suggestions to see if the performance can be improved this drastically. If not what are the alternatives? Thanks

    The #1 cause for performance problems with Oracle is not using it correctly.
    I find it hard to believe that with the small data volumes mentioned, that you can have perfornance problems.
    You need to perform a sanity check. Are you using Oracle correctly? Do you know what bind variables are? Are you using indexes correctly? Are you using PL/SQL correctly? Is the instance setup correctly? What about storage, are you using SAME (RAID10) or something else? Etc.
    Facts. Oracle peforms exceptionally well. Oracle exceptionally well.
    Simple example from a benchmark I did on this exact same subject. App-tier developers not understanding and not using Oracle correctly. Incorrect usage of Oracle doing a 100,000 SQL statements. 24+ minutes elapsed time. Doing those exact same 100,000 SQL statement correctly (using bind variables) - 8 seconds elapsed time. (benchmark using Oracle 10.1.0.3 on a Sunfire V20z server)
    But then you need to use Oracle correctly. Are you familiar with the Oracle Concepts Guide? Have you read the Oracle Application Developer Fundamentals Guide?

  • Need Best way to start learning Oracle 11g  DBA

    Hi.This is Tejaswi.
    I want to learn Oracle 11g DBA.I've downloaded all software's and Documentation for Orcl 11g R2. Now. i want to start Learning DBA. Can any one suggest me the best way to Start learning DBA?
    Please suggest me the good books For Oracle Architecture and SQL.......

    Hello Tejaswi,
    The advice you got about reading the Oracle Concepts and 2 Day DBA documentation is very good advice.
    I found that knowing some SQL*Plus and SQL Developer was also very helpful as, they both provide a way to interface with the database and try the things you read about. For SQL Plus, I used the book:
    Oracle SQL*Plus: The Definitive Guide, 2nd Edition
    By Jonathan Gennick
    Publisher : O'Reilly
    ISBN : 0-596-00746-9 I openly recommend it. It is easy to read, the book is very well thought out, it covers what you really need to know (and more too). The author explains the subjects very well. I would definitely learn some SQL Plus and SQL developer before getting into the 2 Day DBA document (make those 2 days about 7 days each if not more).
    To learn SQL, I "sort of" used (I say "sort of" because I only read some parts of it available online and at the local bookstore):
    Oracle SQL by Example
    By Alice Rischert
    Publisher: Prentice Hallit probably has more SQL than you'd need as a DBA but, it is an excellent book you may want to consider.
    If you are starting from scratch, as I did, you'll find that you need to learn multiple things at the same time. I believe SQL Plus is the best place to start, along with possibly the Concepts document. That will give you a base to build upon.
    HTH,
    John.

  • Oracle database normalisation and logical design documnetation

    Hi ,
    Am a begginer on DB design , can anyone help me find Oracle database normalisation and logical design documnetation for reference.
    Thanks,
    Swaroop

    Database logical design and normalization are typically DBMS (Database Management System) independent. Meaning that you could do a whole LOGICAL design without regards to the platform in which it will be based. There are many, many resources on the internet if you search for them. if you used terms like "logical database design", or "database normalization" on Google or your search engine of choice I imagine you'll come up with many results.
    When it comes to the actual physical design of the database (as in tablespaces, datafiles, indexes, etc) I would first consult the "Oracle Concepts Guide", and then something like the "Application Developer's Guide." This documentation is all available at:
    http://otn.oracle.com
    Hope this helps!

  • Oracle Database Files information.

    Hi Team,
    I am new to Oracle. Can anybody plz tell me what type of information these files contains,
    1) Controlfiles (.CTL)
    2) Datafiles (.dbf)
    3) Redo log files (.log)
    4) Archive log files
    Thanks in advance..
    Message was edited by:
    Test_Rman

    you need to read Oracle Concepts guide to see what information is contained in various db files:
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14220/toc.htm

  • Triggers in Oracle

    Hi,
    I have a question about the behavior of triggers. Consider the following situation:
    1. There is a table called TABLE_A.
    2. There is a table called TABLE_B.
    3. There is a trigger T1 that watches TABLE_A for inserts, and if there is an insert the trigger inserts a row into TABLE_B.
    4. There is a trigger T2 that watches TABLE_A for inserts, and if there is an insert the trigger inserts a row into TABLE_B.
    5. There is a trigger T3 that watches TABLE_B for inserts, and peforms some action.
    6. There is a trigger T4 that watches TABLE_B for inserts, and peforms some action.
    My questions are:
    1. What is order in which these triggers will execute when a row is inserted into TABLE_A?
    2. Will any of the triggers run concurrently (perhaps in different threads?) ?
    3. Is the order which triggers run predictable?
    4. Is there any way to define priority, synchronous, concurrent behavior with the triggers?
    5. Is there any way to define dependency among triggers (e.g. T1 cannot run until T2 finishes running) ?
    Thanks in advance,
    Galen

    Sounds like you're looking for the control offered by different types of triggers, row level vs. statement level triggers. Here is what Oracle Concepts has to say about Trigger execution:
    A single SQL statement can potentially fire up to four types of triggers:
    BEFORE row triggers
    BEFORE statement triggers
    AFTER row triggers
    AFTER statement triggers
    A triggering statement or a statement within a trigger can cause one or more integrity constraints to be checked. Also, triggers can contain statements that cause other triggers to fire (cascading triggers).
    Oracle uses the following execution model to maintain the proper firing sequence of multiple triggers and constraint checking:
    Run all BEFORE statement triggers that apply to the statement.
    Loop for each row affected by the SQL statement.
    Run all BEFORE row triggers that apply to the statement.
    Lock and change row, and perform integrity constraint checking. (The lock is not released until the transaction is committed.)
    Run all AFTER row triggers that apply to the statement.
    Complete deferred integrity constraint checking.
    Run all AFTER statement triggers that apply to the statement.
    The definition of the execution model is recursive. For example, a given SQL statement can cause a BEFORE row trigger to be fired and an integrity constraint to be checked. That BEFORE row trigger, in turn, might perform an update that causes an integrity constraint to be checked and an AFTER statement trigger to be fired. The AFTER statement trigger causes an integrity constraint to be checked. In this case, the execution model runs the steps recursively, as follows:
    Original SQL statement issued.
    BEFORE row triggers fired.
    AFTER statement triggers fired by UPDATE in BEFORE row trigger.
    i. Statements of AFTER statement triggers run.
    ii. Integrity constraint checked on tables changed by AFTER statement triggers.
    Statements of BEFORE row triggers run.
    Integrity constraint checked on tables changed by BEFORE row triggers.
    SQL statement run.
    Integrity constraint from SQL statement checked.
    There are two exceptions to this recursion:
    When a triggering statement modifies one table in a referential constraint (either the primary key or foreign key table), and a triggered statement modifies the other, only the triggering statement will check the integrity constraint. This allows row triggers to enhance referential integrity.
    Statement triggers fired due to DELETE CASCADE and DELETE SET NULL are fired before and after the user DELETE statement, not before and after the individual enforcement statements. This prevents those statement triggers from encountering mutating errors.

  • Guidance to become a Oracle 10g DBA

    Hai...
    I m a lecturer in an Engineering college.I want to change my job as i m interested in DBA. So i have joined a course in Oracle 10g DBA through Oracle University,which will be starting on 25th june.Can anyone guide me how to go abt it, so dat i can prepare well for interviews n place myself in a gud company.Also plz let me knw which has gud scope,DBA or Data warehousing.

    Hi,
    My list of Oracle DBA job skills include the following:
    Excellent communication skills - The Oracle professional is the central technical guru for the Oracle shop. He or she must be able to explain Oracle concepts clearly to all developers and programmers accessing the Oracle database. In many shops, the Oracle DBA is also a manager and is required to have excellent communication skills for participating in strategic planning and database architectural reviews.
    Formal education – Many employers require Oracle professionals to have a bachelor’s degree in computer science or information systems. For advanced positions such as an Oracle DBA, many employers prefer a master’s degree in computer science or a master’s in business administration (MBA).
    Real-world experience - This requirement is the catch-22 for newbie’s who possess only an OCP certificate. A common complaint of people who have OCP certificates but no job experience is that they cannot get experience without the OCP, and they cannot get a job without experience. This is especially true in a tight job market.
    Knowledge of database theory - In addition to mastering the technical details required for the OCP exams, the successful Oracle professional must have an understanding of database and data warehouse design. This includes intimate knowledge of data normalization theory and knowledge of star schema design, as well as object-oriented modeling with Unified Modeling Language (UML) and knowledge of other database design methodologies such as CORBA and J2EE.
    Here is my list of DBA job skills:
    http://www.dba-oracle.com/oracle_tips_dba_job_skills.htm
    Here are notes on becoming a DBA:
    http://www.dba-oracle.com/t_how_to_become_an_oracle_dba.htm
    Can anyone guide me how to go abt it, so dat i can prepare well for interviews n place myself in a gud company.First n foremost, show dat you have gud communications skills.
    Hope this helps. . .
    Donald K. Burleson
    Oracle Press author

Maybe you are looking for

  • Purchase order not in change

    dear sir i am a create purchase order ME21N,  can my requst to changin qty ME22 is not posible Is showing only display

  • Specs for Hard drive limits in a satellite P305D-S8836

    I am attempting to find out what are the specs I have to meet to upgrade my current hard drive to a larger two. Since Toshiba support doesn't have an email I have been able to locate on this web site and I am currently deployed to Afghanistan, callin

  • Lightroom 2 colour/darkness vs Lightroom 1

    I have just upgraded to lightroom 2 and all images appear too dark, too contrasty and with a slight colour cast. The strange thing is that lightroom 1.4 is still on my machine, and, when looking at the same picture through Lightroom 1.4, the result i

  • Deleting Channels in Navigator

    Hello, In my line of work we may run multiple tests simultaneously, so in one particular test I have 5 channels that are not relevant to my test and 1 that is. My hope was to use the advanced search in Navigator to search for channels NOT named "My C

  • Flash CC code editor toggle fields function

    PROBLEM: The action script file does not recall it's closing state on reopening. ISSUE: When I come back to my work and work area it should be in the same state in which I left it. It would greatly improve my workflow and reduce setup time if this we