Oracle Database 11g Nowe mozliwosci or11no

background image

Oracle Database 11g.

Nowe mo¿liwoœci

Autorzy:

Robert G. Freeman

, Arup Nanda

T³umaczenie: Kamila Primke

ISBN: 978-83-246-1857-6

Tytu³ orygina³u:

Oracle Database 11g

New Features (Osborne Oracle Press)

Format: 168237, stron: 344

Zaufaj najlepszym technologiom gromadzenia danych!

• Jak zainstalowaæ now¹ wersjê bazy lub zaktualizowaæ star¹?

• Jakie nowoœci kryje Oracle 11g?

• Jak zapewniæ bazie najwy¿sz¹ wydajnoœæ oraz bezpieczeñstwo?

Byæ mo¿e bêdzie Ci trudno w to uwierzyæ, ale baza danych firmy Oracle ma ju¿ blisko

trzydziestkê! Pierwsze wydanie tej prawdopodobnie najlepszej bazy danych na œwiecie

datuje siê na 1979 rok. Przez te trzydzieœci lat rozwi¹zanie to zdoby³o sobie niezliczonych

zwolenników, wyznaczy³o standardy i zosta³o wdro¿one wszêdzie tam, gdzie wymagana

jest najwiêksza niezawodnoœæ i wydajnoœæ. Synonimem tych dwóch s³ów mo¿e byæ

w³aœnie Oracle!
W tej ksi¹¿ce poza opisem nowych funkcji znajdziesz szereg informacji na temat

sposobu instalacji Oracle Database 11g lub uaktualnienia istniej¹cej wersji do najnowszej.

Dziêki „Oracle Database 11g. Nowe mo¿liwoœci” dowiesz siê, jak wykorzystaæ funkcje

automatycznego zarz¹dzania pamiêci¹. Ponadto poznasz dostêpne narzêdzia doradcze

(Oracle Database Advisors), a tak¿e nauczysz siê zapewniaæ bazie najwy¿sz¹ wydajnoœæ

i bezpieczeñstwo. Je¿eli masz jakiekolwiek w¹tpliwoœci co do tego, czy warto zacz¹æ

u¿ywaæ nowej wersji bazy Oracle, ta ksi¹¿ka z pewnoœci¹ je rozwieje!

• Instalacja Oracle 11g

• Sposoby aktualizacji do wersji 11g

• Charakterystyka nowych w³asnoœci zarz¹dzania

• Wykorzystanie Automatic Memory Management

• Zastosowanie mechanizmu AutoTask

• Zapewnienie dostêpnoœci oraz sposoby przywracania danych

• Wykorzystanie narzêdzi doradczych (Oracle Database Advisors)

• Sposoby u¿ycia narzêdzia SQL Performance Analyzer

• Zapewnienie bezpieczeñstwa danym zgromadzonym w bazie

• Zestawienie najlepszych w³asnoœci Oracle 11g

Wykorzystaj nowe mo¿liwoœci bazy Oracle!

background image

Spis treci

O autorze ................................................................................................. 11

O wspóautorze ........................................................................................ 13

O redaktorze technicznym ........................................................................ 15

Przedmowa .............................................................................................. 17

Podzikowania ......................................................................................... 19

Wstp ...................................................................................................... 21

Rozdzia 1. Oracle 11g, zaczynamy ............................................................................. 23

Instalacja Oracle Database 11g ....................................................................................................24
Asystent Konfiguracji Bazy Danych ...........................................................................................25
Uaktualnienie do Oracle Database 11g ........................................................................................25

Oszczdzanie czasu przy uaktualnianiu .................................................................................26
Wspierane cieki aktualizacji ..............................................................................................29
Wspierane metody aktualizacji ..............................................................................................29
Aktualizacja z DBUA ............................................................................................................30
Rczna aktualizacja ...............................................................................................................36
Eksportowanie i importowanie w celu aktualizacji bd jej wycofania ................................41

Zmiany w parametrach Oracle .....................................................................................................43

Nowe parametry ....................................................................................................................43
Parametry niezalecane ...........................................................................................................45
Parametry przestarzae ..........................................................................................................45
Dziwactwa parametru undo_management .............................................................................46

Zmiany w widokach sownikowych ............................................................................................46
Sowo na koniec ..........................................................................................................................46

Rozdzia 2. Nowe wasnoci zarzdzania ..................................................................... 47

Zmiany i nowe wasnoci w ASM ...............................................................................................47

Nowa dokumentacja ASM ....................................................................................................48
Atrybuty grup dyskowych ASM ............................................................................................48
ASM Fast Disk Resync .........................................................................................................49
Opcje kompatybilnoci ASM ................................................................................................50
Preferowane odczyty lustrzane ASM ....................................................................................51
ASM rolling upgrade .............................................................................................................52
Wsparcie ASM dla jednostek alokacji o zmiennym rozmiarze .............................................53
Nowa rola SYSASM .............................................................................................................53
Nowe polecenia narzdzia asmcmd .......................................................................................53

background image

6

Oracle Database 11g. Nowe moliwoci

Automatic Memory Management ................................................................................................56

Przegld Automatic Memory Management ...........................................................................56
Nowe funkcje w Memory Advisor i nowe widoki .................................................................59
W jaki sposób Oracle zarzdza pamici? .............................................................................60
Automatic Memory Management i OEM ..............................................................................60
Przejcie na Automatic Memory Management ......................................................................60

Nowe wasnoci ADDM ..............................................................................................................61

Nowe widoki ADDM ............................................................................................................61
Wspóistnienie RAC i ADDM ...............................................................................................62
Zarzdzanie ADDM poprzez dbms_addm ............................................................................63
Klasyfikacja znalezisk ...........................................................................................................64
Dyrektywy .............................................................................................................................65

Nowe wasnoci AWR .................................................................................................................67

Domylna retencja migawek AWR .......................................................................................67
Nowe wasnoci linii bazowych AWR ..................................................................................67
Adaptacyjne progi metryk .....................................................................................................71

AutoTask — planowanie zautomatyzowanych zada utrzymania ...............................................72

Architektura AutoTask ..........................................................................................................72
Widoki danych sownikowych dla AutoTask ........................................................................73
Zarzdzanie zadaniami AutoTask poprzez OEM ..................................................................75
Rczne zarzdzanie zadaniami AutoTask .............................................................................78
Okna utrzymania AutoTask ...................................................................................................78

Zmiany i nowe wasnoci w zarzdzaniu plikiem parametrów ....................................................79

Obsuga bdów odczytu/zapisu do SPFILE .........................................................................79
Prostsze przejcie na wykorzystywanie plików SPFILE .......................................................80
Zabezpieczenie przed ustawianiem przez uytkowników nieprawidowych wartoci

w plikach SPFILE ...............................................................................................................80

Zmiany i nowe wasnoci w Resource Managerze ......................................................................80

Kalibracja wejcia/wyjcia ....................................................................................................81
Domylny plan utrzymania ....................................................................................................82
Wbudowane plany zasobów ..................................................................................................83
Statystyki Resource Managera w AWR ................................................................................83
Nowe wasnoci dyrektyw planu Resource Managera ..........................................................83

Zalenoci drobnoziarniste ..........................................................................................................85
Obecnie domylna opcja DDL WAIT .........................................................................................85
Nowa funkcjonalno dodawania kolumn ...................................................................................87
Sowo na koniec ..........................................................................................................................87

Rozdzia 3. Nowe wasnoci dostpnoci i odtwarzania ............................................... 89

Infrastruktura diagnozowania bdów ..........................................................................................89

Automatic Diagnostic Repository (ADR) .............................................................................90
Dziennik alertów ...................................................................................................................91
Pliki ladu, pliki zrzutu, pliki core .........................................................................................92
Support Workbench ...............................................................................................................92

Nowe wasnoci RMAN ............................................................................................................105

Zrównoleglenie interplikowej archiwizacji .........................................................................105
Szybsza kompresja archiwizacji ..........................................................................................107
Aktywna duplikacja bazy danych ........................................................................................107
Udoskonalona obsuga dugoterminowych archiwizacji .....................................................110
Przeczenie awaryjne kopii zapasowej zarchiwizowanych plików

dziennika powtórze .........................................................................................................111

Ulepszona polityka usuwania zarchiwizowanych plików dziennika powtórze .................111
Ulepszenia w katalogu odtwarzania ....................................................................................112
Optymalizacja archiwizacji wycofania ................................................................................113

background image

Spis treci

7

Zwikszenie wydajnoci odtwarzania pojedynczych bloków danych

(Block Media Recovery) ...................................................................................................113

Pozostae nowe wasnoci RMAN ......................................................................................114

Nowe wasnoci powizane z mechanizmem Flashback ...........................................................115

Oracle Flashback Transaction Backout ...............................................................................115
Oracle Flashback Data Archives .........................................................................................118

Nowe wasnoci rezerwowych baz danych (Standby Database) ................................................123

Detekcja utraconego zapisu .................................................................................................123
Kompresja zarchiwizowanych plików dziennika powtórze ...............................................124
Moliwoci zapyta czasu rzeczywistego w fizycznej rezerwowej bazie danych ...............124
Migawkowe bazy danych ....................................................................................................124

Nowe wasnoci Oracle Data Pump ...........................................................................................125

Ustalenie narzdzia exp niezalecanym ................................................................................126
Kompresja zbiorów plików zrzutu ......................................................................................126
Udoskonalenie szyfrowania w Data Pump ..........................................................................127
Remapowanie danych w Data Pump (zaciemnianie) ...........................................................127
Zmiana nazwy tabeli z Data Pump ......................................................................................128
Data Pump i tabele partycjonowane ....................................................................................128
Nadpisywanie plików zrzutu ...............................................................................................129
Parametr data_options w Data Pump ...................................................................................129
Parametr transportable .........................................................................................................130

Sowo na koniec ........................................................................................................................130

Rozdzia 4. Narzdzia doradcze (Oracle Database Advisors) ....................................... 131

Data Recovery Advisor .............................................................................................................131

SQL Repair Advisor ............................................................................................................141
SQL Access Advisor ...........................................................................................................142
Streams Performance Advisor .............................................................................................146
Widoki narzdzi doradczych w Oracle Database 11g .........................................................147

Sowo na koniec ........................................................................................................................148

Rozdzia 5. Zarzdzanie zmianami ............................................................................ 149

Database Replay ........................................................................................................................149

Uywanie Oracle Database Replay .....................................................................................150
Przegld Database Replay ...................................................................................................150
Moliwoci i ograniczenia przechwytywania obcienia przez Database Replay ...............151
Database Replay — przechwytywanie obcienia ..............................................................152
Database Replay — przetwarzanie wstpne przechwycenia obcienia .............................163
Database Replay — odtwarzanie obcienia .......................................................................166

SQL Performance Analyzer .......................................................................................................177

Wprowadzenie do SQL Performance Analyzer ...................................................................178
SQL Performance Analyzer w OEM ...................................................................................178
SQL Performance Analyzer z wykorzystaniem procedur PL/SQL .....................................184

Sowo na koniec ........................................................................................................................189

Rozdzia 6. Bezpieczestwo ..................................................................................... 191

Monitorowanie ..........................................................................................................................191
Wasnoci hase .........................................................................................................................192

Ustawienia hase i profil domylny .....................................................................................192
Zoono hase ...................................................................................................................193
Wraliwo na wielko liter ...............................................................................................193
Zapobieganie wamaniom poprzez opónienie logowania po nieudanych próbach ............194
Zmiany w haszowaniu hase ................................................................................................196
Uywanie hase domylnych ...............................................................................................196

background image

8

Oracle Database 11g. Nowe moliwoci

Drobnoziarnista kontrola dostpu (FGAC) w usugach sieciowych ..........................................197

Tworzenie ACL oraz definiowanie powizanych z list uprawnie ....................................197
Przypisywanie ACL do hostów w sieci ...............................................................................198
Widoki sownikowe dla ACL ..............................................................................................198

Szyfrowanie przestrzeni tabel ....................................................................................................199

Wprowadzenie do szyfrowania przestrzeni tabel ................................................................199
Przygotowanie bazy danych do szyfrowania przestrzeni tabel ............................................199
Tworzenie szyfrowanej przestrzeni tabel ............................................................................201
Szyfrowanie a wydajno systemu bazy danych .................................................................202

TDE a Log Miner, Oracle Streams i logiczne rezerwowe bazy danych .....................................203
Oracle SECUREFILE LOB .......................................................................................................203
Sowo na koniec ........................................................................................................................204

Rozdzia 7. Inteligencja biznesowa i hurtownie danych .............................................. 205

Partycjonowanie ........................................................................................................................205

Partycjonowanie przedziaowe ............................................................................................205
Rozszerzone partycjonowanie zoone ................................................................................209
Partycjonowanie referencyjne .............................................................................................210
Partycjonowanie systemowe ...............................................................................................212
Indeksy domenowe zarzdzane systemowo ........................................................................213

Kolumny wirtualne ....................................................................................................................214

O kolumnach wirtualnych ...................................................................................................214
Tworzenie tabel z kolumnami wirtualnymi .........................................................................215
Partycjonowanie tabel z kolumnami wirtualnymi ...............................................................217

Data Pump — importowanie pojedynczych partycji .................................................................217
Widoki zmaterializowane i przepisywanie zapyta ...................................................................218

Redefiniowanie online tabel z dziennikami widoku zmaterializowanego ...........................219
Przepisywanie zapyta podczas odwieania ......................................................................219
Odwieanie Partition Change Tracking

dla widoków zmaterializowanych z klauzul union all .....................................................219

Nowe i ulepszone widoki katalogowe widoków zmaterializowanych .................................219
Udoskonalenie przepisywania zapyta ................................................................................221

Klauzula pivot i klauzula unpivot ..............................................................................................223

Klauzula pivot .....................................................................................................................223
Klauzula unpivot .................................................................................................................225

Kompresja tabel .........................................................................................................................227
Sowo na koniec ........................................................................................................................228

Rozdzia 8. Rozwój aplikacji ..................................................................................... 229

SQL*Plus ...................................................................................................................................229

Nowe polecenia set ..............................................................................................................229
Zdarzenia Fast Application Notification w bazie danych RAC ...........................................230

Utrzymanie i aktualizacja online aplikacji .................................................................................231

Nowy parametr lock table ...................................................................................................231
Mniej blokad wycznych zakadanych podczas operacji online .........................................231
Indeksy niewidzialne ...........................................................................................................231

SQL ...........................................................................................................................................233

Tabele tylko do odczytu ......................................................................................................233
SQL Query Result Cache ....................................................................................................234
Pami podrczna wyników po stronie klienta ....................................................................238
Ulepszenie wyrae regularnych .........................................................................................238
Notacja nazwana i mieszana w SQL ...................................................................................239

PL/SQL ......................................................................................................................................239

Tworzenie wyzwalaczy jako wczonych bd wyczonych .............................................240
Klauzula follows polecenia create trigger ...........................................................................240

background image

Spis treci

9

Wyzwalacze zoone ...........................................................................................................241
Wbudowywanie kodu (inlining) ..........................................................................................244
Typ danych simple_integer .................................................................................................245
Pami podrczna wyników funkcji PL/SQL ......................................................................246
Dynamiczny SQL ................................................................................................................246
Zmienne REF CURSOR i Dynamiczny SQL ......................................................................247
Ostrzeenie PLW-06009 .....................................................................................................248
Ulepszenia sekwencji w PL/SQL ........................................................................................248
Instrukcja continue w PL/SQL ............................................................................................248

Sowo na koniec ........................................................................................................................250

Rozdzia 9. Dostrajanie wydajnoci ........................................................................... 251

Ulepszone monitorowanie procesów Oracle ..............................................................................251
Statystyki ...................................................................................................................................253

Statystyki oczekujce i opublikowane .................................................................................253
Przywracanie poprzednich statystyk ...................................................................................255
Statystyki rozszerzone .........................................................................................................256

Natywna kompilacja PL/SQL ....................................................................................................262
SQL Plan Management ..............................................................................................................263

Przegld SQL Plan Management .........................................................................................263
Pochwycenie planu ..............................................................................................................263
Wykorzystanie linii bazowych planów SQL .......................................................................265
Odpytywanie linii bazowych planów SQL ..........................................................................266
Ewoluowanie linii bazowych planów SQL .........................................................................267
Zarzdzanie liniami bazowymi planów SQL .......................................................................268

Automatic SQL Tuning .............................................................................................................270

Przegld Automatic SQL Tuning ........................................................................................271
Automatic SQL Tuning w OEM .........................................................................................273
Rczne zarzdzanie Automatic SQL Tuning .......................................................................276

Rczne tworzenie i uywanie zbiorów SQL Tuning Set ............................................................279

