PL EN DE
Najlepsze praktyki zarządzania usługami SAP

Dedykowana organizacja serwisowa SNP zapewnia jakość i ciągłość obsługi kontraktów SAP Managed Services. Pracujemy w oparciu o standardy ISO 20000 i ISO 27001. Posiadamy certyfikat PCoE - SAP Partner Center of Expertise.

SNP Poland to lider rynku usług SAP w Polsce.
Zapewniamy pełen zakres wdrożeń, rozwoju i utrzymania systemów SAP. Dostarczamy usługi bezpieczeństwa IT i rozwoju oprogramowania. Do 2017 roku działaliśmy jako BCC.

Jesteśmy częścią Grupy SNP – wiodącego światowego dostawcy rozwiązań do transformacji środowisk SAP.

Od 1995 roku zrealizowaliśmy z sukcesem setki projektów IT w Polsce i kilkudziesięciu innych krajach.

"Lepszy Biznes" to magazyn klientów SNP. Czytaj setki artykułów, przydatnych w przygotowaniu i realizacji projektów IT.

Nasi eksperci przedstawiają najciekawsze rozwiązania i nowości ze świata IT.

Zobacz archiwum nagrań z webinarów, zarejestruj się na kolejne edycje.

Dlaczego uważamy, że SNP Poland jest dobrym pracodawcą? Bo łączymy cechy rzadko spotykane w jednej organizacji - duże możliwości rozwoju, a zarazem dobrą atmosferę i elastyczność środowiska pracy. Dowiedz się więcej, na czym to polega w praktyce!

SAP na Oracle bardziej wydajny

Optymalizacja bazy danych Oracle

Udostępnij
Drukuj:
Większość problemów z wydajnością systemów SAP można rozwiązać na trzy sposoby. Oczywisty, ale nie zawsze możliwy, to zakup lepszego sprzętu IT. Drugi i trzeci to efektywna konfiguracja bazy danych oraz dobrze napisana aplikacja i wdrożona funkcjonalność. Administrator SAP, uzbrojony w odpowiednie narzędzia, dysponujący pełnym wglądem w środowisko bazodanowe, ma wiele możliwości optymalizacji systemu.
 

Eksploatując system SAP, w miarę upływu czasu firmy wdrażają kolejne moduły, rozbudowują już działające funkcjonalności. Użytkownicy chcą, aby ich aplikacje działały bardzo szybko. Menedżment również życzy sobie, aby interesujące ich dane były dostępne jak najprędzej. Ciągła pogoń za coraz szybszym, bardziej złożonym przetwarzaniem coraz większych wolumenów informacji z czasem powoduje pojawienie się problemów z wydajnością systemu.

Jednym ze sposobów rozwiązania tego problemu jest inwestycja w najnowocześniejszy sprzęt, wyposażony w dużą ilość pamięci RAM, najszybsze procesory, zakup jeszcze szybszych macierzy dyskowych. Jednakże najlepszy sprzęt jest też sprzętem najdroższym i nie daje 100% gwarancji, że problemy z wydajnością systemu ustąpią. W dodatku w wielu organizacjach procesy zakupowe mogą trwać nawet kilka miesięcy. Na ten okres administratorzy systemu SAP muszą znaleźć inny sposób na poprawę wydajności.

A zatem zanim wydamy pieniądze na nowy sprzęt, warto przyjrzeć się innym możliwościom poprawy wydajności: poprawie konfiguracji bazy danych oraz optymalizacji aplikacji/wdrożonej funkcjonalności. Użytkownicy baz danych muszą rozumieć, że główną przyczyną problemów wydajnościowych nie jest sama baza danych, lecz aplikacje ją wykorzystujące. Źle napisane bądź zapętlone w kodzie zapytania SQL zwykle są przyczyną pojawiających się problemów. Pierwszym krokiem administratora systemu powinien być kontakt z twórcą aplikacji i rozpoznanie, czy kod powodujący błąd nie może być przepisany na nowo, tak by zoptymalizować wykorzystanie zasobów bazy danych.

