Re: process memory utilization
chao_ping, It seems i am posting a too long question, so nobody is interested. I post the answer to my second question, to check the memory utilization in linux operation system. It is in /proc/spid/status file. Regards zhu chao Eachnet DBA 86-21-32174588-667 [EMAIL PROTECTED] www.cnoug.org(Chinese Oracle User Group) === 2002-12-02 08:34:00 ,you wrote£º=== Hi,dba friends: I am thinking of measure how much memory per connection used, from the os viewpoint and oracle viewpoint. And this is my result from my production server, and i have some questions below. 23:56:28 SQL select sum(value),sum(value)/count(distinct sid) average from v$sesstat where statistic#=15; --uga SUM(VALUE) AVERAGE 69,098,528 145,777 23:58:09 SQLselect sum(value),sum(value)/count(distinct sid),max(value) from v$sesstat where statistic#=20 --pga SUM(VALUE) SUM(VALUE)/COUNT(DISTINCTSID) MAX(VALUE) - 265,290,648559,684.9117,510,184 There is about my production server(oracle817+solaris7), and I also used pmap to trace some process and it look like: oracle@main-db1$pmap 11443 #some process id i which is choosed randomly via /usr/ucb/ps -aux. 11443: oraclebiddb (LOCAL=NO) 0001 29440K read/exec /export/home/oracle/app/product/8.1.7/bin/oracle 000101DBE000464K read/write/exec /export/home/oracle/app/product/8.1.7/bin/oracle 000101E32000 1440K read/write/exec [ heap ] 00038000 5685720K read/write/exec/shared [ shmid=0x65 ] 7D80 16K read/exec /usr/lib/sparcv9/libmp.so.2 7D902000 8K read/write/exec /usr/lib/sparcv9/libmp.so.2 7DA0 88K read/exec /usr/lib/sparcv9/libm.so.1 7DB14000 16K read/write/exec /usr/lib/sparcv9/libm.so.1 7DC0 8K read/exec /usr/lib/sparcv9/libkstat.so.1 7DD0 8K read/write/exec /usr/lib/sparcv9/libkstat.so.1 7DE0 32K read/exec /usr/lib/sparcv9/librt.so.1 7DF06000 8K read/write/exec /usr/lib/sparcv9/librt.so.1 7E00 24K read/exec /usr/lib/sparcv9/libaio.so.1 7E104000 16K read/write/exec /usr/lib/sparcv9/libaio.so.1 7E20704K read/exec /usr/lib/sparcv9/libc.so.1 7E3AE000 64K read/write/exec /usr/lib/sparcv9/libc.so.1 7E3BE000 8K read/write/exec [ anon ] 7E40 8K read/exec /usr/lib/sparcv9/libsched.so.1 7E50 8K read/write/exec /usr/lib/sparcv9/libsched.so.1 7E60 32K read/exec /usr/lib/sparcv9/libgen.so.1 7E706000 8K read/write/exec /usr/lib/sparcv9/libgen.so.1 7E80 40K read/exec /usr/lib/sparcv9/libsocket.so.1 7E908000 16K read/write/exec /usr/lib/sparcv9/libsocket.so.1 7EA0624K read/exec /usr/lib/sparcv9/libnsl.so.1 7EB9A000 64K read/write/exec /usr/lib/sparcv9/libnsl.so.1 7EBAA000 32K read/write/exec [ anon ] 7EC0 3896K read/exec /export/home/oracle/app/product/8.1.7/lib/libjox8.so 7F0CC000192K read/write/exec /export/home/oracle/app/product/8.1.7/lib/libjox8.so 7F0FC000 8K read/write/exec [ anon ] 7F30 40K read/exec /export/home/oracle/app/product/8.1.7/lib64/libdsbtsh8.so 7F408000 8K read/write/exec /export/home/oracle/app/product/8.1.7/lib64/libdsbtsh8.so 7F40A000 8K read/write/exec [ anon ] 7F50 8K read/exec /export/home/oracle/app/product/8.1.7/lib64/libskgxp8.so 7F60 8K read/write/exec /export/home/oracle/app/product/8.1.7/lib64/libskgxp8.so 7F68128K read/exec /usr/lib/sparcv9/ld.so.1 7F79 16K read/exec /usr/platform/sun4u/lib/sparcv9/libc_psr.so.1 7F79E000 8K read/write/exec /usr/lib/sparcv9/ld.so.1 7F7A 8K read/write/exec [ anon ] 7F7B 8K read/write/exec [ anon ] 7F7C 8K read/write/exec [ anon ] 7F7D 8K read/write/exec/shared [ anon ] 7F7E 8K read/write/exec [ anon ] 7F7F 8K read/exec /usr/lib/sparcv9/libdl.so.1 7FFEE000 72K read/write [ stack ] total 5723336K and i compared it with oracle statistics: 00:11:59 SQL @whoisit 00:12:02 SQL col machine format a30 00:12:02 SQL col program format a40 00:12:02 SQL set line 200 00:12:02 SQL select sid,serial# ,username,osuser,machine,program,process,to_char(logon_time,'/mm/dd hh24:mi:ss') 00:12:02 2 from v$session where paddr in( 00:12:02 3 select addr from v$process where spid in(spid)); Enter
RE: process memory utilization
I posted a similar question recently and whilst I received some answers I never did discover an exact way of matching oracle use of memory with unix use of memory. One issue is that when oracle releases memory the unix process does not automatically do the same until the memory is required. Therefore it is likely that there will always be a difference. Tim Gorman pointed me to a script oramem.sh (www.evdbt.com/tools.htm) which does what you are doing with a pmap function which is quite useful The discussion was around 4/10/02 and the thread title was How much memory is an oracle shadow process using John -Original Message- Sent: 03 December 2002 11:29 To: Multiple recipients of list ORACLE-L chao_ping, It seems i am posting a too long question, so nobody is interested. I post the answer to my second question, to check the memory utilization in linux operation system. It is in /proc/spid/status file. Regards zhu chao Eachnet DBA 86-21-32174588-667 [EMAIL PROTECTED] www.cnoug.org(Chinese Oracle User Group) === 2002-12-02 08:34:00 ,you wrote£º=== Hi,dba friends: I am thinking of measure how much memory per connection used, from the os viewpoint and oracle viewpoint. And this is my result from my production server, and i have some questions below. 23:56:28 SQL select sum(value),sum(value)/count(distinct sid) average from v$sesstat where statistic#=15; --uga SUM(VALUE) AVERAGE 69,098,528 145,777 23:58:09 SQLselect sum(value),sum(value)/count(distinct sid),max(value) from v$sesstat where statistic#=20 --pga SUM(VALUE) SUM(VALUE)/COUNT(DISTINCTSID) MAX(VALUE) - 265,290,648559,684.9117,510,184 There is about my production server(oracle817+solaris7), and I also used pmap to trace some process and it look like: oracle@main-db1$pmap 11443 #some process id i which is choosed randomly via /usr/ucb/ps -aux. 11443: oraclebiddb (LOCAL=NO) 0001 29440K read/exec /export/home/oracle/app/product/8.1.7/bin/oracle 000101DBE000464K read/write/exec /export/home/oracle/app/product/8.1.7/bin/oracle 000101E32000 1440K read/write/exec [ heap ] 00038000 5685720K read/write/exec/shared [ shmid=0x65 ] 7D80 16K read/exec /usr/lib/sparcv9/libmp.so.2 7D902000 8K read/write/exec /usr/lib/sparcv9/libmp.so.2 7DA0 88K read/exec /usr/lib/sparcv9/libm.so.1 7DB14000 16K read/write/exec /usr/lib/sparcv9/libm.so.1 7DC0 8K read/exec /usr/lib/sparcv9/libkstat.so.1 7DD0 8K read/write/exec /usr/lib/sparcv9/libkstat.so.1 7DE0 32K read/exec /usr/lib/sparcv9/librt.so.1 7DF06000 8K read/write/exec /usr/lib/sparcv9/librt.so.1 7E00 24K read/exec /usr/lib/sparcv9/libaio.so.1 7E104000 16K read/write/exec /usr/lib/sparcv9/libaio.so.1 7E20704K read/exec /usr/lib/sparcv9/libc.so.1 7E3AE000 64K read/write/exec /usr/lib/sparcv9/libc.so.1 7E3BE000 8K read/write/exec [ anon ] 7E40 8K read/exec /usr/lib/sparcv9/libsched.so.1 7E50 8K read/write/exec /usr/lib/sparcv9/libsched.so.1 7E60 32K read/exec /usr/lib/sparcv9/libgen.so.1 7E706000 8K read/write/exec /usr/lib/sparcv9/libgen.so.1 7E80 40K read/exec /usr/lib/sparcv9/libsocket.so.1 7E908000 16K read/write/exec /usr/lib/sparcv9/libsocket.so.1 7EA0624K read/exec /usr/lib/sparcv9/libnsl.so.1 7EB9A000 64K read/write/exec /usr/lib/sparcv9/libnsl.so.1 7EBAA000 32K read/write/exec [ anon ] 7EC0 3896K read/exec /export/home/oracle/app/product/8.1.7/lib/libjox8.so 7F0CC000192K read/write/exec /export/home/oracle/app/product/8.1.7/lib/libjox8.so 7F0FC000 8K read/write/exec [ anon ] 7F30 40K read/exec /export/home/oracle/app/product/8.1.7/lib64/libdsbtsh8.so 7F408000 8K read/write/exec /export/home/oracle/app/product/8.1.7/lib64/libdsbtsh8.so 7F40A000 8K read/write/exec [ anon ] 7F50 8K read/exec /export/home/oracle/app/product/8.1.7/lib64/libskgxp8.so 7F60 8K read/write/exec /export/home/oracle/app/product/8.1.7/lib64/libskgxp8.so 7F68128K read/exec /usr/lib/sparcv9/ld.so.1 7F79 16K read/exec /usr/platform/sun4u/lib/sparcv9/libc_psr.so.1 7F79E000 8K read/write/exec /usr/lib/sparcv9/ld.so.1 7F7A 8K read/write/exec [ anon ] 7F7B 8K read/write/exec [ anon ] 7F7C 8K read/write/exec [ anon ] 7F7D
process memory utilization
Hi,dba friends: I am thinking of measure how much memory per connection used, from the os viewpoint and oracle viewpoint. And this is my result from my production server, and i have some questions below. 23:56:28 SQL select sum(value),sum(value)/count(distinct sid) average from v$sesstat where statistic#=15; --uga SUM(VALUE) AVERAGE 69,098,528 145,777 23:58:09 SQLselect sum(value),sum(value)/count(distinct sid),max(value) from v$sesstat where statistic#=20 --pga SUM(VALUE) SUM(VALUE)/COUNT(DISTINCTSID) MAX(VALUE) - 265,290,648559,684.9117,510,184 There is about my production server(oracle817+solaris7), and I also used pmap to trace some process and it look like: oracle@main-db1$pmap 11443 #some process id i which is choosed randomly via /usr/ucb/ps -aux. 11443: oraclebiddb (LOCAL=NO) 0001 29440K read/exec /export/home/oracle/app/product/8.1.7/bin/oracle 000101DBE000464K read/write/exec /export/home/oracle/app/product/8.1.7/bin/oracle 000101E32000 1440K read/write/exec [ heap ] 00038000 5685720K read/write/exec/shared [ shmid=0x65 ] 7D80 16K read/exec /usr/lib/sparcv9/libmp.so.2 7D902000 8K read/write/exec /usr/lib/sparcv9/libmp.so.2 7DA0 88K read/exec /usr/lib/sparcv9/libm.so.1 7DB14000 16K read/write/exec /usr/lib/sparcv9/libm.so.1 7DC0 8K read/exec /usr/lib/sparcv9/libkstat.so.1 7DD0 8K read/write/exec /usr/lib/sparcv9/libkstat.so.1 7DE0 32K read/exec /usr/lib/sparcv9/librt.so.1 7DF06000 8K read/write/exec /usr/lib/sparcv9/librt.so.1 7E00 24K read/exec /usr/lib/sparcv9/libaio.so.1 7E104000 16K read/write/exec /usr/lib/sparcv9/libaio.so.1 7E20704K read/exec /usr/lib/sparcv9/libc.so.1 7E3AE000 64K read/write/exec /usr/lib/sparcv9/libc.so.1 7E3BE000 8K read/write/exec [ anon ] 7E40 8K read/exec /usr/lib/sparcv9/libsched.so.1 7E50 8K read/write/exec /usr/lib/sparcv9/libsched.so.1 7E60 32K read/exec /usr/lib/sparcv9/libgen.so.1 7E706000 8K read/write/exec /usr/lib/sparcv9/libgen.so.1 7E80 40K read/exec /usr/lib/sparcv9/libsocket.so.1 7E908000 16K read/write/exec /usr/lib/sparcv9/libsocket.so.1 7EA0624K read/exec /usr/lib/sparcv9/libnsl.so.1 7EB9A000 64K read/write/exec /usr/lib/sparcv9/libnsl.so.1 7EBAA000 32K read/write/exec [ anon ] 7EC0 3896K read/exec /export/home/oracle/app/product/8.1.7/lib/libjox8.so 7F0CC000192K read/write/exec /export/home/oracle/app/product/8.1.7/lib/libjox8.so 7F0FC000 8K read/write/exec [ anon ] 7F30 40K read/exec /export/home/oracle/app/product/8.1.7/lib64/libdsbtsh8.so 7F408000 8K read/write/exec /export/home/oracle/app/product/8.1.7/lib64/libdsbtsh8.so 7F40A000 8K read/write/exec [ anon ] 7F50 8K read/exec /export/home/oracle/app/product/8.1.7/lib64/libskgxp8.so 7F60 8K read/write/exec /export/home/oracle/app/product/8.1.7/lib64/libskgxp8.so 7F68128K read/exec /usr/lib/sparcv9/ld.so.1 7F79 16K read/exec /usr/platform/sun4u/lib/sparcv9/libc_psr.so.1 7F79E000 8K read/write/exec /usr/lib/sparcv9/ld.so.1 7F7A 8K read/write/exec [ anon ] 7F7B 8K read/write/exec [ anon ] 7F7C 8K read/write/exec [ anon ] 7F7D 8K read/write/exec/shared [ anon ] 7F7E 8K read/write/exec [ anon ] 7F7F 8K read/exec /usr/lib/sparcv9/libdl.so.1 7FFEE000 72K read/write [ stack ] total 5723336K and i compared it with oracle statistics: 00:11:59 SQL @whoisit 00:12:02 SQL col machine format a30 00:12:02 SQL col program format a40 00:12:02 SQL set line 200 00:12:02 SQL select sid,serial# ,username,osuser,machine,program,process,to_char(logon_time,'/mm/dd hh24:mi:ss') 00:12:02 2 from v$session where paddr in( 00:12:02 3 select addr from v$process where spid in(spid)); Enter value for spid: 11443 old 3: select addr from v$process where spid in(spid)) new 3: select addr from v$process where spid in(11443)) SIDSERIAL# USERNAME OSUSER MACHINEPROGRAM PROCESS TO_CHAR(LOGON_TIME, -- -- -- --
Re: Memory utilization
Hi Tim, FF21 8K read/write/exec [ anon ] FF34 8K read/write/exec/shared [ anon ] FF3A 8K read/write/exec [ anon ] I don't know what anon means, but let's assume that it is also private to this specific process, The anon refers to anonymous pages that are mapped to /dev/zero by calling mmap() which is a bunch of zeroes and not mapped from a file. It can be shared between processes with common ancestors as it does not have data as such and just zeroes, but processes having access to a single mapping of /dev/zero can share this memory region. In the above case, we have a 8K that is shared and the 16K that is private to this process. I am sure I will be corrected if I am wrong :-) Hope this helps. Regards, Madhavan -- Madhavan Amruthur DecisionPoint Applications -- http://fastmail.fm - You've just been FastMailed! -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Madhavan Amruthur INET: [EMAIL PROTECTED] Fat City Network Services-- (858) 538-5051 FAX: (858) 538-5051 San Diego, California-- Public Internet access / Mailing Lists 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: Memory utilization
From the OS pmap From the DB select * from v$sesstat where stat# in ( select stat# from v$statname where name like '%ga%' ) hth connor --- CP [EMAIL PROTECTED] wrote: Hi Gurus, How can I find out the amount of memory utilized (grabbed from the available memory of the OS) by a server process, whenever a user establishes a connection with the database. The OS is Sun Solairs with Oracle version 8.1.7.3. In other words, if I have a unix process id, is there a way to find out how much memory it is consuming. Thanks for your help and time in advance. CP [EMAIL PROTECTED] wrote: OS: Solaris 2.7 Database: 8.1.7 On dev server, !ls from sqlplus gives the files of current directory where sqlplus runs. On pro server, !ls from sqlplus goes to the home directory of os user. For example, Login to sqlplus from /u01 on both machines, on dev: SQL !pwd /u01 on pro: SQL !pwd /export/oracle What seting affects this ? Thanks, -Li Zhang -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: CP INET: [EMAIL PROTECTED] Fat City Network Services-- (858) 538-5051 FAX: (858) 538-5051 San Diego, California-- Public Internet access / Mailing Lists 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). = Connor McDonald http://www.oracledba.co.uk http://www.oaktable.net Some days you're the pigeon, some days you're the statue __ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: =?iso-8859-1?q?Connor=20McDonald?= INET: [EMAIL PROTECTED] Fat City Network Services-- (858) 538-5051 FAX: (858) 538-5051 San Diego, California-- Public Internet access / Mailing Lists 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: Memory utilization
Sure! One way is to use the UNIX pmap utility... Here is 8.1.7.3 on Sol 2.8; my apologies if this output wraps and comes out really ugly -- there's really no way to prettify this on the plain text email formats enforced by the list server... I've made notes indicating where the Oracle PGA/UGA and SGA data structures are located $ pmap 28598 28598: oracleportal (DESCRIPTION=(LOCAL=no)(ADDRESS=(PROTOCOL=BEQ))) 0001 26520K read/exec /opt/app/oracle/product/8.1.7/bin/oracle 01A04000264K read/write/exec /opt/app/oracle/product/8.1.7/bin/oracle 01A46000720K read/write/exec [ heap ] == ORACLE PGA/UGA IS HERE!!! 8000 205192K read/write/exec/shared [ ism shmid=0xc9 ] == ORACLE SGA IS HERE!!! FEC0 4056K read/exec /opt/app/oracle/product/8.1.7/lib/libjox8.so FF004000160K read/write/exec /opt/app/oracle/product/8.1.7/lib/libjox8.so FF02C000 8K read/write/exec /opt/app/oracle/product/8.1.7/lib/libjox8.so FF08 16K read/exec /usr/platform/sun4u/lib/libc_psr.so.1 FF09 16K read/exec /usr/lib/libmp.so.2 FF0A4000 8K read/write/exec /usr/lib/libmp.so.2 FF0B 88K read/exec /usr/lib/libm.so.1 FF0D4000 8K read/write/exec /usr/lib/libm.so.1 FF0E 8K read/exec /usr/lib/libkstat.so.1 FF0F2000 8K read/write/exec /usr/lib/libkstat.so.1 FF10680K read/exec /usr/lib/libc.so.1 FF1BA000 32K read/write/exec /usr/lib/libc.so.1 FF1D 24K read/exec /usr/lib/librt.so.1 FF1E6000 8K read/write/exec /usr/lib/librt.so.1 FF1F 32K read/exec /usr/lib/libaio.so.1 FF208000 8K read/write/exec /usr/lib/libaio.so.1 FF21 8K read/write/exec [ anon ] FF22 8K read/exec /usr/lib/libsched.so.1 FF232000 8K read/write/exec /usr/lib/libsched.so.1 FF24 24K read/exec /usr/lib/libgen.so.1 FF256000 8K read/write/exec /usr/lib/libgen.so.1 FF26 40K read/exec /usr/lib/libsocket.so.1 FF27A000 8K read/write/exec /usr/lib/libsocket.so.1 FF28560K read/exec /usr/lib/libnsl.so.1 FF31C000 32K read/write/exec /usr/lib/libnsl.so.1 FF324000 32K read/write/exec /usr/lib/libnsl.so.1 FF34 8K read/write/exec/shared [ anon ] FF35 32K read/exec /opt/app/oracle/product/8.1.7/lib/libdsbtsh8.so FF366000 8K read/write/exec /opt/app/oracle/product/8.1.7/lib/libdsbtsh8.so FF368000 8K read/write/exec /opt/app/oracle/product/8.1.7/lib/libdsbtsh8.so FF37 8K read/exec /opt/app/oracle/product/8.1.7/lib/libskgxp8.so FF38 8K read/write/exec /opt/app/oracle/product/8.1.7/lib/libskgxp8.so FF39 8K read/exec /usr/lib/libdl.so.1 FF3A 8K read/write/exec [ anon ] FF3B152K read/exec /usr/lib/ld.so.1 FF3E6000 8K read/write/exec /usr/lib/ld.so.1 FFBE 64K read/write/exec [ stack ] total 238896K So, the total at the bottom shows that total virtual memory consumed for this process is 238896K, but really all but those areas marked as heap and stack are truly distinct for the process. All those other text pages with the file-names next to them, as well as the 205,192 Kbyte section marked as ism are memory pages that are shared amongst all oracle server processes, both foreground and background. I see 720K of heap (i.e. Oracle PGA and UGA) and 64K of stack which is particular to this process. I don't know what anon means, but let's assume that it is also private to this specific process, so that totals to 808K that is specific and private to this process. So, in this example, of the total footprint of 238,896 Kb of virtual memory, only 808Kb of that is private to this process only and the remaining 238,088Kb is shared by all of the oracle server processes... - Original Message - To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED] Sent: Wednesday, June 12, 2002 7:13 PM Hi Gurus, How can I find out the amount of memory utilized (grabbed from the available memory of the OS) by a server process, whenever a user establishes a connection with the database. The OS is Sun Solairs with Oracle version 8.1.7.3. In other words, if I have a unix process id, is there a way to find out how much memory it is consuming. Thanks for your help and time in advance. CP [EMAIL PROTECTED] wrote: OS: Solaris 2.7 Database: 8.1.7 On dev server, !ls from sqlplus gives the files of current directory where sqlplus runs. On pro server, !ls from sqlplus goes to the home directory of os user. For example, Login to sqlplus from /u01 on both machines, on dev: SQL !pwd /u01 on pro: SQL !pwd /export/oracle What seting affects this ? Thanks, -Li Zhang -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: CP INET: [EMAIL PROTECTED] Fat City Network Services-- (858) 538-5051 FAX: (858) 538-5051 San Diego,
Memory utilization
Hi Gurus, How can I find out the amount of memory utilized (grabbed from the available memory of the OS) by a server process, whenever a user establishes a connection with the database. The OS is Sun Solairs with Oracle version 8.1.7.3. In other words, if I have a unix process id, is there a way to find out how much memory it is consuming. Thanks for your help and time in advance. CP [EMAIL PROTECTED] wrote: OS: Solaris 2.7 Database: 8.1.7 On dev server, !ls from sqlplus gives the files of current directory where sqlplus runs. On pro server, !ls from sqlplus goes to the home directory of os user. For example, Login to sqlplus from /u01 on both machines, on dev: SQL !pwd /u01 on pro: SQL !pwd /export/oracle What seting affects this ? Thanks, -Li Zhang -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: CP INET: [EMAIL PROTECTED] Fat City Network Services-- (858) 538-5051 FAX: (858) 538-5051 San Diego, California-- Public Internet access / Mailing Lists 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).