--Boundary_(ID_jvLXWnSv+mgEobsZz3ZSIA)
Content-type: MULTIPART/ALTERNATIVE;
BOUNDARY="Boundary_(ID_rpnTJOl9GcuaGhRNYT48nw)"
--Boundary_(ID_rpnTJOl9GcuaGhRNYT48nw)
Content-type: text/plain; charset="iso-8859-1"
Content-transfer-encoding: quoted-printable
As promised... Raw partitions info.
-----Original Message-----
From: Frank T. Kinder <fkinder@us.oracle.com>
To: nelly@fnal.gov <nelly@fnal.gov>
Date: Monday, November 30, 1998 12:54 PM
Subject: Unofficial Unix Notes-Raw
> Nelly, here are some Notes that can also help. Oracle Unofficial.
> 1. How is ORACLE implemented on UNIX?
>
> ORACLE is implemented using a "two-task architecture". The reason
> this is so-named is that each application "task" starts
> corresponding shadow process [task].
>
> This implementation dates back to small memory machines (i.e.
> PDP11) which had a limited address space (64K0. It is still
> useful for those systems which have limited levels of protection.
> The shadow process, which constitutes the ORACLE Kernal, is only
> process which has access to the SGA (and thus the only process
> which can change data.) User requests are passed between the
> two-task interface.
>
> Through reentrant-code, the ORACLE kernel needs to be loaded into
> memory only once. Each application or user maps to the same code
> segment. A stack keeps track of the application's or user's place
> in the program. Only the data variables that pertain to each
> individual are loaded into memory, thus preserving valuable space.
>
> 2. How large is shared-memory in UNIX?
>
> UNIX System V allows the system administrator to alter parameters
> which control the allocation of shared memory. These parameters
> can be found in the SHM file in the directory /etc/master.d. The
> parameters which interact with ORACLE include:
>
> a. SHMMAX - The maximum size (in bytes) of a single shared memory
> segment.
> b. SHMSEG - The maximum number of shared memory segments which
> can be attached by a process.
> c. SHMALL - The maximum amount of shared memory (in clicks[page
> size]) which can be used by all processess. Some examples of
> click sizes are: 1024 - VAX, 3B2, and 3B20; 2048 - 3B5;
> 4096 - UTS.
>
> Typical values of SHMMAX might be:
> a. 3B2 - 131072
> b. 3B5 - 524288 (maximum value)
> c. 3B20 - 131072 (maximum value)
> d. UTS - 1048576
> e. VAX - 524288
>
> ORACLE uses shared memory segments for the System Global Area
> (SGA). If the size of the SGA exceeds the maximum size of a
> shared memory segment (SHMMAX), ORACLE wukk attempt to attach up
> to SHMSEG contiguous segments to fulfill the reqsuested SGA size.
> In order to attach the segments at contiguous addresses, SHMMAX,
> must be set to its maximum value on systems where its size is
> limited (eg. 3B5 and 3B20).
>
> The typical setting for SHMALL should be no more than 25% of the
> physical memory on the machine.
>
> One word of caution, increasing SHMMAX or SHMALL to allow too
> much of a machines physical memory to be devoted to shared memory
> (ORACLE SGA's) can lead to excessive swapping and poor performance
>
> 3. How is the ORACLE data stored on disk?
>
> ORACLE data can be stored in two ways: A) On the UNIX file system
> B) On "raw devices". A "raw device" is a disk or a partition of
> a disk which has been configured so that the UNIX operating
> system is no longer in control of that disk or partition. The
> advantage to using raw devices is:
>
> * I/O is done directly from the disk to the SGA with little CPU
> overhead. (ORACLE bypasses the UNIX buffer cache.)
> * The overhead of UNIX one block read ahead is avoided.
> * The overhead of the UNIX file system is avoided.
> * The UNIX and ORACLE buffer cache are independently tuned.
>
> Most users will want to place both the .DBS and .BI file onto
> raw disk. They should be placed on separate drives in order to
> avoid head contention. All other files should be placed onto the
> UNIX file system.
>
> The use of raw devices should generally result in a 10-20%
> improvement in database performance.
>
> 4. How does a user set up a "raw device"
>
> The answer to this varies depending upon the particular UNIX
> system and hardware. We will give you a generic overview. You
> should not attempt to do this without and experienced system
> administrator and specific knowledge about the machine you are
> using.
>
> You should know the name if the disk devices on the system. On
> standard System V systems these are normally found in the direct-
> ory "/dev/rdsk"/. The names might be of the form "c0d1s9"
> (Controller 0, Disk 1, Section 9). Documentation on device names
> should be located in the UNIX System Administrator Reference
> Manual issued with your machine.
>
> a. You will also need the names of the free sections (partitions).
> A free partition is one which is not used for a UNIX file system.
> That is, when you execute the "/etc/mount" command, it will not
> be listed. It also MUST NOT be overlapped by or overlap a UNIX
> file system. (It MUST not overlap the swapping paritition either)
> How will lyou know? Execute a "vtoc" command and it will list out
> the current mapping of your disks. The areas that show up as not
> being assigned are available for partitioning as raw.
>
> b. Verify that the paritition is formatted and then "chown oracle
> /dev/rdsk/cXdXsX". You may now ccf the device to initialize it
> for use with ORACLE. (The number of blocks is determined by
> the partition size MINUS 2 blocks). The partition name can be
> used as a standard ORACLE partition in the "init.ora" file or
> with the "alter partition" command.
>
> 5. What is the difference between the UNIX buffer cache and the
> ORACLE buffer cache?
>
> The UNIX buffer cache is provided by the operating system and is
> used to hold blocks of data, in RAM, which are being transferred
> from memory to disk or vice versa. This is a configurable
> parameter on most UNIX systems (NBUF). The ORACLE buffer cache,
> on the other hand, is the area in memory which stores the
> database buffers for the ORACLE RDBMS. Since ORACLE can use raw
> devices, it does not need to use the UNIX buffer cache. This
> eliminates one potential area of contention that other UNIX
> DBMS's can not.
>
>
--Boundary_(ID_rpnTJOl9GcuaGhRNYT48nw)
Content-type: text/html; charset="iso-8859-1"
Content-transfer-encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
WebIV:View NOTE |