Przesłanki nieefektywnego działania bazy danych

Jednak jeśli wszelkie sposoby optymalizacji od strony aplikacyjnej nie przynoszą efektu, należy zająć się optymalizacją bazy danych. Rekonfigurując bazę danych, należy mieć na uwadze, że satysfakcjonujące rozwiązanie problemu w jednym obszarze może sprowokować pojawienie się problemów wydajnościowych w innym. Każda zmiana parametrów bazy danych powinna być dobrze przemyślana. Przykładowo w przypadku zmiany konfiguracji odpowiedzialnej za zarządzanie pamięcią bazy danych Oracle bez dokupienia i zainstalowania dodatkowej pamięci RAM możemy doprowadzić do stanu, że baza danych zajmie więcej istniejącej pamięci, która wcześniej była dostępna dla innych aplikacji, np. systemu SAP.

Jest wiele przesłanek, które wskazują, że baza danych działa nieefektywnie i wymaga optymalizacji. Są to m.in.:

  • długi czas oczekiwania na odpowiedź bazy danych,
  • bardzo duża liczba operacji dyskowych wejścia/wyjścia,
  • duża fragmentacja tabel i indeksów,
  • problem z alokacją pamięci.

Optymalizacja bazy danych powinna być podzielona na kilka etapów. W całym procesie należy uwzględnić uwarunkowania pracy użytkowników biznesowych, aby nie doprowadzić do niedostępności systemu SAP. Każde środowisko SAP jest inne i nie ma jednego idealnego planu na poprawę wydajności. Przed przystąpieniem do optymalizacji należy dokładnie zaudytować system, znaleźć potencjalne „wąskie gardła”. Na ich podstawie będzie można określić, jakie zmiany można wykonać na systemie, przeanalizować ich potencjalny wpływ na działanie systemu, ocenić, ile czasu jest potrzebne na dokonanie zmian, przygotowanie planu i wspólnie z biznesem określenie harmonogramu wprowadzenia zmian.

Optymalizować, ale co?

Optymalizacja jest procesem złożonym, nieodpowiednie zmiany mogą doprowadzić do pogorszenia wydajności lub nawet do awarii systemu. Metodologię optymalizacji można podzielić na cztery obszary:

  • optymalizacja zapytań,
  • optymalizacja struktur pamięciowych,
  • optymalizacja operacji wejścia/wyjścia,
  • wykrycie i wyeliminowanie prób dostępu do tych samych zasobów.

Taka duża liczba obszarów, w których można dokonać optymalizacji, przy nieumiejętnej analizie może doprowadzić do pogorszenia i tak już kiepskiej wydajności. W początkowej analizie należy skupić się na obszarach, w których widoczna jest pogorszona wydajność środowiska, wpływająca na działanie przedsiębiorstwa, mogąca skutkować uniemożliwieniem prowadzenia działalności biznesowej.

Sposób optymalizacji systemu zależy od jego specyfiki. Jeśli jest to system typu ERP (OLTP – On-line Transaction Processing) – to wymogi konfiguracyjne dla bazy danych są inne niż w przypadku systemów Business Warehouse (OLAP – On-line Analytical Processing).

Czas przetwarzania zapytań SQL może być różny. Proste zapytania wykonują się bardzo szybko, kilka milisekund, bardziej skomplikowane (np. zamknięcie okresu rozrachunkowego) mogą się wykonywać bardzo długo. W celu identyfikacji zapytań SQL, które są napisane w sposób nieoptymalny i powodują degradację wydajności systemu, można wykorzystać po stronie SAP raporty EarlyWatch lub z poziomu bazy danych raporty AWR (Automatic Workload Repository). Dane zebrane w raportach AWR powinny uwzględniać odpowiedni przedział czasowy, w którym występują problemy na poziomie bazy danych i zapytań SQL.

Po wyodrębnieniu przyczyn problemów wydajnościowych należy utworzyć harmonogram zmian w kontakcie z użytkownikami biznesowymi. Część zmian, jak np. zmiana parametrów statycznych bazy danych, wymaga restartu.

