Szeto Consultants – Dalam lanskap bisnis modern yang semakin bergantung pada teknologi, integritas dan ketersediaan data merupakan tulang punggung operasional. Sistem Enterprise Resource Planning (ERP) seperti Odoo menyimpan seluruh nadi perusahaan, mulai dari transaksi keuangan, manajemen pelanggan (CRM), hingga stok gudang. Oleh karena itu, kemampuan untuk memulihkan basis data (database) dengan cepat dan akurat setelah insiden tak terduga adalah krusial.
Artikel ini akan memandu Anda melalui proses pemulihan basis data Odoo menggunakan baris perintah (command line), sebuah metode yang seringkali lebih efisien, fleksibel, dan vital bagi administrator sistem.
Daftar Isi
Bagaimana cara memulihkan database Odoo via command line?
Mengapa Pemulihan Basis Data via Command Line Penting?
Meskipun Odoo menawarkan antarmuka grafis untuk operasi pencadangan dan pemulihan, metode command line memberikan kontrol yang lebih granular dan seringkali menjadi pilihan utama dalam skenario tertentu.
Ini termasuk pemulihan basis data berukuran besar, otomatisasi proses pemulihan sebagai bagian dari strategi disaster recovery, atau saat beroperasi di lingkungan server tanpa GUI. Pendekatan ini memungkinkan intervensi langsung ke PostgreSQL, basis data inti Odoo, memastikan proses yang cepat dan minim gangguan.

Persiapan Sebelum Pemulihan
Sebelum memulai proses pemulihan, pastikan Anda memiliki beberapa prasyarat penting:
- File Cadangan Basis Data: Anda memerlukan file cadangan yang valid. Odoo biasanya menghasilkan file .zip yang berisi dump basis data (.sql atau .custom) dan data filestore, atau Anda mungkin memiliki dump .sql murni dari PostgreSQL.
- Akses Server Odoo: Akses SSH ke server tempat Odoo dan PostgreSQL diinstal dengan hak akses yang memadai.
- PostgreSQL Client: Pastikan alat seperti
psqldanpg_restoretersedia di server Anda. - Informasi Konfigurasi Odoo: Ketahui nama basis data yang ingin dipulihkan atau dibuat, serta pengguna dan kata sandi PostgreSQL yang sesuai.
Cara Pemulihan Basis Data Odoo via Command Line
Berikut adalah panduan langkah demi langkah untuk memulihkan basis data Odoo:
1. Hentikan Layanan Odoo
Langkah pertama yang esensial adalah menghentikan layanan Odoo untuk mencegah konflik akses saat basis data sedang dimanipulasi. Gunakan perintah berikut sesuai dengan sistem inisialisasi Anda (systemd atau init.d):
sudo systemctl stop odoo # Untuk systemd
# ATAU
sudo /etc/init.d/odoo stop # Untuk init.d
2. Identifikasi & Siapkan File Cadangan
Jika Anda memiliki file .zip dari cadangan Odoo, ekstrak isinya. Anda akan menemukan file basis data (misalnya, dump.sql atau dump.sql.gz) dan folder filestore. Fokus pada file dump basis data untuk langkah pemulihan ini.
unzip nama_file_cadangan.zip -d /path/to/restore/directory
3. Pulihkan Basis Data PostgreSQL
Proses pemulihan bergantung pada format file cadangan Anda. Umumnya, ada dua skenario:
Skenario A: Memulihkan dari Dump Plain SQL (.sql)
Jika Anda memiliki file .sql, Anda dapat memulihkannya menggunakan perintah psql. Pertama, hapus basis data yang ada (jika ingin menimpanya) dan buat basis data baru:
# Masuk sebagai pengguna postgres
sudo -u postgres psql
# Di dalam psql, hapus basis data lama (ganti 'nama_database_lama' dengan nama basis data Anda)
DROP DATABASE IF EXISTS nama_database_lama;
# Buat basis data baru (ganti 'nama_database_baru' dan 'odoo_user' jika perlu)
CREATE DATABASE nama_database_baru OWNER odoo_user ENCODING 'UTF8' LC_COLLATE 'C.UTF-8' LC_CTYPE 'C.UTF-8' TEMPLATE template0;
\q # Keluar dari psql
# Pulihkan basis data dari file .sql
sudo -u postgres psql -d nama_database_baru -f /path/to/restore/directory/dump.sql
Skenario B: Memulihkan dari Dump Kustom atau Tar (Menggunakan pg_restore)
Jika file cadangan Anda adalah format kustom atau tar (biasanya dari pg_dump -Fc atau pg_dump -Ft), gunakan pg_restore. Seperti sebelumnya, hapus dan buat basis data baru terlebih dahulu:
# Masuk sebagai pengguna postgres dan hapus/buat DB (seperti Skenario A)
sudo -u postgres psql
DROP DATABASE IF EXISTS nama_database_lama;
CREATE DATABASE nama_database_baru OWNER odoo_user ENCODING 'UTF8' LC_COLLATE 'C.UTF-8' LC_CTYPE 'C.UTF-8' TEMPLATE template0;
\q
# Pulihkan basis data menggunakan pg_restore
sudo -u postgres pg_restore -d nama_database_baru /path/to/restore/directory/dump.custom
Pastikan nama basis data yang dipulihkan cocok dengan yang dikonfigurasi di Odoo (biasanya dalam file odoo.conf).
4. Pulihkan Filestore (Opsional, Jika Ada)
Jika cadangan Anda menyertakan folder filestore (yang berisi lampiran, gambar, dll.), Anda perlu menimpa atau menempatkannya di lokasi yang benar. Lokasi default adalah di dalam direktori data Odoo (misalnya, /var/lib/odoo/.local/share/Odoo/filestore/nama_database_baru).
sudo rsync -av /path/to/restore/directory/filestore/nama_database_lama /var/lib/odoo/.local/share/Odoo/filestore/nama_database_baru
Pastikan hak akses (permissions) sudah benar untuk folder filestore yang baru dipulihkan (biasanya milik pengguna Odoo).
5. Perbarui Konfigurasi Odoo (Jika Perlu)
Jika Anda mengubah nama basis data selama proses pemulihan, pastikan untuk memperbarui file konfigurasi Odoo Anda (biasanya /etc/odoo/odoo.conf) dengan nama basis data yang baru:
[options]
db_host = False
db_port = False
db_user = odoo_user
db_password = your_odoo_db_password
db_name = nama_database_baru
6. Mulai Kembali Layanan Odoo
Setelah basis data berhasil dipulihkan dan konfigurasi diperbarui, mulai kembali layanan Odoo:
sudo systemctl start odoo # Untuk systemd
# ATAU
sudo /etc/init.d/odoo start # Untuk init.d
7. Verifikasi
Akses URL Odoo Anda melalui browser dan pastikan sistem berfungsi dengan baik, data sudah kembali, dan semua modul berfungsi seperti seharusnya. Periksa log Odoo untuk setiap potensi kesalahan.

