Plan prezentacji - PLOUG Monitorowanie bazy danych Migracja danych 231 Plan prezentacji...

21
230 Monitorowanie bazy danych Migracja danych 231 Plan prezentacji Monitorowanie bazy danych – AWR – ADDM – Metryki – Alerty Migracja danych – Data pump – Export/Import – SQL*Loader – External tables – Transportable tablespaces – SQL*Plus – SQL Developer – RMAN - Duplicate 232 Automatic Workload Repository (1/5) Baza danych generuje wiele różnego rodzaju statystyk wydajnościowych Statystyki wydajnościowe, to dane, opisujące np.: – działanie systemu – sesje użytkowników, – zapytania – serwisów AWR pozwala zautomatyzować proces zbierania tych dynamicznie zmieniających się statystyk (dla wersji wcześniejszych niż 10g patrz -> statpack) • Domyślnie statystyki: – zbierane są co godzinę – przechowywane w bazie danych przez 8 dni (7 dni dla 10g) 233 Automatic Workload Repository (2/5) • Statystyki systemowe mają charakter narastający – zerowane w momencie startu instancji – później ich wartości tylko przyrastają Źródłem statystyk są między innymi dynamiczne perspektywy • Zebrane wyniki mogą być analizowane przez użytkowników albo przez narzędzia wspomagające proces administrowania bazy danych

Transcript of Plan prezentacji - PLOUG Monitorowanie bazy danych Migracja danych 231 Plan prezentacji...

230

Monitorowanie bazy danychMigracja danych

231

Plan prezentacji

Monitorowanie bazy danych

– AWR– ADDM– Metryki– Alerty

Migracja danych

– Data pump– Export/Import– SQL*Loader– External tables– Transportable

tablespaces– SQL*Plus– SQL Developer– RMAN - Duplicate

232

Automatic Workload Repository (1/5)

• Baza danych generuje wiele różnego rodzaju statystyk wydajnościowych

• Statystyki wydajnościowe, to dane, opisujące np.:– działanie systemu– sesje użytkowników, – zapytania– serwisów

• AWR pozwala zautomatyzować proces zbierania tych dynamicznie zmieniających się statystyk (dla wersji wcześniejszych niż 10g patrz -> statpack)

• Domyślnie statystyki:– zbierane są co godzinę– przechowywane w bazie danych przez 8 dni (7 dni dla

10g)

233

Automatic Workload Repository (2/5)

• Statystyki systemowe mają charakter narastający – zerowane w momencie startu instancji– później ich wartości tylko przyrastają

• Źródłem statystyk są między innymi dynamiczne perspektywy

• Zebrane wyniki mogą być analizowane przez użytkowników albo przez narzędzia wspomagające proces administrowania bazy danych

234Infrastruktura mechanizmów monitorowania i diagnostyki

AWR

Podpowiadacze (advisor)

Automatycznedziałania

Alerty

Wiedza na temat

historii bazy danych

Automatyczne zbieranie

statystyk

Bezpośredni dostęp do

pamięci instancji

AutomaticDiagnostic Repository

Błędy krytyczne

Działania proaktywne

Działania reaktywne

235

Automatic Workload Repository (3/5)

• Poziom szczegółowości zbieranych statystyk reguluje parametr inicjalizacyjny: STATISTICS_LEVEL, który może przyjmować wartości:– BASIC – TYPICAL– ALL

• Dodatkowo można skonfigurować parametr: CONTROL_MANAGEMENT_PACK_ACCESS, Może on przyjmować wartości:– DIAGNOSTIC+TUNING (SQL Tuning Advisor, SQLAccess

Advisor, ...)

– DIAGNOSTIC (AWR, ADDM, ...)

– NONE

236

Automatic Workload Repository (4/5)

• Statystyki zbierane przez AWR obejmująnastępujące aspekty pracy bazy danych: – Time Model Statistics – Wait Event Statistics – Session and System Statistics – Active Session History Statistics – High-Load SQL Statistics

• Repozytorium AWR stanowi podstawę działania wszystkich mechanizmów automatycznego strojenia bazy danych (advisors)

237

Automatic Workload Repository (5/5)

• Konfiguracja:– OEM -> Server ->

AWR

• Raporty:– OEM -> Server ->

AWR -> Run AWR Report

• Zebranie statystyk –ręcznie– OEM -> Server ->

AWR -> Snapshots

238

AWR – lista zebranych migawek

Ręczne zebranie migawki

Raport na podstawie zawartości migawki

–należy wskazać migawkępoczątkową i końcową

