Byla vydána dubnová aktualizace aneb nová verze 1.89 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Vypíchnout lze, že v terminálu lze nově povolit vkládání kopírovaného textu stisknutím středního tlačítka myši. Ve verzi 1.89 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-1 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.
Byla vydána verze 1.78.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.
Služba Dropbox Sign (původně HelloSign) pro elektronické podepisování smluv byla hacknuta.
Byla vydána nová major verze 8.0 textového editoru GNU nano (Wikipedie). Podrobný přehled novinek a oprav v oznámení v diskusním listu info-nano nebo v souboru ChangeLog na Savannah. Volbou --modernbindings (-/) lze povolit "moderní" klávesové zkratky: ^C kopírování, ^V vložení, ^Z vrácení zpět, … Tato volba je aktivována také pokud binárka s nano nebo link na ni začíná písmenem "e".
Před 60 lety, 1. května 1964, byl představen programovací jazyk BASIC (Beginners' All-purpose Symbolic Instruction Code).
Byla vydána nová verze 12.0 minimalistické linuxové distribuce (JeOS, Just enough Operating System) pro Kodi (dříve XBMC) a multimediálního centra LibreELEC (Libre Embedded Linux Entertainment Center). Jedná se o fork linuxové distribuce OpenELEC (Open Embedded Linux Entertainment Center). LibreELEC 12.0 přichází s Kodi 21.0 "Omega".
Microsoft vydal novou velkou aktualizaci 2404.23 v září 2019 pod licencí SIL Open Font License (OFL) zveřejněné rodiny písma Cascadia Code pro zobrazování textu v emulátorech terminálu a vývojových prostředích.
OpenTofu, tj. svobodný a otevřený fork Terraformu vzniknuvší jako reakce na přelicencování Terraformu z MPL na BSL (Business Source License) společností HashiCorp, bylo vydáno ve verzi 1.7.0. Přehled novinek v aktualizované dokumentaci. Vypíchnout lze State encryption.
Spouštět webový prohlížeč jenom kvůli nákupu kávy? Nestačí ssh? Stačí: ssh terminal.shop (𝕏).
Tento článek navazuje na Databáze přes NFS a bude o tom, jak se to dělá v případě databází Oracle. Postřehy jsou založeny na praktických zkušenostech s implementací Oracle 11g o jedné databázové instanci a SAP s Oracle jako databázovým backendem (tedy Oracle 10g).
Návrh byl vypracován při těsné spolupráci se specialisty ze společnosti Network Appliance a Oracle. Nedodržuje striktně Best Practices společnosti NetApp a Oracle, nicméně shoda na tom, že současná verze Best Practicies není úplně nejlepší, panuje i ve společnostech NetApp a Oracle. Návrh je určen pro multicustomer environment (prostředí s více klienty) s využitím funkcí MultiStore, A-SIS (deduplikace), snapvault (disk-to-disk zálohování) a thin provisioning diskových polí Network Appliance.
Předpokládejme tedy, že máme NetApp jménem toaster
a vFiler jménem oracle1001
, dále pak zákazníka abc
, který má testovací (SID ab12), vývojovou (SID ab11) a produkční databázi (SID ab10). Každá živá Oracle single instance instalace se skládá z následujících důležitých prvků:
Pro všechny tyto jednotlivé stavební bloky by měly dle doporučení existovat oddělené logické prvky na storage systému (volume). Důvodem je to, že na zálohování/datovou bezpečnost jednotlivých prvků mohou být různé požadavky.
U jiných storage systémů se mohou požadavky lišit, ale v případě zařízení NetApp, pokud chcete mít možnost udržet mnoho záloh na diskových úložištích s možností jednoduché obnovy (pomocí Snap Manager for Oracle), se vyplatí udělat si návrh ukládání dat rozumně a pod rootem každé volume mít k dispozici jeden QTRee, do kterého se budou následně ukládat data. Pak můžete použít pro zálohování technologii SnapVault a mít k dispozici více záloh jak na primárním, tak na sekundárním (NearStore) diskovém úložišti. Můj návrh pro uvedenou databázi by vypadal následovně.
/vol/oracle1001_abc_test_ab12_orahome/home
– Oracle home, obsahuje konfiguraci a spustitelné soubory, knihovny, …/vol/oracle1001_abc_test_ab12_orafiles1/log
– transakční logy, naprosto nezbytné pro správnou funkci databáze/vol/oracle1001_abc_test_ab12_orafiles1/ctrl
– kontrolní soubory, obsahují databázové schéma, naprosto nezbytné/vol/oracle1001_abc_test_ab12_orafiles2/log
– transakční logy, naprosto nezbytné pro správnou funkci databáze/vol/oracle1001_abc_test_ab12_orafiles2/ctrl
– kontrolní soubory, obsahují databázové schéma, naprosto nezbytné/vol/oracle1001_abc_test_ab12_oraarch/arch
– archivní logy, slouží k point in time recovery (obnovení k určitému času)/vol/oracle1001_abc_test_ab12_oradata/data
– datové soubory, zde databáze žijeVýstup mého skriptu, který používám k vytváření single instance databázových exportů na storage systémech NetApp.
vFiler name is: oracle1001 SID is: ab12 Customer name is: abc System name is: test Used aggregate is: aggr1 --------------------------------------------- Followings volumes/QTrees will be created…: --------------------------------------------- /vol/oracle1001_abc_test_ab12_orahome/home /vol/oracle1001_abc_test_ab12_orafiles1/log /vol/oracle1001_abc_test_ab12_orafiles1/ctrl /vol/oracle1001_abc_test_ab12_orafiles2/log /vol/oracle1001_abc_test_ab12_orafiles2/ctrl /vol/oracle1001_abc_test_ab12_oraarch/arch /vol/oracle1001_abc_test_ab12_oradata/data In order to create this please invoke these commands: vol create oracle1001_abc_test_ab12_orahome aggr1 10g vol options oracle1001_abc_test_ab12_orahome nosnap on vol options oracle1001_abc_test_ab12_orahome nosnapdir on vol autosize oracle1001_abc_test_ab12_orahome on snap reserve oracle1001_abc_test_ab12_orahome 0 sis on /vol/oracle1001_abc_test_ab12_orahome vfiler add oracle1001 /vol/oracle1001_abc_test_ab12_orahome vol create oracle1001_abc_test_ab12_orafiles1 aggr1 10g vol options oracle1001_abc_test_ab12_orafiles1 nosnap on vol options oracle1001_abc_test_ab12_orafiles1 nosnapdir on vol autosize oracle1001_abc_test_ab12_orafiles1 on snap reserve oracle1001_abc_test_ab12_orafiles1 0 sis on /vol/oracle1001_abc_test_ab12_orafiles1 vfiler add oracle1001 /vol/oracle1001_abc_test_ab12_orafiles1 vol create oracle1001_abc_test_ab12_orafiles2 aggr1 10g vol options oracle1001_abc_test_ab12_orafiles2 nosnap on vol options oracle1001_abc_test_ab12_orafiles2 nosnapdir on vol autosize oracle1001_abc_test_ab12_orafiles2 on snap reserve oracle1001_abc_test_ab12_orafiles2 0 sis on /vol/oracle1001_abc_test_ab12_orafiles2 vfiler add oracle1001 /vol/oracle1001_abc_test_ab12_orafiles2 vol create oracle1001_abc_test_ab12_oraarch aggr1 60gb # make it double than ordered vol options oracle1001_abc_test_ab12_oraarch nosnap on vol options oracle1001_abc_test_ab12_oraarch nosnapdir on vol autosize oracle1001_abc_test_ab12_oraarch on snap reserve oracle1001_abc_test_ab12_oraarch 0 sis on /vol/oracle1001_abc_test_ab12_oraarch vol options oracle1001_abc_test_ab12_oraarch guarantee file vfiler add oracle1001 /vol/oracle1001_abc_test_ab12_oraarch vol create oracle1001_abc_test_ab12_oradata aggr1 1tb vol options oracle1001_abc_test_ab12_oradata nosnap on vol options oracle1001_abc_test_ab12_oradata nosnapdir on vol autosize oracle1001_abc_test_ab12_oradata on snap reserve oracle1001_abc_test_ab12_oradata 0 sis on /vol/oracle1001_abc_test_ab12_oradata vfiler add oracle1001 /vol/oracle1001_abc_test_ab12_oradata vfiler run oracle1001 qtree create /vol/oracle1001_abc_test_ab12_orahome/home vfiler run oracle1001 exportfs -p rw=192.168.0.0/24,root=192.168.0.0/24 /vol/oracle1001_abc_test_ab12_orahome/home vfiler run oracle1001 qtree create /vol/oracle1001_abc_test_ab12_orafiles1/log vfiler run oracle1001 exportfs -p rw=192.168.0.0/24,root=192.168.0.0/24 /vol/oracle1001_abc_test_ab12_orafiles1/log vfiler run oracle1001 qtree create /vol/oracle1001_abc_test_ab12_orafiles1/ctrl vfiler run oracle1001 exportfs -p rw=192.168.0.0/24,root=192.168.0.0/24 /vol/oracle1001_abc_test_ab12_orafiles1/ctrl vfiler run oracle1001 qtree create /vol/oracle1001_abc_test_ab12_orafiles2/log vfiler run oracle1001 exportfs -p rw=192.168.0.0/24,root=192.168.0.0/24 /vol/oracle1001_abc_test_ab12_orafiles2/log vfiler run oracle1001 qtree create /vol/oracle1001_abc_test_ab12_orafiles2/ctrl vfiler run oracle1001 exportfs -p rw=192.168.0.0/24,root=192.168.0.0/24 /vol/oracle1001_abc_test_ab12_orafiles2/ctrl vfiler run oracle1001 qtree create /vol/oracle1001_abc_test_ab12_oraarch/arch vfiler run oracle1001 exportfs -p rw=192.168.0.0/24,root=192.168.0.0/24 /vol/oracle1001_abc_test_ab12_oraarch/arch vfiler run oracle1001 qtree create /vol/oracle1001_abc_test_ab12_oradata/data vfiler run oracle1001 exportfs -p rw=192.168.0.0/24,root=192.168.0.0/24 /vol/oracle1001_abc_test_ab12_oradata/data
Jak můžete vidět, transakční logy i kontrolní soubory jsou na storage systému dvakrát. Je to z toho důvodu, že jsou naprosto nezbytné pro správnou funkci databáze a Oracle dokonce doporučuje uchovávat 4 živé kopie. Nicméně vzhledem k tomu, že ztráta již jediné lokace znamená zastavení databáze a enterprise storage systémům se dá relativně důvěřovat, alespoň co se ztráty dat týče, doporučuji pro většinu produkčních nasazení mít umístění jen dvě. Každé však na jiném agregátu/volume group. Ekvivalentně vytvoříme prostor pro další databázové instance.
Při implementaci kritických aplikací běžících po NFS můžete narazit na řadu problémů, například:
Pokud používáte storage systém, který umí „dobré snapshoty“ (LVM2 snapshoty považuji za špatný vtip), jako je například Sun Open Storage nebo NetApp, můžete si velice zjednodušit zálohování takové databáze. V případě, že využijete Sun Open Storage, bude to vyžadovat trošku dodatečného skriptování a bez klonování se asi raději obejdete (sám si v současné době nedokážu představit, že bych si klonování Oracle na Sun Open Storage skriptoval), nicméně pokud se vám podaří vytvořit skript, který bude schopen přepnout Oracle databázi do „hot backup mode“ a říct storage systému, aby udělal snapshot patřičných NFS exportů, získáte konzistentní zálohy za zlomek času oproti jiným druhům zálohování.
V případě storage platformy NetApp nepotřebujete žádné přídavné skriptování, stačí si pořídit licenci na Snap Manager for Oracle. S pomocí tohoto managera můžete vytvářet konzistentní zálohy z databázového serveru bez nutnosti přístupu ke storage systému, tedy plně v režii databázových administrátorů Oracle, kdykoli je potřeba. Obnova takové databáze po selhání nebo lidské chybě je otázkou několika minut, případně několika hodin v případě, že poslední snapshot není k dispozici na primárním storage systému nebo došlo k selhání právě tohoto prvku.
Pokud z nějakého důvodu vyžadujete mít k dispozici zálohy i na jiném médiu než disk, můžete využít protokol NDMP k odzálohování existujících snapshotů na pásky. Pokud v prostředí NetApp potřebujete mít zálohy na 2 různých místech (NearStore NetApp), můžete využít dva různé způsoby: Rychlé, ale špinavé řešení je SnapMirror, čisté, ale komplikovanější řešení je využít NetApp Operation Manager, který nabízí integraci se Snapmanagerem i technologiemi SnapMirror a SnapVault.
Databázové řešení přes NFS může ušetřit spoustu nákladů jak na specializovaném hardwaru, tak na administraci.
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
Toľko k zálohovaciemu konceptu. Zaujímalo by ma či sa tu spomenie aj úspešhosť restore concept-u.60x restore, 60x success...
Mimochodom, až 60 restorov? To sa v práci asi nepretrhnete. Teda za predpokladu že si zákazník nerobí repliky databáz na testovacie prostredia sámProč by tohle dělal někdo ze storage departmentu? To si snad Oracle DBA umí udělat (naklikat ve snap manageru) sami, ne? :)