Stworzenie zadania ..............................................................................................................279
Stworzenie SQL Tuning Set ................................................................................................280
Zaadowanie SQL Tuning Set .............................................................................................280
Poczenie SQL Tuning Set z zadaniem ..............................................................................281
Ustawienie parametrów zadania ..........................................................................................281
Wykonanie zadania .............................................................................................................281
Przejrzenie wyników ...........................................................................................................282

Inteligentne wspódzielenie kursorów (bind-aware peeking) ....................................................282

O bind-aware peeking .........................................................................................................283
Widoki zwizane z bind-aware peeking ..............................................................................283
Uruchamianie systemu z bind-aware peeking .....................................................................284

Wasnoci tymczasowych przestrzeni tabel ...............................................................................284

Kurczenie tymczasowych przestrzeni tabel .........................................................................285
Widok DBA_TEMP_FREE_SPACE ..................................................................................285

Monitorowanie SQL czasu rzeczywistego .................................................................................286

Przegld Real-Time SQL Monitoring .................................................................................286
Widoki Real-Time SQL Monitoring ...................................................................................286
Raport Real-Time SQL Monitoring ....................................................................................287
Kontrolowanie Real-Time SQL Monitoring ........................................................................287

Kontrolowanie uycia OEM Management Packs ......................................................................287
Sowo na koniec ........................................................................................................................288

background image

10

Oracle Database 11g. Nowe moliwoci

Rozdzia 10. Inne nowe wasnoci i ulepszenia ............................................................ 289

Real Application Clusters ..........................................................................................................289

Równowaenie obcienia pocze OCI w czasie trwania ................................................290
Uywanie transakcji XA w RAC .........................................................................................290
RAC Configuration Assistants ............................................................................................291
Network Configuration Assistant (NetCA) .........................................................................291
Uaktualnienie bazy danych typu rolling upgrade ................................................................292
Zapytanie równolege uznaje umiejscowienie usugi ..........................................................293
Direct NFS ..........................................................................................................................293

Nowe wasnoci XMLDB .........................................................................................................294

Skadowanie binarne XML ..................................................................................................294
Wsparcie partycjonowania dla XMP ...................................................................................299
Ulepszenia XQuery .............................................................................................................299
Natywne Web Services w bazie danych ..............................................................................300
Udoskonalenia XML DB Repository ..................................................................................301
Zestaw narzdzi dewelopera XML ......................................................................................302

Java ............................................................................................................................................303

Wasnoci Oracle zwizane z JVM .....................................................................................303
Udoskonalenia istniejcych narzdzi ...................................................................................305
Narzdzie ojvmtc .................................................................................................................306
Wsparcie JDBC 4.0 .............................................................................................................307
Wsparcie JDK w Oracle Database 11g ................................................................................308

Nowe procedury i pakiety dostarczone w Oracle ......................................................................308

Dodatek

10 najlepszych wasnoci wedug Arupa .................................................. 311

Najlepsza dziesitka Arupa: #1 — Database Replay .................................................................312
Najlepsza dziesitka Arupa: #2 — SQL Performance Analyzer ................................................313
Najlepsza dziesitka Arupa: #3 — partycjonowanie .................................................................314
Najlepsza dziesitka Arupa: #4 — przeroczyste szyfrowanie przestrzeni tabel .......................315
Najlepsza dziesitka Arupa: #5 — Flashback Data Archive .....................................................316
Najlepsza dziesitka Arupa: #6 — SQL Plan Management .......................................................318
Najlepsza dziesitka Arupa: #7 — statystyki prywatne .............................................................319
Najlepsza dziesitka Arupa: #8 — wiksza wspóbieno .......................................................320
Najlepsza dziesitka Arupa: #9 — pami podrczna wyników ...............................................321
Najlepsza dziesitka Arupa: #10 — wysza jako kodu PL/SQL ............................................322

Skorowidz .............................................................................................. 325

background image

Rozdzia 2.

Nowe wasnoci
zarzdzania

Mówi si, e rosyjskie zimy s mrone i dugie. Musz przyzna , e ten rozdzia bdzie jak
rosyjska zima. Jest dugi i moe bardziej suchy ni mrony, ale za to cay na temat bardzo
wanych spraw dotyczcych Oracle Database 11g. Wersja ta dostarcza wielu nowych wasno-
ci i ulepsze uatwiajcych zarzdzanie baz danych. S wród nich:



Automatic Storage Management (ASM),



Automatic Memory Management,



Automatic Database Diagnostic Monitor (ADDM),



Automatic Workload Repository (AWR),



AutoTask — planista zautomatyzowanych zada utrzymania,



zmiany i nowe wasnoci w pliku parametrów,



Resource Manager,



bardziej drobnoziarniste zalenoci,



DDL WAIT,



dodawanie kolumn z wartociami domylnymi.

Rozpocznijmy od zmian i nowych wasnoci zwizanych z ASM.

Zmiany i nowe wasnoci w ASM

ASM (Automatic Storage Management) zawiera teraz wiele nowych wasnoci, zaprojekto-
wanych tak, aby uywanie ASM stao si atwiejsze i wydajniejsze. W skad nowoci w ASM
wchodz:

background image

48

Oracle Database 11g. Nowe moliwoci



nowa dokumentacja,



atrybuty grup dyskowych ASM,



ASM Fast Disk Resync,



atrybuty kompatybilnoci ASM,



preferowane odczyty lustrzane ASM,



aktualizacja ASM typu rolling upgrade,



inne udoskonalenia ASM,



nowa rola SYSASM.

Nowa dokumentacja ASM

Do Oracle Database 11g zostaa dodana dodatkowa dokumentacja powicona zarzdzaniu prze-
strzeni. Przewodnik Oracle Database Storage Administration Guide jest teraz czci cakowitej
dokumentacji bazy danych, a omawia w szczegóach instalacj, konfiguracj oraz uycie ASM.

Atrybuty grup dyskowych ASM

Dostpna nowa klauzula

attribute

ASM pozwala przypisa atrybuty bezporednio do grup dys-

kowych ASM (w przeciwiestwie do sytuacji uycia szablonów). Niektóre z atrybutów istniay
ju w Oracle Database 10g, ale zostay dodane take nowe, które mog zosta przypisane do grupy
dyskowej (omówimy to w dalszej czci rozdziau). Nowa jest take sama klauzula

attribute

.

Oba polecenia:

create diskgroup

i

alter diskgroup

, pozwalaj zdefiniowa lub modyfikowa

ustawienia atrybutów adekwatnie do wymaga. Ponisza tabela zawiera list atrybutów, które
mona ustawi za pomoc nowej klauzuli

attribute

.

Atrybut

Opis

au_size

Jest to rozmiar jednostki alokacji (allocation unit), który domylnie wynosi 1 MB.
Warto tego atrybutu mona ustawi tylko podczas tworzenia grupy dyskowej.
Moe ni by dowolna potga liczby 2 (1, 2, 4, 8 itd.), od 1 M do 64 M.
Przykadowo 4 M to

4194304

.

compatible.rdbms

Wicej informacji o tym atrybucie znajduje si w dalszym punkcie tego rozdziau,
zatytuowanym „Opcje kompatybilnoci ASM”. Jego przykadowa warto
to

'11.0'

, a domylna

'10.1'

. Raz ustawionej wartoci atrybutu nie mona

z powrotem zamieni na nisz.

compatible.asm

Definiuje format danych na dyskach ASM. Wicej o tym atrybucie w dalszym
punkcie tego rozdziau, „Opcje kompatybilnoci ASM”. Jego przykadowa warto
to

'11.0'

, a domylna to

'10.1'

.

disk_repair_time

Powoduje, e proces resync rozpoczyna ledzenie zmian w ekstentach nalecych
do dysków offline. Wicej informacji o tym atrybucie znajduje si w dalszym
punkcie tego rozdziau, „ASM Fast Disk Resync”. Jego dozwolone wartoci
mieszcz si w przedziale od 0 do 136 lat. Wsparcie dla tego atrybutu jest
zapewnione, tylko jeli oba atrybuty kompatybilnoci (

compatible.rdbms

i

compatible.asm

) maj ustawion warto

11.1

lub wysz.

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

49

W celu sprawdzenia indywidualnych atrybutów przypisanych do kadej z grup dyskowych mona
zada zapytanie do widoku V$ASM_ATTRIBUTE. Oto przykad:

Select group_number, name, value
from v$asm_attribute order by group_number, name;
GROUP_NUMBER NAME VALUE
------------ -------------------- --------------------
1 au_size 1048576
1 compatible.asm 11.1.0.0.0
1 compatible.rdbms 11.1.0
1 disk_repair_time 600M

ASM Fast Disk Resync

W Oracle Database 11g wprowadzono ASM Fast Disk Resync, now wasno , która umoliwia
zsynchronizowanie dysków ASM w ramach grupy dyskowej ASM z grup dysków, która prze-
trwaa awari, po tym jak grupa, która jej ulega, jest niedostpna przez jaki okres czasu
(na przykad w zwizku z awari kontrolera dysku). Jeli awaria nie spowodowaa uszkodzenia
podczonych mediów dyskowych, ASM Fast Disk Resync bdzie móg ponownie zsynchroni-
zowa brakujce dyski, gdy tylko przeszkody powodujce niedostpno tych dysków zostan
usunite. Czas wykonania ponownej synchronizacji jest zaleny od wielu czynników, ale czsto
jest krótszy ni odbudowa caej grupy dyskowej. Podczas takiej synchronizacji nasze dyski ASM
mog by w peni operacyjne. Naley wzi pod uwag to, e w trakcie naprawy dysku moe si
obniy wydajno . Trzeba take uwzgldni fakt, e czas cakowitego przestoju i ponownej
synchronizacji niesie ze sob utrat redundancji.

Zazwyczaj ASM usuwa dysk w niedugim czasie od jego przejcia w stan offline. Aby wczy
moliwo szybkiej ponownej synchronizacji dysków (i zapobiec przejciu dysku w stan offline),
naley dla danej grupy dyskowej ustawi atrybut

disk_repair_time

. Jeli atrybut

disk_repair_time

jest ustawiony, proces resync rozpocznie ledzenie zmian w ekstentach dyskowych nalecych
do dysku offline. Kiedy dysk zostanie przywrócony w tryb online, proces resync zsynchronizuje
go i wczy z powrotem do grupy dyskowej.

Czas naprawy dysku definiujemy w jednostkach minutowych lub godzinowych (posugujc si
oznaczeniami m/M lub h/H w celu wskazania wybranej jednostki). Dozwolone jest uywanie
dziesitnych wyrae uamkowych (np. 3.5 H). Jeli ustawimy atrybut

disk_repair_time

bez

wskazania wartoci, domyln bdzie 3.6 godziny. Dlatego, jeli zdamy si na warto domyln,
naley si bardzo spieszy z wymian uszkodzonych kabelków! Chocia w przypadku gdy gro-
madzimy karty dyskowe, kable i tym podobne w naszym komputerowym pomieszczeniu i pimy
w pobliu na óku polowym, to 3,6 godziny moe okaza si w peni wystarczajce. Mówic
powanie, lepiej rozway zwikszenie wartoci tego atrybutu, gdy z reguy mieszkamy daleko,
a awarie wystpuj o takiej porze, e ciko jest zdoby zastpczy sprzt w przecigu zaledwie
3,6 godziny. Czas naprawy zostanie zresetowany po przywróceniu dysku w tryb online, dlatego
w przypadku kolejnego przejcia w stan offline zegar zacznie liczy od 0.

Jeli dysk przejdzie w stan offline, a czas naprawy dysku upynie, to taki dysk zostanie logicznie
usunity. Przed upywem zdefiniowanego czasu naprawy sami moemy usun dysk offline,
wywoujc polecenie

alter diskgroup ... disk offline

z uyciem klauzuli

drop after

.

background image

50

Oracle Database 11g. Nowe moliwoci

Atrybutu

disk_repair_time nie mona ustawi dla dysków, które ju s dyskami offline.

Oto kilka przykadów ustawiania atrybutu czasu naprawy dysku dla grupy dyskowej:

ALTER DISKGROUP DG1 SET ATTRIBUTE 'DISK_REPAIR_TIME'='18H';
ALTER DISKGROUP DG2 SET ATTRIBUTE 'DISK_REPAIR_TIME'='12.5H';
ALTER DISKGROUP DG3 SET ATTRIBUTE 'DISK_REPAIR_TIME'='600M';

Opcje kompatybilnoci ASM

Oracle Database 11g daje moliwo ziarnistej kontroli kompatybilnoci z uwzgldnieniem
grup dyskowych ASM. Su temu dwa róne atrybuty ustawiane za pomoc polecenia

alter

diskgroup

. Pierwszy z nich to atrybut kompatybilnoci grup dyskowych Oracle. Warto atry-

butu kompatybilnoci grup dyskowych definiuje format danych na dysku ASM i zawsze powinna
by wiksza lub równa wartoci parametru kompatybilnoci bazy danych Oracle majcej dostp
do tego dysku ASM. Atrybut

compatible.asm

musi by ustawiony na warto wysz bd

równ wartoci atrybutu

compatible.rdbms

. Raz ustawionej wartoci atrybutu nie mona cofn

do poprzedniej, niszej.

Warto atrybutu kompatybilnoci grup dyskowych Oracle ustawia si za pomoc polecenia

alter diskgroup

i atrybutu

compatible.asm

, jak pokazano w poniszym przykadzie:

ALTER DISKGROUP DG1 SET ATTRIBUTE 'compatible.asm'='11.1.0';

Ustawienia wartoci tego parametru mona take dokona podczas wywoania polecenia

create

diskgroup

, jak pokazano niej:

CREATE DISKGROUP dgroup4 EXTERNAL REDUNDANCY
DISK '/oracle/asmdata/asm_dgroup1_04.asm'
ATTRIBUTE 'compatible.asm' = '11.1';

Drugim ze wspomnianych atrybutów jest atrybut kompatybilnoci bazy danych Oracle, którego
warto definiowana jest przez atrybut grupy dyskowej ASM

compatible.rdbms

. Atrybut ten

okrela minimaln wersj bazy danych Oracle, która moe zamontowa dan grup dyskow.
Jego warto powinna by równa najniszej wartoci ustawie kompatybilnoci wród wszystkich
baz danych Oracle, które zamontuj dan grup dyskow. Raz ustawionej wartoci atrybutu nie
mona cofn do poprzedniej, gdy warto atrybutu implikuje format wiadomoci przesyanych
w obie strony pomidzy instancj ASM a powizanymi instancjami baz danych. Oczywicie mo-
liwe jest zwikszenie wartoci atrybutu.

Zauwamy, e kada grupa dyskowa moe posiada swoje wasne ustawienia kompatybilnoci,
a w zwizku z tym róne wersje baz danych Oracle mog czy do kadej danej instancji ASM.
Poniej prezentujemy przykad ustawienia atrybutu kompatybilnoci bazy danych:

ALTER DISKGROUP DG1 SET ATTRIBUTE 'compatible.rdbms'='11.1.0';

Przykad ilustrujcy wzajemny wpyw atrybutów na siebie mona zauway , przygldajc
si zwizkowi pomidzy atrybutem

disk_repair_time

a atrybutem

compatible.asm

. Jeli zaak-

ceptujemy domyln warto atrybutu

compatible.asm

i spróbujemy ustawi warto

disk_repair_

´

time

, otrzymamy nastpujcy bd:

ORA-15032: not all alterations performed

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

51

ORA-15242: could not set attribute DISK_REPAIR_TIME
ORA-15283: ASM operation requires compatible.rdbms of 11.1.0.0.0 or higher

Komunikat bdu wskazuje, e naley ustawi atrybut

compatible.asm

dla konfigurowanej

grupy dyskowej. Aby bdu unikn , zmiemy warto atrybutu

compatible.asm

z domylnej

'10.1'

na

'11.1.0'

, tak jak pokazano w przykadzie poniej:

ALTER DISKGROUP DG1 SET ATTRIBUTE 'compatible.asm'='11.1.0';

Parametr kompatybilnoci nie tylko kontroluje, które bazy danych mog czy si do naszej
grupy dyskowej ASM, ale take definiuje wasnoci dostpne w ASM (analogicznie jak w przy-
padku parametru kompatybilnoci bazy danych). Ustawienia kompatybilnoci grup dyskowych
mona sprawdzi w widoku V$ASM_ATTRIBUTE.

Przykadem wzajemnego oddziaywania atrybutów

compatible.asm

i

compatible.rdbms

moe

by sytuacja, kiedy

compatible.rdbms

ma warto

10.2

, a

compatible.asm

11.1

. W takim

przypadku zarzdzanie grup dysków ASM zostanie ograniczone do wersji Oracle 11.1 lub
wyszej, ale indywidualne grupy dyskowe mog wspópracowa z instancjami bazy danych
Oracle z parametrem kompatybilnoci ustawionym na warto 10.2 lub wysz.

Preferowane odczyty lustrzane ASM