– pomiędzy wskazanymi migawkami nie mogło

wystąpić wyłączenie bazy danych

239

AWR - raport

240

AWR - raport241Automatic Database Diagnostic Monitor

(1/3)

• Uruchamiany automatycznie po każdym zebraniu danych przez AWR

• Wykrywa i raportuje problemy z bazą danych• Do swojego działania wykorzystuje repozytorium

AWR• Wynik działania jest prezentowany na stronie

głównej konsoli OEM• Przeglądanie wyników działania ADDM pozwala na

szybkie zidentyfikowanie potencjalnego zagrożenia dla bazy danych

• Podpowiedzi zawierają informacje na temat kroków, jakie musi podjąć administrator bazy danych aby zminimalizować zagrożenie

242Automatic Database Diagnostic Monitor (2/3)

• Typowe podpowiedzi dotyczą:– modyfikacji sprzętu (pamięć, procesory, dyski, ...)– zmiany oprogramowania zarówno Oracle

(strojenie) jak i zewnętrznego do bazy danych– zmian w schemacie bazy danych– zmiany logiki aplikacji (cache dla sekwencji,

zmienne wiązania)– uruchomienia innego advisora

243Automatic Database Diagnostic Monitor (3/3)

• Uruchamianie ADDM:– OEM -> Performance -> Snapshots -> Run ADDM– OEM -> Advisor Central-> ADDM

• Następnie określa się zakres „dat” (numery migawek mechanizmu AWR) których ma dotyczyć analiza

• Analiza uzyskanych wyników: – na stronie głównej OEM, pozycja: ADDM Findings– OEM -> Advisor Central -> historia uruchomień

244ADDM – informacje na stronie głównej EM

245

ADDM – wyniki analizy

246

ADDM – raport (fragment)247

ADDM – problemy i rekomendacje

• Proponowane rozwiązania zawierająinformacje o:– problemie– symptomach– dodatkowe informacje o problemie

• Aplikowanie zaproponowanych zmian:– OEM -> ADDM Findings

248

ADDM – problemy i rekomendacje249

ADDM – problemy i rekomendacje

250

ADDM – historia znalezionego problemu251

Metryki (1/2)

• Dynamiczne statystyki wydajnościowe informują o liczbie zdarzeń (odczyty/zapisy danych, dane wysłane/odebrane przez sieć, liczba zapytańużytkownika, …), które miały miejsce od uruchomienia instancji bazy danych

• Dynamiczne statystyki w żaden sposób nie informująjednak o tym, jak uzyskana wartość narastała w czasie (czy obecnie mamy tendencje wzrostową, czy też od dłuższego czasu dane zdarzenie w ogóle nie występowało)

252

Metryki (2/2)

• Metryki informują nas o tym, jak wartośćdanej statystyki zmieniała się w ostatniej jednostce czasu

• Metryki przeważnie reprezentują informacje o przyroście danej wartości w zdefiniowanej jednostce czasu (różnej dla różnych metryk)

• AWR przechowuje w swoim repozytorium wartości metryk

• OEM -> Related Links -> All Metrics

253

Metryki – spis metryk

254

Metryki - przykłady255

Alerty (1/2)

• Baza danych Oracle (10g) została wyposażona w infrastrukturę pozwalającą na informowanie administratora o zbliżającym sięniebezpieczeństwie

• Alert jest generowany, gdy wartość metryki przekroczy wartość skonfigurowanego progu

• Automatyczne alerty dotyczą błędów:– zajętości przestrzeni tabel– Snapshot Too Old– mało miejsca w obszarze Recovery Area

256

Alerty (2/2)

• Alerty mogą być zgłaszane na jednym z dwóch poziomów ważności: – ostrzeżenie (warning)– krytyczny (critical)

• Progi dla których generowane są alerty mogąbyć konfigurowane przez administratora• OEM -> Related Links -> Metric and policy settings

• Z każdym alertem może być związane automatyczne działanie korekcyjne

257

Alerty – konfiguracja progów

258

Alerty – automatyczne działania naprawcze259

Alerty – powiadomienia

• Informacje o alertach:– są wyświetlane na stronie głównej EM– mogą być wysyłane do administratorów

przy pomocy poczty elektronicznej– mogą powodować uruchomienie procedury

PL/SQL lub programu w systemie operacyjnym

260

Alerty – strona główna EM261

Alerty – konfiguracja powiadomień

262

Alerty – opis problemu263

Historia alertów

– OEM -> Alert History

264

Alerty – obsługa

