Arsip Kategori: AS400

Memindahkan BRMS ke Sistem AS400 Baru

Ketika membeli mesin baru, proses migrasi biasanya diperlukan untuk memindahkan environment pada mesin lama ke mesin baru. Hal ini juga termasuk memindahkan informasi BRMS ke mesin baru tersebut agar BRMS tidak memulai pencatatan dari kosong.

Berikut cara yang biasa saya lakukan dalam memindahkan seluruh informasi BRMS dari mesin lama ke mesin baru (pastikan requirement BRMS sudah terinstall di mesin baru):

Lanjutkan membaca Memindahkan BRMS ke Sistem AS400 Baru

Housekeping AS400 File PART 1 – Clear Data

Housekeeping merupakan bagian penting dalam suatu sistem atau data. Dengan Housekeeping, diharapkan akan menjaga kestabilitasan dan kehandalan sistem.

Metode Housekeeping yang akan dibahas pertama yaitu dengan Clear File atau mengkosongkan seluruh isi record. Untuk bagian ini, jika memang ada beberapa file yang dapat dilakukan dengan menghapus seluruh data pada file tersebut, maka berikut cara yang dapat digunakan:

Menggunakan SQL statement

DELETE FROM LIBA/FILEA

Menggunakan Command CLRPFM

Jika file cukup besar, disarankan submit job dengan SBMJOB. Command ini akan dapat dilakukan jika tidak terdapat locking pada file tersebut.

Menggunakan Metode Swap File Kosong

Siapkan file kosong dengan menggunakan command CRTDUPOBJ ke library lain / library temporer. Pada contoh dibawah duplicate FILEA dari LIBA ke LIBB.

Pastikan kondisi-kondisi berikut:

  • Jika file tidak memiliki beberapa logical file, lakukan duplicate logical file tersebut ke library temporer. Untuk cek logical file pada file tersebut, gunakan command DSPDBR
  • Jika file pada library source terjournal, maka file pada library temporer dijournalkan juga dengan menggunakan command STRJRNPF

Lakukan swap file dengan menggunakan command MOVOBJ, dengan tahapan, Move File FILEA beserta logical file (jika ada) di LIBA ke LIBC (library temporer kedua), kemudian move FILEA beserta logical file (jika ada) di LIBB ke LIBA (file kosong dipindah ke library source).

Dari ketiga cara diatas dalam clear file, saya lebih memilih dengan menggunakan cara swap object. Tapi hal ini jg bergantung dari seberapa lama kita aplikasi anda dapat dimatikan. Lakukan kajian terlebih dahulu sangat dianjurkan.

Menghilangkan Deleted Record pada Physical File AS400

Ketika kita melakukan proses delete record menggunakan SQL atau sejenisnya, record tersebut sebenarnya tidak langsung hilang dari table/file. Untuk menghilangkan deleted record pada suatu file ada beberapa cara, diantaranya:

Menggunakan command RGZPFM, dengan exclusive lock. Command ini cocok untuk proses untuk file-file yang tidak terlock secara terus menerus.

Pastikan tidak ada locking pada File yang akan di reorganize.

RGZPFM dengan Share Update, digunakan jika file yang akan di reorganize terdapat lock terus menerus dan butuh downtime untuk release lock tersebut.

Copy File (CPYF)

Tabel AS400 merupakan object *FILE, maka command CPYF digunakan untuk copy seluruh atau sebagian struktur tabel pada database ke table lain. Berikut command copy file yang biasa saya gunakan:

Member Option > MBROPT

# MBROPT(*ADD) - Copy seluruh record file source ke file target
# MBROPT(*REPLACE) - Copy seluruh record file source ke file target diawali delete member file terlebih dahulu

Create File > CRTFILE

# CRTFILE(*YES) - Membuat file baru di target library
# CRTFILE(*NO) - File sudah tersedia di target library

Copy From – To Record Number > FROMRCD – TORCD

# FROMRCD (*START/<rrn>) - *START jika akan copy dari record pertama dari file source, atau <rrn> relative record number jika ingin dari record number tertentu
# TORCD (*END/<rrn>) - *END jika akan copy sampai record terakhir dari file source, atau <rrn> relative record number jika ingin sampai record number tertentu

Record Format Field Mapping – FMTOPT

Parameter ini digunakan jika format file sumber berbeda dengan format file target
# FMTOPT (*NOCHK) - Copy file berdasarkan length dari record yang ada
# FMTOPT (*MAP *DROP) - Copy file berdasarkan nama field yang ada (*MAP) dan abaikan field yang tidak ada (*DROP)

Contoh:

# CPYF FROMFILE(SRCLIB/SRCFILE) TOFILE(TGTLIB/TGTFILE) MBROPT(*ADD) CRTFILE(*YES)
# CPYF FROMFILE(SRCLIB/SRCFILE) TOFILE(TGTLIB/TGTFILE) MBROPT(*ADD)
# CPYF FROMFILE(SRCLIB/SRCFILE) TOFILE(TGTLIB/TGTFILE) MBROPT(*REPLACE)
# CPYF FROMFILE(SRCLIB/SRCFILE) TOFILE(TGTLIB/TGTFILE) MBROPT(*ADD) FROMRCD(*START) TORCD(*END)
# CPYF FROMFILE(SRCLIB/SRCFILE) TOFILE(TGTLIB/TGTFILE) MBROPT(*ADD) FROMRCD(10) TORCD(*END)
# CPYF FROMFILE(SRCLIB/SRCFILE) TOFILE(TGTLIB/TGTFILE) MBROPT(*ADD) FMTOPT(*NOCHK) 
# CPYF FROMFILE(SRCLIB/SRCFILE) TOFILE(TGTLIB/TGTFILE) MBROPT(*ADD) FMTOPT(*MAP *DROP) 
                                  

Recovery Point Object dan Recovery Time Object

Disaster Recovery selalu erat kaitannya dengan Recovery Point Object dan Recovery Time Object (RPO dan RTO).

Source: MIMIX Documentation

Recovery Point Object (RPO) merupakan titik waktu terakhir dari suatu sistem IT yang dapat dipulihkan. Pada bagian ini, teknologi yang digunakan sangat menentukan seberapa jauh ketertinggalan data atau bahkan kerugian suatu perusahaan ketika terjadi gangguan pada sistem utama. RPO digunakan pada teknologi seperti backup, replikasi storage, replikasi data dan lainnya.

Recovery Time Object (RTO) terkait dengan waktu yang dibutuhkan untuk sebuah sistem IT dapat beroperasi normal kembali ketika terjadi planned / unplanned interuption. Untuk kondisi unplanned interuption, yang termasuk kedalam RTO diantaranya, deteksi error, recovery data dan menaikkan aplikasi kembali online.