Direct answer
At 5 TB with an RTO (Recovery Time Objective) of 2 hours and an RPO (Recovery Point Objective) of 15 minutes, the arithmetic itself rules out a naive cold restore as the primary recovery mechanism: restoring 5 TB from cold object storage at an illustrative sustained throughput of 500 MB/s takes 5,000,000 MB / 500 MB/s ≈ 10,000 s ≈ 2.8 hours, already over the 2-hour budget before any transaction-log replay even starts. The design therefore has to lean on an already-replicating warm standby for the failover path (promotion, not bulk data movement), with continuous log shipping meeting the 15-minute RPO and periodic base backups existing for a different purpose: bounding worst-case recovery time and retention, not for being the thing you restore from during a real incident.
Structured elaboration
Backup cadence. A daily full or base backup taken during a low-traffic window, as the retention and point-in-time-recovery anchor, plus continuous transaction-log shipping running independently of that schedule.
Storage format. Use the database engine's native physical backup format for the base backup (e.g. a physical, binary-level backup rather than a logical SQL dump), since physical backups both create and restore dramatically faster at multi-terabyte scale, a logical dump serializes to individual statements or rows and is far slower on both ends. Store the continuously shipped logs in their native, compressed log format in object storage for point-in-time recovery (PITR). Reserve logical/SQL-dump exports for small, targeted extracts, not as the primary DR mechanism for the full 5 TB database.
Incremental vs. continuous approaches, and why both are needed for different reasons. "Incremental" here means periodic delta captures on a fixed schedule (e.g. every few hours), which bounds how much has to be combined during a restore, that's an RTO lever. "Continuous" means the transaction-log stream, shipped as it's generated rather than on a schedule, that's the RPO lever. These solve different problems and one doesn't substitute for the other: hourly incrementals alone would only give an RPO of roughly 1 hour, four times looser than the 15-minute target, while continuous log shipping with lag kept well under 15 minutes (e.g. shipping every few seconds, alerting if observed lag exceeds roughly 5 minutes, a third of the budget) is what actually delivers the RPO commitment. Conflating the two, assuming a periodic incremental schedule alone satisfies a tight RPO, is exactly the kind of mismatch to avoid.
Meeting RTO = 2 hours. As shown above, a cold restore of the full 5 TB dataset can already consume the entire 2-hour budget on data movement alone, before log replay. The primary failover mechanism should instead be promoting a standby built from the same continuous log stream and already caught up, which requires no bulk data transfer at failover time, just a promotion and endpoint cutover, the same pattern a warm-standby design uses generally. Restore-from-backup-and-replay remains as the fallback for the case where the standby itself is also lost, and its slower, more fragile worst-case time is accepted explicitly as a fallback, not relied on as the primary RTO-meeting path.
Meeting RPO = 15 minutes. Continuous log shipping with observed lag kept comfortably under the 15-minute target, monitored and alerted well inside that budget (e.g. at 5 minutes) so there's real time to react to a shipping delay before the RPO commitment is actually at risk.
Testing recoverability. Scheduled, automated restore drills, e.g. monthly, that actually promote or restore into an isolated environment and time the result end to end against both the 2-hour and 15-minute targets, not just confirm the backup file exists. Verify data integrity via checksums or row-count comparisons against the live primary at drill time. Re-run the drill periodically as the dataset grows past 5 TB, since both the RTO math (data-movement time in a cold-restore fallback) and the RPO math (log volume and replay time) scale with size, so a drill that passed today doesn't guarantee it still passes after meaningful growth.