• W zależności od typu alertu administrator powinien naprawić zgłoszony problem, a nastepnie:– system automatycznie zauważy zmiany i „wygasi”

alert– administrator musi ręcznie „wygasić” alert (na stronie

z opisem szczegółów alertu)

265

Migracja danych

266

Migracja danych w EM267Ładowanie danych:

ścieżka bezpośrednia a konwencjonalna

Ścieżka konwencjonalna Ścieżka bezpośrednia

Polecenia COMMIT Bezpośredni (szybki) zapis do plików

Dane redo zawsze generowane Dane redo mogą być generowane

Sprawdzane wszystkie ograniczenia integralnościowe

Sprawdzane tylko: PRIMARY KEY, UNIQUE, oraz NOT NULL

Powoduje uruchomienie odpowiednich wyzwalaczy

Nie uruchamia wyzwalaczy

Umożliwia ładowanie do tabel w klastrach

Nie obsługuje tabel w klastrach

Inni użytkownicy normalnie korzystają (modyfikują) tabelę

Tabela zablokowana przed możliwościąwprowadzania zmian przez użytkownikow

Tabela

zapisy do pliku

HWM

insert

268

Data Pump (1/3)

• Wbudowana w bazę danych (od wersji 10g) funkcjonalność odpowiadająca za przenoszenie danych pomiędzy bazami danych Oracle

• Pozwala na bezpośrednie lub pośrednie (za pomocąwynikowego pliku z danymi) przenoszenie danych bez względu na: – wersję serwera bazy danych (wymagane 10g lub wyższe)– system operacyjnym na którym działa ten serwer

269

Data Pump (2/3)

• Wewnątrz bazy danych działanie tego mechanizmu kontroluje pakiet: – DBMS_DATAPUMP

• Na zewnątrz interfejs do Data Pump zapewniają narzędzia:– expdp/impdp – dostępne z poziomu linii komend systemu

operacyjnego, pracujące w trybie:• interaktywnym• parametry przekazane w linii polecenia• parametry w pliku parametrów

– Strony EM• OEM -> Data Movement-> Export to/Import from Export files

270

Data Pump (3/3)

• Wspiera działania wykonywane przy pomocy ścieżki bezpośredniej i konwencjonalnej

• Pozwala na zdefiniowanie zadania, a następnie na dowolne odłączanie i dołączanie się do bazy danych w celu sprawdzenia:– postępu prac– informacji o błędach – wstrzymania/wznowienia wykonywania prac

271

Data Pump - zalety

– Możliwość określenia, która tabela oraz które dane przenosić (warunek lub losowa próbka danych)

– Jawna specyfikacja wersji docelowej bazy danych– Równoległe wykonywanie operacji– Szacowanie czasu wykonywania operacji– Tryb sieciowy dla środowisk rozproszonych– Możliwość wyspecyfikowania parametrów importu,

różnych od parametrów eksportu (remapping)– Próbkowanie danych– Kompresja danych i metadanych– Szyfrowanie danych– Obsługa XMLowych typów danych

272

Data Pump – architektura

expdp

Plikiwynikowe

Baza danych

Data Pumpjob

Źródło

Mastertable

Processerwera

Plikiwynikowe

Proces serwera

Cel

Data Pumpjob

impdp

Baza danych

Mastertable

Databaselink

“Tryb sieciowy”

273

Data Pump

• Tryby pracy– baza danych– schemat– tabela– przestrzeń tabel– metadane mechanizmu Transportable tablespace

• Przykładowe wywołanie (linia poleceń):expdp hr/hr FULL=y

DUMPFILE=dp_dir1:full1%U.dmp, dp_dir2:full2%U.dmp

FILESIZE=2G PARALLEL=3

LOGFILE=dp_dir1:expfull.log JOB_NAME=expfull

274

Data Pump – eksport (1/3)275

Data Pump – eksport (2/3)

276

Data Pump – eksport (3/3)277

Data Pump – import danych (1/3)

278

Data Pump – import danych (2/3)279

Data Pump – import danych (3/3)

280Data Pump – import danych z innej baz danych

281

Export/Import (1/4)

• Przed wersją Oracle 10g były to podstawowe narzędzia do przenoszenia danych pomiędzy bazami danych Oracle (niezależność od wersji i platformy)

• Obecnie zaleca się stosowanie Data Pump• Uruchamiane z linii poleceń z poziomu

serwera lub dowolnego klienta bazy danych– Programy exp i imp

282

Export/Import (2/4)

• Plik danych – binarny, ale zawiera dane w postaci „odczytywalnej” dla człowieka