Niektóre konfiguracje ASM angauj zdalne kopie lustrzane dysków znajdujcych si w bardzo
odlegych lokalizacjach (mog take angaowa zdalne instancje). W takich przypadkach pod-
stawowa grupa dyskowa moe by nie najlepszym zbiorem dysków do odczytu przez dan instan-
cj. Przykadowo, moemy posiada dwie instancje RAC (Real Application Cluster) na urzdze-
niach oddalonych od siebie o 500 kilometrów. Dany zespó dysków moe by przechowywany
w okrelonym systemie RAC. W takiej sytuacji chcielibymy, aby lokalna instancja RAC moga
czyta z najbliszego dostpnego dysku ASM w celu zapewnienia najlepszej wydajnoci.

Preferowane odczyty lustrzane ASM dostpne s jedynie w konfiguracjach RAC i zazwyczaj
s uywane tylko z klastrowanymi instancjami ASM. Preferowane odczyty lustrzane ASM
pozwalaj na odczyt z ekstentów kopii lustrzanych zamiast z ekstentów dysku podstawowego.
Aby skorzysta z zalet tej nowej wasnoci, naley skonfigurowa kopi lustrzan ekstentów,
lokaln dla danego odlegego wza klastra. W celu skonfigurowania w danej instancji listy
nazw preferowanych awaryjnych grup dyskowych uywanych przy dostpie do dysków ASM,
naley ustawi nowy parametr

asm_prefered_read_failure_groups

. Format jego wartoci

przedstawia si nastpujco: nazwaGrupyDyskowej.nazwaAwaryjnejGrupy, gdzie nazwaGru-
pyDyskowej
to nazwa grupy dyskowej, do której naley grupa awaryjna, a nazwaAwaryjnejGrupy
to nazwa preferowanej grupy awaryjnej. W celu wskazania wielokrotnie nazw rónych par
grupaDyskowa.grupaAwaryjna naley kad ze zdefiniowanych preferowanych grup odczytu
oddzieli znakiem przecinka, tak jak pokazano w poniszym przykadzie:

Asm_preferred_read_failure_groups=dgroup1.fdisk2, dgroup2.fdisk2

Jeli ASM nie bdzie w stanie dokona odczytu z preferowanej awaryjnej grupy dyskowej, to
bdzie kontynuowa odczyt z grupy preferowanej, a w nastpnej kolejnoci z dowolnej innej
zdefiniowanej, dodatkowej awaryjnej grupy. W celu sprawdzenia, czy dany dysk nalecy do
grupy dyskowej jest dyskiem preferowanego odczytu, naley podejrze kolumn

PREFERED_READ

z widoku V$ASM_DISK.

background image

52

Oracle Database 11g. Nowe moliwoci

ASM rolling upgrade

Oracle Database 11g wspiera aktualizacje typu rolling upgrade, czyli aktualizowanie w czasie
pracy systemu. Wykonywanie aktualizacji typu rolling upgrade z wersji Oracle Database 10g do
Oracle Database 11g nie jest wspierane. Kiedy ju dokonamy aktualizacji do 11g, to uaktual-
nienia do wyszych wersji bdziemy mogli wykonywa jako te typu rolling upgrade. Czci
skadow nowej wasnoci rolling upgrade jest moliwo aktualizacji instancji ASM jako typu
rolling upgrade. Przed wykonaniem uaktualnienia rolling upgrade musimy si upewni , e zalene
komponenty zostay uaktualnione wczeniej (przykadowo, przed aktualizacj ASM naley
uaktualni CRS — Cluster Ready Services).

W celu wsparcia aktualizacji rolling upgrade zostaa dodana nowa skadania w Oracle. Polecenie

alter system

zostao wzbogacone o nowy parametr

start rolling migration

. Kada migracja

wymaga dostarczenia zbioru rónych parametrów wraz z poleceniem

alter system start rolling

migration

, wczajc w to numer wersji, numer wydania, numer uaktualnienia, numer portu oraz

numer portu uaktualnienia. W sprawie szczegóów dotyczcych odpowiedniego formatu pole-
cenia naley odnie si do dokumentacji.

Po wydaniu polecenia

alter system start rolling migration

ASM najpierw spróbuje ustali ,

czy w toku s jakie operacje równowaenia ASM (rebalancing). Jeli takie operacje trwaj,
wykonanie polecenia zakoczy si bdem. W przypadku gdy w danym momencie nie wyst-
puj operacje równowaenia, charakterystyka dziaania klastra ASM bdzie wyglda nastpujco:



W przypadku grup dyskowych moliwe bdzie wycznie ich, zamontowanie
i odmontowanie (nie bdzie mona wykonywa operacji

alter

,

create

,

drop

).



Moliwe bdzie otwieranie i zamykanie plików w grupach dyskowych przez baz danych.



Moliwe bdzie usuwanie i zmienianie rozmiarów plików.



Dostp do widoków i pakietów staych bdzie ograniczony. Widoki globalne
na klastrowanej instancji ASM bd niedostpne.

Po zmodyfikowaniu instancji dla rozpoczcia migracji naley zamkn i zaktualizowa kad
z instancji, jedn na raz. Kiedy aktualizacja zostanie zakoczona, bdziemy mogli ponownie
uruchomi instancj ASM, a zostanie ona doczona do klastra. Po zakoczeniu wszystkich
kroków aktualizacji musimy jeszcze zakoczy sam proces uaktualniania poleceniem

alter

system

:

Alter system stop rolling migration;

Jeli podczas aktualizacji napotkamy jakie problemy, moemy po prostu odwróci proces
poprzez wycofanie. Kadorazowo naley zamkn jeden wze ASM, wycofa go do poprzed-
niej wersji oprogramowania, a nastpnie uruchomi ponownie. Po zakoczeniu wycofywania
mona zakoczy proces migracji. Zauwamy, e po zakoczeniu procesu migracji nie mona
go ju wycofa .

Jak mona si byo spodziewa, przed przystpieniem do aktualizacji zalecamy przeczytanie
instrukcji aktualizacji oraz upewnienie si, e moliwe jest wykorzystanie przedstawionej
procedury.

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

53

Wsparcie ASM dla jednostek alokacji
o zmiennym rozmiarze

Jak wspomniano w jednym z poprzednich punktów, „Atrybuty grup dyskowych ASM”, ASM
wspiera teraz ekstenty (extent) o zmiennych rozmiarach, dziki czemu moliwe jest zmniejszenie
wymaga pamiciowych zwizanych z duymi plikami dyskowymi ASM i jednoczesne polep-
szenie wydajnoci. Obecnie, wraz ze wzrostem rozmiaru plików, Oracle moe automatycznie
zaalokowa wielokrotno ekstentów o zmiennym rozmiarze. Poniewa maksymalny rozmiar
pliku ASM jest zaleny od rozmiaru jego ekstentu, oznacza to, e rozmiar naszych plików moe
przekracza poprzedni limit 35 TB dla grup dyskowych zewntrznej redundancji.

Moliwe jest take zdefiniowanie takich grup dyskowych, e pliki w nich utworzone zostan
stworzone z jednostkami alokacji o rónych rozmiarach. Rozmiar jednostki alokacji waha si od
1 do 64 MB. Wicej informacji na temat ustawiania rozmiaru jednostek alokacji mona znale
w punkcie „Atrybuty grup dyskowych ASM”. Moliwo definiowania rónych jednostek alo-
kacji pozwala grupom dyskowym ASM z redundancj zewntrzn osign maksymalny roz-
miar 128 TB, w przeciwiestwie do rozmiaru 35 TB osiganego w Oracle Database 10g.

Nowa rola SYSASM

W Oracle zostaa udostpniona nowa rola SYSASM, z której naley korzysta podczas cze-
nia si z instancj ASM jako administrator. Roli SYSASM powinno si zacz uywa zamiast
SYSDBA, poniewa poczenia SYSDBA do instancji ASM prawdopodobnie nie bd wspie-
rane w przyszoci. Wymagania dotyczce uwierzytelniania s dla pocze z rol SYSASM
takie same jak dla pocze z rol SYSDBA.

Poniej prezentujemy przykad poczenia z instancj ASM z uyciem nowej roli SYSASM:

[oracle@localhost ~]$ sqlplus / as sysasm
SQL*Plus: Release 11.1.0.3.0 - Beta on Sat Feb 24 19:48:10 2007
Copyright (c) 1982, 2006, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.3.0 – Beta
With the Partitioning, OLAP and Data Mining options
SQL>

Mona take uy zwyczajnego polecenia poczenia, jak

connect sys/robert as SYSASM

i podobne.

Nowe polecenia narzdzia asmcmd

Zabawne, jak wielu ludzi, z którymi rozmawiaem, korzysta z ASM, a mimo to nigdy nie
uywao ani nie syszao o

asmcmd

. Narzdzie

asmcmd

pojawio si po raz pierwszy w Oracle

Database 10g Release 2, aby uatwi poruszanie si po dyskach ASM i ich zawartoci. W Oracle
Database 11g do

asmcmd

zostay dodane dalsze wasnoci, które bd omawiane w tym punkcie.

W skad owych wasnoci wchodz: moliwo archiwizacji i odtwarzania metadanych ASM,
nowe polecenie

lddsk

, polecenie

repair

oraz — dla istniejcych polece

asmcmd

— kilka

nowych opcji typu flagi.

background image

54

Oracle Database 11g. Nowe moliwoci

Arup radzi…

Wsparcie dla ekstentów o zmiennym rozmiarze jest prawdopodobnie najwaniejszym dodatkiem do
ASM w Oracle Database 11g. Przed 11g liczba ekstentów, zwaszcza w ogromnych bazach danych,
bya po prostu zbyt dua. Skutkowao to tym, e mapy ekstentów (extent maps) byy zbyt wielkie, aby
mona byo nimi zarzdza w zbiorniku wspódzielonym (shared pool); miao to wpyw na wydajno,
jak równie powodowao straszliwe bdy

ORA-4031 Unable to allocate x bytes in shared pool

1

.

Dla zagodzenia negatywnych skutków w Oracle Database 10g moliwe byo zdefiniowanie wik-
szych rozmiarów jednostek alokacji za pomoc parametru z podkreleniem, tak jak pokazuje przykad:

_asm_ausize=16777216

Parametr ten, pomimo e z podkreleniem, jest wspierany przez Oracle i udokumentowany na Meta-
Link. Powyszy przykad definiuje 16-megabajtowe jednostki alokacji. W przypadku ogromnych baz
danych, powyej 10 TB, jest to zalecany rozmiar. Domylna warto to 1048576 (lub 1 MB), take
w Oracle Database 11g. Stan typu „jeden rozmiar do wszystkiego” nie by dobrym rozwizaniem we
wszystkich przypadkach. Jeli z góry posiadao si wiedz o tym, do jakich rozmiarów uronie baza
danych, mona byo miao ustawi parametr zawczasu, jednak w wielu sytuacjach oszacowanie
przyszego rozmiaru bazy danych mogo by bdne lub niemoliwe. W Oracle Database 11g problem
ten zosta rozwizany przez oddzielenie rozmiaru ekstentu od wielkoci jednostki alokacji. W 11g
jeden ekstent moe mie rozpito wicej ni jednej jednostki alokacji. Jego rozmiar moe si zwik-
sza wraz ze wzrostem rozmiaru bazy danych. Pozwala to na utrzymanie rozmiaru mapy obszarów
w rozsdnej granicy, co z kolei poprawia wydajno.

Bd co bd , oznacza to take, e ekstenty z czasem zostan na dysku w jakim stopniu pofrag-
mentowane. W wielu przypadkach jest to nieistotne, nawet jeli bdziemy czsto usuwa i tworzy
obiekty w bazie danych. Bdzie to jednak powanym problemem w przypadku czstego tworzenia
i usuwania plików danych. Jeli zaobserwujemy spadek wydajnoci, moemy zdefragmentowa dysk,
uywajc operacji

alter diskgroup ... rebalance.

Archiwizacja i odtwarzanie metadanych grup dyskowych ASM

Narzdzie

asmcmd

dostarcza zestawu nowych polece, które pozwalaj na archiwizacj i odzy-

skiwanie metadanych zwizanych ze wszystkimi grupami dyskowymi ASM. Polecenie

md_backup

wykona archiwizacj wszystkich lub czci metadanych ASM, w zalenoci od uytych para-
metrów. Poniej przedstawiamy przykad uycia polecenia

md_backup

w celu archiwizacji

caego repozytorium metadanych ASM.

[oracle@localhost ~]$ asmcmd
ASMCMD> md_backup

Kiedy polecenie zostanie w caoci wykonane, w biecym katalogu roboczym zostanie
utworzony plik. W moim systemie Linux plik zosta nazwany ambr_backup_intermediate_file,
ale w innych systemach operacyjnych jego nazwa moe si róni . Plik archiwizacji jest w znacz-
nej mierze plikiem tekstowym, wic moemy go po prostu czyta . Bardziej zaawansowane uycie
polecenia

md_backup

pozwala kontrolowa miejsce, w którym plik ma zosta utworzony, wyszcze-

gólnia grupy dyskowe majce podlega archiwizacji, a take przesania rónorakie opcje.

1

Polska wersja komunikatu bdu to: ORA-04031: nie mona przydzieli X bajtów pamici wspóuytkowanej
przyp. tum.

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

55

Polecenie

md_restore

suy do przywracania danych z archiwizacji grup dyskowych wykona-

nych za pomoc polecenia

md_backup

. Przywrócenie mona wykona bez wprowadzania ad-

nych modyfikacji lub wczeniej przesoni róne ustawienia w poleceniu

md_backup

. Oto przy-

kad wykonania przywracania metadanych:

[oracle@localhost ~]$ asmcmd
ASMCMD> md_restore –b ambr_backup_intermediate_file

Oba polecenia mog zosta wykonane poprzez przekazanie ich jako parametru podczas urucha-
miania narzdzia asmcmd, tak jak pokazano w przykadzie poniej:

[oracle@localhost ~]$ asmcmd md_backup

Naley mie wiadomo tego, e polecenie

md_backup

nie nadpisze poprzedniego pliku archi-

wizacji. Po wykonaniu archiwizacji naley samemu przenie gdzie taki plik, aby nastpna
archiwizacja moga si uda .

Po co waciwie uywa polece

md_restore

i

md_backup

? Tak jak w bazie danych Oracle, tak

i w przypadku ASM istnieje moliwo , e metadane ASM — skadowane w grupach dysko-
wych ASM — ulegn uszkodzeniu (na przykad z powodu uszkodze pamici w systemie ope-
racyjnym). Chocia zdarza si to (na szczcie) rzadko, w takich przypadkach nasza archiwi-
zacja metadanych ASM moe okaza si pomocna. Jeli uywamy ASM, zalecam, aby
archiwizacja metadanych doczya do naszych rutynowych, codziennych wykona archiwizacji.

Arup radzi…

Nie potrafi nawet wyrazi uytecznoci (i trafnoci czasu pojawienia si) funkcji archiwizacji/przy-
wracania metadanych. Jak wspomnia Robert, w nawizaniu do moliwoci uszkodzenia metadanych,
istnieje take prawdopodobiestwo, e kto wykona polecenie

dd i nadpisze zawarto nagówka

dyskowego. Mnie to spotkao, naprawd! Kluczem do zrozumienia sytuacji jest fakt, e w nagówku
znajduje si informacja, co jest gdzie zapisane na dysku. Nadpisanie nagówka usuwa t informacj,
ale nie same dane. Jeli potrafimy przywróci nagówek, moemy by te w stanie przywróci dane za
pomoc bazy danych, a zatem zawsze wykonujmy polecenie

md_backup i przechowujmy wynikowy plik

w bezpiecznej lokalizacji.

W niektórych przypadkach polecenie

md_restore moe take pomóc w przywróceniu usunitych

dysków. Kolejnym zastosowaniem jest rozwijanie automatycznego procesu kontroli zmian, za kadym
razem gdy dodajemy, zmieniamy lub usuwamy dyski.

Polecenie lsdsk

Polecenie

lsdsk

listuje dyski, które widzi ASM. Oto przykad:

[oracle@localhost ~]$ asmcmd lsdsk
Path
/oracle/asmdata/asm_dgroup1_01.asm
/oracle/asmdata/asm_dgroup1_02.asm

Polecenie remap

Polecenie

remap

moe zosta uyte w celu naprawy zakresu fizycznych bloków w naszym dysku

ASM. Jako parametry przyjmuje ono nazw grupy dyskowej, nazw dysku oraz zakres bloków
do remapowania. Zauwamy, e podczas gdy polecenie to moe przywróci dysk do uytku

background image

56

Oracle Database 11g. Nowe moliwoci

(pod wzgldem fizycznie i logicznie uszkodzonych bloków), nie przywróci nam ono straconych
lub uszkodzonych danych. Oto przykad:

[oracle@localhost ~]$ asmcmd remap dgroup1 disk_001 2000-4000

Nowe opcje polece ls, lsct oraz lsdg

Polecenie

ls

ma dwa nowe parametry:

-c

oraz

-g

. Skorzystanie z parametru

-c

skutkuje uyciem

widoku V$ASM_DISKGROUP jako róda wydruku wyniku polecenia. Uycie parametru

-g

spowoduje, e ródem wydruku wyniku polecenia bdzie widok GV$ASM_DISKGROUP.

Polecenie

lsct

take posiada nowy parametr

-g

, który powoduje czytanie danych z widoku

GV$ASM_CLIENT zamiast z widoku V$ASM_CLIENT.

W kocu polecenie

lsdg

, które take zostao wzbogacone o parametry

-c

i

-g

. Parametr

-c

jako róda wydruku wyniku polecenia uywa widoku V$ASM_DISKGROUP, natomiast
parametr

-g

— widoku GV$ASM_DISKGROUP.

Automatic Memory Management

Firma Oracle wprowadzia wiele zmian we wasnociach automatycznego zarzdzania pami-
ci w Oracle Database 11g. Oracle Automatic Memory Management moe teraz automatycz-
nie zarzdza zarówno obszarem SGA (system global area), jak i obszarem PGA (program
global area). Kontrol nad t now funkcj zapewniaj nowe parametry

memory_target

i

memory_

´

max_target

. Dotyczce jej zmiany zostay take wprowadzone w niektórych narzdziach

doradczych (advisor). Zostay take dodane nowe widoki. W kolejnych podpunktach omówimy
kade z tych zagadnie.

Przegld Automatic Memory Management

Automatyczne zarzdzanie pamici zostao dodane do istniejcej struktury Oracle Automated
Memory Management i pozwala na uycie rónych parametrów konfigurujcych ustawienia
pamici. Automatic Memory Management posiada dwa nowe parametry pamici:

memory_max_

´

target

i

memory_target

. Rysunek 2.1 ilustruje zalenoci zachodzce pomidzy rónymi

parametrami pamici.

Przyjrzyjmy si bliej dwóm wspomnianym parametrom.

Parametr memory_target

Parametr

memory_target

jest w pewnym sensie kombinacj wartoci parametrów

sga_target

i

pga_aggregate_target

. Reprezentuje on cakowit ilo pamici, jak Oracle musi zaaloko-

wa dla rónych struktur SGA i PGA. Parametr

memory_target

jest parametrem dynamicznym.

Moe zosta ustawiony na warto do wartoci (wcznie) parametru

memory_max_target

, który

zostanie omówiony jako nastpny.

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

57

Rysunek 2.1.
Zalenoci pomidzy
parametrami pamici

Parametr memory_max_target

Parametr

memory_max_target

pozwala na dynamiczn zmian wartoci parametru

memory_target

w granicach

memory_max_target

, tak wic w kadej chwili moemy przystosowa sumaryczn

ilo pamici dostpnej dla bazy danych jako cao .

Parametr

memory_max_target

moe zosta ustawiony rcznie albo wyznaczony i domylnie

ustawiony na warto równ lub wiksz wartoci parametru

memory_target

. Jeli parametr

memory_target

jest ustawiony, a parametr

memory_max_target

nie, to Oracle domylnie przy-

pisze temu drugiemu warto parametru

memory_target

. Jeli parametr

memory_target

nie jest

ustawiony, to domyln wartoci parametru

memory_max_target

bdzie

0

. W przypadku gdy

parametr

memory_target

nie jest ustawiony, ale parametr

memory_max_target

przyjmuje jak

niezerow warto , to moemy modyfikowa ustawienia pamici dynamicznie, poprzez zmian

memory_target

lub innych okrelonych parametrów pamici. Rysunek 2.2 ilustruje zalenoci

pomidzy parametrami pamici zarzdzanej automatycznie.

Parametrów

memory_max_target i memory_target nie mona uywa, jeli zosta ustawiony

LOCK_SGA. Wspomnianych parametrów nie mona take stosowa w poczeniu z ogrom-
nymi stronami w systemie Linux.

Parametr

memory_target

mona skonfigurowa podczas aktualizacji lub póniej. Kiedy kon-

figurujemy parametr

memory_target

, powinnimy wzi pod uwag biece ustawienia para-

metrów

sga_target

i

pga_aggregate_target

. W wikszoci sytuacji jako warto

memory_target

bdziemy ustawia sum rozmiarów zdefiniowanych przez wartoci parametrów

sga_target

i

pga_aggregate_target

, zerujc nastpnie te dwa parametry.

Moemy zdecydowa si na pozostawienie parametrów

sga_target

i

pga_aggregate_target

z ich biecymi wartociami. Robic tak, wskaemy minimalne iloci pamici, jakie powinny
zosta zaalokowane na te struktury. W takim przypadku Oracle bdzie móg dla kadej ze
struktur zaalokowa wicej pamici, ale nie bdzie móg zmniejszy dostpnej dla nich iloci
pamici poniej progu wyznaczonego przez ustawienia powizanych parametrów. Oznacza to,

background image

58

Oracle Database 11g. Nowe moliwoci

Rysunek 2.2.
Zalenoci pomidzy
parametrami pamici
zarzdzanej
automatycznie

Ustawianie parametru

memory_target na niektórych platformach moe przyprawi nas o zy.

Przykadowo w systemie Linux naley upewni si, e /dev/shm (lub jego odpowiednik)
alokuje ilo pamici troch wiksz ni ta, na któr chcemy ustawi warto parametru
memory_target. Niespenienie powyszego warunku bdzie skutkowao nastpujcym bdem

2

:

ORA-00845: MEMORY_TARGET not supported on this system.

e jeli przejdziemy podczas aktualizacji na nowe parametry, zostawiajc wartoci

sga_target

i

pga_aggregate_target

bez zmian, to powinna zosta speniona nastpujca nierówno

memory_

´

target

>= (

sga_target

+

pga_aggregate_target

). Nieprawidowa konfiguracja nie pozwoli

na uruchomienie instancji z powodu wystpienia bdu ORA-00838.

Kolejn rzecz, o której naley wiedzie , jest to, e jeli ustawimy parametr

memory_max_target

i uruchomimy instancj, Oracle po prostu zagarnie ilo wolnej pamici równ wartoci tego
parametru. Moe to zalee od systemu operacyjnego — zaobserwowalimy to w rodowiskach
systemów operacyjnych Linux i Windows. Uwaajmy wic na potencjalne konsekwencje, jakie
pociga za sob ustawienie wspomnianego parametru.

Naley zachowa ostrono podczas zmiany ustawie, jeli przechodzimy na automatyczne
zarzdzanie pamici. Przechodzc na parametry

memory_max_target i memory_target, upew-

nijmy si, e parametry

sga_target i sga_size nie s ustawione. Pomimo i jednoczesne

ustawianie tych parametrów jest wspierane, naley to robi z ostronoci, aby unikn
nieoczekiwanych konsekwencji.

2

Polska wersja komunikatu bdu to: ORA-00845: Parametr MEMORY_TARGET nie jest obsugiwany w tym
systemie — przyp. tum.

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

59

Nowe funkcje w Memory Advisor i nowe widoki

Oracle otrzyma nowy widok V$MEMORY_TARGET_ADVICE, który dostarcza wskazówek,
jak ustawi parametr

memory_target

. Poniej przedstawiamy przykadowe zapytanie do tego

widoku:

SQL> select * from v$memory_target_advice order by memory_size_factor;
MEMORY_SIZE MEMORY_SIZE_FACTOR ESTD_DB_TIME ESTD_DB_TIME_FACTOR VERSION
----------- ------------------ ------------ ------------------- ----------
176 .5 126 1.1443 0
264 .75 110 1 0
352 1 110 1 0
440 1.25 110 1 0
528 1.5 109 .99 0
616 1.75 109 .99 0
704 2 109 .99 0

Przykad pokazuje, e zwikszenie iloci pamici nie bdzie miao pozytywnego wpywu na
nasz baz danych. Biece ustawienie

memory_size

to 352 MB (jeli

MEMORY_SIZE_FACTOR

wynosi 1, to jest to aktualny rozmiar), co wydaje si by wiksz wartoci, ni potrzeba.
Zwikszenie jej o 50 procent, do 528 MB (

MEMORY_SIZE_FACTOR

równy 1.5), bdzie skutkowao

bardzo nieznaczn popraw wydajnoci, jak pokazuje rónica pomidzy wartociami kolumny

ESTD_DB_TIME

110 i 109. Zwró my uwag, e widok nie bdzie zawiera adnych danych, dopóki

automatyczne zarzdzanie pamici nie zostanie wczone (przynajmniej poprzez ustawienie
parametru

memory_target

).

Dane w omawianych widokach zale od migawek (snapshot) AWR. Jeli wyczylimy AWR
lub dopiero co stworzylimy baz danych, widoki mog by puste. Wyniki zapyta do tych
widoków w duym stopniu zale take od obcienia i wykorzystania systemu. Wynik bdzie
znaczco róny dla bezczynnego systemu w porównaniu z systemem o wysokim obcieniu
i zmiennoci.

Kolejny widok, V$MEMORY_DYNAMIC_COMPONENTS, zapewnia wgld w róne kom-
ponenty pamici bazy danych i ich rozmiary, ustalane przez Oracle’owe udogodnienie automa-
tycznego zarzdzania pamici. Poniej przedstawiamy przykadowe zapytanie do tego widoku,
pokazujce obecnie skonfigurowane komponenty pamici. Zauwamy, e oprócz zwyczajnych
pul pamici (pools) s tam take wpisy dotyczce SGA Target i PGA Target:

SQL> select component, current_size curr_size, min_size, max_size,
user_specified_size uss, granule_size gs from v$memory_dynamic_components
where current_size > 0;
COMPONENT CURR_SIZE MIN_SIZE MAX_SIZE USS GS
--------------- ---------- ---------- ---------- ---------- ----------
shared pool 67108864 62914560 67108864 0 4194304
large pool 4194304 0 4194304 0 4194304
java pool 4194304 4194304 4194304 0 4194304
SGA Target 218103808 218103808 218103808 0 4194304
DEFAULT buffer 134217728 134217728 138412032 83886080 4194304
cache
Shared IO Pool 8388608 8388608 8388608 8388608 4194304
PGA Target 150994944 150994944 150994944 0 4194304

background image

60

Oracle Database 11g. Nowe moliwoci

W jaki sposób Oracle zarzdza pamici?

Przegldajc widok V$MEMORY_RESIZE_OPS, moemy monitorowa , w jaki sposób Oracle
zarzdza pamici. Widok zawiera list ostatnich 800 da zmiany rozmiaru SGA obsuonych
przez Oracle. Oto przykad:

SQL> select parameter, initial_size, target_size, start_time
from v$memory_resize_ops
where initial_size > 0 and final_size > 0
order by parameter, start_time;
PARAMETER INITIAL_SIZE TARGET_SIZE START_TIME
-------------------- ------------ ----------- -------------------
db_cache_size 121634816 117440512 04/28/2007 19:33:45
db_cache_size 121634816 117440512 04/28/2007 19:33:45
db_cache_size 117440512 113246208 04/28/2007 19:33:45
db_cache_size 113246208 109051904 04/28/2007 19:33:45
db_cache_size 109051904 104857600 04/28/2007 19:34:10
db_cache_size 104857600 100663296 04/28/2007 19:34:33
db_cache_size 100663296 96468992 04/28/2007 19:34:35
pga_aggregate_target 125829120 335544320 04/28/2007 19:39:20
shared_pool_size 58720256 62914560 04/28/2007 19:33:45
shared_pool_size 54525952 58720256 04/28/2007 19:33:45
shared_pool_size 62914560 67108864 04/28/2007 19:34:10
shared_pool_size 67108864 71303168 04/28/2007 19:34:33
shared_pool_size 71303168 75497472 04/28/2007 19:34:35

Jak wskazuje powyszy wynik zapytania, Oracle by bardzo zajty, dokonujc zmian w pamici
podrcznej bazy danych i w zbiorniku wspódzielonym (shared pool)!

Automatic Memory Management i OEM

Oracle Enterprise Manager (OEM) cakowicie wspiera automatyczne zarzdzanie pamici.
Na stronie domowej OEM kliknijmy w umieszczon na górze zakadk Server, a nastpnie
wybierzmy Memory Advisors. Z poziomu tej strony moemy wczy lub wyczy automa-
tyczne zarzdzanie pamici, ustawi cakowite i maksymalne rozmiary parametrów pamici
i przejrze histori alokacji pamici. Rysunek 2.3 przedstawia przykadow stron narzdzia
Memory Advisor.

Automatic Memory Management posiada interfejs w Memory Advisor (jest to graficzna nakadka
na widok V$MEMORY_TARGET_ADVICE). Moemy tam sprawdzi , jak powinnimy zaalo-
kowa pami dla instancji.

Przejcie na Automatic Memory Management

Przejcia na automatyczne zarzdzanie pamici mona dokona rcznie lub z poziomu OEM.
Wczenie usugi Automatic Memory Management jest take moliwe z poziomu narzdzia
Database Configuration Assistant (DBCA) podczas konfigurowania nowej bazy danych. Czy-
telnicy uaktualniajcy swoje oprogramowanie do Oracle Database 11g mog mie wtpliwoci,
czy warto przej na Automatic Memory Management. Jak ze wszystkim co nowe, podszed-
bym to tego z ostronoci, testujc wszystko dokadnie w rodowisku deweloperskim. Jeli

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

61

Rysunek 2.3.

Strona narzdzia OEM Memory Advisor

istnieje naglca potrzeba przejcia, to trzeba to zrobi , ale jeli mona poczeka , to nie nara-
abym produkcyjnego systemu na ryzyko. W przypadku nowych baz danych, utworzonych
w 11g, prawdopodobnie zdecydowabym si na konfiguracj z Automatic Memory Manage-
ment i starannie j przetestowa.

Nowe wasnoci ADDM

Oracle Database 11g oferuje wiele nowych wasnoci ADDM (Automatic Database Diagnostic
Monitor), w skad których wchodz:



nowe widoki ADDM,



ADDM uwzgldniajcy istnienie RAC,



nowy pakiet

dbms_addm

do zarzdzania ADDM,



klasyfikacja,



dyrektywy.

Przyjrzyjmy si teraz bliej kadej z tych nowych wasnoci.

Nowe widoki ADDM

Ponisza tabela prezentuje nowe widoki powizane z ADDM, które zostay dodane w Oracle
Database 11g.

background image

62

Oracle Database 11g. Nowe moliwoci

Nazwa widoku

Opis

DBA_ADDM_TASKS

Dostarcza historyczn reprezentacj wczeniejszych
zada ADDM.

DBA_ADDM_INSTANCES

Wywietla informacje o zadaniach ADDM na poziomie
instancji.

DBA_ADDM_FINDINGS

Dostarcza dodatkowych informacji dla rónych widoków
doradczych.

DBA_ADDM_FDG_BREAKDOWN

Zapewnia informacj o udziale poszczególnych znalezisk
(finding) w kadej z instancji.

DBA_ADDM_SYSTEM_DIRECTIVES

DBA_ADDM_TASK_DIRECTIVES

Zauwamy, e kady z widoków DBA_ ma odpowiadajcy mu widok USER_, za wyjtkiem
widoku DBA_ADDM_SYSTEM_DIRECTIVES.

Wspóistnienie RAC i ADDM

Istnieje co najmniej kilka istotnych zagadnie wydajnociowych specyficznych dla RAC. Przed
Oracle Database 11g jedyn metod analizy komponentu klastra o konfiguracji RAC byo prze-
gldanie znacznej liczby widoków GV$. Oracle Database 11g dostarcza nowego poziomu analizy
ADDM nazwanej Database ADDM. Z Database ADDM narzdzie Oracle ADDM jest teraz
wiadome obecnoci RAC i wcza analiz klastra RAC do ogólnego procesu analizy ADDM
bazy danych.

Podobnie jak w przypadku Instance ADDM (czyli ADDM dla pojedynczej instancji bazy danych),
nowe procesy Database ADDM (czyli ADDM dla caej bazy danych) s uruchamiane domylnie
po wykonaniu kadej migawki AWR (Automatic Workload Repository). Database ADDM moe
zapewni raportowanie wystpienia wymienionych niej stanów:



Nadmierne uywanie globalnych zasobów takich jak operacje wejcia/wyjcia i blokady
globalne.



Wysoko obciajce zapytania SQL i wystpienia gorcych bloków (hot block).



Nadmierny ruch typu interconnect w globalnej pamici podrcznej.



Opónienia czy sieciowych.



Odchylenia czasów odpowiedzi instancji.

Wczenie Database ADDM odbywa si poprzez wywoanie procedury

set_default_task_

´

parameter

z dostarczanego przez Oracle pakietu PL/SQL

dbms_advisor

. Pozwala to ustali

wartoci parametru

instances

majce wskaza instancje, które powinny podlega analizie Data-

base ADDM. Ponisza tabela daje wgld w róne opcje, których mona uy w przypadku
parametru