Krok po kroku

Z gotowym harmonogramem przystępujemy do wykonania zmian. Przed rozpoczęciem zmian należy zachować aktualny stan systemu – wykonać backup. W każdej chwili mamy możliwość powrotu do stanu wyjściowego, jeśli nasze modyfikacje niekorzystnie wpłynęły na system lub doprowadziły do jego nieodwracalnej awarii.

Etapu procesu optymalizacji:

  • analiza kodu SQL – nieoptymalne zapytanie SQL ma najczęściej wpływ na wydajność bazy danych. W tym momencie konieczna jest współpraca administratora i twórcy zapytania/programu;
  • optymalizacja pracy CBO (Cost Based Optimizer) – optymalizator kosztowy generuje plan wykonania zapytania SQL. Jeśli statystyki dla obiektów bazy danych nie są aktualne, to optymalizator może wybrać niewłaściwy plan wykonania zapytania, przez co zapytanie wykona się dłużej;
  • zmiana struktur pamięciowych – odpowiednie ustawienie wielkości SGA (System Global Area), PGA (Program Global Area). Zmiana ich wielkości ma duży wpływ na pracę bazy danych (np. na liczbę operacji wejścia/wyjścia);
  • zmiana parametrów bazodanowych – odpowiednie ustawienie parametrów inicjujących wpływa na pracę pozostałych komponentów bazy danych;
  • analiza i redukcja występowania oczekiwań – zazwyczaj wynikające ze strony aplikacyjnej;
  • zmiana konfiguracji systemu operacyjnego – zła konfiguracja systemu operacyjnego często wpływa na wydajność bazy danych.

Przydatne narzędzia

Do analizowania kryzysowej sytuacji administrator wykorzystuje informacje zawarte w dynamicznych perspektywach V$, jak również ma możliwość wykorzystania pakietu diagnostycznego statspack bądź raportów AWR. W wersji 11 bazy Oracle producent dostarczył zintegrowany z jądrem systemu pakiet funkcjonalności, który zawiera narzędzia analityczne i diagnostyczne.

Rozpoczynając rekonfigurację parametrów bazy danych dla środowiska SAP, należy zacząć od zapoznania się z rekomendacjami SAP odnośnie do parametrów dla bazy danych. SAP regularnie publikuje skrypty, za pomocą których sprawdzana jest poprawność parametrów dla bazy danych typu OLTP lub OLAP. Automatyczne zarządzanie pamięcią Oracle jest wyłączone, gdy korzystamy z SAP i bazy danych Oracle. Oracle dostarcza szereg dynamicznych widoków, za pomocą których możemy przeanalizować wielkość buforów, m.in. V$DB_CACHE_ADVICE odnośnie do buffer cache, który zawiera dane odczytane z dysku.

Dla instancji bazy danych na bieżąco zbierane są statystyki dotyczące samego systemu, a także sesji, zapytań SQL, usług. Przechowywane są one w pamięci SGA i w równych przedziałach czasu składowane na dysku. Dane te są ustrukturyzowane i noszą nazwę Automatic Workload Repository (AWR).

Repozytorium AWR jest obsługiwane przez dwa procesy bazy danych:

  • Manageability Monitor Process MMON,
  • Manageability Monitor Lite Process MMNL.

MMON jest głównym procesem obsługującym AWR, odpowiada za wykonywanie migawek zawierających wartości statystyk i zapisywanie ich na dysku. Zapis odbywa się do tabel, ulokowanych w przestrzeni tabel SYSAUX.

AWR stanowi podstawę działania szeregu mechanizmów automatycznego strojenia bazy danych, samodzielnej diagnostyki bazy oraz dostarcza danych do analizy prowadzonej przez administratora.

