RE: ORA-1000 and pl/sql cursor cache

2003-11-28 Thread Lord David
Jared

Thanks for the response. I've had a play and here are the conclusions: -

1) The cache controlled by session_cached_cursors is entirely separate from
the pl/sql static cursor cache.  You can turn the former off by setting
session_cached_cursors to zero, but you can only turn the latter off by
logging out, dropping or recompiling the pl/sql block.

2) The latter cache only operates on *named* blocks: procedure, function or
package (not sure about triggers).  Hence, your script will not show the
behaviour since it uses an anonymous block.

3) _close_cached_open_cursors does indeed close the cursors on commit.
Handy, but I don't really want to commit every time I run a query (plus it
starts with an underscore:-O).

--
David Lord 

 -Original Message-
 From: Jared Still [mailto:[EMAIL PROTECTED] 
 Sent: 27 November 2003 20:05
 To: Multiple recipients of list ORACLE-L
 Subject: RE: ORA-1000 and pl/sql cursor cache
 
 
 Try playing with alternately setting session_cached_cursors 
 to 0 and some non-zero value and run the following script.
 
 Try setting _close_cached_open_cursors to both true and
 false, changing which 'commit' is used, and omitting the 
 'commit' altogether.
 
 On 9i I find that with session_cached_cursors = 0, and
 a 'commit' following the pl/sql block, the only cursor 
 appearing in v$open_cursor is the final 'commit'.
 
 HTH
 
 Jared
 
 
 --
 alter session set _close_cached_open_cursors = false;
 
 declare
 xyz varchar2(30);
 begin
 select user into xyz from dual;
 commit;
 end;
 /
 
 --commit;
 --
 
 On Thu, 2003-11-27 at 01:09, Lord David wrote:
  Barb
  
  Thanks for the link.  Unfortunately, it again hints at the 
 behaviour, 
  but doesn't really come out with it.
  
  What's happening is that when you execute a *static* sql statement 
  such as 'select user into xyz from dual', the cursor 
 remains open (as 
  shown in
  v$open_cursors) after the statement has finished.  This 
 also happens with
  explicit cursors, even if you close them!  And it happens whether
  session_cached_cursors is set to zero or not.  I assume 
 that the cursors are
  cached within the session context for the package or 
 procedure since it only
  happens for named pl/sql blocks and they get closed if you 
 recompile the
  block.
  
  My guess is that it is a deliberate performance optimisation within 
  the pl/sql engine, but it does mean that to avoid ora-1000 
 errors, you 
  need to set open_cursors to be greater than the *total* number of 
  static sql statements that a session can open in its lifetime, not 
  just the number concurrently open.  Of course you have also got to 
  include room for dynamic and recursive sql as well as 
 cursors cached 
  using session_cached_cursors.
  
  --
  David Lord
  
   -Original Message-
   From: Barbara Baker [mailto:[EMAIL PROTECTED]
   Sent: 26 November 2003 16:49
   To: Multiple recipients of list ORACLE-L
   Subject: Re: ORA-1000 and pl/sql cursor cache
   
   
   David:
   I don't really know if this will help you, but it
   might be worth a try.  You could try setting 
 session_cached_cursors.
   
   Bjørn Engsig's white paper Efficient use of bind variables, 
   cursor_sharing and related cursor parameters describes this 
   parameter a bit.  It can be found at http://miracleas.dk in the 
   Technical Information section)  ( Guy Harrison's tuning book
   also talks about this parameter. )
   
   good luck!
   Barb
   
   
   
   --- Lord David [EMAIL PROTECTED] wrote:
Hi

Does anyone know whether its possible to control the
size of the pl/sql
static cursor cache.

I'm running into ORA-01000: maximum number of open cursors 
exceeded errors and part of the problem (apart from the usual
developers not closing
explicit cursors) is that _all_ static sql
statements in compiled pl/sql
units seem to be getting cached.  I can't find any 
 documentation of 
this feature apart from a few hints in the pl/sql and
application development
docs.  Here's an example from an 8.1.7 database: -

SQLcreate or replace procedure foobar is
  2 v_result varchar2(30);
  3  begin
  4 select user into v_result from dual;
  5  end;
  6  /

Procedure created.

SQL
SQLselect b.sql_text
  2  from v$session a, v$open_cursor b
  3  where a.sid = b.sid
  4  and a.audsid = userenv('SESSIONID')
  5  /

SQL_TEXT
   
   
SELECT SYS_CONTEXT(:b1,:b2)   FROM SYS.DUAL
select b.sql_text from v$session a, v$open_cursor b
where a.

SQL
SQLexec foobar

PL/SQL procedure successfully completed.

SQL
SQLselect b.sql_text
  2  from v$session a, v$open_cursor b
  3  where a.sid = b.sid
  4  and a.audsid = userenv('SESSIONID')
  5  /

SQL_TEXT

RE: ORA-1000 and pl/sql cursor cache

2003-11-27 Thread Lord David
Barb

Thanks for the link.  Unfortunately, it again hints at the behaviour, but
doesn't really come out with it.  

What's happening is that when you execute a *static* sql statement such as
'select user into xyz from dual', the cursor remains open (as shown in
v$open_cursors) after the statement has finished.  This also happens with
explicit cursors, even if you close them!  And it happens whether
session_cached_cursors is set to zero or not.  I assume that the cursors are
cached within the session context for the package or procedure since it only
happens for named pl/sql blocks and they get closed if you recompile the
block.

My guess is that it is a deliberate performance optimisation within the
pl/sql engine, but it does mean that to avoid ora-1000 errors, you need to
set open_cursors to be greater than the *total* number of static sql
statements that a session can open in its lifetime, not just the number
concurrently open.  Of course you have also got to include room for dynamic
and recursive sql as well as cursors cached using session_cached_cursors.

--
David Lord 

 -Original Message-
 From: Barbara Baker [mailto:[EMAIL PROTECTED] 
 Sent: 26 November 2003 16:49
 To: Multiple recipients of list ORACLE-L
 Subject: Re: ORA-1000 and pl/sql cursor cache
 
 
 David:
 I don't really know if this will help you, but it
 might be worth a try.  You could try setting session_cached_cursors.  
 
 Bjørn Engsig's white paper Efficient use of bind
 variables, cursor_sharing and related cursor
 parameters describes this parameter a bit.  It can be
 found at http://miracleas.dk in the Technical
 Information section)  ( Guy Harrison's tuning book
 also talks about this parameter. )
 
 good luck!
 Barb
 
 
 
 --- Lord David [EMAIL PROTECTED] wrote:
  Hi
  
  Does anyone know whether its possible to control the
  size of the pl/sql
  static cursor cache.
  
  I'm running into ORA-01000: maximum number of open
  cursors exceeded errors
  and part of the problem (apart from the usual
  developers not closing
  explicit cursors) is that _all_ static sql
  statements in compiled pl/sql
  units seem to be getting cached.  I can't find any documentation of 
  this feature apart from a few hints in the pl/sql and
  application development
  docs.  Here's an example from an 8.1.7 database: -
  
  SQLcreate or replace procedure foobar is
2 v_result varchar2(30);
3  begin
4 select user into v_result from dual;
5  end;
6  /
  
  Procedure created.
  
  SQL
  SQLselect b.sql_text
2  from v$session a, v$open_cursor b
3  where a.sid = b.sid
4  and a.audsid = userenv('SESSIONID')
5  /
  
  SQL_TEXT
 
 
  SELECT SYS_CONTEXT(:b1,:b2)   FROM SYS.DUAL
  select b.sql_text from v$session a, v$open_cursor b
  where a.
  
  SQL
  SQLexec foobar
  
  PL/SQL procedure successfully completed.
  
  SQL
  SQLselect b.sql_text
2  from v$session a, v$open_cursor b
3  where a.sid = b.sid
4  and a.audsid = userenv('SESSIONID')
5  /
  
  SQL_TEXT
 
 
  SELECT SYS_CONTEXT(:b1,:b2)   FROM SYS.DUAL
  select b.sql_text from v$session a, v$open_cursor b
  where a.
  SELECT USER   FROM DUAL
  
  TIA
  --
  David Lord
  Senior DBA
  Iron Mountain Europe
  
  
  *** *** *** *** *** *** *** *** *** *** *** *** ***
  *** *** *** *** *** 
   This e-mail and its attachments are intended
  for the
   author's addressee only and may be
  confidential.
  
   If they have come to you in error you must take
  no 
   action based on them, nor must you copy or show
  
   them to anyone; please reply to this e-mail and
   
   highlight the error.
  
   Please note that this e-mail has been created
  in the
   knowledge that Internet e-mail is not a 100%
  secure 
   communications medium. We advise that you 
   understand and observe this lack of security
  when 
   e-mailing us. Steps have been taken to ensure
  this 
   e-mail and attachments are free from any virus,
  but 
   advise the recipient to ensure they are
  actually virus 
   free.
  
   The views, opinions and judgments expressed in
  this 
   message are solely those of the author. The
  message 
   contents have not been reviewed or approved by
  Iron 
   Mountain.
  
  *** *** *** *** *** *** *** *** *** *** *** *** ***
  *** *** *** *** ***
  -- 
  Please see the official ORACLE-L FAQ:
  http://www.orafaq.net
  -- 
  Author: Lord David
INET: [EMAIL PROTECTED]
  
  Fat City Network Services-- 858-538-5051
  http://www.fatcity.com
  San Diego, California-- Mailing list and web
  hosting services
 
 -
  To REMOVE yourself from this mailing list, send an
  E-Mail message
  to: [EMAIL PROTECTED] (note EXACT spelling of
  'ListGuru') and in
  the message BODY, include

RE: ORA-1000 and pl/sql cursor cache

2003-11-27 Thread Jared Still
Try playing with alternately setting session_cached_cursors 
to 0 and some non-zero value and run the following script.

Try setting _close_cached_open_cursors to both true and
false, changing which 'commit' is used, and omitting the
'commit' altogether.

On 9i I find that with session_cached_cursors = 0, and
a 'commit' following the pl/sql block, the only cursor
appearing in v$open_cursor is the final 'commit'.

HTH

Jared


--
alter session set _close_cached_open_cursors = false;

declare
xyz varchar2(30);
begin
select user into xyz from dual;
commit;
end;
/

--commit;
--

On Thu, 2003-11-27 at 01:09, Lord David wrote:
 Barb
 
 Thanks for the link.  Unfortunately, it again hints at the behaviour, but
 doesn't really come out with it.  
 
 What's happening is that when you execute a *static* sql statement such as
 'select user into xyz from dual', the cursor remains open (as shown in
 v$open_cursors) after the statement has finished.  This also happens with
 explicit cursors, even if you close them!  And it happens whether
 session_cached_cursors is set to zero or not.  I assume that the cursors are
 cached within the session context for the package or procedure since it only
 happens for named pl/sql blocks and they get closed if you recompile the
 block.
 
 My guess is that it is a deliberate performance optimisation within the
 pl/sql engine, but it does mean that to avoid ora-1000 errors, you need to
 set open_cursors to be greater than the *total* number of static sql
 statements that a session can open in its lifetime, not just the number
 concurrently open.  Of course you have also got to include room for dynamic
 and recursive sql as well as cursors cached using session_cached_cursors.
 
 --
 David Lord 
 
  -Original Message-
  From: Barbara Baker [mailto:[EMAIL PROTECTED] 
  Sent: 26 November 2003 16:49
  To: Multiple recipients of list ORACLE-L
  Subject: Re: ORA-1000 and pl/sql cursor cache
  
  
  David:
  I don't really know if this will help you, but it
  might be worth a try.  You could try setting session_cached_cursors.  
  
  Bjrn Engsig's white paper Efficient use of bind
  variables, cursor_sharing and related cursor
  parameters describes this parameter a bit.  It can be
  found at http://miracleas.dk in the Technical
  Information section)  ( Guy Harrison's tuning book
  also talks about this parameter. )
  
  good luck!
  Barb
  
  
  
  --- Lord David [EMAIL PROTECTED] wrote:
   Hi
   
   Does anyone know whether its possible to control the
   size of the pl/sql
   static cursor cache.
   
   I'm running into ORA-01000: maximum number of open
   cursors exceeded errors
   and part of the problem (apart from the usual
   developers not closing
   explicit cursors) is that _all_ static sql
   statements in compiled pl/sql
   units seem to be getting cached.  I can't find any documentation of 
   this feature apart from a few hints in the pl/sql and
   application development
   docs.  Here's an example from an 8.1.7 database: -
   
   SQLcreate or replace procedure foobar is
 2 v_result varchar2(30);
 3  begin
 4 select user into v_result from dual;
 5  end;
 6  /
   
   Procedure created.
   
   SQL
   SQLselect b.sql_text
 2  from v$session a, v$open_cursor b
 3  where a.sid = b.sid
 4  and a.audsid = userenv('SESSIONID')
 5  /
   
   SQL_TEXT
  
  
   SELECT SYS_CONTEXT(:b1,:b2)   FROM SYS.DUAL
   select b.sql_text from v$session a, v$open_cursor b
   where a.
   
   SQL
   SQLexec foobar
   
   PL/SQL procedure successfully completed.
   
   SQL
   SQLselect b.sql_text
 2  from v$session a, v$open_cursor b
 3  where a.sid = b.sid
 4  and a.audsid = userenv('SESSIONID')
 5  /
   
   SQL_TEXT
  
  
   SELECT SYS_CONTEXT(:b1,:b2)   FROM SYS.DUAL
   select b.sql_text from v$session a, v$open_cursor b
   where a.
   SELECT USER   FROM DUAL
   
   TIA
   --
   David Lord
   Senior DBA
   Iron Mountain Europe
   
   
   *** *** *** *** *** *** *** *** *** *** *** *** ***
   *** *** *** *** *** 
This e-mail and its attachments are intended
   for the
author's addressee only and may be
   confidential.
   
If they have come to you in error you must take
   no 
action based on them, nor must you copy or show
   
them to anyone; please reply to this e-mail and

highlight the error.
   
Please note that this e-mail has been created
   in the
knowledge that Internet e-mail is not a 100%
   secure 
communications medium. We advise that you 
understand and observe this lack of security
   when 
e-mailing us. Steps have been taken to ensure
   this 
e-mail and attachments are free from any virus,
   but 
advise the recipient to ensure

ORA-1000 and pl/sql cursor cache

2003-11-26 Thread Lord David
Hi

Does anyone know whether its possible to control the size of the pl/sql
static cursor cache.

I'm running into ORA-01000: maximum number of open cursors exceeded errors
and part of the problem (apart from the usual developers not closing
explicit cursors) is that _all_ static sql statements in compiled pl/sql
units seem to be getting cached.  I can't find any documentation of this
feature apart from a few hints in the pl/sql and application development
docs.  Here's an example from an 8.1.7 database: -

SQLcreate or replace procedure foobar is
  2 v_result varchar2(30);
  3  begin
  4 select user into v_result from dual;
  5  end;
  6  /

Procedure created.

SQL
SQLselect b.sql_text
  2  from v$session a, v$open_cursor b
  3  where a.sid = b.sid
  4  and a.audsid = userenv('SESSIONID')
  5  /

SQL_TEXT

SELECT SYS_CONTEXT(:b1,:b2)   FROM SYS.DUAL
select b.sql_text from v$session a, v$open_cursor b where a.

SQL
SQLexec foobar

PL/SQL procedure successfully completed.

SQL
SQLselect b.sql_text
  2  from v$session a, v$open_cursor b
  3  where a.sid = b.sid
  4  and a.audsid = userenv('SESSIONID')
  5  /

SQL_TEXT

SELECT SYS_CONTEXT(:b1,:b2)   FROM SYS.DUAL
select b.sql_text from v$session a, v$open_cursor b where a.
SELECT USER   FROM DUAL

TIA
--
David Lord
Senior DBA
Iron Mountain Europe


*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 
 This e-mail and its attachments are intended for the
 author's addressee only and may be confidential. 

 If they have come to you in error you must take no 
 action based on them, nor must you copy or show 
 them to anyone; please reply to this e-mail and  
 highlight the error. 

 Please note that this e-mail has been created in the
 knowledge that Internet e-mail is not a 100% secure 
 communications medium. We advise that you 
 understand and observe this lack of security when 
 e-mailing us. Steps have been taken to ensure this 
 e-mail and attachments are free from any virus, but 
 advise the recipient to ensure they are actually virus 
 free. 

 The views, opinions and judgments expressed in this 
 message are solely those of the author. The message 
 contents have not been reviewed or approved by Iron 
 Mountain.

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Lord David
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).