instances

.

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

63

Opcja

Uruchamiany tryb analizy ADDM

UNUSED

Wycza Database ADDM dla wszystkich instancji.

Lista instancji rozdzielonych znakami przecinka

Database ADDM zostanie wykonane tylko
dla wymienionych instancji.

ALL

Wcza Database ADDM dla wszystkich instancji.

Oto kilka przykadów ustawiania wartoci parametru

instances

:

-- Wycz Database ADDM dla wszystkich instancji
Exec dbms_advisor.set_default_task_parameter('ADDM', 'INSTANCES', 'UNUSED');
-- Skonfiguruj Database ADDM dla instancji 1. i 3.
Exec dbms_advisor.set_default_task_parameter('ADDM', 'INSTANCES', '1,3');
-- Skonfiguruj Database ADDM dla wszystkich instancji
Exec dbms_advisor.set_default_task_parameter('ADDM', 'INSTANCES', 'ALL');

Rezultat takiego dodatkowego poziomu analizy bdzie widoczny w co najmniej kilku miejscach
w OEM, na przykad na podstronie Cluster strony analizy wydajnoci. Stamtd mona przej
do bardziej szczegóowych stron. Moliwe jest take raportowanie rczne z wykorzystaniem
nowego pakietu

dbms_addm

, które zostanie omówione w kolejnym podpunkcie.

Zarzdzanie ADDM poprzez dbms_addm

W celu wsparcia pracy administratora bazy danych w zarzdzaniu Oracle ADDM, w Oracle Data-
base 11g zosta wprowadzony nowy pakiet

dbms_addm

. Pakiet ten umoliwia zlecenie rozpoczcia

analizy ADDM, ukierunkowanie analizy, wydrukowanie raportu lub usunicie wyniku poprzed-
niej analizy.

Niektóre najpowszechniej uywane programy pakietu

dbms_addm

wraz z ich przeznaczeniem

zostay wymienione w poniszej tabeli (nie uwzgldnia ona dyrektyw, poniewa zostan pokrótce
omówione póniej):

analyze_db

Planuje analiz ADDM bazy danych opart na zakresie dwóch dostarczonych
migawek.

analyze_inst

Planuje analiz ADDM instancji w oparciu o dwie dostarczone migawki.

analyze_partial

Planuje czciow analiz ADDM w oparciu o dwie dostarczone migawki
oraz list instancji.

delete

Usuwa wybrane zadanie ADDM.

get_report

Dostarcza domylny raport ADDM dla wybranych zada ADDM.

Poniej prezentujemy przykad uycia pakietu

dbms_addm

w celu wykonania analizy ADDM

bazy danych i raportowania jej wyniku:

-- Przedstaw list wanych migawek z ostatnich 4 godzin
select instance_number, snap_id
from wrm$_snapshot
where end_interval_time < systimestamp - interval '4' HOUR
order by 1,2;

background image

64

Oracle Database 11g. Nowe moliwoci

INSTANCE_NUMBER SNAP_ID
--------------- ----------
1 24
2 23
2 25
2 26

Var tname varchar2(60);
BEGIN
:tname:='Zadanie ADDM Database';
dbms_addm.analyze_db(:tname, 25, 26);
END;
/
set long 1000000
Spool /tmp/dbreport.rpt
SELECT dbms_addm.get_report(:tname) FROM dual;
spool off

Wynikowy raport posiada w ogólnoci taki sam format jak standardowy raport ADDM, który
mona otrzyma w Oracle Database 10g (wykonujc skrypt addmrpt.sql). Wynik analizy ADDM
mona usun przy pomocy

dbms_addm.delete

, tak jak pokazano poniej:

exec dbms_addm.delete('Zadanie ADDM Database');

Klasyfikacja znalezisk

Framework Oracle Advisor zosta wprowadzony w Oracle Database 10g. ADDM jest wanie
przykadem doradcy (advisor). Framework wyrónia symptomy, problemy, ostrzeenia i infor-
macyjne typy znalezisk (odpowiednie wartoci kolumny TYPE widoku dba_advisor_findings
to SYMPTOM, PROBLEM, WARNING, INFORMATION). Nazwy znalezisk (finding name)
zostay dodane do frameworku Oracle Advisor dopiero w Oracle Database 11g. Dostarczaj one
dodatkowej informacji, która pomaga zaklasyfikowa otrzymane ustalenia do jakiej kategorii.
Przykadowym znaleziskiem moe by ustalenie, e wykorzystanie procesora jest zbyt wysokie,
tak jak pokazuje przykad:

SQL> select task_name, finding_name,
type, impact_type from dba_advisor_findings
where rownum < 2;
TASK_NAME FINDING_NAME TYPE IMPACT_TYPE
-------------------- ------------------ ----------- ------------------------------
ADDM:2209966315_1_3 Wykorzystanie CPU PROBLEM Czas pracy bazy danych
w mikrosekundach.

Nowa kolumna w Oracle Database 11g

FINDING_NAME

— klasyfikuje znalezisko do konkretnej

kategorii, w naszym przypadku do kategorii wykorzystania procesora („Wykorzystanie CPU”).
Kolumna ta zostaa dodana take do widoku USER_ADVISOR_FINDINGS.

Taka nowa klasyfikacja znalezisk moe posuy wykonaniu dodatkowej analizy, tak jak
w poniszym przypadku, gdzie staramy si sprawdzi , czy problem nadmiernego wykorzy-
stania procesora nasila si o jakich okrelonych porach (np., jak w naszym przykadzie, w oko-
licach poudnia):

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

65

SQL> select to_char(execution_end, 'hh24') hour , count(*)
from dba_advisor_findings a, dba_advisor_tasks b
where finding_name='Wykorzystanie CPU'
and a.task_id=b.task_id
group by to_char(execution_end, 'hh24')
order by 1;
HO COUNT(*)
-- ----------
04 1
05 1
07 1
11 3
12 3
13 2
15 1
16 2
17 1

Wyróniamy okoo 80 rónych kategorii znalezisk, które mona zobaczy w widoku DBA_
ADVISOR_FINDING_NAMES.

Dyrektywy

Gdy uywamy ADDM, podane moe by ukierunkowanie analizy na ignorowanie wystpie-
nia niektórych stanów. Przykadowo, jeli sabe strony schematu ROBERT s dobrze znane, nie
obejmowanie go analiz ADDM bdzie miao sens. W celu wykluczenia rónych analiz ADDM
i zgaszania rónych znalezisk moemy ustali dyrektywy. Mog one zosta przypisane do wybra-
nych zada ADDM lub ustawione jako dyrektywy systemowe. Dyrektywy mona ustawia
z wiersza polece lub wewntrz OEM. Nastpujce podpunkty omawiaj tworzenie, usuwanie
i przykady uycia dyrektyw.

Tworzenie dyrektyw

Procedury suce do ustawiania dyrektyw znajduj si w poniszej tabeli:

Typ

Nazwa procedury

Opis

Dyrektywa:
wstaw
znalezisko

dbms_addm.
insert_finding_directive

Ogranicza raport ADDM do specyficznych kategorii
znalezisk (wicej informacji na ten temat znajdziemy
we wczeniejszym podpunkcie tego rozdziau
„Klasyfikacja znalezisk”).

Dyrektywa:
wstaw
parametr

dbms_addm.
insert_parameter_directive

Tworzy dyrektyw, która zapobiega sugerowaniu
przez ADDM dziaa majcych na celu zmian
wartoci konkretnych parametrów systemowych
(

v$parameter

).

Dyrektywa:
wstaw
segment

dbms_addm.
insert_segment_directive

Tworzy dyrektyw, która zapobiega sugerowaniu
przez ADDM dziaa dotyczcych konkretnych
wacicieli, segmentów, podsegmentów lub konkretnych
numerów obiektów.

background image

66

Oracle Database 11g. Nowe moliwoci

Typ

Nazwa procedury

Opis

Dyrektywa:
wstaw SQL

dbms_addm.
insert_sql_directive

Tworzy dyrektyw, która zapobiega sugerowaniu
przez ADDM dziaa dotyczcych zapyta SQL
o konkretnych identyfikatorach. Dalsza filtracja
umoliwia ograniczenie zapytania SQL do minimalnej
liczby aktywnych sesji lub minimalnego czasu
odpowiedzi mierzonego w mikrosekundach.

Usuwanie dyrektyw

Jak pokazuje ponisza tabela, pakiet

dbms_addm

dostarcza procedur sucych do usuwania

dyrektyw:

Typ

Nazwa procedury usuwajcej

Dyrektywa: usu znalezisko

dbms_addm.delete_finding_directive

Dyrektywa: usu parametr

dbms_addm.delete_parameter_directive

Dyrektywa: usu segment

dbms_addm.delete_segment_directive

Dyrektywa: usu SQL

dbms_addm.delete_sql_directive

Ustalanie, czy dyrektywy s zdefiniowane

W wielu widokach mona znale now kolumn

FILTERED

, która wskazuje, czy konkretny wiersz

danego widoku podleg filtracji przez dyrektyw. Do widoków zawierajcych kolumn

FILTERED

nale:



DBA i USER_ADVISOR_FINDINGS,



DBA i USER_ADVISOR_RECOMMENDATIONS,



DBA i USER_ADVISOR_ACTIONS.

Przykady uywania dyrektyw

Przykadow sytuacj, w której chcielibymy posuy si dyrektywami, moe by przypadek,
gdy nie chcemy, aby ADDM kiedykolwiek raportowa na temat schematu ROBERT. W poni-
szym przykadzie wykluczamy ten schemat i uruchamiamy raportowanie:

var tname VARCHAR2(60);
var inst_num number;
BEGIN
-- Uruchomienie tylko dla biecej instancji
select instance_number into :inst_num from v$instance;
-- Nazwanie analizy
:tname := 'moja_analiza_instancji';
-- Stworzenie zadania
DBMS_ADVISOR.CREATE_TASK('ADDM', :tname);
-- Migawka rozpoczcia analizy
DBMS_ADVISOR.SET_TASK_PARAMETER(:tname, 'START_SNAPSHOT', 242);
-- Migawka zakoczenia analizy
DBMS_ADVISOR.SET_TASK_PARAMETER(:tname, 'END_SNAPSHOT', 243);

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

67

-- Przypisanie instancji do zadania
DBMS_ADVISOR.SET_TASK_PARAMETER(:tname, 'INSTANCE', :inst_num);
-- Ustawienie dyrektywy
DBMS_ADVISOR.INSTER_SEGMENT_DIRECTIVE(:tname, 'Segment directive ID', 'ROBERT');
-- Uruchomienie zadania
DBMS_ADVISOR.EXECUTE_TASK(:tname);
END;
/
-- Raportowanie zadania
set long 1000000
select dbms_addm.get_report('moja_analiza_instancji') from dual;
exec dbms_addm.delete_segment_directive(NULL, 'Segment directive ID');
exec dbms_addm.delete('moja_analiza_instancji');

Moemy take wygenerowa raport ADDM za pomoc procedury

dbms_advisor.get_task_

´

report

, nakazujc zignorowanie zbioru ogranicze, tak jak pokazano poniej:

select dbms_advisor.get_task_report('moja_analiza_instancji', 'TEXT', 'ALL') from dual;

Nowe wasnoci AWR

Oracle Database 11g ulepszy repozytorium Oracle Database Automated Workload Repository
(AWR), które zostao wprowadzone w Oracle Database 10g. Nowe wasnoci czyni zarzdzanie
baz danych jeszcze prostszym. W skad nowych lub ulepszonych wasnoci wliczamy:



zmian domylnej retencji migawek AWR,



nowe wasnoci linii bazowych AWR,



adaptacyjne progi metryk.

Domylna retencja migawek AWR

Domylnie Oracle Database 11g zachowuje teraz informacj o migawkach AWR przez osiem
dni (w przeciwiestwie do siedmiu dni, jak poprzednio). Domylne zachowanie mona zawsze
zmieni . Nowa warto bdzie ustalona tylko dla nowych baz danych. Uaktualnione bazy danych
utrzymaj takie wartoci retencji AWR, jakie zostay dla nich wczeniej okrelone.

Nowe wasnoci linii bazowych AWR

Oracle Database 11g konsoliduje poprzednie wasnoci linii bazowych przedstawionych w Oracle
Database 10g. Te skonsolidowane wasnoci okrelamy terminem AWR Baseline. Ponadto,
oprócz rónych wasnoci dostpnych w Oracle Database 10g, w Oracle Database 11g zostay
dodane nowe, czynice linie bazowe AWR jeszcze bardziej przydatnymi administratorowi bazy
danych. W skad tych wasnoci wchodz:



nowe typy linii bazowych AWR,



adaptacyjne progi.

background image

68

Oracle Database 11g. Nowe moliwoci

Nowe typy AWR Baseline

Oracle Database 11g wprowadza troch zawirowa w AWR Baseline. W ich skad wchodz:



Linie bazowe okien kroczcych. Przesuwne linie bazowe. Zazwyczaj s oparte
na caoksztacie danych statystycznych dostpnych w AWR.



Pojedyncze linie bazowe. Pozwalaj na zdefiniowanie linii bazowej, która ma zosta
uchwycona w danym, pojedynczym okresie czasu w przyszoci.



Powtórzeniowe linie bazowe. Pozwalaj na zdefiniowanie linii bazowej majcej by
pochwytywan w powtarzajcych si okresach czasu w przyszoci.

Kolejne podpunkty omówi wszystkie nowe, wymienione tu typy linii bazowych. Rozwaymy
take szablony linii bazowych, widoki danych sownikowych powizane z tymi szablonami
i usuwanie szablonów.

Linie bazowe okien kroczcych

Now wasnoci w Oracle Database 11g s linie bazowe okien kroczcych (moving window
baseline
). Linia bazowa okna kroczcego nosi nazw SYSTEM_MOVING_WINDOW, a szcze-
góy jej dotyczce mona znale w widoku WRM$_BASELINE. Okres rozpoczcia i zako-
czenia okna linii bazowej SYSTEM_MOVING_WINDOW odnosi si do czasu pomidzy naj-
wczeniejsz i najpóniejsz dostpn migawk w Oracle Database 11g. W wyniku tego okres
czasu reprezentowany przez t lini bazow jest kontrolowany wartoci opcji retencji w AWR
i stale si przesuwa (std sprytna nazwa: linia bazowa okna kroczcego).

Domylny rozmiar okna moe zosta zmieniony poprzez wywoanie procedury

dbms_workload_

´

repository.modify_baseline_window_size

, tak jak pokazuje przykad:

exec dbms_workload_repository.modify_baseline_window_size ( -
window_size => 30);

Warto parametru

window_size

musi wynosi nie wicej dni ni cakowita warto liczby dni

parametru retencji AWR, w przeciwnym przypadku otrzymamy bd ORA-13541.

Przesuwnych linii bazowych mona uywa w OEM, aby porówna biece statystyki ze staty-
stykami linii bazowej, co ma uatwi stwierdzenie, jak radzi sobie nasza baza danych w kwestii
wydajnoci. Przykadowo, strona wydajnoci w OEM pozwala na zdefiniowanie linii bazowej,
z któr chcemy porówna raportowane statystyki. Mona uy systemowej przesuwnej linii
bazowej, rcznie zdefiniowanej linii bazowej lub nie uywa adnej.

Linia bazowa okna kroczcego kontynuuje odzwierciedlanie biecej wydajnoci naszego sys-
temu. Dane tej linii bazowej s wiee, podczas gdy rcznie zdefiniowane linie bazowe z cza-
sem stan si nieaktualne i przestan odzwierciedla dokadny stan linii bazowej naszej bazy
danych. Prawdopodobnie dobrym pomysem jest, zdajc sobie z tego spraw, utrzyma kilka
rcznie zdefiniowanych linii bazowych w celach porównawczych, aby upewni si, e wydaj-
no naszej bazy danych ukradkiem nie spada.

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

69

Pojedyncze linie bazowe

Pojedyncze linie bazowe (single baseline) pod pewnymi wzgldami przypominaj linie bazowe
w Oracle Database 10g; mona zdefiniowa pojedyncz lini bazow w oparciu o istniejcy
zbiór migawek AWR. Jednak pojedyncze linie bazowe pozwalaj take na zdefiniowanie linii
bazowej dla okresu czasu w przyszoci. Przykadowo, jeli mamy jakie specjalne przetwarza-
nie, które wystpuje nieregularnie, ale wiemy, e bdzie miao miejsce w ten weekend, moemy
wykreowa pojedyncz lini bazow, aby zaplanowa jej wygenerowanie w przyszoci.

Pojedyncz lini bazow mona skonfigurowa za pomoc OEM. Na stronie domowej OEM
Database naley wybra zakadk Server. Opcja zatytuowana AWR Baselines bdzie widoczna
pod Statistics Management. Z poziomu tej strony mona utworzy pojedyncz lini bazow. OEM
zada od nas zdefiniowania jej czasu rozpoczcia i czasu zakoczenia lub podania zakresu
migawek AWR.