• Plik danych na maszynie na której uruchomiono narzędzie

• Operacje wykonywane przy uruchomionej bazie danych

• Praca w trybie ścieżki konwencjonalnej i bezpośredniej

283

Export/Import (3/4)

• Tryb uruchamiania: – interaktywny– parametry w linii poleceń– parametry w pliku parametrów

• Tryby pracy:– cała baza danych– przestrzeń tabel– schemat użytkownika– tabela

284

Export/Import (4/4)

• Oprócz schematu i danych tabel narzędzia przenosząpozostałe obiekty bazy danych: – składowane procedury, funkcje, pakiety– wyzwalacze– perspektywy– statystyki obiektów– pgraniczenia integralnościowe– indeksy– …

• Często wykorzystywane jako element „logicznej”kopii bezpieczeństwa bazy danych

285

SQL*Loader

• Ładuje dane z zewnętrznego pliku do bazy danych• Wymaga przygotowania pliku opisującego format

danych wejściowych i sposób ich ładowania do tabel w bazie danych

• Pracuje w trybie ścieżki bezpośredniej i konwencjonalnej

• Uruchamiany z poziomu linii poleceń– sqlldr

• lub EM– OEM -> Data Movement-> Load data from user files

286

SQL*Loader – architektura

Dane wejściowe Plik sterujący

SQL*Loader

Log

Wstawione

Wybrane

Niepoprawne

Niepoprawne

Niepoprawne

Selekcja danychPoprawne

Odrzucone

Odrzucone

Przygotowanie danych

Oracle server

287

SQL*Loader (1/6)

288

SQL*Loader (2/6)289

SQL*Loader (3/6)

290

SQL*Loader (4/6)291

SQL*Loader (5/6)

292

SQL*Loader (6/6)293SQL*Loader

– wygenerowany skrypt sterującyLOAD DATA

APPEND

INTO TABLE hr.employees_loader

FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'

(

EMPLOYEE_ID INTEGER EXTERNAL,

FIRST_NAME CHAR,

LAST_NAME CHAR,

EMAIL CHAR,

PHONE_NUMBER CHAR,

HIRE_DATE DATE,

JOB_ID CHAR,

SALARY INTEGER EXTERNAL,

COMMISSION_PCT INTEGER EXTERNAL,

MANAGER_ID INTEGER EXTERNAL,

DEPARTMENT_ID INTEGER EXTERNAL

)

294

SQL*Plus (1/2)

Konfiguracja ustawieńnarzędzia SQL*Plus

SQL> SET ECHO OFF SQL> SET NEWPAGE 0 SQL> SET SPACE 0 SQL> SET PAGESIZE 0 SQL> SET FEEDBACK

OFF SQL> SET HEADING

OFF

Eksport do pliku z danymi rozdzielonymi znakami tabulacji

SQL> SPOOL c:\emp.txt

SQL> select …from empwhere ...order by …;

SQL> SPOOL OFF

295

SQL*Plus (2/2)

Export do formatu CSVSQL> SPOOL c:\emp.csvSQL> select col1 || ‘,’ || col2 || ‘,’ ||col3… from emp;SQL> SPOOL OFF

Eksport do postaci skryptu w języku SQLSQL> SPOOL c:\emp.sqlSQL> select ‘insert into nowe_emp (col1, col2, col2)

values (’ || col1 || ‘,’ || col2 || ‘,’ ||col3|| ‘);’ from emp;SQL> SPOOL OFF

Wsadowe uruchomienie skryptuC:\> sqlplus -S scott/tiger@ploug c:\emp.sql

296

External tables (1/4)

• Pozwalają na reprezentowanie danych zapisanych w plikach zewnętrznych w stosunku do bazy danych w sposób „udający” relacyjna tabelę

• Do ładowania danych wykorzystuje SQL*Loader lub Data Pump

• Utworzone w ten sposób tabele zezwalają tylko na odczyt danych (SELECT)

297

External tables (2/4)

• Każdorazowe zapytanie do tabeli zewnętrznej uruchamia narzędzie „ładujące” dane

• Dane te nie są w żaden sposób utrwalane w bazie danych

• Wszystkie zmiany w plikach źródłowych będąodzwierciedlane przez wyniki kolejnych zapytań do tabeli zewnętrznej

• Data Pump pozwala na jednorazowe zapisanie danych w pliku (CREATE TABLE AS SELECT) i później na traktowanie takiego pliku jako tabeli zewnętrznej

298

External tables (3/4)

