sql >> Databáze >  >> RDS >> Oracle

Soubor výpisu jádra a přidání kódů ladění do aplikace spustitelné pro Oracle Apps

Generování souboru výpisu jádra aplikace Oracle Concurrent Manager

Souběžní správci Oracle se skládají z mnoha spustitelných souborů a často jsme s nimi čelili různým problémům. Když spustitelný soubor skončí chybou segmentace nebo signálem 11, měl by být vytvořen základní soubor pro souběžného správce Oracle.

Pokud nezjistíte, že je vytvořen soubor jádra, pak může být ulimit nastaven na 0 pro základní soubory ve vašem systému.
Zkontrolujte to následovně:
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

Zkontrolujte výstup pro „velikost souboru jádra (bloky)“ Pokud je tato hodnota nastavena na 0 nebo nízkou hodnotu, lze ji resetovat, aby bylo možné v aktuální relaci vytvářet základní soubory libovolné velikosti pomocí syntaxe:

ulimit -c unlimited

Pokud má uživatel systému Unix toto nastavení v prostředí před spuštěním správce souběžných aplikací a posluchače aplikací,
bude prostředí souběžného zpracování schopno vytvářet základní soubory.

Spustitelný soubor, který končí chybou segmentace nebo signálem 11, by měl být znovu propojen se symboly ladění,
aby se získal užitečný soubor jádra. To se provádí předáním parametru link_debug=y do adrelink.sh.
Například:

adrelink.sh force=y link_debug=y "fnd FNDLIBR"

Jakmile je spustitelný soubor znovu propojen se symboly ladění a máte základní soubor, ujistěte se, že máte správný
soubor jádra pro spustitelný soubor, který se zhroutil, pomocí syntaxe:

file core
core: ELF 32-bit MSB core file SPARC Version 1, from 'FNDLIBR'

Nyní použijte debugger k získání trasování zásobníku.
Pro Linux je debugger gdb:

gdb $FND_TOP/bin/FNDLIBR core

Pro Solaris je debugger dbx:

dbx $FND_TOP/bin/FNDLIBR core

Přidání ladícího kódu do spustitelného souboru aplikace, jak poskytuje podpora Oracle

Často je vidět, že výše vygenerovaný výpis jádra nestačí k vyřešení problému. Podpora Oracle tedy může poskytnout ladicí kód, aby se problém dále hlouběji ponořil

Zde jsou obecné kroky, jak přidat ladicí kódy do spustitelného souboru aplikace.

Ve skutečnosti jsou to kroky, po kterých dokonce následuje adpatch k nahrazení souborů lib ve spustitelném souboru produktu

Řekněme, že potřebujete propojit objektový soubor „invir.o“ se spustitelným souborem INVLIBR.

Než cokoliv uděláte, ujistěte se, že jsou souběžní správci vypnuti.

Nejprve se podívejme na verze:

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 $

Takže v současné době máme v našem systému verzi 115.6 a potřebujeme propojit 115.6.debug
Prvním krokem je záloha aktuální verze:

cd $INV_TOP/lib; cp invir.o invir.o.save

Zkopírujte v ladicí verzi:

cp /u00/to/debug/file/invir.o .

Proveďte zálohu souborů

cp libinv.a libinv.a.save

Nyní přidejte ladicí verzi do libinv.a (nezapomeňte na tento krok)

ar rv libinv.a invir.o

Nyní můžete znovu propojit INVLIBR:(můžete také použít admin)

adrelink.sh force=y "inv INVLIBR"

Kontrola verze nyní ukazuje:

adident Header $INV_TOP/bin/INVLIBR |grep invir.o
$Header: invir.opp 115.6.debug 2001/04/11 21:19:07 aweisber ship $

Náš ladicí kód je připojen a připraven ke spuštění. Spusťte správce zálohy a ladicí věci by byly k dispozici. Jakmile bude problém reprodukován, můžeme ladění vypnout podle níže uvedeného postupu

Prvním krokem je zálohování aktuální verze a přesunutí starého kódu zpět

cd $INV_TOP/lib; 
cp invir.o invir.o.debug
cp invir.o.save invir.o

Obnovte starý soubor .a

cp libinv.a.save libinv.a

Nyní můžete znovu propojit INVLIBR:(můžete také použít admin)

adrelink.sh force=y "inv INVLIBR"

Kontrola verze nyní ukazuje:

adident Header $INV_TOP/bin/INVLIBR |grep invir.o
$Header: invir.opp 115.6 2001/04/11 21:19:07 aweisber ship $

Související články

Jak najít verzi komponent EBS R12

Oracle EBS 11i/R12/R12.1/R12.2

Oracle DBA:Hanganalyze, výpis stavu systému, v$wait_chains

Jak zapnout trasování SQL, událost 10046 v databázi Oracle a trcsess, nástroj tkprof


  1. Jak zjistit, že transakce již byla zahájena?

  2. Pokud není nalezen žádný záznam, vraťte nulu

  3. Jak vytvořit blog v PHP a MySQL databázi - DB design

  4. Plánovaná údržba databáze IS 24/7 na MS SQL Server