Jeli tworzymy pojedyncz lini bazow w oparciu o wczeniejsze migawki AWR, nie jest two-
rzony aden jej szablon. Jednak gdy tworzymy pojedyncz lini bazow w oparciu o okres czasu
w przyszoci, jest tworzony szablon w celu zaplanowania uruchomienia tej linii bazowej. Dopóki
szablon linii bazowej nie zostanie wykonany, nie bdzie wykazywany na licie linii bazowych
AWR w OEM. Za pomoc parametru

expiration

mona zdefiniowa dat wyganicia linii

bazowej. Czas wyganicia jest oparty na parametrze

end_time

stworzonej linii bazowej.

Procedury PL/SQL

dbms_workload_repository.create_baseline_template

uywamy w celu rcz-

nego stworzenia pojedynczej linii bazowej. W poniszym przykadzie tworzymy pojedyncz
lini bazow dla przyszego czasu (30 wrzenia) i ustawiamy czas wyganicia na 30 dni od warto-
ci

end_time

tej linii bazowej.

Alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
BEGIN
DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE_TEMPLATE (
start_time => '2008-09-30 13:00:00',
end_time => '2008-09-30 14:00:00',
baseline_name => 'baseline_092008',
template_name => 'template_092008', expiration => 30);
END;
/

Wyniki wykonania linii bazowych mona przeglda na stronie OEM AWR Baselines, klikajc
na wybran lini bazow. Mona je take przejrze , posugujc si rónymi widokami danych
sownikowych, wczajc w to widoki DBA_HIST_BASELINE oraz DBA_HIST_BASELINE_
DETAILS. Mona take wykorzysta rczne raportowanie, uywajc skryptu awrddrpt.sql.

Arup radzi…

Powtórzeniowe linie bazowe s niezwykle przydatne przy rozwizywaniu problemów wydajnociowych
powizanych z konkretnymi momentami lub przedziaami czasu. Przykadowo, wyobra my sobie hur-
towni danych, w której proces ETL (Extract, Transform, Load) odbywa si w nocy, a raportowanie za
dnia. Powtórzeniowa linia bazowa, której wykonanie powtarza si kadej nocy w okrelonych inter-
waach czasu, pomaga ustali jaki wzorzec na przestrzeni dni. Badajc raporty AWR kadej z linii
bazowych, mona stwierdzi, czy wystpowanie problemów wydajnociowych podlega jakiemu wzorcowi,
co z kolei jest przydatne w procesie ich rozwizywania.

background image

70

Oracle Database 11g. Nowe moliwoci

Powtórzeniowe linie bazowe

Uruchamianie powtórzeniowych linii bazowych (repeating baseline) moe zosta zdefiniowane
na podstawie regularnych, staych interwaów czasowych. Przykadowo, jeli istnieje proces
raportowania wykonywany co sobot od godziny 18:00 do 23:00, moemy chcie stworzy
powtórzeniow lini bazow uruchamian w tym okresie czasu. Moe si to przyda w ledzeniu
cakowitej wydajnoci przetwarzania w duszym czasie lub przy rozwizywaniu problemów
w istotnych procesach przetwarzania, które nagle dowiadczyy problemów wydajnociowych.

Powtórzeniow lini bazow mona skonfigurowa za pomoc OEM. Na stronie domowej OEM
Database naley wybra zakadk Server. Opcja zatytuowana AWR Baselines bdzie widoczna
pod Statistics Management. Z poziomu tej strony mona utworzy powtórzeniow lini bazow.
OEM zada od nas zdefiniowania jej czasu rozpoczcia i czasu zakoczenia, jak równie czsto-
tliwoci (dziennej, miesicznej i tak dalej). Bdzie take trzeba poda dat/czas jej wyganicia
(powtórzeniowe linie bazowe ostatecznie podlegaj wyganiciu). W kocu OEM umoliwi
zdefiniowanie, jak dugo linia bazowa powinna zosta zachowana (retencja), a nastpnie stworzy
dla nas powtórzeniow lini bazow. Po utworzeniu takiej linii bazowej Oracle utworzy repre-
zentujcy j szablon. Wicej na temat szablonów linii bazowych dowiemy si w nastpnym pod-
punkcie. Wykonanie kadej z linii bazowych bdzie skutkowao pojawieniem si takiego wyko-
nania na stronie OEM AWR Baselines.

Procedury PL/SQL

dbms_workload_repository.create_baseline_template

uywamy w celu

rcznego stworzenia powtórzeniowej linii bazowej. Poniszy przykad ilustruje stworzenie takiej,
która jest wykonywana w kad niedziel o godzinie 13:00 przez 3 godziny. Ta linia bazowa
wyganie po 30 dniach, rozpocznie si 2008-05-31, a ostatni raz wykona si w ostatni niedziel
przed 2008-12-31.

BEGIN
DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE_TEMPLATE (
day_of_week => 'sunday', hour_in_day => 13,
duration => 3, expiration => 30,
start_time => '2008-05-31 17:00:00',
end_time => '2008-12-31 20:00:00',
baseline_name_prefix => 'baseline_Sunday_reports _',
template_name => 'template_Sunday_reports');
END;
/

Szablony linii bazowych AWR

Szablony linii bazowych AWR s tworzone dla powtórzeniowych linii bazowych. Szablony te
s wykorzystywane za kadym razem, kiedy uruchamiana jest zaplanowana linia bazowa. Sza-
blony mona przeglda w OEM, gdzie znajduj si róne informacje na temat stworzonych
powtórzeniowych linii bazowych.

Szablony linii bazowych AWR i sowniki danych

Informacje na temat szablonów linii bazowych s dostpne w widoku danych sownikowych
DBA_HIST_BASELINE_TEMPLATE. Oto przykad wykorzystania wspomnianego widoku:

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

71

SQL> select template_name, template_type from dba_hist_baseline_template;
TEMPLATE_NAME TEMPLATE_
------------------------------ ---------
robert_test_002 SINGLE
template_070526 SINGLE
template_Sunday_reports REPEATING
test_repeating REPEATING

Usuwanie szablonów linii bazowych

OEM dostarcza atwego sposobu usuwania szablonów linii bazowych. Na stronie domowej OEM
Database, w zakadce Server, naley wybra AWR Baselines. Ze strony AWR Baselines wybie-
ramy link do AWR Baseline Templates. W kocu na stronie AWR Baseline Templates widzimy
status i konfiguracj istniejcych szablonów linii bazowych i moemy je usun .

Rczne usuwanie istniejcych szablonów linii bazowych odbywa si z wykorzystaniem proce-
dury PL/SQL

dbms_workload_repository.drop_baseline_template

, jak pokazano poniej:

BEGIN
DBMS_WORKLOAD_REPOSITORY.DROP_BASELINE_TEMPLATE (
template_name => 'template_Sunday_reports');
END;
/

Adaptacyjne progi metryk

Ustalanie progów alarmowych w OEM odbywa si troch na chybi trafi. Metryki wydajnoci
mog by trudne do zdefiniowania i róni si w zalenoci od obcienia. W przypadku nowych
baz danych ustalenie progów jest podwójnie utrudnione, gdy nie dysponujemy adn histo-
ryczn informacj, na której mona si oprze . Dla systemów posiadajcych histori obcie-
nia linie bazowe mog posuy takiemu zdefiniowaniu metryk, aby dokadniej odzwierciedlay
one stan systemu.

W Oracle Database 11g adaptacyjne progi metryk (adaptive metric threshold) pozwalaj wznie
si ponad to, poniewa automatycznie ustal progi, uywajc do tego linii bazowych AWR.
OEM uatwia take zaaplikowanie adaptacyjnych progów — wystarczajce jest wykonanie
zaledwie kilku klikni . Kolejn korzyci pync z uywania adaptacyjnych progów metryk
jest to, e wraz ze zmian obcienia systemu progi alarmowe ewoluuj w celu odzwierciedlenia
biecego stanu naszej bazy danych.

Na stronie OEM Baseline Metric Thresholds (link dostpny jest na stronie AWR Baselines omó-
wionej w poprzednim punkcie ksiki) moemy zleci Oracle wykonanie szybkiej konfigura-
cji progów. Bazujc na rodzaju obcienia najczciej wystpujcego w naszym systemie (sys-
tem przetwarzania transakcyjnego OLTP, hurtownia danych lub system zmiennego obcienia),
OEM zdefiniuje za nas progi metryk. Raz ustalone pocztkowe progi mona edytowa wedug
potrzeb z poziomu strony Basic Metric Thresholds.

Progi generowane automatycznie przystosuj si do danego obcienia systemu, tak jak wska-
zuj linie bazowe wykorzystane do ustalenia tych progów. Zatem jeli obcienie raportowa-
niem wzrasta wieczorami, kiedy zaledwie kilku uytkowników online korzysta z bazy, warto

background image

72

Oracle Database 11g. Nowe moliwoci

metryki aktywnych sesji bdzie prawdopodobnie nisza pod koniec ni w cigu dnia. Wraz
ze zmian w czasie przesuwnej linii bazowej AWR progi alarmowe dowolnej z metryk adapta-
cyjnych mog ulec zmianie. Na stronie OEM Baseline Metric Thresholds mona sprawdzi , czy
dana metryka jest metryk adaptacyjn.

AutoTask — planowanie
zautomatyzowanych zada utrzymania

System Oracle Database 10g wprowadzi nowe zautomatyzowane zadania utrzymania, takie
jak automatyczne zbieranie statystyk. Oracle Database 11g dodaje do infrastruktury Oracle nowy
komponent zwany AutoTask. Jego zadaniem jest dostarczenie centralnego komponentu odpo-
wiedzialnego za zarzdzanie zaplanowanymi zadaniami utrzymania. W poniszym punkcie przyj-
rzymy si architekturze AutoTask, widokom danych sownikowych oraz zarzdzaniu AutoTask
rcznie i poprzez OEM. Na koniec przyjrzymy si oknom utrzymania AutoTask.

Architektura AutoTask

AutoTask wyrasta z istniejcej architektury Oracle Database 11g. Czciami skadowymi archi-
tektury AutoTask s:



AutoTask Backgroud Process (ABP). Ten proces ta jest tworzony przez MMON.
Jest on odpowiedzialny za zarzdzanie cechami AutoTask, koordynuje klientów (client)
oraz planist (scheduler) AutoTask, a take utrzymuje histori zwizan z AutoTask,
któr mona obejrze w widoku DBA_AUTOTASK_TASK.



AutoTask Clients. S to automatyczne zadania utrzymania planowane przez AutoTask.
Oracle Database 11g zawiera klienty do zbierania statystyk, klienty Segment Advisor
oraz klienty Automatic SQL Tuning Advisor.



AutoTask Maintenance Windows. Róne okna utrzymania istniej dla rónych dni
tygodnia. Mog one by modyfikowane zgodnie z potrzebami.



Resource Manager. Przygotowany plan zasobów ma za zadanie ogranicza ilo
zasobów konsumowanych przez AutoTask. Plan ten moe by modyfikowany wedug
potrzeb.



OEM. Pozwala zarzdza czasem rozpoczcia i trwania rónych okien utrzymania
AutoTask oraz dodawa i usuwa zadania utrzymania. OEM mona take wykorzysta
do uaktywniania i dezaktywowania zada utrzymania.



Scheduler. Planista. Operacje AutoTask polegaj w znacznej mierze na planicie.
Architektura AutoTask wykorzystuje okna i infrastruktur planisty do uruchamiania
zada AutoTask.

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

73

Widoki danych sownikowych dla AutoTask

Dla wsparcia infrastruktury AutoTask zostay stworzone nowe widoki. Stare prace (job) w Oracle
Database 11g zostay usunite z widoków DBA_SCHEDULER_* i przesunite do widoków
DBA_AUTOTASK_* (jak np. SQL Tuning Advisor). Dodano nastpujce widoki zwizane
z AutoTask:



DBA_AUTOTASK_CLIENT — widok ten zawiera list rónych klientów
uruchamianych przez AutoTask. Widok DBA_AUTOTASK_CLIENT posiada
zasób informacji, wczajc w to nazwy rónych zada AutoTask, które maj zosta
uruchomione, statusy tych zada, grupy konsumenckie, do których one nale, i redni
czas wykonania. Kolejne treci dostpne w widoku to: zuycie procesora przez zadanie
w czasie, maksymalny czas trwania klienta, nazwa grupy okien, do której przypisany
jest klient, oraz wiele innych atrybutów klienta. Oto przykad wykorzystania widoku
DBA_AUTOTASK_CLIENT:

SQL> select client_name, status, consumer_group, mean_job_duration
from dba_autotask_client;

CLIENT_NAME STATUS CONSUMER_GROUP
MEAN_JOB_DURATION
--------------------------------- -------- ------------------------------
auto optimizer stats collection ENABLED ORA$AUTOTASK_STATS_GROUP
+000000000 00:04:26.000000000
auto space advisor ENABLED ORA$AUTOTASK_SPACE_GROUP
+000000000 00:00:45.272727272
sql tuning advisor ENABLED ORA$AUTOTASK_SQL_GROUP
+000000000 00:05:53.000000000

W dokumentacji znajdziemy informacj, e kolumna

MEAN_JOB_DURATION zawiera redni,

a nie rodkow warto czasu trwania zadania, jak mogaby sugerowa jej nazwa.



DBA_AUTOTASK_CLIENT_HISTORY — widok, który dostarcza historycznej
reprezentacji uruchomie zdarze klientów AutoTask w ramach okna. Pozwala on
spojrze na historyczn informacj przebiegu kadego klienta AutoTask w oparciu
o dane okno, w którym AutoTask dziaa. Poniej przedstawiamy przykadowe zapytanie
do widoku, sprawdzajce, kiedy dziaa klient zautomatyzowanego zbierania statystyk:

SQL> select client_name, window_name, jobs_created, jobs_started,
jobs_completed
from dba_autotask_client_history
where client_name like '%stats%';

CLIENT_NAME WINDOW_NAME JOBS JOBS JOBS
CREATED STARTED COMPLETED
------------------------------- ---------------- ------- -------- ----------
auto optimizer stats collection THURSDAY_WINDOW 1 1 1
auto optimizer stats collection SUNDAY_WINDOW 3 3 3
auto optimizer stats collection MONDAY_WINDOW 1 1 1
auto optimizer stats collection SATURDAY_WINDOW 2 2 2
auto optimizer stats collection SUNDAY_WINDOW 4 4 4
auto optimizer stats collection TUESDAY_WINDOW 1 1 1

background image

74

Oracle Database 11g. Nowe moliwoci



DBA_AUTOTASK_CLIENT_JOB — dostarcza informacji o aktualnie zdefiniowanych
i wykonywanych pracach AutoTask. Ten widok zazwyczaj jest pusty, chyba e jaka
praca jest w danym momencie w toku.



DBA_AUTOTASK_JOB_HISTORY — widok dostarczajcy informacji na temat
historii wykonania kadego klienta AutoTask.

SQL> select client_name, job_status, job_start_time, job_duration
from dba_autotask_job_history
where client_name like '%stats%' order by job_start_time;
CLIENT_NAME JOB_STATUS JOB_START_TIME
JOB_DURATION
------------------------------- ---------- -----------------------------------
--------------
auto optimizer stats collection SUCCEEDED 18-FEB-07 02.43.45.598298 PM -07:00
+000 00:00:24
auto optimizer stats collection SUCCEEDED 18-FEB-07 06.49.51.326230 PM -07:00
+000 00:02:21
auto optimizer stats collection SUCCEEDED 18-FEB-07 10.59.53.677261 PM -07:00
+000 00:00:55
auto optimizer stats collection SUCCEEDED 23-FEB-07 12.57.25.844519 AM -07:00
+000 00:12:49
auto optimizer stats collection SUCCEEDED 24-FEB-07 06.17.02.045879 PM -07:00
+000 00:13:09
auto optimizer stats collection SUCCEEDED 05-MAR-07 10.00.06.955011 PM -07:00
+000 00:04:32



DBA_AUTOTASK_OPERATION — widok dostarczajcy informacji na temat
atrybutów przypisanych operacjom AutoTask. Przykadowo, praca klienta AutoTask
moe by oznaczona jako

SAFE TO KILL

, jeli moe zosta przerwana w rodku dziaania

bez negatywnych skutków. Przykad takiej pracy pokazany zosta w wydruku poniszego
zapytania, gdzie kolumna

ATTRIBUTES

pracy „automatyczne zbieranie statystyk” jest

oznaczona jako

SAFE TO KILL

:

SQL> select * from dba_autotask_operation
where client_name like '%stats%';

CLIENT_NAME OPERATION_NAME OPE PRIORIT
----------------------------------- ------------------------- --- -------
ATTRIBUTES USE_R STATUS
------------------------------------- ----- --------
auto optimizer stats collection auto optimizer stats job OPT INVALID
ON BY DEFAULT, VOLATILE, SAFE TO KILL FALSE ENABLED