ASH – Active Session History – informacje cykliczne na temat sesji są zbierane i umieszczane w buforze danych pamięci SGA. Dostęp do bufora jest możliwy poprzez perspektywę V$ACTIVE_SESSION_HISTORY. Perspektywa zawiera jeden wiersz dla każdej aktywnej sesji. Od wielkości bufora zależy dostępność historii aktywności sesji. Jednak gdy dane są nadpisywane nowymi danymi, to proces MMNL zapisuje dane historyczne na dysk. Dane historyczne dostępne są przez perspektywę DBA_HIST_ACTIVE_SESS_HISTORY, jednak dane w niej zawarte nie są już tak dokładne.

Obie perspektywy zawierają wiele przydatnych informacji na potrzeby analizy wydajności systemu:

  • dane o wykonywanym kodzie,
  • dane o blokadach i oczekiwaniach na dostęp, m.in. identyfikator sesji blokującej,
  • dane o obiektach,
  • dane indentyfikacyjne, m.in. nazwa programu, użytkownika.

Jeśli użytkownik zgłasza problem wydajnościowy, wtedy z perspektywy V$ACTIVE_SESSION_HISTORY filtrujemy wiersze dotyczące użytkownika w terminie, gdy występował ten problem, a następnie analizujemy zapytanie SQL, plan wykonania, sprawdzamy, czy nie występowały blokady.

By móc korzystać z powyższych perspektyw, parametr bazy danych STATISTICS_LEVEL musi być ustawiony na wartość ALL lub TYPICAL. W przypadku systemu SAP parametr ma wartość TYPICAL.

Raport ASH wywołuje się poprzez funckje z pakietu DBMS_WORKLOAD_REPOSITORY. Raport ten może być w postaci HTML lub tekstowej. Aby utworzyć raporty, należy wywołać funkcje:

  • DBMS_WORKLOAD_REPOSITORY.ASH_REPORT_TEXT,
  • DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_HTML.

Jednakże Oracle dostarcza skrypty, które znajdują się w lokalizacji $ORACLE_HOME/rdbms/admin, ułatwiające użytkownikowi utworzenie raportów. Skrypty to:

  • ashrpt.sql – skrypt uruchamiający raport,
  • ashrpti.sql – skrypt uruchamiający raport dla wskazanej instancji.

W wygenerowanym raporcie znajdują się poniższe infromacje:

  • Top Events – najdłużej trwające oczekiwania (umożliwia identyfikację niewydajnego systemu dyskowego),
  • Load Profile – raportuje sesje najbardziej obciążające system,
  • Top SQL – zawiera najbardziej obciążające polecenie SQL,
  • Top PL/SQL – zawiera najbardziej obciążające system procedury PL/SQL,
  • Top Java – zawiera zestawienie najbardziej obciążających system programów w języku Java,
  • Top Sessions – zawiera m.in. informacje o blokujących się sesjach,
  • Top Objects/Files/Latches – sprawdza pliki przestrzeni tabel, które były używane,
  • Activity Over Time – służy do przeglądu zdarzeń w dłuższym okresie.

Wydajność – chleb powszedni administratora SAP

Dla administratora SAP problemy wydajnościowe bazy danych nie powinny być nadzwyczajnym problemem. Wyposażony w raporty AWR, ASH jak i SAP EarlyWatch administrator dysponuje pełnym wglądem w swoje środowisko bazodanowe. Odpowiednia interpretacja danych skutkuje rozwiązaniem najbardziej doskwierających problemów wydajnościowych.

Lepszy Biznes

magazyn klientów SNP

Przejdź do bazy artykułów
Udostępnij
Drukuj:

Nasze referencje

Poradniki

Aktualności

