Files
nokia-hpux-oracle/README.md
2025-10-28 11:02:06 -04:00

4.3 KiB

Rubrik Oracle Backup Scripts for HP-UX

This collection of Korn shell (ksh) scripts provides automated backup solutions for Oracle databases using Rubrik Managed Volumes (MVs) on HP-UX systems. The scripts are designed to be HP-UX compatible and handle RMAN backups with incremental merge functionality.

Prerequisites

  • Operating System: HP-UX 11i or later (also works on Linux/Solaris/AIX)
  • Shell: Korn shell (ksh) - standard on HP-UX
  • Tools: curl, awk, egrep, date, expr, mkdir, hostname, ps, find, chmod
  • Oracle: Oracle Database with RMAN configured
  • Rubrik: Access to Rubrik CDM with Managed Volumes configured
  • Permissions: Scripts should be run as the Oracle user

RMAN Configuration

The script will

Configuration

  1. Copy rbk_api.conf.example to rbk_api.conf
  2. Edit rbk_api.conf with your Rubrik settings:
# Rubrik API Configuration
ID="your-service-account-id"
SECRET="your-service-account-secret"
RUBRIK_IP="your-rubrik-cluster-ip"

# Mount point prefix for Managed Volumes
MOUNTPOINT_PREFIX="/rubrik_"

# Log retention settings
HOSTLOGRET=2
MV_SPACE_WARN=75

# Logging directories
API_LOG_DIR=/tmp/rubrik
RMAN_LOG_DIR=/tmp/rubrik/rman

# Alert settings
ALERT_EMAILS="admin@example.com"
EMAIL_SUCCESS=1

Scripts Overview

oracle_funcs.ksh

Shared functions library containing:

  • API authentication and REST calls
  • Managed Volume operations (open/close)
  • Error handling and logging
  • OS detection and date handling

list_mv.ksh

Lists all Managed Volumes visible to the configured service account, showing each MV's name and isWritable status.

Usage:

./list_mv.ksh

Output:

Service account in use is client|...
Managed Volumes visible to this account:
mv_name_1: isWritable=true
mv_name_2: isWritable=false

rubrik_mv_op.ksh

Opens or closes a Managed Volume for backup operations.

Usage:

./rubrik_mv_op.ksh -d <DBNAME> -v <logs|data> -o <open|close>

Examples:

# Open data volume for ORCL database
./rubrik_mv_op.ksh -d ORCL -v data -o open

# Close logs volume for ORCL database
./rubrik_mv_op.ksh -d ORCL -v logs -o close

rman_db.ksh

Performs RMAN database backup with incremental merge to Rubrik Managed Volume.

Usage:

./rman_db.ksh <ORACLE_SID>

Features:

  • Incremental level 1 backup with merge
  • Automatic MV open/close
  • Disk space monitoring
  • Email alerts on failure/success
  • Archive log backup

rman_logs.ksh

Performs RMAN archive log backup to Rubrik Managed Volume.

Usage:

./rman_logs.ksh <ORACLE_SID>

Features:

  • Backs up all not-backed-up archive logs
  • Automatic MV open/close
  • Disk space monitoring
  • Optional host-side log purging
  • Email alerts

HP-UX Compatibility Notes

These scripts are specifically designed for HP-UX compatibility:

  • Uses ksh instead of bash
  • Avoids GNU-specific commands (grep -o, readlink)
  • Portable awk for JSON parsing
  • HP-UX date handling with fallback to GNU date
  • No reliance on symlinks for script location detection

Logging

  • API calls are logged to $API_LOG_DIR/api_calls.log
  • RMAN operations are logged to $RMAN_LOG_DIR/$ORACLE_SID/
  • Use tail -f on log files for monitoring

Troubleshooting

Common Issues

  1. "readlink not found": Scripts use portable directory detection
  2. JSON parsing errors: Ensure Rubrik API returns expected format
  3. MV not found: Check MV naming convention: ${HOST}_${ORACLE_SID}_data/logs
  4. Permission denied: Run as Oracle user, ensure MV mount points are accessible
  5. Curl errors: Check network connectivity to Rubrik cluster

Debug Mode

Add debug output by modifying scripts to show raw API responses.

Testing Compatibility

Run the included test.ksh script to verify HP-UX compatibility of required tools.

Security Notes

  • Store rbk_api.conf securely with appropriate permissions
  • Service account should have minimal required permissions
  • Avoid logging secrets in log files

Support

For issues specific to Rubrik CDM or Oracle integration, consult:

  • Rubrik documentation
  • Oracle RMAN documentation
  • HP-UX system administration guides

Version History

  • v1.1: Enhanced list_mv.ksh with isWritable status, HP-UX compatibility improvements
  • v1.0: Initial release with basic RMAN backup functionality