The check_ora_sap_mounts.pl script is a fairly quick-and-dirty script to validate the mount options on remote Oracle filesystems in a typical SAP set-up according to some of the best practices in a SAP/Oracle environment.

It uses remote execution of commands via SSH to crawl through a list of database servers. It is advisable to have access via public key authentication configured - without passphrase - to allow for batch mode execution

root privileges are not required to run the script. In fact you are better off using a low-privileged user so that the related SSH connections the script will make are also done with restricted privileges.


Download the script from following GitHub repository: https://github.com/patvdv/hpux_scripts


Have a look at the configuration stanza in the script and validate if/what needs to be retro-fitted to your environment:

# ------------------------- CONFIGURATION starts here -------------------------
# path to file containing list of database hosts to check
my $hosts_list = '/tmp/myhosts.lst';
# common parent directory for SAP filesystems
my $parent_dir = '/oracle';
# path to output report file
my $output_file = "/var/log/$0.lst";
# oracle mount point standards
my %standard_opts = (
	'ora_redo' => ['delaylog', 'nodatainlog', 'convosync=direct', 'mincache=direct', 'largefiles'],
	'sap_redo' => ['delaylog', 'nodatainlog', 'largefiles'],
	'ora_arch' => ['delaylog', 'nodatainlog', 'convosync=direct', 'mincache=direct', 'largefiles'],
	'ora_data' => ['delaylog', 'nodatainlog', 'convosync=direct', 'mincache=direct', 'largefiles'],
	'ora_prog' => ['delaylog', 'nodatainlog', 'largefiles'],
	'ora_fra'  => ['delaylog', 'nodatainlog', 'convosync=direct', 'mincache=direct', 'largefiles'],
	'ora_ulog' => ['delaylog', 'nodatainlog', 'largefiles']
# ------------------------- CONFIGURATION ends here ---------------------------

:pushpin: the script assumes that the SAP file systems are mounted under a common parent mountpoint. The purpose of all subsequent mount points for the individual SAP filesystems are being guessed or worked out by the script itself. This may or may not suit your environment. YMMV.


  • HP-UX 11.x
  • SAP/Oracle
  • SSH with public key authentication (batched)
  • Perl