28. 9. 2018

Rozbor - detský telefón

Na opravu prišiel detský telefón so soft-power tlačidlom a membránovou klávesnicou 4 x 4. Poháňajú ho 3 AAA články, teda napätie 3 - 4,5V.


Klávesnica je pripojená 8mymi prívodmi (horizontálne a vertikálne vedenia) spôsobom tzv matrice (matrix). Výstupy vedené na reproduktor (29mm 0.25W 8ohm) sú označené PWMN PWMP. Procesor U1 teda používa invertované PWM signály pre dvojnásobnú amplitúdu napätia. Zvýšila sa tým výrazne hlasitosť reproduktora, čo aj počuť.

Ku zaliatemu procesoru je pripojený externý integrovaný obvod 25Q16C pdf (16MBit SPI flash, 2,7-3,6V). 2MB pamäte je dostatok pre hlasové nahrávky a melódie uložené pod tlačidlami vo viacerých jazykoch. Externý obvod tiež umožňuje výmenu za inú jazykovú verziu.

Obvod má 5mA spotrebu v aktívnom stave, procesor ho zapína /CS signálom SPI zbernice len keď ho potrebuje. Celá hračka má v "idle" režime spotrebu cca 7,4mA, v priebehu rozprávania vyletí prudko nahor. Po niekoľkých minútach sa procesor aj s pamäťou uspia do zanedbateľných hodnôt.

12. 9. 2018

Oracle - upravenie veľkosti redo súborov

Prepínanie redo (obsahujú informácie o potrebných zmenách v dátových súboroch, ktoré nemusia byž ešte zapísané) má istú "réžiu", znižuje tak v prípade častého prepínania výkon databázy.

Pri dlhých časoch medzi sa zas zvyšuje možnosť straty dát, hrozí dlhé recovery pri každom páde, resp reštarte DB.

Podľa viacerých zdrojov je ideálny čas prepínania redo zhruba 20-30min. Ako ich veľkosť doladiť u bežiacej databázy?

Oracle - kapacita pre archívne logy

Oracle zaznamenáva vykonané transakcie v tzv. redo (požadované zmeny v datafiles). Je to takto sekvenčne zapísané rýchlejšie a teda bezpečnejšie pre dáta.

Redo má organizované súbory v skupinách, ak sa zápisom jeden log (skupina viacerých mux. kópií logu) zaplní, prepne sa zápis do ďalšej skupiny. Po zaplnení poslednej skupiny sa prepne opäť na prvú (cykluje).

select l.group#, lf.member, l.bytes/1024/1024 mb, l.status, l.archived
from v$logfile lf, v$log l
where l.group# = lf.group#
order by 1, 2;

-------
1 /r01/oracle/DB1/redo/redo_001.rlg 100 CURRENT  NO
2 /r01/oracle/DB1/redo/redo_002.rlg 100 UNUSED   YES
3 /r01/oracle/DB1/redo/redo_003.rlg 100 INACTIVE YES

V prípade zapnutého archívneho módu DB sa pri každom prepnutí zaplnený redo súbor zároveň uloží do cesty log_archive_dest ako archívny log. Prípadne do cesty v db_recovery_file_dest, tzv. fast recovery area (FRA).

Logy odtiaľto číta RMAN pri zálohovaní, označí ich ako obsolete ak je podľa jeho nastavení spravený dostatočný počet záloh. Súbory tak môžu byť zmazané, ide teda o akési dočasné úložisko.

Ak však RMAN vypadne (napr. kvôli výpadku zálohovacieho HW), databáza pobeží len po dobu, kým nezaplní toto úložisko pre archívne logy, následné transakcie zastaví (tzv. archive stuck, DB vypisuje archiver error).

Povedzme, že chceme rátať s maximálnym výpadkom 2 dni. Ako správne nadimenzovať tento  diskový priestor?