Re: Sharing data between sessions

2003-03-03 Thread Tim Gorman
Chuck,

Depending on the intensity with which they'd be using this form of
inter-process communication, using a table may be the easiest and fastest
implementation method.

Other possibilities include (depending on desired functionality):
   * DBMS_PIPE package (i.e. semantics involve simple FIFO pipes for
transmittal to one or more consumers)
   * DBMS_AQ (advanced queuing) package (i.e. handles much more complex
business rules, multiple consumers, etc)
   * DBMS_APPLICATION_INFO packaged procedures READ_CLIENT_INFO and
SET_CLIENT_INFO

This last idea involves the DBMS_APPLICATION_INFO package and its ability to
set the value of the column CLIENT_INFO in the V$SESSION view.  This column
is VARCHAR2(64), so a session could place information there and then other
sessions could read it by querying from V$SESSION...

Don't discount the easiest solution (i.e. a table) so quickly...

Hope this helps...

-Tim

- Original Message -
To: "Multiple recipients of list ORACLE-L" <[EMAIL PROTECTED]>
Sent: Monday, March 03, 2003 1:43 PM


> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> One of my developers wants to share data between sessions inside a
> package. Specifically he wants to set some sort of global variable in
> a package that session 1 executes, and when sessions 2,3...n fire a
> trigger he wants them to be able to read that variable. Is there an
> easy way to do this other than by using a table? I was thinking that
> java might have this ability but I don't know java at all. I know you
> can link a C program to a trigger and since this is on unix you could
> theoretically create a shared memory segment that the trigger would
> read but this sounds like to a lot of hoops to jump through.
>
> Any suggestions?
> - --
> Chuck
>
> -BEGIN PGP SIGNATURE-
> Version: PGP 8.0 - not licensed for commercial use: www.pgp.com
>
> iQA/AwUBPmO+jlVYIIV9CtSHEQKU1gCg01qayq76M7fZt07ffVQuPJXucIIAoKzn
> hO4Qrd/tk2mrJd6TYufjwejv
> =G56o
> -END PGP SIGNATURE-
>
>
> --
> Please see the official ORACLE-L FAQ: http://www.orafaq.net
> --
> Author: Chuck Hamilton
>   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: Tim Gorman
  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: Sharing data between sessions

2003-03-03 Thread Jeremy Pulcifer
Title: RE: Sharing data between sessions





> From: Chuck Hamilton [mailto:[EMAIL PROTECTED]] 
> 
> One of my developers wants to share data between sessions 
> inside a package. Specifically he wants to set some sort of 
> global variable in a package that session 1 executes, and 
> when sessions 2,3...n fire a trigger he wants them to be able 
> to read that variable. Is there an easy way to do this other 
> than by using a table? I was thinking that java might have 
> this ability but I don't know java at all. I know you can 
> link a C program to a trigger and since this is on unix you 
> could theoretically create a shared memory segment that the 
> trigger would read but this sounds like to a lot of hoops to 
> jump through.
> 
> Any suggestions?


First, define "session".


A variable inside a package header is the usual solution to this.





RE: Sharing data between sessions

2003-03-03 Thread Jamadagni, Rajendra
Title: RE: Sharing data between sessions





In Oracle all data is session specific ... even package data ... sessions share the package code.


1. Use a small table to share the data.
or
2. Use dbms_pipe to receive request and send out data ... this will act as a pseudo package header for all sessions.


These are the easiest ways ... of course I could just implement the dbms_pipe interface using dbms_alert as well to make it transactional. 

Raj
-
Rajendra dot Jamadagni at espn dot com
Any views expressed here are strictly personal.
QOTD: Any clod can have facts, having an opinion is an art !!



-Original Message-
From: Chuck Hamilton [mailto:[EMAIL PROTECTED]]
Sent: Monday, March 03, 2003 3:44 PM
To: Multiple recipients of list ORACLE-L
Subject: Sharing data between sessions



-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


One of my developers wants to share data between sessions inside a
package. Specifically he wants to set some sort of global variable in
a package that session 1 executes, and when sessions 2,3...n fire a
trigger he wants them to be able to read that variable. Is there an
easy way to do this other than by using a table? I was thinking that
java might have this ability but I don't know java at all. I know you
can link a C program to a trigger and since this is on unix you could
theoretically create a shared memory segment that the trigger would
read but this sounds like to a lot of hoops to jump through.


Any suggestions?
- --
Chuck


-BEGIN PGP SIGNATURE-
Version: PGP 8.0 - not licensed for commercial use: www.pgp.com


iQA/AwUBPmO+jlVYIIV9CtSHEQKU1gCg01qayq76M7fZt07ffVQuPJXucIIAoKzn
hO4Qrd/tk2mrJd6TYufjwejv
=G56o
-END PGP SIGNATURE-



-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Chuck Hamilton
  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).



*This e-mail 
message is confidential, intended only for the named recipient(s) above and may 
contain information that is privileged, attorney work product or exempt from 
disclosure under applicable law. If you have received this message in error, or are 
not the named recipient(s), please immediately notify corporate MIS at (860) 766-2000 
and delete this e-mail message from your computer, Thank 
you.*1