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: Contention on oraus.msg?

Re: Contention on oraus.msg?

From: Michael McGrattan <mcgrattm_at_cts.com>
Date: 29 Jun 2001 16:57:37 -0700
Message-ID: <4f9704e2.0106291557.374479ed@posting.google.com>

i don't see too many people talking about OCI, etc. in this group so i hope i am not breaking protocol by asking either of you the following question:

do you have a pcscfg.cfg file for Solaris 8? We have been developing under Linux RedHat 6.2 with Oracle 8.1.6 and we need to move some Pro*C code to Solaris 8, but we can't seem to get the paths right in the pcscfg.cfg file. Does anyone have a working pcscfg.cfg for Pro*C on Solaris 8.

yong321_at_yahoo.com (Yong Huang) wrote in message news:<b3cb12d6.0106290936.7137aeeb_at_posting.google.com>...
> Are you sure it's oraus.msg, not oraus.msb?
>
> I've been playing around tracing an Oracle process on the OS side
> recently. I noticed that all Oracle processes, background or
> foreground, open $ORACLE_HOME/rdbms/mesg/oraus.msb (note msb, not msg)
> with a file descriptor 9 (I only checked 8.1.6 and 8.1.7 for Sparc
> Solaris 2.6, UFS filesystem). The file is kept open during the
> lifetime of the Oracle process. Your observation is interesting and
> I've never seen anyone mention this contention. But posting a little
> more details should help. What OS or ORA error do you get if any? Can
> you show us a screen shot with no or very little editing? Note that a
> file inode is locked when it's being open()ed and read(). I append
> parentheses even to read because I want to say the inode is locked
> only when the system call read() (or its variant such as pread,
> pread64..) is made but released between two system calls. So suppose
> one process is reading oraus.msb and its trace (truss in Solaris)
> output shows more than 1 read() line consecutively, in fact between
> the two read() lines, another process acquires the inode lock and does
> a read() in the interim. However, since one read of oraus.msb reads
> 512 bytes, you'll never see 2 consecutive reads of this file because
> every message in the file is shorter than 512 bytes.
>
> Inode lock during open() can be ignored unless your sessions therefore
> shadow processes come and go very frequently. Inode lock during read()
> is inevitable. If this is a serious problem to many people, Oracle has
> to modify their code to maybe read the message file less often.
> Knowledge of all this is for informational purpose. There's nothing I
> can think of you can do to alleviate the problem. Actually, do you
> really have contention problem on the message file? How many errors do
> you get and how often? There may be a bug in 8i that almost every SQL
> command results in reading these words in oraus.msb: "column %s,
> specified in logmnr.opt file, does not exist in table..."
>
> Yong Huang
> yong321_at_yahoo.com
>
> rick_at_oyarsa.com (rlr1031) wrote in message news:<978df3d.0106290244.61c7eaee_at_posting.google.com>...
> > Has anyone experienced a problem with contention on the file oraus.msg in a
> > high volume, OLTP, OCI-based application? I know the file is used to
> > translate messages, but how is it being opened and used by Oracle? And when
> > in the processing of an OCI statement is this being hit? On the client? On
> > the server? Prior to sending the response?
> > Our internal database execution times look good, but we have occasional slow
> > downs in the response from the OCI statements.
> >
> > tia,
> > R
> > Oracle 8.1.7.x, single Unix platform with clustered disks (sorry cannot be
> > more specific at this time)
Received on Fri Jun 29 2001 - 18:57:37 CDT

Original text of this message

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