1. What is a raw device? A raw device, also known as a raw partition, is a disk partition that is not mounted and written to via the UNIX filesystem, but is accessed via a character-special device driver. It is up to the application how the data is written since there is no filesystem to do this on the applications behalf. 2. How can a raw device be recognised? In the /dev directory, there are essentially two type of files: block special and character special. Block special files are used when data is transferred to or from a device in fixed size amounts (blocks), whereas character special files are used when data is transferred in varying size amounts. Raw devices use character special files; a long listing of the /dev directory shows them with a c at the leftmost position of the permissions field, e.g. crw-rw-rw- 1 root system 15, 0 Mar 12 09:45 rfd0 In addition, character special files usually have names beginning with an r, as shown in the above example. Some devices, principally disks, have both a block special device and a character special device associated with them; for the floppy diskette shown above, there is also a device brw-rw-rw- 1 root system 15, 0 Apr 16 15:42 /dev/fd0 So the presence of a c in a device does NOT necessarily mean this is a raw device suitable for use by Oracle (or another application). Generally, a raw device needs to be created and set aside for Oracle (or whatever application is going to use it) when the UNIX system is set up - therefore, this needs to be done with close cooperation between the DBA and UNIX system administrator. Once a raw device is in use by Oracle, it must be owned by the oracle account, and may be identified in this way. 3. What are the benefits of raw devices? There can be a performance benefit from using raw devices, since a write to a raw device bypasses the UNIX buffer cache, the data is transferred directly from the Oracle buffer cache to the disk. This is not guaranteed, though. If there is no I/O bottleneck, raw devices will not help. The performance benefit if there is a bottleneck can vary between a few percent to something like 40%. Note that the overall amount of I/O is not reduced; it is just done more efficiently. Another lesser benefit of raw devices is that no filesystem overhead is incurred in terms of inode allocation and maintenance or free block allocation and maintenance. 4. How can I tell if I will benefit from using raw devices? There are two distinct parts to this: first, the Oracle database and application should be examined and tuned as necessary, using one or both of the following: -UTLBstat and UTLestat utilities (in $ORACLE_HOME/rdbms/admin) There are several strategies for improving performance with an existing
|