DBA_AUTOTASK_SCHEDULE — dostarcza czasy rozpoczcia i trwania kadego
z okien AutoTask.



DBA_AUTOTASK_TASK — ten widok dostarcza danych na temat kadego
indywidualnego zadania AutoTask. Oferuje zasób informacji od statystyk ostatniego
wykonania danego zadania, do oszacowanych statystyk jego kolejnego wykonania.

SQL> select client_name, task_name, task_target_type
from dba_autotask_task;
CLIENT_NAME TASK_NAME TASK_TARGET_TYPE
------------------------------- ------------------------- ----------------
auto optimizer stats collection gather_stats_prog System
auto space advisor auto_space_advisor_prog System
sql tuning advisor AUTO_SQL_TUNING_PROG SQL Workload

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

75

Tutaj widzimy przykadowe miejsce, gdzie AutoTask spotyka si z planist. Zwrómy uwag
na kolumn

TASK_NAME w widoku DBA_AUTOTASK_TASK. Wie ona zadanie AutoTask

z programem skadowanym planisty, który to program mona odszuka w widoku DBA_
SCHEDULER_ PROGRAMS, tak jak pokazano poniej:

select program_name
from dba_scheduler_programs
where program_name='GATHER_STATS_PROG';
PROGRAM_NAME
------------------------------
GATHER_STATS_PROG



DBA_AUTOTASK_WINDOW_CLIENTS — widok dostarczajcy informacji
na temat rónych okien powizanych z klientami AutoTask.



DBA_AUTOTASK_WINDOW_HISTORY — widok ten dostarcza informacji
na temat okien AutoTask.

Zarzdzanie zadaniami AutoTask poprzez OEM

OEM oferuje interfejs do zarzdzania zadaniami AutoTask na stronie Scheduler Central. Link
do niej znajduje si na dole strony domowej OEM. Na stronie domowej planisty moemy zoba-
czy zarówno zautomatyzowane zadania utrzymania uruchamiane przez AutoTask, jak i zwy-
czajne prace (job) planisty lub prace Enterprise Managera. Rysunek 2.4 przedstawia przykad
strony OEM Scheduler Central, wywietlajcej zautomatyzowane zadania utrzymania, których
wykonanie zostao zaplanowane.

Rysunek 2.4.

Scheduler Central — strona narzdzia OEM

background image

76

Oracle Database 11g. Nowe moliwoci

Na górze strony OEM znajduj si róne rodzaje dostpnych prac wymienione na licie rozwi-
janej. Kada z pozycji listy jest hiperczem przenoszcym do strony pozwalajcej na dalsze
zarzdzanie tymi rodzajami prac. Przykadowo, moemy wybra Automated Maintenance Tasks,
a OEM wywietli stron pokazan na rysunku 2.5, która pozwala na zarzdzanie zautomatyzo-
wanymi zadaniami utrzymania.

Rysunek 2.5.

Strona OEM Scheduler Central wywietlajca zadania Automated Maintenance Tasks

Na stronie z rysunku 2.5 mona sprawdzi , czy zadania wykonuj si w obrbie ich zaplano-
wanych okien, czy przekraczaj te ramy czasowe. Zwró my uwag na trzy opcje znajdujce si
na górze strony pod nagówkiem Schedulers. Pozwalaj one na zarzdzanie rónymi rodzajami
zaplanowanych zada. Przykadowo, jeli chcemy zarzdza zautomatyzowanymi zadaniami
utrzymania, powinnimy wybra link Automated Maintenance Tasks, a przejdziemy do strony
z rysunku 2.6.

Ze strony z rysunku 2.6 moemy zarzdza zautomatyzowanymi zadaniami utrzymania, klikajc
przycisk Configure umieszczony na górze. Niej na stronie znajdziemy wymienione konkretne
zautomatyzowane zadania utrzymania oraz graficznie przedstawiony plan ich przeszych
i przyszych uruchomie. Moemy klikn na dane zadanie, aby zobaczy szczegóowe zalecenia
dostarczone jako cz frameworku doradcy. Jeli klikniemy w Segment Advisor, zostaniemy
przeniesieni na stron OEM Segment Advisor Recommendations.

Wspomnielimy o dostpnej moliwoci konfiguracji zautomatyzowanych zada utrzymania
poprzez kliknicie w przycisk Configure widoczny na rysunku 2.6. OEM zapewnia opcje uak-
tywnienia lub dezaktywacji zautomatyzowanego zadania utrzymania albo na poziomie global-
nym, albo na poziomach ziarnistoci. Mona uaktywni lub dezaktywowa okrelone zadania
lub ich konkretne zaplanowane uruchomienia. Niektóre zadania posiadaj przycisk Configure,
który pozwala na ich dalsz konfiguracj. Rysunek 2.7 przedstawia przykadow stron OEM
Automated Maintenance Tasks Configuration.

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

77

Rysunek 2.6.

Strona OEM Automated Maintenance Tasks

Rysunek 2.7.

Strona OEM Automated Maintenance Tasks Configuration

background image

78

Oracle Database 11g. Nowe moliwoci

Rczne zarzdzanie zadaniami AutoTask

Oracle Database 10g do administracji nowymi zautomatyzowanymi pracami planisty, takimi
jak standardowo dostpne („z pudeka”) zbieranie statystyk bazodanowych, uywao pakietu

dbms_scheduler

. Wraz z pojawieniem si AutoTask bdziemy uywali nowego pakietu, aby

zarzdza tymi pracami, a mianowicie

dbms_auto_task_admin

. OEM take wykorzystuje ten

pakiet do zarzdzania zautomatyzowanymi pracami.

Podprogramu

dbms_auto_task_admin.disable

bdziemy uywali do dezaktywowania dowolnego

z zada AutoTask. Zwró my uwag, e aden z parametrów nie posiada domylnych wartoci,
dlatego w skadni wywoania naley poda je wszystkie. W poniszym przykadzie wyczymy
automatyczne zbieranie statystyk:

BEGIN
dbms_auto_task_admin.disable(client_name => 'auto optimizer stats collection',
operation => NULL, window_name => NULL);
END;
/

Parametr

window_name

pozwala zdefiniowa konkretne okno, które zamierzamy dezaktywowa

(w przeciwiestwie do dezaktywacji caego zadania). Standardowo mamy siedem okien, kade
na jeden dzie tygodnia. Nosz one nazwy MONDAY_WINDOW, TUESDAY_WINDOW
i tak dalej. Jeli nie yczymy sobie, aby statystyki byy gromadzone w niedziel (bo na przykad
w tym dniu adujemy nowe rekordy do hurtowni danych), jestemy w stanie uniemoliwi wyko-
nanie AutoTask w tym dniu nastpujcym poleceniem:

BEGIN
dbms_auto_task_admin.disable(client_name => 'auto optimizer stats collection',
operation => NULL, window_name => 'SUNDAY_WINDOW');
END;
/

Natomiast aby ponownie umoliwi wykonanie danego zadania, skorzystajmy z podprogramu

dbms_auto_task_admin.enable

. Znowu musimy poda wartoci dla wszystkich parametrów, jak

pokazuje poniszy przykad:

BEGIN
dbms_auto_task_admin.enable(client_name => 'auto optimizer stats collection',
operation => NULL, window_name => NULL);
END;
/

Okna utrzymania AutoTask

Jak wspomniano wczeniej, zadania AutoTask s zaprojektowane tak, aby wykonyway si
podczas trwania okien utrzymania AutoTask. Istnieje siedem domylnych okien, po jednym na
kady dzie tygodnia. Okna dni roboczych (MONDAY_WINDOW, TUESDAY_WINDOW
i tak dalej) trwaj cztery godziny i rozpoczynaj si o godzinie 22 lokalnego czasu. Okna dni
weekendowych trwaj 20 godzin, a ich czas rozpoczcia zaplanowany jest na godzin 6 rano
lokalnego czasu.

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

79

Okna *_WINDOWS zastpuj okna WEEKEND_WINDOW i WEEKNIGHT_WINDOW dostpne
w Oracle Database 10g, jednake oba te okna pozostaj nadal zdefiniowane w Oracle
Database 11g.

Okna s przypisane do planu zasobów, DEFAULT_MAINTENANCE_PLAN, który jest auto-
matycznie uaktywniany podczas otwarcia okien utrzymania. Do planu zasobów DEFAULT_
MAINTENANCE_PLAN przypisanych jest wiele grup konsumenckich oraz róne towarzyszce
zadania, wczajc w to:



ORA$AUTOTASK_SQL_GROUP — do tej grupy konsumenckiej s przypisane
zadania automatycznego strojenia SQL, czyli zadania Automatic SQL Tuning.



ORA$AUTOTASK_SPACE_GROUP — do tej grupy przypisane s zadania Segment
Advisor.



ORA$AUTOTASK_STATS_GROUP — do tej grupy przypisane s zadania
automatycznego zbierania statystyk.

Kada z wymienionych grup kontroluje wykorzystanie zasobów (np. dopuszczalne obcienie
procesora) przez konkretne zadania utrzymania AutoTask.

Zmiany i nowe wasnoci
w zarzdzaniu plikiem parametrów

Firma Oracle wprowadzia kilka zmian w zarzdzaniu plikami parametrów serwera (pliki
SPFILE). Wczamy w to:



obsug bdów odczytu/zapisu do plików SPFILE;



atwiejsze przejcie na uywanie plików SPFILE;



zabezpieczenie przed ustawianiem przez uytkowników nieprawidowych wartoci
w plikach SPFILE.

Przyjrzyjmy si bliej poniszym wasnociom.

Obsuga bdów odczytu/zapisu do SPFILE

W Oracle Database 11g pliki SPFILE s bardziej chronione. Jeli wystpi bd odczytu/zapisu
do pliku SPFILE, Oracle wygeneruje bd w dzienniku alertów, a przysze wpisy do pliku
parametrów zostan zignorowane. W takiej sytuacji moemy optowa za zamkniciem bazy
danych i przywróceniem pliku parametrów. Moemy take utworzy nowy plik parametrów,
korzystajc z nowej opcji

create spfile from memory

(zostanie ona omówiona w kolejnym

punkcie). W kocu, w przypadku wystpienia bdu zwizanego z plikiem SPFILE, moemy
kontynuowa dziaanie bazy danych.

background image

80

Oracle Database 11g. Nowe moliwoci

Prostsze przejcie na wykorzystywanie plików SPFILE

Niestety, zapewne s poród nas tacy, którzy cigle jeszcze nie przeszli na uruchamianie z wyko-
rzystaniem pliku SPFILE. Tworzenie i rozpoczcie uywania tego pliku jest teraz jeszcze
prostsze — moemy teraz uywa nowego polecenia

create spfile from memory

. Polecenie to

zbierze ustawienia z pamici i dokona ich zrzutu do pliku SPFILE. T metod, jeli sobie tego
yczymy, mona take wykorzysta do utworzenia kopii zapasowej pliku SPFILE przy uyciu
biecych ustawie z pamici. Jest to bardzo porczny sposób wykonania kopii zapasowej pliku
SPFILE, zanim dokonamy w nim jakichkolwiek zamian za pomoc polecenia

alter system

.

Standardowo Oracle stworzy plik SPFILE w lokalizacji domylnej, zdefiniowanej w systemie
operacyjnym (czsto jest to ORACLE_HOME/dbs). Moemy jednak wyspecyfikowa miejsce,
gdzie plik SPFILE ma zosta utworzony, definiujc nazw pliku i jego lokalizacj, jak pokazuje
nastpujcy przykad:

Create spfile='/oracle/util/spfilename.sp' from memory;

Zabezpieczenie przed ustawianiem przez uytkowników
nieprawidowych wartoci w plikach SPFILE

W Oracle Database 11g dooono dodatkow walidacj podczas dokonywania zmian w para-
metrach bazy danych. Obecnie w wielu przypadkach, podczas próby zmiany parametru z uy-
ciem niepoprawnej skadni, Oracle pouczy o zastosowaniu nieprawidowej wartoci. Niestety,
nie jest to w Oracle Database 11g do koca spójne, ale dobre na pocztek. Oto przykad:

SQL> alter system set control_management_pack_access = 'Wrong_Value'
scope=spfile;
alter system set control_management_pack_access = 'Wrong_Value' scope=spfile
*
ERROR at line 1:
ORA-00096: invalid value Wrong_Value for parameter
control_management_pack_access, must be from among DIAGNOSTIC+TUNING,
DIAGNOSTIC, NONE

Zmiany i nowe wasnoci
w Resource Managerze

Oracle Database 11g przedstawi szereg nowych wasnoci powizanych z menederem zaso-
bów Resource Manager. W ich skad wliczamy:



zdolno zmierzenia maksymalnej przepustowoci wejcia/wyjcia systemu (kalibracja
wejcia/wyjcia);



domylny plan utrzymania;



wbudowane plany zasobów;

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

81



historie statystyk Resource Managera skadowane w AWR;



nowe dyrektywy planu Resource Managera.

Kalibracja wejcia/wyjcia

Oracle Database Resource Manager posiada now procedur pozwalajc uruchomi testy kali-
bracji wejcia/wyjcia w naszej bazie danych oraz przejrze ich wyniki. Uruchomienie pro-
cedury

dbms_resource_manager.calibrate_IO

wygeneruje obcienie na wszystkich wzach

klastra. Procedura przyjmuje dwa parametry wejciowe i trzy parametry wyjciowe, jak poka-
zano w poniszych tabelach:

Parametr wejcia

Typ

Znaczenie

num_physical_disks

pls_integer

Jest to przybliona liczba dysków fizycznych uywanych przez
baz danych. Domylna warto wynosi 1.

max_latency

pls_integer

Maksymalne opónienie w milisekundach dozwolone dla
da operacji wejcia/wyjcia o rozmiarze równym wartoci

db_block_size

. Domylnie 20.

Parametr wyjcia

Typ

Znaczenie

max_iops

pls_integer

Maksymalna liczba losowo rozdystrybuowanych da operacji
wejcia/wyjcia o rozmiarze

db_block_size

, które system moe

udwign .

max_mbps

pls_integer

Maksymalna liczba megabajtów na sekund, jak system moe
udwign . Obliczenie oparte na losowo rozdystrybuowanych
1-megabajtowych odczytach.

actual_latency

pls_integer

rednie opónienie da wejcia/wyjcia

db_block_size

w tempie MAX_IOPS na ms.

W celu uycia opisanej funkcji naley posugiwa si asynchronicznymi operacjami wejcia/
wyjcia.

Oto przykad uycia procedury

dbms_resource_manager.calibrate_io

:

Declare
v_max_iops PLS_INTEGER:=1;
v_max_mbps PLS_INTEGER:=1;
v_actual_latency PLS_INTEGER:=1;
begin
dbms_resource_manager.calibrate_io(
max_iops=>v_max_iops,
max_mbps=>v_max_mbps,
actual_latency=>v_actual_latency);
dbms_output.put_line('Results follow: ');
dbms_output.put_line('Max IOPS: '||v_max_iops);
dbms_output.put_line('Max MBPS: '||v_max_mbps);
dbms_output.put_line('Actual Latency: '||v_actual_latency);
end;
/

background image

82

Oracle Database 11g. Nowe moliwoci

Status kalibracji (biecej lub historycznej) moemy sprawdzi , odpytujc widok V$IO_
CALIBRATION_STATUS, jak pokazano w nastpujcym przykadzie:

Select status from v$io_calibration_status;
STATUS
-------------
IN PROGRESS

Wyniki kalibracji znajdziemy w tabeli

DBA_RSRC_IO_CALIBRATE

, jak pokazuje poniszy przykad:

select * from dba_rsrc_io_calibrate;
STATUS LATENCY MAX_IOPS MAX_MBPS NUM_DISKS
------------- ---------- ---------- ---------- ----------
CALIBRATION_TIME
---------------------------------------------------------
READY 19 77 6 1
27-MAY-07 09.50.15.421 PM

Domylny plan utrzymania

Tak jak w poprzednich wersjach Oracle, zazwyczaj nie istnieje domylnie aktywny plan utrzy-
mania. Jest jeden wyjtek, o którym naley pamita , a jest on zwizany z planem zasobów
DEFAULT_MAINTENANCE_PLAN, o którym mówilimy wczeniej w tym rozdziale. Kiedy
okno utrzymania planisty zostaje otwarte, a plan jest z nim zwizany (jak podczas trwania okna
utrzymania), wtedy plan powizany z oknem planisty zostaje uaktywniony w systemie.

Jeli nie chcemy, aby planista definiowa plan zasobów, moemy wykorzysta procedur

dbms_

´

scheduler.set_attribute

w celu ustawienia atrybutu

resource_plan

na pusty cig znaków,

