# SQL Retention Step 3 - Estimate Activity History

Dokumen ini untuk eksekusi retensi/arsip data history estimate secara aman (tanpa purge langsung).

## File SQL
- `files/SQL_ESTIMATE_ACTIVITY_HISTORY_RETENTION_STEP3.sql`

## Tujuan
1. Menyalin data history lama (default > 730 hari) ke tabel arsip.
2. Menjaga proses idempotent (boleh dijalankan berulang).
3. Tidak melakukan delete dari tabel utama.

## Output yang harus dicek
1. `candidate_rows` > 0 jika ada data lama.
2. `archived_rows_last_run` menunjukkan jumlah baris tersalin pada eksekusi terakhir.
3. `archive_rows_older_than_threshold` bertambah sesuai data lama.
4. `purge_candidate_rows` hanya untuk estimasi, bukan aksi delete.

## Catatan Penting
1. Karena sudah ada trigger immutability (`no update/delete`), script ini memang tidak melakukan purge.
2. Jika nanti ingin purge:
- lakukan maintenance window
- backup dulu tabel utama
- drop trigger immutability sementara
- purge batch terkontrol
- aktifkan kembali trigger immutability

## Rekomendasi Operasional
1. Jalankan arsip 1x per bulan.
2. Simpan hasil query verifikasi sebagai bukti audit.
3. Cek ukuran tabel (`information_schema.TABLES`) setelah arsip.