Re: ORA-1000 and pl/sql cursor cache

2003-11-26 Thread Barbara Baker
David:
I don't really know if this will help you, but it
might be worth a try.  You could try setting
session_cached_cursors.  

Bjørn Engsig's white paper Efficient use of bind
variables, cursor_sharing and related cursor
parameters describes this parameter a bit.  It can be
found at http://miracleas.dk in the Technical
Information section)  ( Guy Harrison's tuning book
also talks about this parameter. )

good luck!
Barb



--- Lord David [EMAIL PROTECTED] wrote:
 Hi
 
 Does anyone know whether its possible to control the
 size of the pl/sql
 static cursor cache.
 
 I'm running into ORA-01000: maximum number of open
 cursors exceeded errors
 and part of the problem (apart from the usual
 developers not closing
 explicit cursors) is that _all_ static sql
 statements in compiled pl/sql
 units seem to be getting cached.  I can't find any
 documentation of this
 feature apart from a few hints in the pl/sql and
 application development
 docs.  Here's an example from an 8.1.7 database: -
 
 SQLcreate or replace procedure foobar is
   2 v_result varchar2(30);
   3  begin
   4 select user into v_result from dual;
   5  end;
   6  /
 
 Procedure created.
 
 SQL
 SQLselect b.sql_text
   2  from v$session a, v$open_cursor b
   3  where a.sid = b.sid
   4  and a.audsid = userenv('SESSIONID')
   5  /
 
 SQL_TEXT


 SELECT SYS_CONTEXT(:b1,:b2)   FROM SYS.DUAL
 select b.sql_text from v$session a, v$open_cursor b
 where a.
 
 SQL
 SQLexec foobar
 
 PL/SQL procedure successfully completed.
 
 SQL
 SQLselect b.sql_text
   2  from v$session a, v$open_cursor b
   3  where a.sid = b.sid
   4  and a.audsid = userenv('SESSIONID')
   5  /
 
 SQL_TEXT


 SELECT SYS_CONTEXT(:b1,:b2)   FROM SYS.DUAL
 select b.sql_text from v$session a, v$open_cursor b
 where a.
 SELECT USER   FROM DUAL
 
 TIA
 --
 David Lord
 Senior DBA
 Iron Mountain Europe
 
 
 *** *** *** *** *** *** *** *** *** *** *** *** ***
 *** *** *** *** *** 
  This e-mail and its attachments are intended
 for the
  author's addressee only and may be
 confidential. 
 
  If they have come to you in error you must take
 no 
  action based on them, nor must you copy or show
 
  them to anyone; please reply to this e-mail and
  
  highlight the error. 
 
  Please note that this e-mail has been created
 in the
  knowledge that Internet e-mail is not a 100%
 secure 
  communications medium. We advise that you 
  understand and observe this lack of security
 when 
  e-mailing us. Steps have been taken to ensure
 this 
  e-mail and attachments are free from any virus,
 but 
  advise the recipient to ensure they are
 actually virus 
  free. 
 
  The views, opinions and judgments expressed in
 this 
  message are solely those of the author. The
 message 
  contents have not been reviewed or approved by
 Iron 
  Mountain.
 
 *** *** *** *** *** *** *** *** *** *** *** *** ***
 *** *** *** *** *** 
 -- 
 Please see the official ORACLE-L FAQ:
 http://www.orafaq.net
 -- 
 Author: Lord David
   INET: [EMAIL PROTECTED]
 
 Fat City Network Services-- 858-538-5051
 http://www.fatcity.com
 San Diego, California-- Mailing list and web
 hosting services

