Purpose
This knowledge base (KB) describes the recommended, supportable procedure for creating crash‑consistent and application‑consistent volume snapshots of Oracle single‑instance, non‑CDB databases on Linux that use traditional filesystems (XFS/ext4) backed by Everpure FlashArray volumes.
It documents the preferred snapshot workflow for Oracle 11g, 12c, and 19c single‑instance databases that are not configured as multitenant container databases (CDBs). For Oracle multitenant (CDB/PDB) deployments, see the separate KB Oracle 19c/26ai Multitenant Snapshots on Everpure FlashArray, which supersedes this document for CDB/PDB environments.
For single‑instance multitenant database snapshots on filesystems, see Creating Storage Snapshots of Oracle 19c/26ai Multitenant Databases on Everpure FlashArray.
A full restore procedure is provided in the companion KB: Restoring Storage Snapshots of Oracle Multitenant Databases on Filesystem on Everpure FlashArray.
Scope and Assumptions
Target Audience
-
DBAs
-
Storage administrators
-
Platform / infrastructure engineers
In Scope
-
Oracle single-instance databases (filesystem-based)
-
Linux hosts (RHEL, OEL, etc.)
-
Everpure FlashArray block volumes mounted as filesystems
-
Snapshot creation using Everpure FlashArray (GUI or CLI)
Out of Scope
-
ASM-based databases (covered in a separate KB)
-
Oracle RAC
-
Application-managed snapshots (RMAN, Oracle Snapshot Manager)
Storage Layout & Prerequisites
To ensure valid snapshots, create three dedicated Everpure FlashArray volumes (or LUNs) for the database: one each for datafiles, online redo logs, and archived logs, then map them to the database host and mount them as separate filesystems. All database‑related volumes must reside on the same FlashArray and will later be grouped in a single Protection Group (PG) for atomic snapshots.
Example target layout
| Component | Array Volume Name | Volume Example | OS Mount Point |
|---|---|---|---|
| Datafiles | oradata_vol | /dev/mapper/pure_oradata | /u02/oradata |
| Redo/Arch Logs | logs_vol | /dev/mapper/pure_logs | /u03/logs |
Prerequisite checklist
Database
-
ARCHIVELOG mode is not a requirement for crash‑consistent volume snapshots
-
ARCHIVELOG mode is required for application-consistent volume snapshots so backups include archived redo and can be used for full and point‑in‑time recovery.
-
Control files and parameter files are located on storage that will be protected by backup and/or included in the same snapshot strategy as needed.
-
Access: SYSDBA access for SQL commands and OS permission to flush buffers.
Host and OS
-
Linux host has multipath configured and stable device names for all Everpure volumes.
-
Filesystems are mounted and owned by the Oracle OS user with sufficient free space for growth.
FlashArray
-
All database volumes (data, redo, arch) are on the same Everpure FlashArray.
-
Volumes are members of a single Protection Group that will be used for snapshots.
| Mode | Snapshot Type | Recoverable? | Useable Clone? | Recommended? |
|---|---|---|---|---|
| NOARCHIVELOG | Crash-consistent | Limited | Unpredictable | No |
| ARCHIVELOG | App-consistent | Full | Yes | Yes |
Snapshot Consistency Models
Crash-Consistent Snapshot (Fastest)
Method: Snapshot without pausing the database.
-
Impact: Zero database downtime.
-
Recovery uses instance recovery from online redo only; ARCHIVELOG is optional.
-
Use cases: Backups, Reporting clones, DR testing
Application-Consistent Snapshot (Recommended)
Method: Place the database in BEGIN BACKUP mode, take snapshots, then END BACKUP.
-
Impact: Brief increase in redo generation; no database outage.
-
Recovery: Clean, predictable recovery after restore.
-
Use cases: Production restores, Gold images, Compliance backups
Snapshot Strategy Summary
| Feature | Crash-Consistent | Application-Consistent (Recommended) |
|---|---|---|
| Method | Snapshot without quiescing IO | BEGIN BACKUP → SNAPSHOT → END BACKUP |
| Impact | Zero database downtime | Brief increase in redo generation; no outage |
| Recovery | Requires crash recovery | Clean, predictable recovery |
| Use Case | Backups, Reporting clones, DR testing | Production restores, gold images, Compliance |
Guidance: Use application‑consistent snapshots for production recovery SLAs. Reserve crash‑consistent snapshots only for non‑production or when Oracle coordination is not possible.
High-Level Workflow
-
Identify filesystem volumes to snapshot
-
Place database in BEGIN BACKUP mode (application-consistent only)
-
Force archive log switch
-
Flush OS buffers
-
Take Everpure FlashArray volume snapshots
-
END BACKUP mode
-
Post-snapshot validation
Notes
Create a Protection Group (as required)
Before snapshotting the database volumes, create a Protection Group (PG) to ensure all related volumes are snapped together with write‑order consistency.
purevol list *ORCL*Create the Protection Group while adding the volumes at the same time:purepgroup create --vollist oracle-prod-fs oradata_vol,redo_vol,arch_vol pg-oracle-prod-fs
purepgroup add --vollist pg-oracle-prod-fs oradata_vol,redo_vol,arch_vol
purepgroup list pg-orcl-prod-fs
Procedure: Application-Consistent Snapshot
Step 1: Place Database in Backup Mode
sqlplus / as sysdba
ALTER DATABASE BEGIN BACKUP;
Step 2: Force Log SwitchALTER SYSTEM ARCHIVE LOG CURRENT;
Step 3: Flush Filesystem Buffers (OS Level)# On the database host
sync
Step 4: Create Everpure FlashArray SnapshotSnapshot all volumes as part of the Protection Group (PG). While individual volumes can be snapped, using a PG is the best practice to maintain write‑order consistency across all volumes.
purepgroup snap --suffix ${ENV}-${DB_NAME}-${APPCONS}-$(date +%F_%H%M%S)-${CHANGE_ID} pg-prod-orcl-fs
Snapshot Naming Convention
<ENV>-<DB_NAME>-<APPCONS>-<YYYY-MM-DD-HHMMSS>-<CHANGE_ID>
Example:
pg-prod-orcl-fs.prod-orcl-appcons-2026-03-17-142530-chg1234
ALTER DATABASE END BACKUP;
ALTER SYSTEM ARCHIVE LOG CURRENT;
Procedure: Crash-Consistent Snapshot
-- Force a checkpoint to flush dirty buffers to disk
ALTER SYSTEM CHECKPOINT;
-- Switch and archive the current redo log (captures all committed work)
ALTER SYSTEM ARCHIVE LOG CURRENT;
-- Optionally record the SCN for documentation
SELECT CURRENT_SCN, TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') SNAP_TIME
FROM V$DATABASE;
Step 2: Create FlashArray protection group snapshot:
purepgroup snap --suffix ${ENV}-${DB_NAME}-CRASHCONS-$(date +%F_%H%M%S)-${CHANGE_ID} pg-prod-orcl-fsSnapshot Naming Convention<ENV>-<DB_NAME>-CRASHCONS-<YYYY-MM-DD-HHMMSS>-<CHANGE_ID>
Example:prod-orcl26-CRASHCONS-2026-03-17-142530-chg1234
Recording the SCN and timestamp at snapshot time is critical for PITR recovery using RECOVER DATABASE SNAPSHOT TIME later if needed.Verification
Confirm snapshot creation:
-
Everpure GUI: Storage → Volumes → Snapshots
-
Everpure CLI:
purepgroup listobj --type snap pg-prod-orcl-fs
For application-consistent snapshots, confirm database state:SELECT open_mode, log_mode FROM v$database;
Automation Guidance
Automation Principles
-
BEGIN BACKUP → SNAPSHOT → END BACKUP must be atomic, tightly timed, and failure-safe
-
Ensure END BACKUP executes even if snapshot creation fails
-
Snapshot timing measured in seconds, not minutes
-
Logging and error handling must be clear and auditable
Reference Implementations
The following reference implementations are available in the EverpureStorage-OpenConnect GitHub repository:
-
Shell scripts (bash): Filesystem-based Oracle snapshots on Everpure FlashArray
-
Ansible playbooks: End-to-end orchestration of Oracle snapshot operations
-
Python examples: Leverage Everpure FlashArray REST API and SDKs
Repository: https://github.com/PureStorage-OpenConnect/oracle-scripts
Automation Best Practices
-
Pre-stage Pure authentication (API tokens, CLI login) to avoid interactive prompts during scheduled runs
-
Keep BACKUP windows to seconds by performing only minimum required operations between BEGIN and END BACKUP
-
Centralize snapshot execution where possible (Ansible control node, scheduling system, automation server)
-
Prefer Protection Group snapshots over per-volume commands to preserve write-order consistency
-
Log snapshot name, timestamp, database mode, and current log sequence for auditing and recovery
Common Pitfalls and Solutions
| Pitfall | Solution |
|---|---|
| Missing volumes in snapshot. | Always include all redo and archive volumes in the Protection Group. Verify with purepgroup list before first snapshot. |
| Database left in BEGIN BACKUP mode. | Use automation with error traps and monitoring to ensure END BACKUP executes even on failure. |
| High write load during snapshot. | Schedule snapshots outside heavy write windows. Use Protection Groups to minimize BACKUP mode duration. |
| Inconsistent snapshot timing across volumes. |
Use Protection Groups or atomic CLI calls to snap all volumes within seconds of each other. |
Summary
Everpure FlashArray filesystem snapshots deliver near‑instant capture, minimal performance impact, and fast recovery when coordinated with Oracle coordination. For production recovery SLAs, use application‑consistent snapshots and protection groups to ensure predictable restores.