Formularz kontaktowy





  1. Dane osobowe przetwarzane są na podstawie art. 6 ust. 1 lit. a Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. – ogólnego rozporządzenia o ochronie danych osobowych.
  2. Administratorem Danych Osobowych jest SNP Poland Sp. z o.o. z siedzibą w Złotnikach, ul. Krzemowa 1 62-002 Suchy Las. Dane kontaktowe do Inspektora Ochrony Danych: dpo.pl@snpgroup.com.
  3. Zgoda na przetwarzanie danych jest dobrowolna, ale niezbędna w celu kontaktu. Zgodę można wycofać w dowolnym momencie bez wpływu na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem
  4. Dane będą przetwarzane do realizacji określonych powyżej celów i do momentu wycofania niniejszej zgody, a dostęp do danych będą miały tylko wybrane osoby posiadające stosowne upoważnienie do ich przetwarzania.
  5. Każda osoba podając dane osobowe ma prawo dostępu do treści swoich danych i ich sprostowania, usunięcia, ograniczenia przetwarzania, prawo do wniesienia sprzeciwu wobec przetwarzania i przenoszenia danych, prawo do ograniczenia przetwarzania i prawo sprzeciwu wobec przetwarzania danych, prawo do przenoszenia danych.
  6. Każda osoba, której dane są przetwarzane, ma prawo do wniesienia skargi do organu nadzorczego jakim jest Prezes Urzędu Ochrony Danych Osobowych (ul. Stawki 2, 00-193 Warszawa).
  7. Dane osobowe mogą być udostępniane innym jednostkom należącym do grupy kapitałowej, do której należy SNP Poland Sp. z o.o. – również znajdujących się poza Europejskim Obszarem Gospodarczym, w celach marketingowych. SNP Poland zapewnia, że dane przekazywane tym podmiotom są właściwie zabezpieczone, a osoba, której dane są przetwarzane, ma prawo do uzyskania kopii udostępnionych danych oraz informacji o miejscu udostępnienia danych.

Napisz maila lub zadzwoń

E-mail: office.pl@snpgroup.com
Tel. 61 827 7000

SNP Poland Sp. z o.o.

Centrala:
Złotniki, ul. Krzemowa 1
62-002 Suchy Las k. Poznania

Skontaktuj się z nami

W czym możemy pomóc?
Napisz do nas
Wyślij email
Zadzwoń





  1. Dane osobowe przetwarzane są na podstawie art. 6 ust. 1 lit. a Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. – ogólnego rozporządzenia o ochronie danych osobowych.
  2. Administratorem Danych Osobowych jest SNP Poland Sp. z o.o. z siedzibą w Złotnikach, ul. Krzemowa 1 62-002 Suchy Las. Dane kontaktowe do Inspektora Ochrony Danych: dpo.pl@snpgroup.com.
  3. Zgoda na przetwarzanie danych jest dobrowolna, ale niezbędna w celu kontaktu. Zgodę można wycofać w dowolnym momencie bez wpływu na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem
  4. Dane będą przetwarzane do realizacji określonych powyżej celów i do momentu wycofania niniejszej zgody, a dostęp do danych będą miały tylko wybrane osoby posiadające stosowne upoważnienie do ich przetwarzania.
  5. Każda osoba podając dane osobowe ma prawo dostępu do treści swoich danych i ich sprostowania, usunięcia, ograniczenia przetwarzania, prawo do wniesienia sprzeciwu wobec przetwarzania i przenoszenia danych, prawo do ograniczenia przetwarzania i prawo sprzeciwu wobec przetwarzania danych, prawo do przenoszenia danych.
  6. Każda osoba, której dane są przetwarzane, ma prawo do wniesienia skargi do organu nadzorczego jakim jest Prezes Urzędu Ochrony Danych Osobowych (ul. Stawki 2, 00-193 Warszawa).
  7. Dane osobowe mogą być udostępniane innym jednostkom należącym do grupy kapitałowej, do której należy SNP Poland Sp. z o.o. – również znajdujących się poza Europejskim Obszarem Gospodarczym, w celach marketingowych. SNP Poland zapewnia, że dane przekazywane tym podmiotom są właściwie zabezpieczone, a osoba, której dane są przetwarzane, ma prawo do uzyskania kopii udostępnionych danych oraz informacji o miejscu udostępnienia danych.

Kontakt ogólny do firmy
office.pl@snpgroup.com

Pytania o produkty i usługi
info.pl@snpgroup.com

Pytania na temat pracy i staży
kariera@snpgroup.com

61 827 70 00

Biuro jest czynne
od poniedziałku do piątku
w godz. 8:00 – 17:00