-
 To REMOVE yourself from this mailing list, send an
 E-Mail message
 to: [EMAIL PROTECTED] (note EXACT spelling of
 'ListGuru') and in
 the message BODY, include a line containing: UNSUB
 ORACLE-L
 (or the name of mailing list you want to be removed
 from).  You may
 also send the HELP command for other information
 (like subscribing).


__
Do you Yahoo!?
Free Pop-Up Blocker - Get it now
http://companion.yahoo.com/
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Barbara Baker
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).


Re: ORA-1000 and pl/sql cursor cache

2003-11-26 Thread ryan_oracle
are you looking for the init.ora max_open_cursors(dont think i typed it exactly right).

even if the cursors are cached, they should not be counted as open. they doesnt make 
sense from an oracle design standpoint. 
 
 From: Lord David [EMAIL PROTECTED]
 Date: 2003/11/26 Wed AM 10:34:34 EST
 To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED]
 Subject: ORA-1000 and pl/sql cursor cache
 
 Hi
 
 Does anyone know whether its possible to control the size of the pl/sql
 static cursor cache.
 
 I'm running into ORA-01000: maximum number of open cursors exceeded errors
 and part of the problem (apart from the usual developers not closing
 explicit cursors) is that _all_ static sql statements in compiled pl/sql
 units seem to be getting cached.  I can't find any documentation of this
 feature apart from a few hints in the pl/sql and application development
 docs.  Here's an example from an 8.1.7 database: -
 
 SQLcreate or replace procedure foobar is
   2 v_result varchar2(30);
   3  begin
   4 select user into v_result from dual;
   5  end;
   6  /
 
 Procedure created.
 
 SQL
 SQLselect b.sql_text
   2  from v$session a, v$open_cursor b
   3  where a.sid = b.sid
   4  and a.audsid = userenv('SESSIONID')
   5  /
 
 SQL_TEXT
 
 SELECT SYS_CONTEXT(:b1,:b2)   FROM SYS.DUAL
 select b.sql_text from v$session a, v$open_cursor b where a.
 
 SQL
 SQLexec foobar
 
 PL/SQL procedure successfully completed.
 
 SQL
 SQLselect b.sql_text
   2  from v$session a, v$open_cursor b
   3  where a.sid = b.sid
   4  and a.audsid = userenv('SESSIONID')
   5  /
 
 SQL_TEXT
 
 SELECT SYS_CONTEXT(:b1,:b2)   FROM SYS.DUAL
 select b.sql_text from v$session a, v$open_cursor b where a.
 SELECT USER   FROM DUAL
 
 TIA
 --
 David Lord
 Senior DBA
 Iron Mountain Europe
 
 
 *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 
  This e-mail and its attachments are intended for the
  author's addressee only and may be confidential. 
 
  If they have come to you in error you must take no 
  action based on them, nor must you copy or show 
  them to anyone; please reply to this e-mail and  
  highlight the error. 
 
  Please note that this e-mail has been created in the
  knowledge that Internet e-mail is not a 100% secure 
  communications medium. We advise that you 
  understand and observe this lack of security when 
  e-mailing us. Steps have been taken to ensure this 
  e-mail and attachments are free from any virus, but 
  advise the recipient to ensure they are actually virus 
  free. 
 
  The views, opinions and judgments expressed in this 
  message are solely those of the author. The message 
  contents have not been reviewed or approved by Iron 
  Mountain.
 
 *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 
 -- 
 Please see the official ORACLE-L FAQ: http://www.orafaq.net
 -- 
 Author: Lord David
   INET: [EMAIL PROTECTED]
 
 Fat City Network Services-- 858-538-5051 http://www.fatcity.com
 San Diego, California-- Mailing list and web hosting services
 -
 To REMOVE yourself from this mailing list, send an E-Mail message
 to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
 the message BODY, include a line containing: UNSUB ORACLE-L
 (or the name of mailing list you want to be removed from).  You may
 also send the HELP command for other information (like subscribing).
 

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: [EMAIL PROTECTED]
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).