Warning: Declaration of Suffusion_MM_Walker::start_el(&$output, $item, $depth, $args) should be compatible with Walker_Nav_Menu::start_el(&$output, $item, $depth = 0, $args = Array, $id = 0) in /DISK2/WWW/plsql.cz/www/wp-content/themes/suffusion/library/suffusion-walkers.php on line 39
Nov 272011
 

Existuje spousta způsobů jak se vzdělávat v programování od pouhého čtení dokumentace přes školení až po to ten nejlepší způsob, kterým je psaní kódu a praxe. Další a velice efektivní způsob, jakým se vzdělávat a posouvat své znalosti dál je takzvané rýpání ;) – které spočivá v tom, že se daný systém snažím ze zadu pošťuchovat, trápit a zkouším co všechno si mohu dovolit a co všechno se dá vyzkoumat, “hacking” chcete-li.
A do rozsáhlých software, jako je databáze Oracle se dá rýpat opravdu hodně – otevřeli jste si někdy SGA (System Global Area) v hexaeditoru? Alterujete objekty pod účtem SYS? Hledáte v RAM nakešovanou sekvenci či blok? Snažíte se označit blok jako dirty zápisem do RAM?
Oracle Database Concept velice hezky popisuje, jak vypadá datový blok – hlavička + data. Takže jsem se rozhodl podrobit zkoumání datové soubory databáze v hexaeditoru. Jako nejjednodušší mi přišlo zkusit změnit SCN datového bloku (System Change Number), ale o tom někdy příště – muj dnešní tip je, jak přinutit Oracle, aby zapsal změny z redologu do datových souborů, což typicky nemá žádné větší použití, ale právě při zkoumání datových souborů a změn v nich, je to velice šikovný příkaz:

ALTER SYSTEM CHECKPOINT;

Což udělá následující:

  • Zapíše do datových souborů z buffer cache a synchronizuje je
  • Zapíše SCN do datových souborů
  • Zapíše SCN do control souborů

Pokud neni checkpoint vynucen, je prováděn po LOG_CHECKPOINT_INTERVAL , pri každém switchnutí redo logů nebo po LOG_CHECKPOINT_TIMEOUT (defalutně 1800).

 Posted by at 11:45

 Leave a Reply

(required)

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>