CREATE TABLE emp_ext(first_name, last_name, department_name)

ORGANIZATION EXTERNAL(

TYPE ORACLE_DATAPUMPDEFAULT DIRECTORY ext_dirLOCATION ('emp1.exp','emp2.exp','emp3.exp')

)PARALLELASSELECT e.first_name,e.last_name,d.department_nameFROM employees e, departments dWHERE e.department_id = d.department_id AND

d.department_name in('Marketing', 'Purchasing');

299

External tables (4/4)

CREATE TABLE extab_employees

(employee_id NUMBER(4),

first_name VARCHAR2(20),

last_name VARCHAR2(25),

hire_date DATE)

ORGANIZATION EXTERNAL

( TYPE ORACLE_LOADER DEFAULT DIRECTORY extab_dat_dir

ACCESS PARAMETERS

( records delimited by newline

badfile extab_bad_dir:'empxt%a_%p.bad'

logfile extab_log_dir:'empxt%a_%p.log'

fields terminated by ','

missing field values are null

( employee_id, first_name, last_name,

hire_date char date_format date mask "dd-mon-yyyy“))

LOCATION ('empxt1.dat', 'empxt2.dat') )

PARALLEL REJECT LIMIT UNLIMITED;

300

Transportable tablespaces (1/8)

• Najszybszy sposób przenoszenia danych pomiędzy bazami danych Oracle

• Polega na kopiowaniu plików danych z bazy źródłowej do docelowej

• Razem z plikami danych należy przenieść metadane opisujące zawartość plików – export odpowiednich struktur słownikowych

• W zależności od wersji baz wspierane są różne kombinacje wersji bazy źródłowej i docelowej– jeżeli bazą docelową jest baza w wersji 11g, to źródłem może być

baza o wartości parametru COMPATIBLE =10.0.0

301

Transportable tablespaces (2/8)

• W kolejnych wersjach bazy danych zmniejszane są kolejne ograniczenia dotyczące możliwości transportu pomiędzy różnymi platformami: system operacyjny/hardware

• Perspektywa v$transportable_platform zawiera informacje o obsługiwanych platformach i stosowanych na nich formatach endian

Minimum Compatibility Setting

Source Database Target Database

Transport Scenario

Databases on the same platform 8.0 8.0

Tablespace with different database block 9.0 9.0size than the target database

Databases on different platforms 10.0 10.0

302

Transportable tablespaces (3/8)

Przestrzenie tabel w stanie read-only

Tak

Czy źródło i cel używają tego samego standardu

endian?

Eksport metadanych – export/Data Pump

Konwersja plików przyprzez program RMAN (10g)

Dostarczenie plików do bazy docelowej

Import metadanych

Przestrzenie tabel w stanie odczyt-zapis

Nie

Źródło

Cel

303

Transportable tablespaces (4/8)

304

Transportable tablespaces (5/8)305

Transportable tablespaces (6/8)

306

Transportable tablespaces (7/8)307

Transportable tablespaces (8/8)

308

SQL Developer (1/3)

Import DataExport DataExport DDL

Excel TEXTCSV

INSERTLOADER

XMLHTMLXLS

Eksport/Import danych i definicji

pojedynczej tabeli

Save to fileSave to

worksheetSave to

clipboard

309

SQL Developer (2/3)

Eksport definicji i danych wielu obiektów

310

SQL Developer (3/3)

Wybór obiektów, które majązostać wyeksportowane oraz warunków, które mają spełniaćeksportowane dane

311

RMAN – Duplicate (1/3)

• Polecenie Duplicate programu RMAN pozwala stworzyć bazę danych będącą kopią bazy źródłowej

• Wykorzystuje kopie archiwalne duplikowanej bazy danych

• Duplikat bazy danych może:– mieć zmienioną nazwę– mieć zmieniony numer seryjny– zostać uruchomiony na innym serwerze lub w innym

katalogu $ORACLE_HOME

312

RMAN – Duplicate (2/3)

1. Tworzenie pliku hasłowego dla bazy danych auixiliary2. Nawiązanie połączenia z instancją auixiliary (protokół

SQL*Net)3. Stworzenie pliku parametrów dla instancji auixiliary4. Uruchomienie instancji auixiliary w trybie NOMOUNT5. Uruchomienie źródłowej bazy danych6. Sprawdzenie dostępności kopi archiwalnych źródłowej bazy

danych7. Alokacja kanałów auxiliary przez program RMAN8. Wykonanie polecenia DUPLICATE

313

RMAN – Duplicate (3/3)