Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Where is the executable code of a trigger stored in the DBMS?

Re: Where is the executable code of a trigger stored in the DBMS?

From: Sybrand Bakker <postbus_at_sybrandb.demon.nl>
Date: Sat, 12 Nov 2005 16:20:34 +0100
Message-ID: <un1cn19vaoidh9fhe1qgkagk3r5oem92on@4ax.com>


On 12 Nov 2005 06:47:28 -0800, "Leigh Williams" <leighwilliams_at_gmail.com> wrote:

>When you say the "shared pool", do you mean the database buffer? If
>not, what is the shared pool? I have never come across this term in
>studying the Oracle DBMS architecture.

That is very strange, as the shared pool is one of the key components of the architecture.
It stores

- the active part of the datadictionary
- all stored procedures, functions, packages and triggers in execution
- all sql statements in execution

Doing so, it allows Oracle to reuse any code for any session, if Oracle finds the code already resides in the shared pool. Oracle uses a hashing mechanism to verify this. If 2 statements aren't exactly identical, Oracle thinks the non-parsed statement is a new statement, and it will parse it. This is why not using bind variables is so bad: you'll force Oracle to parse every individual statement. During parse part of the shared pool is inaccessible, the part is which the statement-to-be-parsed resides.

--
Sybrand Bakker, Senior Oracle DBA
Received on Sat Nov 12 2005 - 09:20:34 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US