co wyczy t wasno . Bdzie trzeba zmodyfikowa wszystkie okna utrzymania w Oracle
Database 11g, aby cakowicie zapobiec ustawieniu planu DEFAULT_MAINTENANCE_PLAN.
Podobnie, jeli chcemy przypisa inny plan zasobów, moemy posuy si t sam metod
(czyli procedur

dbms_scheduler.set_attribute

), aby dla danego harmonogramu uruchomie

(schedule) ustawi atrybut nazwy planu zasobów na now warto .

Arup radzi…

Kalibracja wejcia/wyjcia nie jest niczym nowym w sektorze IT. Istnieje kilkanacie innych technologii,
które j umoliwiaj — poczwszy od rozwiza proponowanych przez dostawców sprztu, a na dostaw-
cach oprogramowania systemów operacyjnych skoczywszy. Nawet Oracle dostarcza narzdzie zwane
Orion, czciowo realizujce ten cel. Zatem jakich dodatkowych funkcji dostarcza narzdzie kalibracji
wejcia/wyjcia w 11g?

Otó jest ich mnóstwo. Po pierwsze, wszystkie pozostae narzdzia jedynie wykonuj wiele operacji
wejcia/wyjcia do dysków i buduj profil oparty o ten transfer. Niektóre id dalej, dostarczajc wicej
ziarnistoci, inteligencji i tym podobnych, jednak w mniejszym lub wikszym stopniu ich dziaanie
pozostaje takie samo. Procedura kalibracji wejcia/wyjcia pakietu

dbms_resource_manager jest

wyjtkowa w sensie wykonywania dziaa identycznych z rutynowymi dziaaniami Oracle Database,
a nie generycznych da wejcia/wyjcia. Dziki temu kalibracja dobrze odzwierciedla faktyczne
wywoania bazy danych Oracle, co ma znaczcy wpyw na wydajno. Gdyby istnia bd w kodzie jdra
Oracle, w obszarze wejcia/wyjcia, to zapewne miaby on wpyw take na kalibracj, co byoby wielce
podane. Oczywicie mówimy tu o podaniu wykrycia efektów istniejcego bdu, a nie o podaniu
jego istnienia samego w sobie.

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

83

Jeli generalnie jestemy za tym, aby plan DEFAULT_MAINTENANCE_PLAN by wykorzy-
stywany przez planist, ale s sytuacje, w których nie chcemy przesania biecego planu zaso-
bów, moemy skonfigurowa parametr bazy danych

resource_manager_plan

z atrybutem

force

zapobiegajcym przesoniciu planu, jak pokazano w przykadzie:

Alter system set resource_manager_plan='force:rf_plan' scope=both;

Aby wybra plan, moemy posuy si procedur PL/SQL

dbms_resource_manager.switch_plan

.

W celu pozbycia si atrybutu

force

wykonujemy polecenie

alter system

, podobnie jak poka-

zano w powyszym przykadzie, tyle e po prostu bez atrybutu

force

. Oto przykad:

Alter system set resource_manager_plan='rf_plan' scope=both;

Wbudowane plany zasobów

Oracle Database 10g dostarcza wbudowanego planu zasobów zwanego SYSTEM_PLAN. Sam
w sobie nie by on zbyt przydatnym planem zasobów. Oracle Database 11g dostarcza nowego
planu MIXED-WORKLOAD PLAN, zapewniajcego zarzdzanie zasobami w mieszanym
rodowisku, w którym wystpuje zarówno przetwarzanie OLTP, jak i DSS (lub prace wsadowe).

Statystyki Resource Managera w AWR

Jedn z ciekawszych wasnoci AWR jest dostarczanie trwaego repozytorium historycznych
statystyk. Poniewa widoki V$ s czyszczone, kiedy zamykamy baz danych, AWR staje si
najlepszym miejscem rzetelnej reprezentacji historycznej wydajnoci naszej bazy danych. Aby
uatwi ledzenie efektywnoci Oracle Database Resource Managera, AWR zawiera teraz widoki
dostarczajce historycznej informacji na temat jego wydajnoci. Nowe widoki to:



DBA_HIST_RSRC_PLAN — zawiera historyczne dane z V$RESOURCE_PLAN.



DBA_HIST_RSRC_CONSUMER_GROUP — zawiera historyczne dane
z V$RESOURCE_ CONSUMER_GROUP.

Kady z tych widoków jest powizany z konkretn migawk AWR i moe zosta zmaterializo-
wany przez OEM. Ponadto w Oracle Database 11g dodano widok V$RSRCMGRMETRIC,
zawierajcy historyczne metryki Resource Managera konsumpcji zasobów przez róne grupy
konsumenckie.

Nowe wasnoci dyrektyw planu Resource Managera

W Oracle Database 11g z dyrektywami planu Resource Managera zostay skojarzone nowe atry-
buty, w skad których wchodz:

 switch_io_megabytes

— definiuje ilo megabajtów wejcia/wyjcia, które mog zosta

skonsumowane przez dan sesj, zanim zostanie podjta akcja dyrektywy. Domylna
warto to

NULL

(nieograniczona).

 switch_io_reqs

— definiuje liczb da wejcia/wyjcia, które mog zosta wywoane

przez dan sesj, zanim zostanie podjta akcja dyrektywy. Domylna warto to

NULL

(nieograniczona).

background image

84

Oracle Database 11g. Nowe moliwoci

 switch_for_call

— zastpuje parametr

switch_time_in_call

, który w Oracle Database

11g jest niezalecany. Jeli warto parametru

switch_for_call

wynosi

TRUE

, a akcja

zostaa podjta jako rezultat jednego z parametrów:

switch_time

,

switch_io_megabytes

lub

switch_io_reqs

, to na kocu gównego wywoania grupa konsumencka zostanie

przywrócona do swojej oryginalnej grupy konsumenckiej.

 mgmt_p1

mgmt_p8

— parametry te zastpuj

CPU_P1

CPU_P8

, które w Oracle Database

11g s niezalecane. Jeli plan posiada parametr

CPU_MTH

ustawiony na warto

EMPHASIS

,

to definiuje procent zuycia procesora konieczny do zaalokowania rónych poziomów
(od 1 do 8). Tylko

MGMT_P1

jest odpowiedni, jeli parametr

CPU_MTH

jest ustawiony

na warto

RATIO

(zazwyczaj uywana w przypadku prostszych planów, z tylko jednym

poziomem alokacji procesora), w którym to przypadku definiuje wag uycia procesora.

Przykad wykorzystania nowych parametrów przedstawiamy poniej:

-- Stwórz plan zasobów
BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();
END;
/
BEGIN
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP (
CONSUMER_GROUP => 'OLTP',
COMMENT => 'OLTP');
END;
/
BEGIN
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP (
CONSUMER_GROUP => 'HIGH_IO_GROUP',
COMMENT => 'OLTP');
END;
/
BEGIN
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP (
CONSUMER_GROUP => 'EXCESSIVE_IO_GROUP',
COMMENT => 'OLTP');
END;
/
BEGIN
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP (
CONSUMER_GROUP => 'REPORTING',
COMMENT => 'RAPORTOWANIE');
END;
/
BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN(
PLAN => 'DAYTIME',
COMMENT => 'Wicej zasobów dla aplikacji OLTP');
END;
/
BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE (
PLAN => 'DAYTIME',
GROUP_OR_SUBPLAN => 'OLTP',
COMMENT => 'grupa OLTP',
MGMT_P1 => 75,
SWITCH_GROUP => 'HIGH_IO_GROUP',

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

85

SWITCH_IO_REQS => 100,
SWITCH_IO_MEGABYTES => 250,
SWITCH_FOR_CALL => TRUE);
END;
/
BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE (
PLAN => 'DAYTIME',
GROUP_OR_SUBPLAN => 'REPORTING',
COMMENT => 'grupa raportowania',
MGMT_P1 => 15,
PARALLEL_DEGREE_LIMIT_P1 => 8,
ACTIVE_SESS_POOL_P1 => 4);
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE (
PLAN => 'DAYTIME',
GROUP_OR_SUBPLAN => 'OTHER_GROUPS',
COMMENT => 'Ta jest wymagana',
MGMT_P1 => 10);
END;
/
BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE (
PLAN => 'DAYTIME',
GROUP_OR_SUBPLAN => 'EXCESSIVE_IO_GROUP',
COMMENT => 'grupa wysokiego wejcia/wyjcia',
MGMT_P1 => 15,
PARALLEL_DEGREE_LIMIT_P1 => 2);
END;
/

Zalenoci drobnoziarniste

Przed Oracle Database 11g zmiany obiektów bazy danych mogy powodowa mylne uznanie
podlegych obiektów za niepoprawne (invalid). Przykadowo, przed 11g, dodanie kolumny do
tabeli mogo skutkowa tym, e zaleny widok zosta uznany za niepoprawny.

Obecnie Oracle Database 11g zapisuje metadane zalenoci na wikszym poziomie ziarnistoci,
wic czynnoci takie jak dodanie lub usunicie z tabeli kolumny niemajcej wpywu na zaleny
obiekt nie spowoduj uznania tego podlegego obiektu za niepoprawny.

Obecnie domylna opcja DDL WAIT

W Oracle Database 10g, domylnie, polecenia DDL nie oczekiway na moliwo zaoenia blo-
kady na obiekcie. Zamiast tego, w razie istnienia ju konfliktowej blokady na obiekcie, próba
wykonania polecenia koczya si niepowodzeniem oraz generowany by bd ORA-00054.
Obecnie, w wersji 11g, w wielu przypadkach Oracle nie tylko nie zwróci bdu, ale wykona
modyfikacj nawet bez potrzeby oczekiwania. Przykadowo, w Oracle Database 11g mona
wykona , co nastpuje:

background image

86

Oracle Database 11g. Nowe moliwoci

Sesja 1:
SQL>insert into test values (1);
1 row created.

Sesja 2:
SQL>alter table test add (id2 number);
Table altered.

Zauwamy, e w powyszym przykadzie sesja nr 2 nie musi czeka na zatwierdzenie sesji nr 1
(np. poleceniem

commit

). Waciwie, gdybymy wykonali polecenie

describe

tabeli

TEST

w sesji

nr 1 nawet przed wykonaniem zatwierdzania, nie tylko widzielibymy now kolumn, ale
równie moglibymy wstawi do tabeli nowy wiersz z przypisan wartoci dla tej kolumny

3

.

Arup radzi…

Opcja DDL WAIT to bardzo przydatna wasno. Ile to razy próbowalimy zmodyfikowa tabel
w rodowisku produkcyjnym i okazywao si, e kto akurat jej uywa? Nasze polecenie

alter table

koczyo si bdem

4

ORA-00054: resource busy and acquire with nowait… Wszystko, czego byo

nam trzeba, to minimalne okno czasowe, w którym moglibymy otrzyma wyczn blokad na obiekcie
i wykona konieczne modyfikacje. Operacje DML mogyby zosta wznowione chwilk pó niej. Niestety!
Nie dao si tego wykona w Oracle Database 10g ani wczeniej.

Musiaem ucieka si do sztuczek polegajcych na umieszczaniu polecenia DDL w ptli i wykonywa-
niu go kilkanacie razy z nadziej, e w kocu uda si zaoy blokad na obiekcie — bardzo brutalne,
ale skuteczne. W Oracle Database 11g nie trzeba si wiele napracowa. W sesji, która bdzie wyda-
wa polecenie DDL, naley najpierw wykona nastpujce polecenie:

alter session set ddl_lock_timeout = 10;

Dziki temu kade kolejne polecenie DDL tej sesji poczeka 10 sekund, zanim zostanie przerwane
(chyba e wykona si pomylnie przed upywem tego czasu). Jeli wydamy polecenie DDL, które nie
bdzie w stanie zaoy wycznej blokady z powodu czynnoci DML trwajcych w innych sesjach,
nie zakoczy si ono bdem ORA-00054, ale raczej zostanie zawieszone (waciwie to poczeka na
moliwo zaoenia blokady). W momencie zaoenia blokady polecenie zakoczy si sukcesem.
Dopiero jeli nie uda si tego zrobi w przecigu 10 sekund, polecenie to zakoczy si bdem
ORA-00054.

Powysza wasno jest niezwykle przydatna w wykonywaniu modyfikacji DDL w systemach o wysokiej
zajtoci.

Moemy take wykorzysta nowy parametr

ddl_lock_timeout

na poziomie sesji, aby wskaza ,

e polecenie DDL powinno poczeka na zwolnienie blokady na obiekcie. Oto przykad:

SQL> alter session set ddl_lock_timeout=30;
Session altered.

3

Poniewa tabela test ma teraz dwie kolumny, próba wykonania kolejnego wstawienia w postaci

insert into

test values (wartosc);

bdzie powodowa bd, zatem najlepszym rozwizaniem w jeszcze trwajcej sesji

nr 1 byoby korzysta ze skadni polecenia jawnie podajcej list kolumn:

insert into test(nazwa_kolumny)

values (wartosc);

przyp. tum.

4

Polska wersja komunikatu bdu to: ORA-00054: zasób zajty, a zlecono uzyskanie z NOWAIT lub upyn
limit czasu — przyp. tum.

background image

Rozdzia 2.

i Nowe wasnoci zarzdzania

87

Nowa funkcjonalno dodawania kolumn

Oracle Database 11g pozwala teraz na dodanie do tabeli kolumny typu

NOT NULL

z domyln

wartoci w jednej szybkiej i prostej operacji. Warto domylna jest pamitana w bazie jako
metadana i w rzeczywistoci nie jest przechowywana fizycznie w tabeli. Dziki temu proces
dodawania kolumny z domyln wartoci jest znacznie szybszy.

Arup radzi…

To bardzo podana wasno z punktu widzenia dostpnoci. Przed Oracle 11g, kiedy dodawalimy
kolumn z ograniczeniem NOT NULL i z domyln wartoci, Oracle w rzeczywistoci umieszcza t
warto w kadym wierszu tabeli z osobna. We wszystkich wierszach, aa! Wyobra my sobie multi-
milionowowierszow tabel, w której dane byy uaktualniane kilkanacie milionów razy. Ile infor-
macji wycofania (undo) i powtórzenia (redo) zostao wygenerowanych! Co wicej, na tabeli na cay
czas trwania operacji zostaa zaoona blokada, aby zapobiec operacjom DDL. Wszytko to powodo-
wao nieze zamieszanie wród uytkowników.

W Oracle 11g polecenie

alter table pracownicy add(stopien varchar2(1) default 'X' not null)

w rzeczywistoci nie powoduje jednoczesnego uaktualnienia wartoci w tabeli i modyfikacji jej struktury.
Mona si o tym przekona, ustawiajc zdarzenie (event) 10046 przed uruchomieniem polecenia DDL
i sprawdzajc plik ladu po wykonaniu:

SQL> alter session set events '10046 trace name context forever, level 16';
Session altered.
SQL> alter table pracownicy add(stopien varchar2(1) default 'X' not null);
Table altered.
SQL> alter session set events '10046 trace name context off';
Session altered.

Teraz naley sprawdzi plik ladu; nie znajdziemy tam odniesienia do wyraenia

update pracownicy…

Takie zachowanie, czyli nie ustawianie fizycznie wartoci kolumny, skutkuje znaczcym zmniejsze-
niem rozmiarów informacji wycofania i powtórzenia oraz koczy si szybciej.

Kolejne przydatne zastosowanie tej wasnoci objawia si podczas dodawania do tabeli kolumny
NOT NULL bez wartoci domylnej.

Sowo na koniec

W niniejszym rozdziale poruszylimy wiele zagadnie. Jak wida , Oracle Database 11g jest
peen porzdnego „towaru”. Myl, e niektórymi z najbardziej przydatnych wasnoci s te
najprostsze, jak opcja DDL WAIT (wida , e brakuje jej skomplikowania, jakim cechuje si
cz innych wasnoci!) lub nowa moliwo dodawania kolumn. Zatwardziali uytkownicy
ASM równie znajd nowe funkcje pomocnymi. Arup take wykona wystrzaow robot w tym
rozdziale, gromkie brawa! Tak czy owak, taki nawa informacji, a to jeszcze nie koniec. Roz-
dzia 3. ju czeka w bloku startowym, a zapewnia jeszcze lepsz zabaw — jestecie w stanie
w to uwierzy ? Trzymajcie si mocno, to bdzie ostra jazda!


Wyszukiwarka

Podobne podstrony:
Oracle Database 10g Nowe mozliwosci
Oracle Database 10g Nowe mozliwosci ordata
Oracle Database 10g Nowe mozliwosci
Oracle Database 10g Nowe mozliwosci 2
Oracle Database 10g Nowe mozliwosci
Oracle Database 10g Nowe mozliwosci ordata
Oracle Database 10g Nowe mozliwosci ordata
Oracle Database 11g i SQL Programowanie or11pr
Oracle Database 11g Podręcznik administratora
Oracle Database 11g dla początkujących

więcej podobnych podstron