AIX

Activation of database cannot be made because of BACKUP PENDING

Posted on

Pernah menemukan error seperti ini saat hendak mengaktifkan database db2?

SQL1116N  A connection to or activation of database "TEST" cannot be made
because of BACKUP PENDING.  SQLSTATE=57019

Saya pernah, dan ini solusinya:

userdb@server01:/> db2dart TEST /CHST /WHAT DBBP OFF

Updated the log file header control file.
The requested DB2DART processing has completed successfully!
Complete DB2DART report found in:
/db2/TEST/db2dump/DART0000/TEST.RPT
Advertisements

Ubah kepemilikan berkas symlink

Posted on

Baru tau ternyata ada cara untuk mengubah “User Owner” maupun “Group Owner” dari berkas symlink.

chown -h user:group symlink

Jika file yang mau diubah terlalu banyak bisa kombinasikan dengan “find”, contoh ingin mengubah owner dari beberapa berkas yang tadinya milik user “103” menjadi milik user “oracle”

find / -user 103 -exec chown -h oracle {} ;

Semoga bermanfaat…

Error : 0516-008 varyonvg: LVM system call returned an unknown error code (3) – Solved

Posted on

Ini adalah cerita saat relokasi server IBM Power 750, OS AIX 6.1, dimana server tersebut terkoneksi ke DS5100 melalui SAN Switch.

Dilokasi yang baru server ini kemudian dikonfigurasi ulang agar bisa terkoneksi dengan SAN Swicth yang baru dan storage DS5100 existing, setelah berhasil terkoneksi dengan baik, dan semua disk terdeteksi di server tersebut, server direstart agar otomatis terkonfigurasi seperti saat sebelum relokasi.

Hasilnya tidak seperti yang diinginkan, beberapa mountpoint hilang saat dicek menggunakan command “df -g”, selidik punya selidik mountpoint yang hilang adalah mountpoint yang berasal dari “datavg”.

Untuk melihat “lv” apa saja yang ada di “datavg” saya gunakan:

root@nexus:/> lsvg -l datavg
0516-010 : Volume group must be varied on; use varyonvg command

Dan ternyata error seperti diatas, sesuai saran saya jalankan command selanjutnya :

root@nexus:/> varyonvg datavg
0516-008 varyonvg: LVM system call returned an unknown
error code (3).

Dan ternyata muncul error juga. Disini mulai panik, karena waktu downtime yang diberikan sudah akan habis.

Berikut cara troubleshootingnya.

FYI, “datavg” ini awalnya terdiri dari beberapa “pv”, yaitu hdisk6, hdisk7, hdisk8, dan hdisk9

root@nexus:/> lspv
...
hdisk6          none
hdisk7          00e4518dadfaa546                    datavg          active
hdisk8          none
hdisk9          00e4518dadfafedc                    datavg          active

Terlihat bahwa “pvid” dari hdisk6 dan hdisk8 hilang.

root@nexus:/>lquerypv -h /dev/hdisk6 80 10
00000080   00E4518D ADFA5C20 00000000 00000000  |..Q... ........|

Terlihat bahwa “pvid” dari hdisk6 adalah 00E4518DADFA5C20

root@nexus:/>lquerypv -h /dev/hdisk8 80 10
00000080   00E4518D ADFAEF1C 00000000 00000000  |..Q.............|

Terlihat bahwa “pvid” dari hdisk6 adalah 00E4518DADFAEF1C

Lakukan “lqueryvg” pada salah satu “pv” yang “pvid” nya normal, yang ada pada “datavg” (hdisk7 atau hdisk9)

root@nexus:/> lqueryvg -tAvp hdisk7
Physical:      

00e4518dadfa5c20                1   0
00e4518dadfaa546                1   0
00e4518dadfaef1c                1   0
00e4518dadfafedc                1   0

Terlihat bahwa “datavg” mempunyai 4 “pv” dengan “pvid” masing-masing, dimana salah duanya adalah “pvid” dari hdisk6 dan hdisk8.

Sampai disini kondisi aman, dikarenakan “pvid” masing-masing disk tidak corrupt, setelah itu proses perbaikan dijalankan :

root@nexus:/> exportvg datavg
root@nexus:/> varyoffvg datavg

Remove device disk yang tergabung dalam “datavg” dan juga remove device HBA nya.

root@nexus:/> rmdev -dl hdisk6
root@nexus:/> rmdev -dl hdisk7
root@nexus:/> rmdev -dl hdisk8
root@nexus:/> rmdev -dl hdisk9

root@nexus:/> lsdev -Cc adapter | grep fcs
fcs0    Available 00-00 4Gb FC PCI Express Adapter (df1000fe)
fcs1    Available 00-01 4Gb FC PCI Express Adapter (df1000fe)

root@nexus:/> rmdev -Rdl fcs0
root@nexus:/> rmdev -Rdl fcs1

“rmdev” ini berfungsi menghapus device tersebut dari system, tapi tidak menghapus data yang ada didalamnya, setelah dihapus, deteksi ulang device menggunakan command “cfgmgr”

root@nexus:/> cfgmgr -v

Kemudian periksa kembali pv yang ada, dan Alhamdulillan “pvid” nya sudah kembali terdeteksi.

root@nexus:/> lspv
...
hdisk6          00e4518dadfa5c20
hdisk7          00e4518dadfaa546
hdisk8          00e4518dadfaef1c
hdisk9          00e4518dadfafedc

Langkah selanjutnya adalah meng-import vg “datavg”, kemudian jalankan kembali “lspv”

root@nexus:/> importvg -y datavg hdisk6
root@nexus:/> lspv
...
hdisk6          00e4518dadfa5c20                    datavg          active
hdisk7          00e4518dadfaa546                    datavg          active
hdisk8          00e4518dadfaef1c                    datavg          active
hdisk9          00e4518dadfafedc                    datavg          active

Otomatis semua yang ada di datavg menjadi active, tidak perlu import satu persatu, setelah itu langkah selanjutnya adalah tinggal mount semua “lv” sesuai dengan mountpoint sebelumnya.

root@nexus:/> lsvg -l datavg | awk '{print $7}' |grep -v LV|grep -v "N/A" |xargs -l mount

Periksa dengan “df -g” apakah semua mountpoint nya sudah termount dengan benar.

Selesai deg-deg an nya, makan-makan 🙂

Keterangan :
lv = logical volume
pv = physical volume
vg = volume group

Balance; A TCP proxy and load balancer

Posted on

Balance is load balancing solution being a simple but powerful generic tcp proxy with round robin load balancing and failover mechanisms. Its behaviour can be controlled at runtime using a simple command line syntax.

/usr/local/sbin/balance 80 10.10.1.2:5005

Balance binds on port 80 of the local IP address 10.10.1.1 and distributes connections to the IPv4 addresses 10.10.1.2 port 5005

Today… balance has saved my life 🙂

Symbol resolution failed for /usr/lib/libc.a(aio.o) – AIX

Posted on

Error:
0509-036 Cannot load program xxx because of the following errors:
0509-130 Symbol resolution failed for /usr/lib/libc.a(aio.o) because:
0509-136   Symbol kaio_rdwr (number 1) is not exported from dependent module /unix.

Solusi:

# lsdev -C -l aio0
aio0 Defined Asynchronous I/O

# chdev -l aio0 -P -a autoconfig=’available’

#lsdev -C -l aio0
aio0 Available Asynchronous I/O