The following is part of a series on the different aspects of disk I/O performance and optimization for Oracle databases. Each tip is excerpted from the not-yet-released Rampant TechPress book, "Oracle disk I/O tuning," by Mike Ault. Check back to the main series page for upcoming installments.
HP-UX SCSI tuning
The scsictl command allows adjustment of the parameters for SCSI on a HP-UX platform. The basic format for the scsictl command is:
scsictl [-akq] [-c command]... [-m mode[= value]]... deviceThe scsictl command recognizes the options listed in Table 3-3.
|Option||Sub-options and descriptions|
|-a||Display the status of all mode parameters available, separated by semicolon-blank (; ) or newline.|
|-c command||Cause the device to perform the specified command. Command can be one of the following:|
|erase||For magneto-optical devices that support write without erase, this command can be used to pre-erase the whole surface to increase data throughput on subsequent write operations. This command maintains exclusive access to the surface during the pre-erasure.|
|sync_cache||For devices that have an internal write cache, this command causes the device to flush its cache to the physical medium.|
|domain_val||Domain validation allows the user to check the quality of transmissions across the bus and helps to find problems like faulty and missing terminators, bad components, etc. This command is only valid for Ultra160 and later devices. If any errors encountered during domain validation, they will be logged in the syslog.|
|get_bus_parms||This command displays information about limits and negotiable parameters of a bus.|
|get_lun_parms||This command displays information about limits and negotiable parameters of a physical or a virtual peripheral device.|
|get_target_parms||This command displays information about limits and negotiable parameters of a target peripheral device.|
|reset_target||This command causes a target reset task management function to be sent to the associated target.|
|reset_bus||This command causes the system to generate a SCSI bus reset condition on the associated bus. A SCSI bus reset condition causes all devices on the bus to be reset (including clearing all active commands on all devices).|
|-k||Continue processing arguments even after an error is detected. The default behavior is to exit immediately when an error is detected.Command line syntax is always verified for correctness, regardless of the -k option. Improper command line syntax causes scsictl to exit without performing any operations on the device.|
|-m mode||Display the status of the specified mode parameter. Mode can be one of the following:|
|immediate_report||For devices that support immediate reporting, this mode controls how the device responds to write requests. If immediate report is enabled (1), write requests can be acknowledged before the data is physically transferred to the media. If immediate report is disabled (0), the device is forced to await the completion of any write request before reporting its status.|
|Ir||Equivalent to immediate_report.|
|queue_depth||For devices that support a queue depth greater than the system default, this mode controls how many I/Os the driver will attempt to queue to the device at any one time. Valid values are (1-255). Some disk devices will not support the maximum queue depth settable by this command. Setting the queue depth in software to a value larger than the disk can handle will result in I/Os being held off once a QUEUE FULL condition exists on the disk.|
|Set the mode parameter mode to value. The available mode parameters and values are listed above. Mode parameters that take only a binary value (1 or 0) and can also be specified as either on or off, respectively.|
|-q||Suppress the labels that are normally printed when mode parameters are displayed. Mode parameter values are printed in the same order as they appear on the command line, separated by semicolon-blank (; ) or newline.|
Figure 3-3: The scsictl Command Options
Mode parameters and commands need only be specified up to a unique prefix. When abbreviating a mode parameter or command, at least the first three characters must be supplied.
To display all the mode parameters, turn immediate_report on, and redisplay the value of immediate_report:
scsictl -a -m ir=1 -m ir /dev/rdsk/c0t6d0producing the following output:
immediate_report = 0; queue_depth = 8; immediate_report = 1To get the same output using the suppression of labels, the command would look like so:
scsictl -aq -m ir=1 -m ir /dev/rdsk/c0t6d0producting the following output:
0; 8; 1Remember, when the system is rebooted, the HP-UX disk3 and sdisk drivers always reset the value of the immediate_report mode parameter to OFF. If ioctl or scsictl is used to change the setting of immediate reporting on a SCSI device, the new value becomes the default setting upon subsequent configuration (e.g., opens) of this device and retains its value across system or device powerfail recovery. However, on the next system reboot, the immediate_report mode parameter is reset to the value of the tunable system parameter, default_disk_ir. This parameter is set in the system_file used to create the HP-UX system by the config command.
Click to buy the book, "Oracle disk I/O tuning," by Mike Ault.
About the author
Mike Ault is a SearchOracle.com expert and a senior Oracle consultant with Burleson Consulting, and one of the leading names in Oracle technology. The author of more than 20 Oracle books and hundreds of articles in national publications, Mike Ault has five Oracle Masters Certificates and was the first popular Oracle author with his landmark book "Oracle7 administration and management." Mike also wrote several of the "Exam Cram" books, and enjoys a reputation as a leading author and Oracle consultant. Ask Mike a question today!