Základní rebuild databáze (unload + reload)

Top 

Seznam témat:

řešení

 

Řešení

Zde je popsán postup pro základní rebuild databáze (znovusestavení). Tento proces je nutný v případech, kdy jsou databázové soubory poškozeny. Pro otestování konzistence databáze, princip rebuildu spočívá ve třech krocích:

 

1.Unloadu databáze, tj. exportu struktury databáze do SQL skriptu a dat do textových souborů s oddělovačem
2.Vytvoření nové prázdné databáze
3.Reloadu, tj. importu struktury a dat do nové DB, takže vznikne databáze shodná s původní co do dat i struktury.

 

U databází, jež jsou součástí replikačních systémů je třeba po reloadu, buď obnovit původní stav replikačních počitadel anebo provést jejich inicializaci v reloadované databázi i v databázích, které s ní komunikují

 

U nově vzniklé DB budou implicitně všichni uživatelé a skupiny členem skupiny PUBLIC. Takže po provedené reloadu je nutné tyto ze skupiny PUBLIC vyřadit anebo před pořízením unloadu vyexportovat (správcem uživatelů) nesystémové uživatele a pak je smazat. Po reloadu je pak opět naimportovat.

 

 

Postup pro unload

připojit se Centrálem a po kliknutím pravým tlačítkem na databázi zvolit Unload
zvolit jméno vzniknuvšího unloadovacího skriptu (např. C:\reload.sql)
zvolit Unload structure and data (ponechat výchozí)
pokud akci provádím na počítači, kde běží server ASA, zvolit Internal unload, pokud jsem na klientském počítači, zvolit External unload
zvolit číslo 5 (max. úroveň vzájemných závislostí pohledů)
zvolit Dokončit

ASA9

Nelze provádět unload pomocí Sybase Central 7, skončí chybovou hláškou: Table name 'SYSSERVERS' is ambiguous. Je třeba provést unload pomocí SC9 nebo pomocí příkazové řádky:

 

Příklad: 

c:\Vision32\asa\win32>dbunload.exe -c "dsn=NAZEVODBC;uid=dba;pwd=heslo" -ii -r c:\temp\reload.sql -o c:\temp\log.txt c:\TEMP\

 

Postup pro vytvoření čisté DB

Postupovat dle "vytvoření čisté databáze".

 

 

Postup pro reload

připojit s k nové databázi pouze pomocí ISQL (uživatel DBA, heslo SQL) s využitím lokálního enginu (není podmínkou). Doporučuje se databázový engine nastartovat s parametrem -b (bulk režim), kdy se nepoužívá LOG soubor.
je vhodné (ne však nutné) předalokovat db prostor, tzn. zvětšit databázové soubory na předpokládánou velikost.
doporučuje se soubory nové databáze defragmentovat, např. nástrojem Contig

       (http://www.microsoft.com/technet/sysinternals/FileAndDisk/Contig.mspx)

pokud pracuji na autentizované verzi serveru ASA, provést autentizaci nové databáze . Lze ignorovat, pokud byla využita již předpřipravená čistá DB nebo se pracuje pod ASA verze 9 a vyšší.
spustit skript vytvořený během unloadu, příkazem READ, např. read c:\reload.sql

nepokoušejte se celý soubor otevřít v ISQL - je příliš velký

vyřadit členství našich uživatelů a skupin ve skupině PUBLIC, ale tuto skupinu samotnou nemažte - je systémovou součástí.

 

Související témata

Autentizace nové databáze

Spouštěcí parametry

Předalokace DB prostoru