Pembuatan file dump inti dari Oracle Concurrent Manager
Manajer konkuren Oracle terdiri dari banyak executable dan kami sering menghadapi berbagai masalah dengannya. Ketika executable berakhir dengan kesalahan segmentasi atau sinyal 11, file inti untuk oracle konkuren manager harus dibuat.
Jika Anda tidak menemukan bahwa file inti telah dibuat, maka ulimit dapat disetel ke 0 untuk file inti di sistem Anda.
Periksa ini sebagai berikut:
ulimit -a
ulimit -a time(seconds) unlimited file(blocks) unlimited data(kbytes) unlimited stack(kbytes) unlimited coredump(blocks) unlimited nofiles(descriptors) 4096 vmemory(kbytes) unlimited
Periksa output untuk "ukuran file inti (blok)" Jika ini disetel ke 0 atau nilai rendah, ini dapat diatur ulang untuk memungkinkan file inti dari berbagai ukuran dibuat di sesi saat ini menggunakan sintaks:
ulimit -c unlimited
Jika pengguna Unix memiliki set ini di lingkungan sebelum memulai pengelola bersamaan, dan pendengar Aplikasi,
maka lingkungan pemrosesan bersamaan akan dapat membuat file inti.
Eksekusi yang diakhiri dengan kesalahan segmentasi atau sinyal 11 harus ditautkan ulang dengan simbol debug dalam
untuk mendapatkan file inti yang berguna. Ini dilakukan dengan meneruskan parameter link_debug=y ke adrelink.sh.
Misalnya:
adrelink.sh force=y link_debug=y "fnd FNDLIBR"
Setelah file yang dapat dieksekusi ditautkan kembali dengan simbol debug dan Anda memiliki file inti, pastikan Anda memiliki
file inti yang tepat untuk file yang dapat dieksekusi yang mogok menggunakan sintaks:
file core core: ELF 32-bit MSB core file SPARC Version 1, from 'FNDLIBR'
Sekarang gunakan debugger untuk mendapatkan pelacakan tumpukan.
Untuk Linux, debuggernya adalah gdb:
gdb $FND_TOP/bin/FNDLIBR core
Untuk Solaris, debuggernya adalah dbx:
dbx $FND_TOP/bin/FNDLIBR core
Menambahkan kode Debug ke Aplikasi yang Dapat Dieksekusi seperti yang disediakan oleh Dukungan Oracle
Sering terlihat bahwa dump inti yang dihasilkan di atas tidak cukup untuk memecahkan masalah. Jadi Dukungan Oracle mungkin memberikan kode debug untuk lebih mendalami masalah tersebut
Berikut adalah langkah-langkah Umum tentang Cara menambahkan kode debug di aplikasi yang dapat dieksekusi.
Sebenarnya ini adalah langkah-langkah yang bahkan diikuti oleh adpatch untuk mengganti file lib di produk yang dapat dieksekusi
Katakanlah Anda perlu menautkan file objek “invir.o” ke dalam INVLIBR yang dapat dieksekusi.
Sebelum melakukan apa pun, pastikan manajer bersamaan dimatikan.
Pertama mari kita periksa versinya:
adident Header $INV_TOP/lib/invir.o $Header: invir.opp 115.6 2001/04/11 16:14:32 pkm ship $ adident Header /u00/to/debug/file/invir.o $Header: invir.opp 115.6.debug 2001/04/11 21:19:07 aeisber ship $ adident Header $INV_TOP/bin/INVLIBR |grep invir $Header: invir.op 115.6 2001/04/11 16:14:32 pkm ship $
Jadi saat ini kami memiliki versi 115.6 di sistem kami, dan perlu menautkan di 115.6.debug
Langkah pertama adalah mencadangkan versi saat ini:
cd $INV_TOP/lib; cp invir.o invir.o.save
Salin dalam versi debug:
cp /u00/to/debug/file/invir.o .
Ambil cadangan file
cp libinv.a libinv.a.save
Sekarang tambahkan versi debug ke libinv.a (Jangan lupa langkah ini)
ar rv libinv.a invir.o
Sekarang Anda dapat menautkan ulang INVLIBR:(Anda juga dapat menggunakan admin)
adrelink.sh force=y "inv INVLIBR"
Memeriksa versi sekarang menunjukkan:
adident Header $INV_TOP/bin/INVLIBR |grep invir.o $Header: invir.opp 115.6.debug 2001/04/11 21:19:07 aweisber ship $
Kode debug kami ditautkan dan siap dijalankan. Mulai cadangan manajer, dan hal-hal debug akan tersedia. Setelah masalah direproduksi, kita dapat mematikan debugging dengan mengikuti prosedur di bawah ini
Langkah pertama adalah mencadangkan versi saat ini dan memindahkan kembali kode lama
cd $INV_TOP/lib; cp invir.o invir.o.debug cp invir.o.save invir.o
Pulihkan file .a
yang lamacp libinv.a.save libinv.a
Sekarang Anda dapat menautkan ulang INVLIBR:(Anda juga dapat menggunakan admin)
adrelink.sh force=y "inv INVLIBR"
Memeriksa versi sekarang menunjukkan:
adident Header $INV_TOP/bin/INVLIBR |grep invir.o $Header: invir.opp 115.6 2001/04/11 21:19:07 aweisber ship $
Artikel Terkait
Bagaimana menemukan versi komponen EBS R12
Oracle EBS 11i/R12/R12.1/R12.2
Oracle DBA:Hanganalyze , dump status sistem, v$wait_chains
Cara mengaktifkan SQL trace, 10046 event di database Oracle dan trcsess, tkprof utility