KS-PPS – Disaster Recovery Plan

Przy tego typu danych powinien byc zapewniony jakiś mechanizm tworzenia kopii zapasowych i co najważniejsze mechanizm ich poprawnego odzyskiwania.

O ile od biedy program KS-PPS posiada mechanizm do tworzenia backupu, pod warunkiem, że baza Oracle i program klienta znajdują się na tej samej maszynie. W innym przypadku, tak jak u mnie, należy postąpić nieco inaczej.

1. Zabezpieczenie danych – BACKUP.

Na komputerze, na którym będzie robiony proces backupu powiniśmy mieć zainstalowaną bazę Oracle. Jeżeli jest to komputer inny niż serwer bazy KS-PPS to po zainstalowaniu Oracle’a możeby wyłączyć jego serwis i skasować pliki bazy danych. Odzyskamy ponad 1 GB na dysku, a będziemy mieli potrzebne narzędzia do tworzenia i zarządzania danymi. Przy procesie tworzenia kopii zapasowych skorzystamy z programu exp.exe zawartego w folderze: C:\oraclexe\app\oracle\product\10.2.0\server\BIN\exp.exe

Pamiętajmy jednak przed tym, żeby plik TNSNAMES.ORA wskazywał na poprawny serwer. Po instalacji serwera, nawet jeżeli będzie wyłączony, obowiązuje plik znajdujący się tutaj: C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN\tnsnames.ora

Wystarczy w sekcji:

XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = galaxy1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)

wpisać odpowiedni adres w polu HOST.

Teraz proponuję wykorzystać skrypt KSPPS_Backup_DB_Oracle, który wykona zrzut bazy danych KS i PPS do plików. Pliki będa miały w nazwie datę i czas utworzenia. (Po jego downloadzie proszę zmienić rozszerzenie z txt na cmd)

Jedyne co powinniśmy w nim zmienić to ścieżkę do katalogu z kopiami. Uruchom go, zostaniesz poproszony o wpisanie haseł dwóch użytkowników – KS i PPS.

Po chwili 😉 kopie wraz z logami sa zapisane na dysku. Możesz je nagrać na CD lub schować w bezpieczne miejsce.

2. ODTWARZANIE danych.

Moja propozycja wygląda następująco.

Instalujesz program KS-PPS i wybierasz instalacje serwerową. Chyba, że już masz zainstalowanego Oracle’a – to wybierasz tylko tworzenie danych w istniejącej bazie.

Teraz musimy skasować istniejących użytkowników KS i PPS. Proponuję zrobić to przez stronę www. Adres: http://127.0.0.1:8080/apex, ewentualnie zmieniamy adres maszyny. Logujemy sie na użytkownika SYSTEM, hasło jest takie jak podane podczas instalacji. Przechodzimy do menu: Administration \ Database Users. Klikamy na kasowanym użytkowniku. Klikamy przycisk Drop, zaznaczamy przełącznik Cascade i wciskamy przycisk Drop User. W zależności od szybkości serwera operacje mogę trwać około minuty.

Po ich skasowaniu należy założyć nowe konta.

Polecam użyć do tego programu sqlplus.exe znajdującego się w folderze serwera Oracle.

C:\oraclexe\app\oracle\product\10.2.0\server\BIN

Ale po kolei: Uruchamiamy okno cmd.exe

przechodzimy do folderu BIN poleceniem

C:\

cd \oraclexe\app\oracle\product\10.2.0\server\BIN

Oczywiście dotyczy to domyślnej instalacji na komputerze z zainstalowanym systemem Windows.

teraz musimy zalogować się do bazy jako SYSDBA.

Wykonujemy polecenie:

sqlplus SYSTEM@XE AS SYSDBA

i w okno programu wklejamy zawartość pliku: KSPPS – Create User.

Można też zrobić to w jednej linii ale trzeba jawnie użyć hasła.

sqlplus SYSTEM/password@XE AS SYSDBA < sqlplus_SYSTEM_SYSDBA.txt

Jeżeli plik sqlplus_SYSTEM_SYSDBA.txt znajduje sie w innym folderze niż aktualny to przed nim trzeba podać bezwzględną ścieżkę do niego.

Teraz kolej na import danych.

Nie wychodząc z folderu BIN wykonujemy następujące polecenia (uwaga!!! ważna jest kolejność importu, najpierw KS, a potem PPS):

imp.exe KS@XE FILE=”KS_Backup.dat”

imp.exe PPS@XE FILE=”PPS_Backup.dat”

W międzyczasie zostaniemy poproszeni o wpisanie stosownych haseł i na koniec powinna pojawić się linijka, że odzyskanie danych odbyło się “without error”. Oczywiście nazwy plików mogą sie różnić i w zależności od ich umiejscowienia należy podać stosowna ścieżkę dostępu.

Oryginalna instalacja nie przewiduje aby użytkownicy mieli nadane niektóre uprawnienia i przed uruchomieniem programu można je zdjąć. Nie przedstawiam tutaj skryptu, można to zrobić przez stronę www. Uprawnienia do odebrania:

  • CREATE PUBLIC SYNONYM
  • CREATE TYPE
  • CREATE MATERIALIZED VIEW
  • CREATE ROLE

Jednak jeśli ktoś jest w tanie mi pomóc to będę bardzo wdzięczny za zamianę kliknięć na stronie www na skrypty SQL.

2 thoughts on “KS-PPS – Disaster Recovery Plan”

  1. Coś ten skrypt niedokońca działa uruchamia sie przelatuje.. ale nie zatrzymuje sie do podania hasła tylko zamyka sie skrypt.
    P.s. Zakładka kontakt nie działa ;P

  2. Witam.
    1. Dziękuję za zwrócenie uwagi z mailem – nieco poprawione.
    2. Musi być spełnionych kilka warunków, żeby skrypt zadziałał.
    a. Musi istnieć folder do przechowywania backupów. Jego nazwa jest określona w skrypcie zmienną SCRIPTPATH. Proszę sprawdzić poprawna ścieżkę i ją ew. zmienić
    b. Skrypt MUSI być wykonany na komputerze, na którym jest zainstalowany Oracle XE – chociaż możliwe jest zrobienie backupu na zdalnej maszynie.
    c. Skrypt był testowany na Windows XP i na starszych systemach wyliczenie zmiennej SCRIPTDATE może nie działać. W tym celu proszę ustawić zmienną na jakiś tekst lub po prostu z niej zrezygnować w poleceniu exp.exe.
    d. Na końcu skryptu polecam dopisać linijkę z poleceniem
    “pause”. Okno nawet po błędzie NIE powinno sie zamknąć i użytkownik powinien zobaczyć wynik wykonania polecenia. Jeżeli to możliwe proszę o jego przesłanie.
    e. Spotkałem sie z taka sytuacją, że polecenie exp.exe NIE działało, mimo, że serwis bazy wstał i nawet KS-PPS działał, pomogło zrestartowanie komputera – nie wiem czemu.
    f. Proszę pamiętać także, że SID Pana bazy i tej w skrypcie musi być identyczny. Mowa tutaj o “KS@XE” i “PPS@XE” – chociaż nie przewiduję tutaj różnic między instalacjami.

    Komputer komputerowi nie równy, a skrypt jest dosyć sztywny – może się nieco inaczej zachowywać na innych maszynach.

    Pozdrawiam

Comments are closed.