Praktik Terbaik dan Pertimbangan
- Cadangan Berkala: Jadwalkan pencadangan basis data secara teratur dan simpan di lokasi yang aman dan terpisah dari server utama.
- Uji Pemulihan: Lakukan uji pemulihan secara berkala di lingkungan non-produksi untuk memastikan prosedur Anda berfungsi dan file cadangan Anda valid.
- Keamanan: Gunakan kata sandi yang kuat untuk pengguna PostgreSQL dan pastikan hanya pengguna yang berwenang yang memiliki akses ke server.
- Versi Odoo: Pastikan file cadangan yang Anda pulihkan berasal dari versi Odoo yang kompatibel dengan instalasi Odoo saat ini.
- Tim Ahli: Jika Anda tidak yakin atau membutuhkan bantuan, jangan ragu untuk menghubungi tim ahli. Untuk implementasi dan dukungan Odoo yang komprehensif, termasuk strategi pemulihan data, Anda bisa mengandalkan layanan Konsultan Odoo kami yang berpengalaman.
Kesimpulan
Kemampuan untuk melakukan pemulihan basis data Odoo melalui command line adalah keterampilan yang sangat berharga bagi setiap administrator sistem atau profesional IT. Ini tidak hanya meningkatkan kecepatan pemulihan tetapi juga menyediakan fleksibilitas yang dibutuhkan dalam skenario disaster recovery yang kompleks.
Dengan memahami langkah-langkah dan praktik terbaik yang dijelaskan di atas, Anda dapat memastikan integritas data dan kelangsungan operasional bisnis Anda yang didukung oleh Odoo ERP. Investasi dalam sistem ERP canggih seperti Odoo akan semakin berharga dengan fondasi manajemen data dan strategi pemulihan yang kuat, jauh melampaui kemampuan terbatas pada Software Konvensional.
Conclusion / TL;DR
- Kontrol Penuh & Stabilitas: Pemulihan database via command line menawarkan efisiensi tinggi, sangat fleksibel, dan jauh lebih stabil untuk database berukuran besar.
- Tahapan Esensial: Prosesnya meliputi penghentian layanan Odoo, penyiapan file cadangan, pemulihan via
psqlataupg_restore, sinkronisasifilestore, pembaruanodoo.conf, dan restart layanan. - Standar Keamanan Data: Praktikkan pencadangan secara rutin, validasi cadangan di server non-produksi secara berkala, dan pastikan versi kompatibilitas Odoo tetap terjaga untuk mencegah kegagalan sistem.
💡 Butuh Solusi Sistem Digital Terintegrasi?
Kelola rantai pasok dan operasional gudang Anda secara real-time dengan Prieds Technology. Jangan biarkan selisih stok menghambat laju bisnis Anda.
Konsultasikan kebutuhan implementasi WMS dan automasi gudang bersama tim ahli Szeto Consultants.


