IBM DB2 Universal Database Uwagi do wydania Wersja 8.2 pakiet poprawek 4 (odpowiednik wersji 8.1 pakiet poprawek 11) i kolejne pakiety poprawek Przed skorzystaniem z tych informacji i opisywanych przez nie produktów należy przeczytać informacje ogólne, które zawiera rozdział Uwagi. Niniejszy dokument zawiera informacje dotyczące produktów firmy IBM. Są one prezentowane zgodnie z warunkami umowy licencyjnej i są chronione prawem. Informacje zawarte w tej publikacji nie zawierają żadnych gwarancji dotyczących opisywanych produktów i żadnych zapisanych w niej stwierdzeń nie należy interpretować jako takich gwarancji. Publikacje firmy IBM można zamówić poprzez stronę WWW lub u lokalnego przedstawiciela firmy IBM. * Aby zamówić książki poprzez stronę WWW, należy skorzystać ze strony IBM Publications Center pod adresem www.ibm.com/shop/publications/order * Aby znaleźć najbliższego lokalnego przedstawiciela firmy IBM, należy skorzystać z informacji umieszczonych na stronie IBM Directory of Worldwide Contacts pod adresem www.ibm.com/planetwide Aby zamówić książki DB2 w firmie IBM w Stanach Zjednoczonych lub Kanadzie, należy zadzwonić do działu DB2 Marketing and Sales pod numer 1-800-IBM-4YOU (426-4968). Wysłanie informacji do firmy IBM daje jej prawo do ich używania i dystrybucji w dowolny sposób, jaki uzna za właściwy, bez żadnych zobowiązań wobec ich nadawcy. Copyright International Business Machines Corporation 2002, 2005. Wszelkie prawa zastrzeżone Spis treści Informacje na temat Uwag do wydania Informacje o tym wydaniu Nowe funkcje w tym wydaniu Historia poprawek produktu Zagadnienia dotyczące kompatybilności Kompatybilność wsteczna Zgodność produktów Informacje o instalacji, migracji, aktualizacji i konfiguracji Wymagania sprzętowe i programowe Uwagi dotyczące instalowania Nowe opcje Kreatora instalacji DB2 (Windows) Zmiany w Kreatorze instalacji DB2 (Windows) Ograniczenia instalacji z rozszerzonymi zabezpieczeniami (Windows) Ścieżki katalogów nie mogą zawierać znaków odstępu (Linux i UNIX) Wymaganie dotyczące systemu Red Hat Enterprise Linux 4 Poziomy wersji pakietu JDK dla programu DB2 UDB (Linux na platformie IA64 i Linux na platformie POWER) Dekompresowanie obrazów instalacyjnych (Linux i UNIX) Program DB2 UDB nie zezwala na występowanie znaków narodowych w ścieżce instalacyjnej (Windows) Pobieranie i dekompresowanie pakietów poprawek do wielu produktów (Windows) Instalowanie programu DB2 UDB z obrazów instalacyjnych (Linux i UNIX) Instalowanie programu DB2 UDB z obrazów instalacyjnych (Windows) Miejsce na dysku wymagane do zainstalowania programu DB2 UDB przy użyciu pliku odpowiedzi Ograniczenia w zakresie dodawania produktów przy użyciu komendy db2setup (Linux i UNIX) Narzędzia DB2 w sieci WWW Wiązanie pakietów Query Patroller po zastosowaniu pakietów poprawek Instalowanie programu Query Patroller z pakietem poprawek 3 lub nowszym Instalowanie serwera Query Patroller Definiowanie nowej grupy partycji bazy danych w programie Query Patroller Instalowanie zestawu narzędzi klienta Query Patroller Odtwarzanie wersji beta baz danych Instalowanie plików MDAC dla wersji produktu DB2 UDB w języku narodowym Strategia licencji DB2 dla programu DB2 Universal Database Workgroup Server Edition Instalowanie dodatkowych czcionek azjatyckich (Linux) Konfigurowanie Centrum projektowania do korzystania z pakietów Java Development Kits (Linux) Tworzenie identyfikatorów grup i użytkowników w dystrybucjach United Linux 1.0 i SuSE Linux Demon systemu pomocy nie uruchamia się po zainstalowaniu przy użyciu komendy db2_install (UNIX i Linux) Logo Gotowe do współpracy z produktami Tivoli (UNIX) Narzędzie do redukcji obrazów instalacyjnych - db2iprune (Windows) Ograniczenie dotyczące instalowania dokumentacji w języku do produktu DB2 Universal Database, wersja 8 (Windows) Wcześniejsze instalacje aktualizowane do najnowszego poziomu (Windows) Wymagania systemowe dla Dostawcy danych DB2 dla platformy .NET (Windows) Instalowanie klientów DB2, wersja 8, i programu DB2 Connect PE przez użytkownika bez uprawnień administratora (Windows) Uwagi dotyczące migracji Nota techniczna db2updv8 Po uruchomieniu komendy db2updv8 powrót do wersji 8.1 nie jest obsługiwany Migracja tabel EXPLAIN Migracja programu XML Extender z poprzednich wersji Migrowanie produktu DB2 Universal Database w przypadku używania programu DataJoiner lub replikacji Migracja produktu DB2 Universal Database (Windows) Migracja bazy danych programu DB2, wersja 8, z 32-bitowego systemu Windows do 64-bitowego systemu Windows Migracja do programu DB2 UDB wersja 8.2.2 z wersji 7 w środowisku MSCS Migracja bazy danych w systemie HP-UX na platformie IA64 Informacje na temat deinstalacji Deinstalacja programu DB2 UDB w trybie cichym (Windows) Kod produktu umożliwiający usunięcie Centrum informacyjnego DB2 w trybie cichej deinstalacji (Windows) Znane ograniczenia, problemy i ich obejścia Ograniczenia db2look - Ograniczenie automatycznego obszaru tabel w pamięci masowej Funkcja tabelowa SNAP_GET_DB zwraca niekompletne wyniki Instrukcja IMPORT REPLACE ignoruje klauzulę NOT LOGGED INITIALY Pól z danymi typu long i LOB nie można reorganizować w miejscu Działanie blokad w kursorach blokowania może wyglądać na niespójne w aplikacjach klienckich Eksport danych do pliku programu hurtowni danych poprzez ODBC Typy danych nieobsługiwane przez zintegrowany debuger SQL Centrum projektowania Typy strukturalne w Centrum projektowania Ograniczenia Centrum projektowania w 64-bitowych systemach operacyjnych Centrum projektowania (Linux) Debugowanie procedur zapisanych w bazie ze znakami podwójnego cudzysłowu Ustawienia ścieżki umożliwiające kompilowanie procedur w języku Java w Centrum projektowania Ograniczenia Centrum projektowania dotyczące równoczesnego uruchamiania i debugowania procedur w języku Java zapisanych w bazie Metoda DB2SystemMonitor.getServerTimeMicros nie jest obsługiwana Moduł wykonawczy kompilatora IBM XL C/C++ musi być zainstalowany (64-bitowy system Linux na serwerach iSeries i pSeries) Uniwersalny sterownik JDBC typu 2 nie jest obsługiwany w programie DB2 UDB wersja 8.2.2 (Linux AMD64) Kursory w aplikacjach PHP Ograniczenie konfiguracyjnego słowa kluczowego ConnectNode CLI/ODBC Ograniczenie funkcji SQLColumns (CLI) Ograniczenia opcji wiązania dla pakietów interfejsu CLI Ograniczenia modułu CLI LOAD Brak obsługi tworzenia bazy danych katalogu narzędzi (Linux dla procesorów AMD64) Brak obsługi tworzenia bazy danych katalogu narzędzi w systemie AIX, HP-UX i w Środowisku Operacyjnym Solaris Ograniczenia dotyczące pamięci w programach DB2 UDB Express i DB2 Workgroup Server Edition, wersja 8.2 Planowanie cyklicznego uruchamiania procesu w hurtowni danych Ograniczenia obsługi architektury SNA w wersji 8 Problem i ograniczenie związane z modułem dodatkowym zabezpieczeń dla klientów DB2 UDB (Windows) Błędy podczas raportowania pomyślnego logowania w czasie próby połączenia (AIX) Dwuczęściowe identyfikatory użytkownika nie są obsługiwane (Windows ME) Strona Kolumny w oknach ładowania i importu nie obsługuje znaków DBCS w plikach IXF Narzędzia interfejsu GUI dla systemu operacyjnego Linux na platformie AMD64 Minimalne wymagania dotyczące parametrów ekranu dla narzędzi graficznych Niepoprawne wyświetlanie znaków z zestawu GB18030 na pasku tytułu okna Tabele Centrum katalogu informacyjnego nie powinny być partycjonowane Ograniczenia programu Query Patroller z wyłączonym parametrem DYN_QUERY_MGMT Dla tabel wynikowych programu Query Patroller wykorzystywany jest teraz schemat DB2QPRT Ograniczenia dotyczące indykatora poprawności Znane problemy i ich obejścia Eksport do pliku IXF z indeksami dla kolumn, których nazwy zawierają znaki - i + Błąd CLI0116E lub SQL0428N podczas wywoływania funkcji API db2ReadLog Działanie komendy "db2gcf -k" kończy się niepowodzeniem w programie DB2 UDB Workgroup Server Edition Błąd SQL1224 z opakowania DRDA (AIX) Klawisze skrótu nie działają w programie Microsoft Visual Studio .NET Framework 1.1 Ustawienia narodowe dla języka chińskiego uproszczonego (AIX) Ustawienia narodowe dla języka chińskiego uproszczonego (Red Hat Linux) Niezgodność z programem Merant Driver Manager (UNIX) System NFS, raport APAR IY32512 - niedostępne wątki (AIX) Błąd opcji prekompilatora SQLFLAG(STD) Podczas korzystania z opcji sysplex w programie DB2 Connect zestawianie połączeń musi być włączone Doradca DB2 Connect Custom Advisor Tworzenie bazy danych katalogu narzędzi kończy się niepowodzeniem (HP-UX) Wyświetlanie znaków hinduskich w narzędziach graficznych DB2 Narzędzia graficzne nie są obsługiwane na serwerach zSeries (Linux) Funkcja wyszukiwania w Centrum informacyjnym DB2 wymaga użycia cudzysłowów dla terminów zawierających cyfry Podczas importowania plików języka znaczników nie jest generowany plik protokołu Centrum katalogu informacyjnego Wiązanie pakietów Query Patroller Niedostępność portów w programie Query Patroller (Windows) Bezpieczne środowiska (Windows) Zmienione nazwy przykładowych programów XML Extender Dekomponowanie dokumentów zawierających nieunikalne atrybuty i nazwy elementów w programie XML Extender Różnice między protokołami SNA i TCP/IP podczas korzystania z programu DB2 Connect Aktualizacje dokumentacji Podręcznik Administration Guide: Implementation Konfigurowanie automatycznego przekierowywania klienta (DB2_MAX_CLIENT_CONNRETRIES i DB2_CONNRETRIES_INTERVAL) Opis zmiennej rejestru DB2TIMEOUT Katalogi tworzone podczas tworzenia przestrzeni dyskowej obszaru tabel Automatyczne wykorzystanie pamięci Definiowanie kolumny generowanej w istniejącej tabeli Zagregowane zmienne rejestru Zagadnienia dotyczące uwierzytelniania zdalnych klientów Obsługa bezpośredniego we/wy (DIO) i współbieżnego we/wy (CIO) Technologia dystrybucji i automatyczne przekierowanie klientów Uwagi dotyczące automatycznego przekierowywania klienta w celu wpisania go do katalogu na serwerze DB2 Connect Obsługa lokalnych kont systemowych (Windows) Obsługa dwuczęściowych identyfikatorów użytkowników Szczegóły dotyczące uwierzytelniania Kerberos Dodatkowe informacje na temat obsługi protokołu Kerberos Podręcznik Administration Guide: Performance Porównanie zmiennej rejestru DB2_FORCE_FCM_BP w środowisku 32-bitowym i 64-bitowym Komenda RUNSTATS jest zalecana po utworzeniu tabeli Nowy kod przyczyny dla komunikatu o błędzie SQL1169N Strategie optymalizacji dla tabel MDC Objaśnienie do opisu parametrów konfiguracji NEWLOGPATH, MIRRORPATH i OVERFLOWLOGPATH Wartość domyślna zmiennej DB2_COLLECT_TS_REC_INFO Program zarządzający Wybór metody reorganizacji tabel Obsługa dużych stron w pamięci FCM (AIX 5L, wersja 64-bitowa) Zmienna rejestru DB2_RESOURCE_POLICY przyjmuje teraz nowy element Nowe systemowe zmienne środowiskowe (system Linux) Nowa zmienna komunikacyjna rejestru Nowa zmienna wydajności Zmienne kompilatora języka SQL Aktualizacje parametrów konfiguracyjnych Plik parametrów konfiguracyjnych bazy danych - SQLDBCONF Zmiana domyślnej wartości zmiennej DB2_HASH_JOIN Zmienna rejestru DB2NTNOCACHE jest nieaktualna Tabele wyjaśniania i organizacja informacji wyjaśniania Wytyczne dotyczące przechwytywania informacji wyjaśniania Dodatkowe kody powrotu funkcji API db2CfgGet dla parametru collate_info Automatyczne ustawianie domyślnej wielkości preselekcji i aktualizacji Podręcznik Administration Guide: Planning Tabele grupowane zakresowo Budowa obszaru tabel katalogu Obsługiwane kody terytorium i strony kodowe Obsługa funkcji XA w programie DB2 Universal Database Zaktualizowane wartości TPM i tp_mon_name dla formatów łańcuchów xa_open Aktywacja tabel konwersji dla stron kodowych 923 i 924 Pliki tabel konwersji dla stron kodowych z obsługą symbolu euro Podręcznik Administrative API Reference Wyjaśnienie dotyczące struktury zapisu w dzienniku Parametr oBackupsize w interfejsie API db2backup Obsługa opcji SYNCPOINT Nowe pole w strukturze SQLEDBDESC Dodanie nowego pola w strukturze SQLB-TBSPQRY-DATA Podręcznik Application Development Guide: Building and Running Applications Przykłady rekonfiguracji dynamicznej (AIX) Narzędzia programistyczne obsługiwane w systemie Linux Dostosowywanie opcji prekompilacji i wiązania dla procedur SQL Wymagana opcja kompilatora C/C++ (Linux na 64-bitowych procesorach POWER) Komenda kompilacji i konsolidacji dla procedur Micro Focus COBOL zapisanych w bazie (HP-UX) Najniższa obsługiwana wersja kompilatora Micro Focus COBOL (HP-UX) Ustawianie zmiennych środowiskowych dla procedur języka Micro Focus COBOL zapisanych w bazie (system Windows) Podręcznik Application Development Guide: Call Level Interface (CLI) Parametr konfiguracyjny Trusted_Connection interfejsu CLI/ODBC Aktualizacja tabeli diagnostycznej dla funkcji SQLDescribeParam (CLI) Asynchroniczne wykonywanie funkcji interfejsu CLI Atrybut połączenia SQL_ATTR_PING_DB Funkcja SQLBindParameter (CLI) Funkcja SQLMoreResults (CLI) Dodatkowe atrybuty środowiska Wymagania dotyczące dynamicznych kursorów przewijalnych Parametr konfiguracyjny RetCatalogAsCurrServer interfejsu CLI/ODBC Parametr konfiguracyjny ReceiveTimeout interfejsu CLI/ODBC Atrybut połączenia SQL_ATTR_RECEIVE_TIMEOUT Parametr konfiguracyjny Reopt interfejsu CLI/ODBC Instrukcja SQL_ATTR_REOPT i atrybut połączenia Parametr konfiguracyjny CurrentPackageSet interfejsu CLI/ODBC Atrybut połączenia SQL_ATTR_CURRENT_PACKAGE_SET Parametr konfiguracyjny MapBigintCDefault interfejsu CLI/ODBC Parametr konfiguracyjny DescribeOutputLevel interfejsu CLI/ODBC Podręcznik Application Development Guide: Programming Client Applications Połączenie sterownika uniwersalnego JDBC DB2 typu 4 z programem DB2 for VM/VSE nie jest obsługiwane Koncentrator połączeń sterownika uniwersalnego JDBC DB2 i równoważenie obciążeń sysplex Parametr konfiguracyjny OleDbReportIsLongForLongTypes interfejsu CLI/ODBC Parametr konfiguracyjny CLI/ODBC OleDbSQLColumnsSortByOrdinal Grupa właściwości DB2 Data Source dla dostawcy IBM DB2 OLE DB Niepoprawna składnia adresu URL w diagramie składni programu DB2Binder Przekierowanie klientów sterownika uniwersalnego JDBC DB2 Dostosowywanie właściwości konfiguracyjnych sterownika uniwersalnego JDBC DB2 Usunięto funkcję db2secFreeToken Niestandardowe dodatkowe moduły zabezpieczeń należy wdrażać uważnie Moduły dodatkowe zabezpieczeń Funkcje API modułów dodatkowych zabezpieczeń Konwencje nazewnictwa w dodatkowych modułach zabezpieczeń (systemy Linux i UNIX) Ograniczenia dotyczące bibliotek dodatkowych modułów zabezpieczeń Obsługa modułu dodatkowego GSS-API dla sterownika uniwersalnego JDBC DB2 Dodatkowe moduły zabezpieczeń GSS-API nie obsługują uwierzytelniania wieloprzepływowego Dodatkowe moduły zabezpieczeń GSS-API nie obsługują szyfrowania i podpisywania komunikatów Niejawne kończenie transakcji w aplikacjach autonomicznych Obsługa transakcji rozproszonych Podręcznik Application Development Guide: Programming Server Applications Procedury środowiska wykonawczego CLR (Common language runtime) zwracające wiele tabel wynikowych Tryby sterowania wykonywaniem procedur środowiska wykonawczego CLR (Common language runtime) (klauzula EXECUTION CONTROL) Maksymalna precyzja dziesiętna i skala w procedurach CLR Podręcznik Command Reference Wyjaśnienie dotyczące parametru db2licm Komenda RESTORE DATABASE - przykład dla TSM Przykłady użycia komendy db2demigdbd Poprawka informacji o użyciu komendy db2ckbkp Konwencje nazewnictwa dla obiektów baz danych i identyfikatorów Komenda REORGCHK Komenda REORG INDEXES/TABLE Komenda BACKUP DATABASE Przeprowadzanie migracji baz danych db2inidb - komenda inicjująca lustrzaną bazę danych Uwaga dotycząca stosowania komendy db2iupdt Nowy parametr komendy db2sqljcustomize Nowy parametr komendy sqlj Aktualizacje komendy monitorowania i rozwiązywania problemów (db2pd) Aktualizacja komendy SET CLIENT Aktualizacja komendy PRECOMPILE Aktualizacja komendy UPDATE HISTORY FILE Aktualizacje komend EXPORT i IMPORT Aktualizacja komendy LOAD Modyfikatory typu pliku dla modułu ładującego Modyfikatory typu pliku dla modułu importującego Komenda ATTACH Komenda RECOVER DATABASE Komenda UPDATE HISTORY FILE Aktualizacja bazy danych w wersji 8 do bieżącego poziomu - komenda db2updv8 Formatowanie plików pułapek (Windows) Przenoszenie danych Pliki powiązań używane przez moduł eksportujący, importujący i ładujący Importowanie z buforowanymi wstawieniami Utrata informacji indeksu w przypadku użycia modułu importującego Podręcznik Data Recovery and High Availability Guide Przegląd zagadnień dotyczących tworzenia kopii zapasowej Korzystanie z narzędzia do tworzenia kopii zapasowych Przegląd zagadnień dotyczących usuwania skutków awarii w środowiskach o wysokiej dostępności Obsługa tworzenia i odtwarzania kopii zapasowych na różnych platformach Tworzenie kopii zapasowej na taśmie (system Linux) Tivoli Storage Manager Ograniczenia wartości dla parametrów lokalnego hosta HADR i usług lokalnych Dodatkowe wymagania systemowe mechanizmu usuwania skutków awarii w środowiskach o wysokiej dostępności Operacje niereplikowane i mechanizm usuwania skutków awarii w środowiskach o wysokiej dostępności Mechanizm HADR nie obsługuje surowych operacji we/wy dla protokołów Porównanie monitora uszkodzeń i monitora poprawności Wyłączanie monitorowania uszkodzeń Centrum hurtowni danych Konfigurowanie środowiska klienta hurtowni danych w systemach operacyjnych AIX i Solaris Aktualizowanie konfiguracji menedżera bazy danych przed zainstalowaniem transformatorów hurtowni Zmienna środowiskowa VW_NETRC została dodana do Centrum hurtowni danych (UNIX) Centrum hurtowni danych DB2 wymaga bazy danych w formacie Unicode Definiowanie źródeł i celów hurtowni danych DB2 Aktualizacje kursu Business Intelligence Tutorial Ustawianie ograniczenia dla usuwania w plikach protokołów hurtowni danych Obsługa ładowania ze źródła typu CURSOR w Centrum hurtowni danych Migracja sterującej bazy danych hurtowni Unicode i jej ograniczenia Zmiana formatu daty dla kolumny Zmodyfikowano Definiowanie transformatorów statystycznych w Centrum hurtowni danych Przygotowanie do instalacji agentów hurtowni danych Wymagania wstępne dla agenta hurtowni danych iSeries Dostawca danych DB2 dla platformy .NET Obsługa współbieżnych aktywnych obiektów czytających dane Właściwość DB2Connection.ConnectionString DB2 Connect Zmiana negocjacji typu uwierzytelniania przez bramę Nowy scenariusz zabezpieczeń Poprawki do diagramów Centrum projektowania Centrum projektowania DB2, wersja 8.2, wymaga poziomu 9.2.9 produktu Distributed Debugger Ograniczenie długości w oknie Zmień zakres zmiennej Centrum projektowania DB2 Ograniczenia dotyczące sterowników DB2 Universal typu 2 i 4 Podręcznik graficznych narzędzi administracyjnych i programistycznych Modyfikowanie znaku kończącego instrukcję Niedostępny status bazy danych w panelu szczegółów bazy danych w Centrum sterownia Generowanie domyślnej opcji zapisu danych wyjściowych w tabeli (Tworzenie monitora zdarzeń) Centrum katalogu informacyjnego Przykładowy skrypt konfiguracyjny Konfiguracja serwera WWW Podręcznik Instalowanie i konfigurowanie - suplement Plik konfiguracyjny węzła DB2 - db2nodes.cfg Zmienna rejestru DB2NOLIOAIO zastąpiła zmienną DB2LINUXAIO (Linux) Serwer aplikacji dla programu DB2 Obsługa wbudowanego serwera aplikacji DB2 Wdrażanie programu Narzędzia DB2 w sieci WWW Bezpośrednie we/wy w urządzeniach blokowych (system Linux) Demon Centrum informacyjnego DB2 (systemy Linux i UNIX) Parametry pliku odpowiedzi i pliki przykładowe Kody błędów podczas instalacji z plikiem odpowiedzi Konta użytkowników wymagane do instalacji serwerów DB2 (system Windows) Obsługa asynchronicznych operacji we/wy (system Linux) Zmodyfikowana komenda db2ln do tworzenia 64-bitowych powiązań bibliotek w programie DB2 UDB (systemy Linux i UNIX) Query Patroller Zmiana sposobu obsługi klas zapytań Aktualizacje definicji dla stanów zarządzanych zapytań Tworzenie tabel wyjaśniania przed uruchomieniem generatora danych historycznych dla programu Query Patroller Sprawdzanie plików protokołu programu Query Patroller dla Analizy historycznej Nieprawidłowe zamknięcie generatora danych historycznych Dynamiczne aktualizacje klasy zapytań Działanie zagnieżdżonych zapytań Ograniczenia związane z typem instrukcji SQL Ograniczenia rozdzielczości podczas korzystania z klienta Terminal Services Client Obsługa nowych grup w zakresie wprowadzania zapytań Ograniczenia dotyczące harmonogramów w programie Query Patroller Użycie komendy RUN IN BACKGROUND QUERY wymaga autoryzacji Tworzenie aliasu dla tabeli wynikowej Identyfikator użytkownika chronionego wymaga dostępu do zapisu do pliku qpdiag.log i ścieżki Podręczniki Krótkie wprowadzenie Aktualizacja Centrum informacyjnego DB2 zainstalowanego na danym komputerze lub serwerze intranetowym Wymagania dotyczące pamięci Wyjaśnienie zagadnienia obsługi klientów przez program DB2 UDB Modyfikowanie parametrów jądra (Linux) Modyfikowanie parametrów jądra (Środowisko Operacyjne Solaris) Podręcznik DB2 Universal Database Express Edition Version 8.2 Basics jest dostępny do pobrania Sprawdzanie gotowości bazy danych do migracji Certyfikacja Common Criteria dla programu DB2 UDB Spatial Extender Weryfikacja instalacji programu Spatial Extender Podręcznik SQL Administrative Routines Błąd w dokumentacji nazwy kolumny tabeli wynikowej funkcji tabelowej SNAP_GET_DYN_SQL Funkcje tabelowe monitora obrazów stanu mają widoki charakterystyczne dla wersji Procedura GET_DB_CONFIG wymaga, by rozmiar strony tymczasowego obszaru tabel użytkownika wynosił co najmniej 8 kB Podręcznik SQL Reference Autoryzacje instrukcji CREATE PROCEDURE (SQL) EXPLAIN_DIAGNOSTIC: nowa tabela wyjaśniania EXPLAIN_DIAGNOSTIC_DATA: nowa tabela wyjaśniania Schemat używany przez narzędzie Explain Reprezentacje wartości daty-godziny w postaci łańcuchów Podręcznik System Monitor Guide and Reference Indykatory poprawności - podsumowanie Wyświetlanie listy rozsprzęgniętych aplikacji bez włączonego koncentratora połączeń Monitorowanie postępu procesu wycofywania zmian w czasie wykonywania XML Extender Zmiana parametrów procedur zapisanych w bazie dxxGenXML, dxxGenXMLClob, dxxRetrieveXML i dxxRetrieveXMLClob Dekomponowanie dokumentów XML na dane programu DB2 UDB Dekompozycja dokumentów większych niż 1 MB Konfigurowanie funkcji UDF MQ XML z modułem XML Extender Zmienna środowiskowa modułu XML Extender DB2DXX_MIN_TMPFILE_SIZE Zmiana definicji typu definiowanego przez użytkownika DB2XML.XMLVarchar Dodatek A. Struktura katalogów na dysku CD-ROM z pakietem poprawek do programu DB2 UDB Dodatek B. Kontakt z firmą IBM B.1 Informacje o produkcie Dodatek C. Uwagi C.1 Znaki towarowe Informacje na temat Uwag do wydania Zawartość Niniejsze Uwagi do wydania zawierają najnowsze informacje na temat następujących produktów DB2 dostępnych w wersji 8: DB2(R) Universal Database Personal Edition DB2(R) Universal Database(TM) Workgroup Server Edition DB2(R) Universal Database(TM) Workgroup Server Unlimited Edition DB2 Universal Database(TM) Enterprise Server Edition DB2 Personal Developer's Edition DB2 Universal Developer's Edition DB2 Warehouse Manager DB2 Warehouse Manager Sourcing Agent for z/OS(R) DB2 Data Links Manager DB2 Net Search Extender DB2 Spatial Extender DB2 Intelligent Miner(TM) Scoring DB2 Intelligent Miner(TM) Modeling DB2 Intelligent Miner(TM) Visualization DB2 Connect(TM) Application Server Edition DB2 Connect(TM) Enterprise Edition DB2 Connect(TM) Personal Edition DB2 Connect Unlimited Edition DB2 Query Patroller(TM) Tematy w Centrum informacyjnym DB2 (http://publib.boulder.ibm.com/infocenter/db2help/) są aktualizowane regularnie, ale niekoniecznie w każdym wydaniu. Z każdym wydaniem dostarczane są uwagi do wydania, a więc ważne informacje można przekazywać właśnie w nich. Krytyczne informacje są umieszczane w uwagach do wydania, gdy: * Tematy w Centrum informacyjnym DB2 nie zostały zaktualizowane dla odpowiedniego wydania. * Ważne informacje zostały wykryte na późnym etapie cyklu produkcyjnego, po aktualizacji Centrum informacyjnego DB2. Podstawowym źródłem informacji powinno być Centrum informacyjne DB2. W uwagach do wydania należy szukać najświeższych informacji, które mogą dotyczyć konkretnego wydania produktu DB2. Trzeba też przejrzeć plik readme pakietu poprawek pod kątem konkretnych zagadnień związanych z instalowaniem produktu DB2. Dodatkowe informacje na temat Centrum informacyjnego DB2 można znaleźć w temacie Dodatkowe zasoby w tej sekcji. Informacje o wersji Najbardziej aktualna dokumentacja jest dostępna w najnowszej wersji Centrum informacyjnego DB2, do którego można uzyskać dostęp za pomocą przeglądarki. Adres URL, z którego można pobrać najnowszą dokumentację, jest podany w sekcji Dodatkowe zasoby. Znaczniki zmian w Uwagach do wydania programu DB2 UDB wskazują tekst, który został dodany lub zmieniony. Pionowa kreska (|) oznacza informacje, które zostały dodane lub zmienione w bieżącym wydaniu. Ścieżki do katalogów W systemach Windows nazwy katalogów w ścieżce są oddzielone ukośnikami odwrotnymi (\). W systemach Linux i UNIX jako ograniczniki używane są ukośniki (/). Ta konwencja jest używana, gdy podane w Uwagach do wydania informacje są związane ze specyficzną platformą. Jeśli jednak informacje dotyczą wszystkich platform, podczas wprowadzania ścieżki należy użyć odpowiedniej konwencji, która może różnić się od konwencji w przykładowej nazwie. Jeśli, na przykład, w zamieszczonej w Uwagach do wydania ścieżce występują ukośniki (/), użytkownicy systemu Windows muszą wprowadzić tę ścieżkę, zastępując je ukośnikami odwrotnymi (\). I odwrotnie, jeśli w przedstawionej w Uwagach do wydania ścieżce występują ukośniki odwrotne (\), użytkownicy systemów Linux oraz UNIX muszą wprowadzić tę ścieżkę z ukośnikami (/). DB2 Information Integrator Aby uzyskać informacje o znanych kwestiach dotyczących programu DB2 Information Integrator i związanych z nim technologiach, w tym informacje o systemach stowarzyszonych, replikacji kolejkowej, publikowaniu zdarzeń, usługach WWW i zarządzaniu metadanymi, należy przeczytać Uwagi do wydania dla programu DB2 Information Integrator. Uwagi do wydania dla programu DB2 Information Integrator są dostępne w serwisie wsparcia technicznego dla użytkowników programu DB2 Information Integrator pod adresem http://www.ibm.com/software/data/integration/db2ii/support.html Dodatkowe zasoby Najnowsza wersja dokumentacji DB2 jest zawsze udostępniana w Centrum informacyjnym DB2 pod adresem http://publib.boulder.ibm.com/infocenter/db2help/ wraz z wszelkimi najnowszymi zmianami zawartymi w tych Uwagach do wydania. Centrum informacyjne DB2 można również zainstalować na własnym komputerze lub serwerze intranetowym, korzystając dysku CD z dokumentacją HTML dla DB2 dostarczanym wraz z produktem DB2. Po zainstalowaniu Centrum informacyjnego DB2 należy zastosować najnowszy pakiet poprawek dostępny w serwisie wsparcia DB2 pod adresem http://www.ibm.com/software/data/db2/udb/support/downloadv8_docfix.html. Jednak pakiety poprawek dokumentacji DB2 są wydawane rzadko i mogą nie odzwierciedlać bieżącego poziomu dokumentacji DB2. Podręczniki produktu DB2 w formacie PDF są również rzadko aktualizowane i mogą nie odzwierciedlać najnowszego dostępnego poziomu. W serwisie WWW wsparcia technicznego programu DB2 UDB publikowane są noty techniczne i streszczenia opisujące zmiany w dokumentacji oraz znane ograniczenia i metody ich obejścia, odkryte po utworzeniu tego dokumentu. Serwis WWW działu wsparcia technicznego programu DB2 UDB znajduje się pod adresem http://www.ibm.com/software/data/db2/udb/support.html. Informacje na temat przeprowadzania migracji produktów DB2 są dostępne pod adresem http://www-1.ibm.com/support/docview.wss?rs=71&uid=swg21200005 (portal migracji DB2). Więcej informacji na temat Centrum projektowania DB2 i programu DB2 for z/OS można znaleźć pod adresem http://www.ibm.com/software/data/db2/os390/spb/. Podręcznik Data Links Manager Administration Guide and Reference w formacie PDF został zaktualizowany (numer podręcznika SC27-1221-01) równolegle z wydaniem pakietu poprawek 1. Podręcznik ten można pobrać z serwisu wsparcia technicznego dla użytkowników programu DB2 pod adresem http://www.ibm.com/software/data/db2/udb/support.html. Dokumentację produktu DB2 Life Sciences Data Connect można pobrać z serwisu oprogramowania IBM pod adresem http://www.ibm.com/software/data/db2/lifesciencesdataconnect/. Aby uzyskać najnowsze informacje na temat rodziny produktów DB2, należy skorzystać z bezpłatnej subskrypcji czasopisma DB2 Magazine. Elektroniczne wydanie tego magazynu jest dostępne pod adresem http://www.db2mag.com; pod tym adresem dostępna jest również instrukcja dotycząca subskrybowania magazynu. Informacje o tym wydaniu Nowe funkcje w tym wydaniu Ta sekcja nie była aktualizowana od wersji 8.2, pakiet poprawek 3 (odpowiednik wersji 8.1, pakiet poprawek 10). Szczegółowe informacje na temat poprawek można znaleźć w sekcji Historia poprawek w Uwagach do wydania. Ponadto plik Readme pakietu poprawek może również zawierać opisy nowych elementów w tym wydaniu. Historia poprawek produktu Lista raportów APAR (Authorized Program Analysis Reports) uwzględnionych w tym pakiecie poprawek jest dostępna na stronie WWW pod następującym adresem: http://www.ibm.com/software/data/db2/udb/support/apars.html Zagadnienia dotyczące kompatybilności Znaczniki zmian oznaczają dodany lub zmieniony tekst. Pionowa kreska ( | ) oznacza informacje, które zostały dodane lub zmienione dla wersji 8.2, pakiet poprawek 4 (odpowiednik wersji 8.1, pakiet poprawek 11). Kompatybilność wsteczna Poziom pakietu poprawek a instalacja nowych produktów Może wystąpić konieczność zainstalowania produktu DB2(R) będącego na innym poziomie niż wersja innego produktu DB2(R) aktualnie zainstalowanego na komputerze. Produkty DB2 muszą być na tym samym poziomie. Jeśli instalowany produkt jest na poziomie nowszym niż wersja innych produktów DB2 zainstalowanych na tym samym komputerze, konieczne będzie przeprowadzenie aktualizacji posiadanych produktów DB2 do nowszego poziomu. Jeśli na przykład jest instalowany program DB2 Connect(TM) for iSeries(TM) na poziomie pakietu poprawek 10, a inne produkty DB2 są na poziomie pakietu poprawek 9, przed zainstalowaniem programu DB2 Connect(TM) for iSeries(TM) na poziomie pakietu poprawek 10 należy zastosować do nich pakiet poprawek 10. I odwrotnie, jeśli instalujesz jakiś produkt na komputerze, na którym zainstalowany jest inny produkt DB2 w nowszej wersji, postępuj zgodnie z następującymi wskazówkami: W systemach operacyjnych Windows(R) Pakiet poprawek może być użyty do zainstalowania produktu bezpośrednio w systemie na tym samym poziomie. Licencję można dodać po zakończeniu instalacji, wykonując następującą komendę: db2licm -a nazwa_pliku gdzie nazwa_pliku to nazwa pliku licencji, który można znaleźć na oryginalnym nośniku w katalogu db2\license. Licencję tę można też dodać do katalogu db2\license pakietu poprawek; wówczas licencja zostanie zainstalowana przez program instalacyjny. W systemach UNIX(R) i Linux(R) Wymagania wstępne Przed zainstalowaniem dodatkowego produktu lub komponentu należy zatrzymać następujące programy: * istniejące instancje DB2, * serwer administracyjny DB2 (DAS). Instancje i serwer DAS, które trzeba zatrzymać, należą do instalacji programu DB2, w której będzie instalowany dodatkowy produkt lub komponent DB2. Dodatkowe instrukcje można znaleźć w pliku readme pakietu poprawek. Procedura 1. Są trzy metody instalowania dodatkowego produktu lub komponentu na poziomie DB2 niższym niż produkty DB2 zainstalowane obecnie w systemie. Wybierz jedną z następujących metod: Uruchomienie programu db2setup Program db2setup można uruchomić interaktywnie za pomocą interfejsu GUI lub w trybie cichym z użyciem pliku odpowiedzi. Podczas instalowania dodatkowego produktu lub komponentu przy użyciu programu db2setup nie należy wykonywać żadnych czynności konfiguracyjnych, takich jak tworzenie instancji. Jeśli w systemie nie ma serwera DAS, a dodatkowy produkt lub komponent wymaga obsługi serwera DAS, program db2setup skonfiguruje serwer DAS podczas instalacji. Na niektórych platformach podczas tworzenia serwera DAS przez program db2setup mogą występować błędy. Błędy te są spodziewane i można je ignorować. Program db2setup można znaleźć na dysku CD produktu DB2 albo w obrazie instalowanego dodatkowego produktu lub komponentu. Szczegółowe informacje na temat używania programu db2setup można znaleźć w podręcznikach Command Reference i Instalowanie i konfigurowanie - suplement Uruchomienie skryptu db2_install Skrypt db2_install instaluje wszelkie komponenty DB2, które nie są obecnie zainstalowane, oprócz języków innych niż angielski i komponentów komunikatów. Dlatego do instalowania nowych produktów i komponentów należy używać skryptu db2_install, ponieważ nie aktualizuje on istniejących komponentów DB2. Skrypt db2_install znajduje się na dysku CD produktu DB2 albo w obrazie instalowanego dodatkowego produktu lub komponentu. Szczegółowe informacje na temat korzystania ze skryptu db2_install można znaleźć w podręczniku Instalowanie i konfigurowanie - suplement. Korzystanie z instalatora systemowego Instalator systemowy służy do instalowania nowych produktów i komponentów. Szczegółowe informacje na temat korzystania z instalatora systemowego można znaleźć w podręczniku Instalowanie i konfigurowanie - suplement. 2. Po zainstalowaniu dodatkowego produktu lub komponentu należy wykonać następujące czynności: a. Zastosuj ponownie zwykły pakiet poprawek do wszystkich dotychczasowych produktów, aby nowe i dotychczasowe produkty były na tym samym poziomie. Aby zilustrować ten scenariusz, załóżmy następujące warunki: * Program DB2 Universal Database(TM) Enterprise Server Edition jest obecnie zainstalowany na poziomie pakietu poprawek 10. * Następnie instalujesz program DB2 Query Patroller(TM) na poziomie pakietu poprawek 7 według instrukcji z poprzedniego kroku. W ramach kroku poinstalacyjnego musisz ponownie zainstalować zwykły pakiet poprawek 10. Uwaga: Podczas instalacji pakietu poprawek może pojawić się komunikat o błędzie podobny do następującego: Pakiet db2cliv81 jest już zainstalowany w systemie. Instalacja poprawki nnnnnnn-nnn została zakończona nieprawidłowo. Aby ponownie zainstalować tę poprawkę, należy ją najpierw odinstalować. Ten błąd występuje dlatego, że program db2cliv81 w systemie jest już na tym samym poziomie, co instalowany pakiet poprawek. Błąd tego typu można zignorować. Potwierdź za pomocą instalatora systemowego, że komponent lub pakiet DB2 jest rzeczywiście na tym samym poziomie, co instalowany pakiet poprawek. b. Uruchom komendę db2iupdt, aby zaktualizować istniejące instancje DB2 należące do bieżącej instalacji DB2. c. Uruchom komendę dasupdt, aby zaktualizować serwer DAS skojarzony z bieżącą instalacją programu DB2. d. W razie potrzeby uruchom komendę db2isetup, aby utworzyć nową lub skonfigurować istniejącą instancję DB2 UDB. Informacje na temat instalowania pakietu poprawek, aktualizowania instancji i serwera DAS oraz innych kroków poinstalacyjnych można znaleźć w pliku readme pakietu poprawek. Kompatybilność wsteczna baz danych DB2 UDB, wersja 8.2 Bazy danych utworzonej za pomocą programu DB2 Universal Database, wersja 8.2, nie można używać z wersją 8.1. Taka baza danych może być używana wyłącznie w wersji 8.2 lub następnych. Bazy danych utworzone przez program DB2 UDB, wersja 8.2, mogą obsługiwać dodatkowe funkcje, które nie były dostępne we wcześniejszych wersjach. Wynikiem tej różnicy może być nieoczekiwane i niepożądane działanie w przypadku próby przeniesienia nowej bazy danych do wcześniejszej wersji programu DB2 UDB. Uwaga: Przeniesienie bazy danych z wersji 8.2 z powrotem do wersji 8.1 możliwe jest tylko wtedy, gdy baza danych została pierwotnie utworzona w wersji 8.1. Nawet wtedy migracja wsteczna możliwa jest tylko po uruchomieniu programu narzędziowego db2demigdb. Mogą jednak wystąpić problemy w przypadku korzystania z funkcji wbudowanych, które uległy zmianie w wersji 8.2. Wyjaśnienie zagadnienia obsługi klientów przez program DB2 UDB W sekcji "Przegląd klientów DB2" podręcznika Klienci DB2 - Krótkie wprowadzenie można znaleźć następujące stwierdzenie: Klienci DB2 mogą łączyć się z serwerami DB2 w wersjach o dwa poziomy wyższych lub jeden poziom niższych od wersji klienta, a także z serwerami o tej samej wersji. Stwierdzenie to wymaga następującej poprawki: Chociaż połączenia klientów w wersji N z serwerami w wersji N + 2 są możliwe w niektórych środowiskach, zespół wsparcia firmy DB2 będzie zapewniał obsługę takiej konfiguracji dopóki wersja N będzie nadal obsługiwana. Po wycofaniu wsparcia wersji N taka konfiguracja przestaje być obsługiwana przez zespół wsparcia DB2. Klienci bazy danych DB2, wersja 7, łączący się z serwerem DB2, wersja 8, nie są już obsługiwani przez zespół wsparcia DB2, ponieważ wsparcie dla wersji 7 zostało wycofane. Zmiany rejestru poprawności podczas migracji wstecznej z programu DB2 UDB, wersja 8.2, do programu DB2 UDB, wersja 8.1 Wszelkie zmiany rejestru dokonane w programie DB2 UDB, wersja 8.2, zostają utracone w przypadku migracji wstecznej do programu DB2 UDB, wersja 8.1. Zostaje przywrócona wersja 8.1 pliku rejestru HealthRules.reg, która zawiera ustawienia istniejące przed aktualizacją do programu DB2 UDB, wersja 8.2, i rozpoczęciem korzystania z ustawień w pliku HealthRules2.reg. Alternatywne pakiety poprawek (Linux i UNIX) W wersjach programu DB2 Universal Database (UDB) wcześniejszych niż wersja 8 pakiety poprawek funkcjonowały tylko jako aktualizacje do zainstalowanych pakietów DB2 UDB lub zestawów plików w jednym ustalonym położeniu. Oznacza to, że instalacje pakietów poprawek zastępowały istniejące pliki zaktualizowanymi plikami zawartymi w pakietach poprawek. W jednym systemie nie mogły być jednocześnie zainstalowane różne poziomy pakietów poprawek DB2. Obecnie w systemach operacyjnych z rodziny Linux(TM) i UNIX(R) program DB2 UDB Enterprise Server Edition (ESE) może być zainstalowany jednocześnie z różnymi poziomami pakietu poprawek. Ta opcja, obsługiwana w produkcyjnym środowisku operacyjnym od wersji 8.1.2, jest osiągana przy użyciu dwóch typów pakietów poprawek: Zwykłe pakiety poprawek * Są dostępne nie tylko dla wydania ESE, ale także dla wszystkich obsługiwanych produktów DB2, wersja 8, działających na pokrewnych platformach. * Można je zainstalować bezpośrednio na istniejącej instalacji w katalogu /usr/opt/db2_08_01 w systemie AIX lub w katalogu /opt/IBM/db2/V8.1 na pozostałych platformach. * Nie mogą być instalowane na istniejących alternatywnych pakietach poprawek. Alternatywne pakiety poprawek * Można je zainstalować jako zupełnie nowe kopie programu DB2 UDB ESE. * Są instalowane w predefiniowanym położeniu innym niż położenie zwykłej instalacji programu DB2 UDB. * Nie jest dostępna procedura instalacji alternatywnych pakietów poprawek za pośrednictwem interfejsu GUI. Uwagi: 1. Instalacja wielu pakietów poprawek nie jest konieczna, o ile nie jest to niezbędne w używanym środowisku. Można rozważyć instalację wielu pakietów poprawek, jeśli w jednym systemie mają pracować instancje DB2 UDB, wersja 8 ESE, na różnych poziomach pakietów poprawek. Posiadanie wielu równoległych pakietów poprawek umożliwia na przykład weryfikowanie zmian zawartych w pakiecie poprawek w środowisku testowym bez modyfikowania systemu produkcyjnego. 2. Począwszy od programu IBM DB2 UDB Enterprise Server Edition (ESE) for Linux and UNIX, wersja 8.1.2, pakiety poprawek są obsługiwane w produkcyjnych środowiskach operacyjnych, gdy są instalowane równolegle. 3. Dla systemów Linux dostępne są alternatywne pakiety poprawek przeznaczone tylko dla następujących platform sprzętowych: * x86 (32-bitowe) * S/390 (31-bitowe) 4. Działające w tym samym systemie dwie lub większa liczba instancji DB2 z różnymi poziomami pakietów poprawek nie obsługują operacji, które wymagają wewnętrznych wywołań procedur (IPC) DB2, na przykład zapytań o dane w systemie stowarzyszonym. Wszystkie instancje biorące udział w takich operacjach w tym samym systemie powinny mieć ten sam poziom pakietu poprawek DB2. 5. Alternatywne pakiety poprawek programu DB2 UDB wersja 8 obsługują produkt DB2 ESE tylko na wybranych platformach Linux i Unix. Aby zaktualizować instancję z wieloma pakietami poprawek do innego poziomu pakietu poprawek, wykonaj jedną z następujących czynności: * Zainstaluj odpowiedni zwykły pakiet poprawek na instalacji GA (General Availability) i zaktualizuj instancję, uruchamiając program db2iupdt z istniejącej ścieżki GA. * Zainstaluj odpowiedni alternatywny pakiet poprawek w osobnej ścieżce i zaktualizuj instancję, uruchamiając program db2iupdt z tej ścieżki. Aby uzyskać dodatkowe informacje dotyczące alternatywnych pakietów poprawek: * Zapoznaj się z plikiem readme najnowszego pakietu poprawek * Odwiedź serwis wsparcia firmy IBM pod adresem http://www.ibm.com/software/data/db2/udb/support.html Kompatybilność danych zapytań programu Query Patroller wersja 8.2.2 z wcześniejszymi pakietami poprawek Poczynając od wersji 8.2.2 (odpowiadającej wersji 8.1 z pakietem poprawek 9), zawartość tabeli sterującej TRACK_QUERY_INFO programu Query Patroller przechwycona w środowisku 32-bitowym może być używana w środowisku 64-bitowym. Ułatwia to migrację do środowiska 64-bitowego. Informacje przechwycone w tabeli sterującej TRACK_QUERY_INFO programu Query Patroller w wersji 8.2.2 nie mogą być używane do generowania danych historycznych dla tego zapytania ani do wykonywania zadań wstrzymanych na żadnym innym poziomie pakietu poprawek. Ograniczenia dotyczące obsługi poprzednich wersji serwerów przez Centrum hurtowni danych Obsługa poprzednich wersji serwerów przez Centrum hurtowni danych programu DB2 Universal Database (UDB) Enterprise Server Edition, wersja 8, podlega następującym ograniczeniom: Obsługa obiektów dużych (LOB) * Jeśli sterująca baza danych hurtowni jest używana na serwerze starszym niż DB2 UDB Enterprise Server Edition, wersja 8, nie jest możliwa praca z obiektami LOB. Należy zaktualizować sterującą bazę danych hurtowni do odpowiedniej wersji lub przenieść ją na system, na którym zainstalowany jest serwer hurtowni danych DB2 UDB Enterprise Server Edition, wersja 8, i korzystać z niej lokalnie przy użyciu tego systemu. * Aby można było przenosić obiekty LOB między Centrum hurtowni danych i programem DB2 UDB, należy przeprowadzić aktualizację do programu DB2 UDB Enterprise Server Edition, wersja 8. Obsługa architektury SNA (Systems Network Architecture) Jeśli połączenia ze źródłami i celami hurtowni danych realizowane są za pośrednictwem protokołu SNA, należy zmienić konfigurację, tak aby używany był protokół TCP/IP przez SNA, lub użyć agenta hurtowni danych dla systemu Windows NT. Obsługa modułów EXPORT i LOAD Moduł ładujący LOAD Centrum hurtowni danych wersja 8 nie obsługuje docelowych baz danych w wersji 7. Aby przechowywać bazy docelowe w wersji 7, należy zastąpić program narzędziowy LOAD instrukcjami Select i Insert języka SQL. W operacjach wykorzystujących instrukcje SQL Select i Insert używana jest komenda DELETE*, po której następują komendy SELECT i INSERT. Etapy SQL Select i Insert wymagają protokołowania wszystkich transakcji w bazie danych. Dlatego wydajność operacji, w których używane są instrukcje SQL Select i Insert, jest mniejsza niż w przypadku modułów EXPORT i LOAD. Poprawki APAR do Centrum projektowania wymagane do uzyskania obsługi SQLJ i Asysty SQL w programach DB2 UDB for OS/390, wersja 6, i DB2 UDB for z/OS, wersja 7 Przy korzystaniu z Centrum projektowania w programie Application Development Client dla DB2 Universal Database (UDB), wersja 8, w systemach operacyjnych Windows lub UNIX wymagane jest zainstalowanie na serwerze następujących poprawek APAR w celu uruchomienia obsługi SQLJ i Asysty SQL: DB2 UDB for z/OS, wersja 7 * PQ65125 - umożliwia obsługę SQLJ podczas tworzenia procedur Java zapisanych w bazie SQLJ * PQ76858 - udostępnia obsługę Asysty SQL DB2 UDB for OS/390, wersja 6 * PQ76858 - udostępnia obsługę Asysty SQL Dwie wersje Asysty SQL uruchamiane z programu DB2 UDB Z programu DB2 Universal Database, wersja 8, można wywołać zarówno wersję 7, jak i wersję 8 programu Asysta SQL. Wersję 7 można uruchomić z Centrum hurtowni danych DB2. Wszystkie inne centra uruchamiają najnowszą wersję 8. Pomoc elektroniczna produktu zawiera dodatkowe informacje dotyczące Asysty SQL w wersji 7. Zmiana w działaniu serwera Unicode W wersji 7 serwery używające kodu Unicode ignorowały wszelkie graficzne strony kodowe dostarczane przez aplikacje w czasie połączenia i przyjmowane było założenie, że używany jest format Unicode UCS2 (strona kodowa 1200). W wersji 8 serwery kodu Unicode respektują stronę kodową przesyłaną przez klienta. Zmiany parametrów konfiguracyjnych bazy danych podczas migracji Program DB2 UDB, wersja 8.2, korzysta z nowego pliku parametrów konfiguracyjnych bazy danych o wielkości 16 kB i nazwie SQLDBCONF. Jest to inny plik niż plik parametrów konfiguracyjnych bazy danych programu DB2 UDB, wersja 8.1, o wielkości 4 kB i nazwie SQLDBCON. Po migracji do programu DB2 UDB, wersja 8.2, produkt dokonuje migracji zawartości pliku z wersji 8.1 o wielkości 4 kB i używa pliku o wielkości 16 kB do protokołowania zmian parametrów konfiguracyjnych bazy danych. Plik o wielkości 4 kB z wersji 8.1 zostaje zachowany, ale nie jest używany. W przypadku migracji wstecznej do programu DB2 UDB, wersja 8.1, produkt DB2 UDB, wersja 8.1, zaczyna ponownie wykorzystywać oryginalny plik z wersji 8.1 o wielkości 4 kB do protokołowania zmian parametrów konfiguracyjnych bazy danych. Plik o wielkości 16 kB z wersji 8.2 zostaje zachowany, ale nie jest rozpoznawany przez produkt DB2 UDB, wersja 8.1. Zmiany dokonane w pliku parametrów konfiguracyjnych bazy danych o wielkości 16 kB pomiędzy migracją do wersji 8.2 i migracją wsteczną do wersji 8.1 są wobec tego ukryte przed wcześniejszą wersją programu DB2 UDB, ponieważ nie dokonuje się ich migracji do oryginalnego pliku o wielkości 4 kB. Ponadto w przypadku ponownej migracji do programu DB2 UDB, wersja 8.2, produkt DB2 UDB, wersja 8.2, wykrywa istnienie pliku konfiguracyjnego bazy danych o wielkości 16 kB i zaczyna ponownie wykorzystywać plik wersji 8.2 o wielkości 16 kB do protokołowania zmian parametrów konfiguracyjnych bazy danych. Plik o wielkości 4 kB z wersji 8.1 zostaje zachowany, ale nie jest rozpoznawany przez produkt DB2 UDB, wersja 8.2. Zmiany dokonane w pliku parametrów konfiguracyjnych bazy danych o wielkości 4 kB pomiędzy migracją wsteczną do wersji 8.1 i ponowną migracją do wersji 8.2 są wobec tego ukryte przed nowszą wersją programu DB2 UDB, ponieważ nie dokonuje się ich migracji do istniejącego pliku o wielkości 16 kB. Udoskonalenia komunikatów formatu protokołu db2diag.log W wersji 8.2 wprowadzono wiele udoskonaleń formatu pliku protokołu db2diag.log. Nowe pliki protokołu można teraz łatwiej odczytywać ręcznie i łatwiej analizować przy użyciu oprogramowania. Wprowadzono między innymi następujące udoskonalenia: * Z każdym wpisem związany jest kompletny zestaw informacji nagłówka. * Zapis w protokole zawiera wyraźne oznaczenie części komunikatu i części danych, co ułatwia jego użycie i zrozumienie. * Do każdego rekordu dołączone są datowniki z informacjami o strefie czasowej. * Nazwa każdego pola jest wyraźnie zapisana przy użyciu wielkich liter. * Długość wiersza pola nagłówka i wiersza pola komunikatu jest ograniczona do 80 znaków. * Dodano nowe pola. Szczególnie przydatne jest pole poziomu ważności, które ułatwia wyszukanie najważniejszych wpisów. Wprowadzono także inne modyfikacje, na przykład zmieniono nazwę pola database na DB. Rekordy zdarzeń dodano jako komunikaty diagnostyczne do pliku protokołu db2diag.log. Przykładami takich zdarzeń mogą być: * aktualizacje rejestru profili * aktualizacje parametrów konfiguracyjnych Rekordy zdarzeń mają w polu LEVEL wartość "Event". Chociaż zdarzenia nie są błędami, mogą być protokołowane na poziomie innym niż 4 (informacje) lub 3 (ostrzeżenia), zależnie od ich ważności. Zmienne rejestru profili db2set i parametry konfiguracyjne DB lub DBM są obecnie protokołowane Poczynając od wersji 8.2 w pliku db2diag.log protokołowane są następujące aktualizacje: * aktualizacje rejestru profilu db2sets * aktualizacja parametrów konfiguracyjnych bazy danych i menedżera bazy danych Komunikaty dotyczące tych aktualizacji są protokołowane z wysokimi poziomami diagnostycznymi z uwagi na ich ważność. Protokołowane są następujące typy aktualizacji rejestru profili db2set: Modyfikacja Komenda db2set nazwa_zmiennej=wartość powoduje utworzenie w pliku db2diag.log wpisu podobnego do poniższego: 2004-04-22-19.19.14.156959-240 I79582C286 LEVEL: Event PID : 2437242 TID : 1 PROC : db2set INSTANCE: db2user NODE : 000 FUNCTION: DB2 UDB, oper system services, db2set_main, probe:40 CHANGE : CFG DB2SET: DB2DBDFT: From: "OLDDB" To: "SAMPLE" Usunięcie Komenda db2set -r powoduje utworzenie w pliku db2diag.log następującego wpisu: CHANGE : CFG DB2SET: DB2DBDFT: From: "SAMPLE" To: "" Uwaga: W poprzednim przykładzie pominięto informacje nagłówka. Reset Komenda db2set nazwa_zmiennej=wartość powoduje utworzenie w pliku db2diag.log wpisu podobnego do poniższego: CHANGE : CFG DB2SET: Profile registry was reset Uwaga: W poprzednim przykładzie pominięto informacje nagłówka. Przykłady aktualizacji parametrów konfiguracyjnych DB i DBM to CHANGE : CFG DB SAMPLE: "Maxlocks" From: "10" To: "20" CHANGE : CFG DBM: "Diaglevel" From: "3" To: "1" CHANGE : CFG DBM: Reset to the system defaults Uwaga: W poprzednich przykładach pominięto informacje nagłówka. Aby znaleźć komunikaty informujące o zaktualizowaniu konfiguracji, należy użyć narzędzia db2diag. Na przykład: * Aby wybrać wszystkie zdarzenia: db2diag -level event * Aby wybrać zdarzenia zmian: db2diag -g "changeevent=" Zgodność produktów Pakiet JDK 1.4.2 obsługiwany przez program DB2 Universal Database dla systemów Linux, UNIX i Windows Program DB2 Universal Database(TM) (UDB) dla systemów Linux, UNIX i Windows(R), wersja 8.2.2 (odpowiednik wersji 8.1 z pakietem poprawek 9) obsługuje pakiet JDK 1.4.2 we wszystkich 32-bitowych i 64-bitowych systemach operacyjnych stacji roboczych obsługiwanych przez program DB2 UDB. Obsługa ta obejmuje w szczególności możliwość budowania i uruchamiania aplikacji klienckich Java(TM), budowania i uruchamiania podprogramów Java(TM) z wiersza komend, budowania i uruchamiania podprogramów Java(TM) z Centrum projektowania DB2 (jeśli jest obsługiwane) oraz możliwość uruchamiania innych narzędzi DB2. Podczas instalacji programu DB2 UDB wersja 8.2 zainstalowana zostanie także najnowsza obsługiwana wersja pakietu programistycznego Java, jeśli nie jest jeszcze zainstalowana, chyba że dana instalacja programu DB2 UDB jest aktualizacją poprzedniej instalacji programu DB2 UDB wersja 8. W przypadku aktualizacji poprzedniej instalacji programu DB2 UDB wersja 8 należy zainstalować pakiet programistyczny Java z dysku CD. W poniższej tabeli wymieniono obsługiwane przez DB2 32-bitowe i 64-bitowe systemy operacyjne dla stacji roboczych oraz najnowszy obsługiwany poziom pakietu JDK dla każdego z tych systemów. Informacje na temat obsługi wcześniejszych pakietów JDK można znaleźć na stronie poświęconej programowaniu aplikacji w języku Java pod adresem http://www.ibm.com/software/data/db2/udb/ad/v8/java/. Tabela 1. Środowiska obsługiwane przez DB2 i odpowiednie obsługiwane poziomy pakietów JDK +----------------------------------+----------------------------------+ | Środowisko obsługiwane przez DB2 | Najnowszy obsługiwany poziom JDK | +----------------------------------+----------------------------------+ | Windows IA/AMD, 32-bitowe | JDK 1.4.2 | +----------------------------------+----------------------------------+ | Windows IA, 64-bitowe | JDK 1.4.2 | +----------------------------------+----------------------------------+ | Windows AMD/EM64T 64-bitowe | JDK 1.4.2 | +----------------------------------+----------------------------------+ | AIX(R) 4.3.3 32-bitowe | JDK 1.3.1 SR6 [2] | +----------------------------------+----------------------------------+ | AIX(R) 5 (hybrydowe [1]) | JDK 1.4.2 | +----------------------------------+----------------------------------+ | Solaris (hybrydowe [1]) | JDK 1.4.2 | +----------------------------------+----------------------------------+ | HPUX RISC & Itanium (hybrydowe | JDK 1.4.2.01 | | [1]) | | +----------------------------------+----------------------------------+ | Linux AMD/EM64T, 32-bitowe, | JDK 1.4.2 [3] | | 64-bitowe (hybrydowe [1]) | | +----------------------------------+----------------------------------+ | Linux IA, 32-bitowe | JDK 1.4.2 | +----------------------------------+----------------------------------+ | Linux IA, 64-bitowe | JDK 1.4.2 | +----------------------------------+----------------------------------+ | Linux 390, 31-bitowe | JDK 1.4.2 | +----------------------------------+----------------------------------+ | Linux 390, 64-bitowe | JDK 1.4.2 | +----------------------------------+----------------------------------+ | Linux PPC (hybrydowe [1]) | JDK 1.4.2 | +----------------------------------+----------------------------------+ Uwagi: 1. Środowisko hybrydowe oznacza obraz instalacyjny obejmujący zarówno obsługę środowiska 32-bitowego, jak i 64-bitowego 2. JDK 1.3.1, wydanie serwisowe 6, to jedyna wersja JDK obsługiwana w systemie AIX(R) 4.3.3. 3. W systemach Linux AMD/EM64T (32-bitowych i 64-bitowych) z pakietem JDK 1.4.2 nie są obsługiwane narzędzia DB2 z graficznym interfejsem użytkownika. W następnej sekcji przedstawiono zaktualizowaną procedurę konfigurowania środowiska Java w systemie Linux. Konfigurowanie środowiska Java w systemie Linux Wymagania wstępne * Przed wykonaniem poniższych instrukcji należy wykonać czynności konfiguracyjne opisane w temacie "Setting up the UNIX(R) Java environment", w podręczniku Application Development Guide: Building and Running Applications. * Do wywołania komend występujących w poniższych instrukcjach wymagane są uprawnienia administratora. Procedura Aby możliwe było budowanie aplikacji Java na systemach Linux z obsługą DB2 JDBC: 1. Zainstaluj i skonfiguruj jeden z obsługiwanych pakietów programistycznych wymienionych w temacie "Linux supported development software" podręcznika Application Development Guide: Building and Running Applications. Aby możliwe było uruchamianie procedur zapisanych w bazie lub funkcji zdefiniowanych przez użytkownika w języku Java, konsolidator środowiska wykonawczego w systemie Linux musi mieć dostęp do określonych współużytkowanych bibliotek Java, a program DB2 UDB musi mieć możliwość załadowania zarówno tych bibliotek, jak i wirtualnej maszyny Java. Proces uruchamiający procedury zapisane w bazie i funkcje zdefiniowane przez użytkownika ładuje biblioteki tylko z miejsc bezpiecznych, zdefiniowanych w pliku /etc/ld.so.conf. Jednym z tych miejsc bezpiecznych jest katalog /usr/lib. W dalszych instrukcjach wymieniono biblioteki, dla których w katalogu /usr/lib muszą istnieć dowiązania symboliczne. 2. Utwórz w katalogu /usr/lib dowiązania symboliczne wskazujące na współużytkowane biblioteki Java. W zależności od używanej wersji pakietu JDK używane będą dowiązania do różnych bibliotek współużytkowanych: W przypadku pakietu IBM(R) Developer Kit 1.3 Utwórz dowiązania symboliczne do bibliotek libjava.so, libjvm.so i libhpi.so. Dowiązania te można utworzyć, uruchamiając następujące komendy jako użytkownik root: cd /usr/lib ln -fs JAVAHOME/jre/bin/libjava.so . ln -fs JAVAHOME/jre/bin/classic/libjvm.so . ln -fs JAVAHOME/jre/bin/libhpi.so . gdzie JAVAHOME jest katalogiem podstawowym pakietu IBM(R) Developer Kit. Jeśli program DB2 UDB nie znajdzie tych bibliotek, przy próbie uruchomienia podprogramu Java zostanie zgłoszony błąd -4301, a w protokole powiadomień administracyjnych zostaną umieszczone komunikaty informujące o nieznalezieniu bibliotek. W przypadku pakietu IBM(R) Developer Kit 1.4.1 Utwórz dowiązania symboliczne do bibliotek libjava.so, libjvm.so, libhpi.so i libjsig.so. Dowiązania te można utworzyć, uruchamiając następujące komendy jako użytkownik root: cd /usr/lib ln -fs JAVAHOME/jre/bin/libjava.so ln -fs JAVAHOME/jre/bin/classic/libjvm.so ln -fs JAVAHOME/jre/bin/libhpi.so ln -fs JAVAHOME/jre/bin/libjsig.so gdzie JAVAHOME jest katalogiem podstawowym pakietu IBM Developer Kit. Jeśli program DB2 UDB nie znajdzie tych bibliotek, przy próbie uruchomienia podprogramu Java zostanie zgłoszony błąd -4301, a w protokole powiadomień administracyjnych zostaną umieszczone komunikaty informujące o nieznalezieniu bibliotek. W przypadku pakietu IBM Developer Kit 1.4.2 na platformach Linux innych niż AMD64/EM64T Utwórz dowiązania symboliczne do bibliotek libjava.so, libjvm.so, libhpi.so, libjsig.so, libjitc.so, libxhpi.so i libdbgmalloc.so. Dowiązania te można utworzyć, uruchamiając następujące komendy jako użytkownik root: cd /usr/lib ln -fs JAVAHOME/jre/bin/libjava.so ln -fs JAVAHOME/jre/bin/classic/libjvm.so ln -fs JAVAHOME/jre/bin/libhpi.so ln -fs JAVAHOME/jre/bin/libjsig.so ln -fs JAVAHOME/jre/bin/libjitc.so ln -fs JAVAHOME/jre/bin/libxhpi.so ln -fs JAVAHOME/jre/bin/libdbgmalloc.so gdzie JAVAHOME jest katalogiem podstawowym pakietu IBM Developer Kit. Jeśli program DB2 UDB nie znajdzie tych bibliotek, przy próbie uruchomienia podprogramu Java zostanie zgłoszony błąd -4301, a w protokole powiadomień administracyjnych zostaną umieszczone komunikaty informujące o nieznalezieniu bibliotek. W przypadku pakietu IBM Developer Kit 1.4.2 w systemie Linux AMD64/EM64T Ten pakiet programistyczny różni się od pakietu dla pozostałych platform Linux. Wykonaj instrukcje z poniższej sekcji Procedura alternatywna i umieść następujący wiersz w pliku /etc/ld.so.conf: JAVAHOME/jre/bin gdzie JAVAHOME jest katalogiem podstawowym pakietu IBM Developer Kit. Jeśli program DB2 UDB nie może znaleźć tych bibliotek, podczas próby uruchomienia procedury Java pojawia się błąd -4301 lub -1042. Procedura alternatywna Zamiast jawnie tworzyć dowiązania do bibliotek współużytkowanych Java w katalogu /usr/lib można dodać nazwę katalogu zawierającego te biblioteki do pliku /etc/ld.so.conf. Jednak operacja ta wymaga uprawnień użytkownika root. Po zaktualizowaniu pliku /etc/ld.so.conf należy uruchomić komendę ldconfig jako użytkownik root, aby uaktywnić zmiany. W razie napotkania problemów z tą procedurą alternatywną, należy utworzyć dowiązania w katalogu /usr/lib, zgodnie z wcześniejszymi instrukcjami. W 64-bitowych systemach operacyjnych wymagana jest poprawka Microsoft XP Jeśli razem z produktami z rodziny DB2 używany jest 64-bitowy system operacyjny Microsoft XP (2600) skonfigurowany do pracy z protokołem NETBIOS, konieczne będzie uzyskanie poprawki od firmy Microsoft. W tym celu należy skontaktować się z firmą Microsoft w sprawie artykułu o numerze Q317437 z bazy Knowledge Base. Systemy operacyjne Windows XP System operacyjny Windows XP Home Edition jest obsługiwany wyłącznie przez produkty z rodziny DB2 Universal Database (UDB) Personal Edition. System operacyjny Windows XP Professional jest obsługiwany przez następujące produkty DB2: * DB2 UDB Express Edition * DB2 UDB Personal Edition * DB2 UDB Workgroup Server Edition * DB2 Connect Personal Edition Następujące produkty DB2 są obsługiwane w systemie Windows XP wyłącznie do celów programowania i testowania (w środowiskach produkcyjnych wymagany jest system Windows 2000 lub Windows Server 2003): * DB2 UDB Enterprise Server Edition * DB2 Connect Enterprise Edition Dostępność sprzedawanej oddzielnie opcji DB2 UDB HADR W przypadku oprogramowania DB2 Universal Database(TM) (UDB), wersja 8.2, klienci korzystający z programów DB2 UDB Workgroup Server Edition i DB2 UDB Express Edition (gdy licencjonowanie oparte było na modelu ceny zależnej od liczby użytkowników) nie mogli instalować sprzedawanej oddzielnie opcji DB2 UDB do usuwania skutków awarii w środowisku o wysokiej dostępności (HADR). Problem ten został rozwiązany w programie DB2 UDB, wersja 8.2, pakiet poprawek 1 (odpowiednik wersji 8.1, pakiet poprawek 8). Program DB2 Warehouse Manager (wersja 8.2) oraz oprogramowanie IBM DB2 OLAP Server FP3 i wersje późniejsze Narzędzia OLAP w programie DB2 Warehouse Manager Standard Edition, wersja 8.2, nie są kompatybilne z oprogramowaniem IBM DB2 OLAP Server FP3 (Essbase API poziom 6.5.4) i wersjami późniejszymi. Do czasu rozwiązania tego problemu zaleca się korzystanie z oprogramowania DB2 OLAP Server FP2 (Essbase 6.5.3) lub wersji wcześniejszej. Możliwość użycia surowego we/wy (Linux z jądrem 2.6) Aby można było używać protokołów z urządzeniami surowego we/wy w wersjach programu DB2 Universal Database (UDB) wcześniejszych niż wersja 8.2.2 (odpowiadająca wersji 8.1 z pakietem poprawek 9), należy powiązać urządzenie fizyczne ze sterownikiem surowych danych znakowych systemu Linux za pomocą programu narzędziowego raw. Poczynając od wersji 8.2.2 programu DB2 UDB (odpowiednik wersji 8.1 z pakietem poprawek 9) w systemie Linux z jądrem 2.6 można bezpośrednio używać surowego we/wy na potrzeby protokołowania. Na przykład, aby używać partycji urządzenia /dev/sdb1 do zapisywania surowych protokołów bazy danych SAMPLE, należy użyć następującej komendy: db2 update db cfg for sample using newlogpath /dev/sdb1 Mimo iż program DB2 UDB nadal obsługuje metodę z użyciem programu narzędziowego raw do surowego we/wy, w ostatnich dystrybucjach opcja ta została uznana za nieaktualną, a w przyszłości może zostać usunięta. Preferowane jest stosowanie nowej metody, polegającej na bezpośrednim podawaniu urządzeń. Obsługa systemu Red Hat Linux w Centrum hurtowni danych Program DB2 Universal Database, wersja 8.2, obsługuje system Red Hat Enterprise Linux AS, wersja 3 i 2.1. Jednak Centrum hurtowni danych obsługuje tylko system Red Hat Enterprise Linux AS, wersja 2.1. Centrum hurtowni danych korzysta ze sterowników DataDirect ODBC, które nie obsługują systemu Red Hat Enterprise Linux AS, wersja 3.1. Z tego powodu Centrum hurtowni danych nie obsługuje źródeł ani celów ODBC hurtowni danych z serwera agenta Red Hat Enterprise Linux AS, wersja 3.1. Koncentrator połączeń wymagany w przypadku menedżera transakcji WebSphere MQ i programu DB2 for OS/390 W przypadku uruchamiania aplikacji w środowisku IBM(R) WebSphere(R) MQ (zwanym wcześniej IBM MQSeries(R)) program WebSphere(R) MQ może działać jako menedżer transakcji zgodny z XA, koordynujący wszelkie rozproszone transakcje zatwierdzania dwufazowego. Gdy program WebSphere(R) MQ działa w ten sposób jako menedżer transakcji, a źródła danych są z rodziny produktów DB2, obowiązuje kilka wymagań konfiguracyjnych. Większość z nich jest już udokumentowana. Na przykład na kliencie DB2 Runtime Client należy ustawić parametr konfiguracyjny TP_MON_NAME programu DB2 na "MQ". Jest jednak jedno nieudokumentowane wymaganie konfiguracyjne. Wymaganie to dotyczy wyłącznie programu DB2 Connect łączącego się ze źródłami danych DB2 dla serwerów OS/390(R): W przypadku używania programu WebSphere MQ do koordynowania transakcji rozproszonych związanych z programem DB2 for z/OS(R) i programem DB2 for iSeries w bramie musi być włączona opcja koncentratora połączeń programu DB2 Connect. Koncentrator połączeń jest włączony, gdy wartość parametru konfiguracyjnego MAX_CONNECTIONS jest większa niż wartość MAX_COORDAGENTS. Jeśli koncentrator połączeń nie zostanie włączony, może dojść do nieoczekiwanego działania transakcji. Alternatywne tabele konwersji formatu Unicode dla identyfikatora kodowanego zestawu znaków (CCSID) 5039 Strona kodowa Shift-JIS w japońskiej wersji systemu Microsoft Windows jest rejestrowana przy użyciu identyfikatora kodowanego zestawu znaków (CCSID) 943 firmy IBM. Jednak strona kodowa Shift-JIS na platformie HP-UX jest rejestrowana przy użyciu identyfikatora CCSID 5039. Na stronie kodowej o identyfikatorze CCSID 5039 występują wyłącznie znaki określone w standardzie JIS (Japanese Industry Standard) i nie występują żadne znaki zdefiniowane przez dostawcę. Na platformie HP-UX w bazie danych DB2 Universal Database (UDB) o identyfikatorze CCSID 5039 można zapisać znaki strony kodowej Shift-JIS, lecz konieczne jest wówczas wykonywanie konwersji między stronami kodowymi CCSID 5039 i CCSID 943. Jeśli używane są aplikacje korzystające z technologii Microsoft ODBC, podczas przekształcania danych z formatu CCSID 5039 na format Unicode mogą wystąpić problemy, ponieważ tabele konwersji stron kodowych firm IBM i Microsoft nie są takie same. Poniżej przedstawiono listę znaków, dla których punkty kodowe uzyskane w wyniku konwersji z formatu CCSID 5039 na format Unicode przy użyciu tabeli konwersji firmy IBM i tabeli konwersji firmy Microsoft nie będą takie same. W przypadku tych znaków tabela konwersji firmy IBM jest zgodna ze standardami JIS (Japanese Industry Standard) JISX0208 oraz JISX0221. Tabela 2. Konwersja punktów kodowych z formatu CCSID 5039 na format Unicode. +-----------------------+----------------------+----------------------+ | Punkt kodowy w | Pierwotny punkt | Pierwotny punkt | | standardzie Shift-JIS | kodowy używany przez | kodowy używany przez | | (nazwa znaku) | firmę IBM (nazwa | firmę Microsoft | | | znaku w formacie | (nazwa znaku w | | | Unicode) | formacie Unicode) | +-----------------------+----------------------+----------------------+ | X'815C' (znak pauzy) | U+2014 (znak pauzy) | U+2015 (kreska | | | | pozioma) | +-----------------------+----------------------+----------------------+ | X'8160' (znak | U+301C (znak | U+FF5E (tylda pełnej | | wartości | wartości | długości) | | przybliżonej) | przybliżonej) | | +-----------------------+----------------------+----------------------+ | X'8161' (podwójna | U+2016 (podwójna | U+2225 (znak | | pionowa kreska) | pionowa kreska) | równoległości) | +-----------------------+----------------------+----------------------+ | X'817C' (minus) | U+2212 (minus) | U+FF0D (łącznik | | | | pełnej długości) | +-----------------------+----------------------+----------------------+ Na przykład gdy używana jest tabela konwersji firmy IBM, znak pauzy o identyfikatorze CCSID 5039 punktu kodowego X'815C' jest przekształcany na punkt kodowy Unicode U+2014, a gdy używana jest tabela konwersji firmy Microsoft, znak ten jest przekształcany na punkt kodowy U+2015. Może to być przyczyną problemów w aplikacjach wykorzystujących technologię Microsoft ODBC, ponieważ aplikacje te mogą traktować znak U+2014 jako niepoprawny punkt kodowy. Aby można było uniknąć tego problemu, w programie DB2 UDB oprócz domyślnej tabeli konwersji firmy IBM dostępna jest alternatywna tabela konwersji firmy Microsoft służąca do wykonywania konwersji strony kodowej CCSID 5039 na format Unicode. Należy zastąpić domyślną tabelę konwersji firmy IBM alternatywną tabelą konwersji firmy Microsoft. Należy zauważyć, że domyślna tabela konwersji firmy IBM służąca do przekształcania znaków w formacie Unicode na znaki strony kodowej CCSID 5039 jest zgodna z odpowiednią tabelą konwersji firmy Microsoft. Zastępowanie tabel konwersji formatu Unicode dla kodowanego zestawu znaków (CCSID) 5039 tabelami konwersji firmy Microsoft Podczas konwersji strony kodowej CCSID 5039 na format Unicode w programie DB2 Universal Database (UDB) używana jest domyślna tabela konwersji stron kodowych. Aby użyć innej tabeli konwersji (na przykład tabeli konwersji firmy Microsoft), należy ręcznie zastąpić plik domyślnej tabeli konwersji (.cnv). Wymagania wstępne Przed zastąpieniem istniejącego pliku tabeli konwersji stron kodowych w katalogu sqllib/conv należy utworzyć kopię zapasową zastępowanego pliku, aby zapewnić możliwość jego ponownego użycia. W systemach UNIX i Linux katalog sqllib/conv jest dowiązany do ścieżki instalacyjnej programu DB2 UDB. Ograniczenia Aby operacja przyniosła pożądany skutek, należy zmienić tabele konwersji używane przez każdego klienta DB2 UDB, który nawiązuje połączenie z określoną bazą danych. W przeciwnym razie różne aplikacje klienckie mogą zapisywać ten sam znak przy użyciu innych punktów kodowych. Procedura Aby zastąpić domyślną tabelę konwersji programu DB2 UDB służącą do przekształcania strony kodowej CCSID 5039 na format Unicode, wykonaj następujące czynności: 1. Skopiuj plik sqllib/conv/ms/5039ucs2.cnv do ścieżki sqllib/conv/5039ucs2.cnv. 2. Zrestartuj program DB2 UDB. Alternatywne tabele konwersji formatu Unicode dla identyfikatora kodowanego zestawu znaków (CCSID) 954 Identyfikator kodowanego zestawu znaków (CCSID) firmy IBM dla japońskiej strony kodowej EUC jest rejestrowany przy użyciu identyfikatora CCSID 954. Identyfikator CCSID 954 określa powszechnie używane kodowanie dla japońskich wersji platform UNIX i Linux. Gdy do nawiązania połączenia z bazą danych programu DB2 Universal Database (UDB) o identyfikatorze CCSID 954 używane są aplikacje wykorzystujące technologię Microsoft ODBC, mogą wystąpić problemy związane z konwersją danych zestawu znaków o identyfikatorze CCSID 954 na format Unicode. Problemy te wynikają z różnic między tabelami konwersji stron kodowych firm IBM i Microsoft. Tabela konwersji firmy IBM jest zgodna z nazwami znaków zdefiniowanymi przez standardy JIS (Japanese Industry Standard) JISX0208, JISX0212 oraz JISX0221. Poniżej przedstawiono listę znaków, których punkty kodowe uzyskane w wyniku konwersji z formatu CCSID 954 na format Unicode przy użyciu tabeli konwersji firmy IBM i tabeli konwersji firmy Microsoft będą różne. Tabela 3. Konwersja punktów kodowych z formatu CCSID 954 na format Unicode. +-----------------------+----------------------+----------------------+ | Punkt kodowy w | Pierwotny punkt | Pierwotny punkt | | standardzie EUC-JP | kodowy używany przez | kodowy używany przez | | (nazwa znaku) | firmę IBM (nazwa | firmę Microsoft | | | znaku w formacie | (nazwa znaku w | | | Unicode) | formacie Unicode) | +-----------------------+----------------------+----------------------+ | X'A1BD' (znak pauzy) | U+2014 (znak pauzy) | U+2015 (kreska | | | | pozioma) | +-----------------------+----------------------+----------------------+ | X'A1C1' (znak | U+301C (znak | U+FF5E (tylda pełnej | | wartości | wartości | długości) | | przybliżonej) | przybliżonej) | | +-----------------------+----------------------+----------------------+ | X'A1C2' (podwójna | U+2016 (podwójna | U+2225 (znak | | pionowa kreska) | pionowa kreska) | równoległości) | +-----------------------+----------------------+----------------------+ | X'A1DD' (minus) | U+2212 (minus) | U+FF0D (łącznik | | | | pełnej długości) | +-----------------------+----------------------+----------------------+ | X'8FA2C3' (kreska | U+00A6 (kreska | U+FFE4 (kreska | | przerywana) | przerywana) | przerywana pełnej | | | | długości) | +-----------------------+----------------------+----------------------+ Na przykład gdy używana jest tabela konwersji firmy IBM, znak pauzy o identyfikatorze CCSID 954 punktu kodowego X'A1BD' jest przekształcany na punkt kodowy Unicode U+2014, a gdy używana jest tabela konwersji firmy Microsoft, znak ten jest przekształcany na punkt kodowy U+2015. Z powodu tej różnicy odwzorowań konwersji w pojedynczej bazie danych DB2 UDB w formacie Unicode lub w kolumnie graficznej bazy danych DB2 UDB 954 dla pojedynczego znaku mogą występować dwa różne punkty kodowe. Może to być przyczyną problemów w aplikacjach wykorzystujących technologię Microsoft ODBC, ponieważ aplikacje te mogą traktować znak U+2014 jako niepoprawny punkt kodowy. Aby można było uniknąć tego problemu, w programie DB2 UDB oprócz domyślnej tabeli konwersji firmy IBM dostępna jest alternatywna tabela konwersji firmy Microsoft służąca do wykonywania konwersji strony kodowej CCSID 954 na format Unicode. Należy zastąpić domyślną tabelę konwersji firmy IBM alternatywną tabelą konwersji firmy Microsoft. Należy zauważyć, że domyślna tabela konwersji firmy IBM służąca do przekształcania znaków w formacie Unicode na znaki strony kodowej CCSID 954 jest zgodna z odpowiednią tabelą konwersji firmy Microsoft. Zastępowanie tabel konwersji formatu Unicode dla kodowanego zestawu znaków (CCSID) 954 tabelami konwersji firmy Microsoft Podczas konwersji strony kodowej CCSID 954 na format Unicode w programie DB2 Universal Database (UDB) używana jest domyślna tabela konwersji stron kodowych. Aby użyć innej tabeli konwersji (na przykład tabeli konwersji firmy Microsoft), należy ręcznie zastąpić plik domyślnej tabeli konwersji (.cnv). Wymagania wstępne Przed zastąpieniem istniejącego pliku tabeli konwersji stron kodowych w katalogu sqllib/conv należy utworzyć kopię zapasową zastępowanego pliku, aby zapewnić możliwość jego ponownego użycia. W systemach UNIX i Linux katalog sqllib/conv jest powiązany ze ścieżką instalacyjną programu DB2 UDB. Ograniczenia Aby operacja ta przyniosła pożądany skutek, należy zmienić tabele konwersji używane przez każdego klienta DB2 UDB, który nawiązuje połączenie z tą samą bazą danych CCSID 954. Jeśli używany klient działa w japońskiej wersji systemu Windows, w którym stroną kodową ANSI jest Shift-JIS (CCSID 943), konieczne będzie także zastąpienie domyślnej tabeli konwersji DB2 służącej do przekształcania znaków z formatu CCSID 943 na format Unicode przy użyciu odpowiedniej tabeli konwersji firmy Microsoft. W przeciwnym razie różne aplikacje klienckie mogą zapisywać ten sam znak przy użyciu innych punktów kodowych. Procedura Aby zastąpić domyślną tabelę konwersji programu DB2 UDB służącą do przekształcania strony kodowej CCSID 954 na format Unicode, wykonaj następujące czynności: 1. Skopiuj plik sqllib/conv/ms/0954ucs2.cnv do ścieżki sqllib/conv/0954ucs2.cnv. 2. Zrestartuj program DB2 UDB. Aby zastąpić domyślne tabele konwersji programu DB2 UDB służące do przekształcania strony kodowej CCSID 943 na format Unicode, wykonaj następujące czynności: 1. Skopiuj plik sqllib/conv/ms/0943ucs2.cnv do ścieżki sqllib/conv/0943ucs2.cnv. 2. Skopiuj plik sqllib/conv/ms/ucs20943.cnv do ścieżki sqllib/conv/ucs20943.cnv. 3. Zrestartuj program DB2 UDB. Alternatywne tabele konwersji formatu Unicode dla identyfikatora kodowanego zestawu znaków (CCSID) 943 Strona kodowa Shift-JIS w japońskiej wersji systemu Microsoft Windows jest rejestrowana przy użyciu identyfikatora kodowanego zestawu znaków (CCSID) 943 firmy IBM; podczas konwersji znaków między identyfikatorem CCSID 943 i Unicode mogą wystąpić następujące dwa problemy. Potencjalne problemy wynikają z różnic między tabelami konwersji stron kodowych firm IBM i Microsoft. Aby ich uniknąć, w programie DB2 Universal Database (UDB) dostępne są, oprócz domyślnych tabel konwersji między identyfikatorem CCSID 943 i Unicode firmy IBM, także alternatywne tabele konwersji firmy Microsoft. Problem 1 Z powodów historycznych ponad 300 znaków ze strony kodowej CCSID 943 jest reprezentowanych przez dwa lub trzy punkty kodowe. Zastosowanie edytorów metody wejścia (input method editors, IME) oraz tabel konwersji stron kodowych powoduje, że wystarczy wprowadzenie tylko jednego z tych równoważnych punktów kodowych. Na przykład mały znak cyfry rzymskiej jeden 'i' ma dwa równoważne punkty kodowe: X'EEEF' i X'FA40'. Edytory IME w systemach Microsoft Windows zawsze, gdy zostanie wprowadzony znak 'i', generują kod X'FA40'. Ogólnie, firmy IBM i Microsoft używają tych samych podstawowych punktów kodowych do reprezentacji znaków, oprócz następujących 13 znaków: Tabela 4. Konwersja punktów kodowych ze strony kodowej CCSID 943 Shift-JIS. +-----------------------+----------------------+----------------------+ | Nazwa znaku (punkt | Podstawowy punkt | Podstawowy punkt | | kodowy Unicode) | kodowy Shift-JIS | kodowy Shift-JIS | | | używany przez IBM | używany przez | | | | Microsoft | +-----------------------+----------------------+----------------------+ | Cyfra rzymska jeden | X'FA4A' | X'8754' | | (U+2160) | | | +-----------------------+----------------------+----------------------+ | Cyfra rzymska dwa | X'FA4B' | X'8755' | | (U+2161) | | | +-----------------------+----------------------+----------------------+ | Cyfra rzymska trzy | X'FA4C' | X'8756' | | (U+2162) | | | +-----------------------+----------------------+----------------------+ | Cyfra rzymska cztery | X'FA4D' | X'8757' | | (U+2163) | | | +-----------------------+----------------------+----------------------+ | Cyfra rzymska pięć | X'FA4E' | X'8758' | | (U+2164) | | | +-----------------------+----------------------+----------------------+ | Cyfra rzymska sześć | X'FA4F' | X'8759' | | (U+2165) | | | +-----------------------+----------------------+----------------------+ | Cyfra rzymska siedem | X'FA50' | X'875A' | | (U+2166) | | | +-----------------------+----------------------+----------------------+ | Cyfra rzymska osiem | X'FA51' | X'875B' | | (U+2167) | | | +-----------------------+----------------------+----------------------+ | Cyfra rzymska | X'FA52' | X'875C' | | dziewięć (U+2168) | | | +-----------------------+----------------------+----------------------+ | Cyfra rzymska | X'FA53' | X'875D' | | dziesięć (U+2169) | | | +-----------------------+----------------------+----------------------+ | Ujęty w nawias | X'FA58' | X'FA58' | | ideogram spółki | | | | akcyjnej (U+3231) | | | +-----------------------+----------------------+----------------------+ | Znak numeru (U+2116) | X'FA59' | X'8782' | +-----------------------+----------------------+----------------------+ | Znak telefonu | X'FA5A' | X'8754' | | (U+2121) | | | +-----------------------+----------------------+----------------------+ Produkty IBM, na przykład program DB2 UDB, używają przede wszystkim punktów kodowych stosowanych przez IBM, na przykład X'FA4A' do reprezentacji wielkiej cyfry rzymskiej jeden 'I', natomiast produkty firmy Microsoft używają do reprezentacji tego samego znaku punktu kodowego X'8754'. Aplikacja ODBC firmy Microsoft może wstawić do bazy danych DB2 UDB w stronie kodowej CCSID 943 znak 'I' jako punkt kodowy X'8754', a Centrum sterowania DB2 UDB może wstawić ten sam znak do tej samej bazy danych z identyfikatorem CCSID równym 934 jako X'FA4A'. Jednak aplikacje ODBC mogą znajdować tylko wiersze, w których znak 'I' jest zakodowany jako X'8754', a Centrum sterownia DB2 UDB może znajdować tylko wiersze, w których znak 'I' jest zakodowany jako X'FA4A'. Aby umożliwić wybieranie przez Centrum sterowania DB2 UDB znaków 'I' kodowanych jako X'8754', konieczne jest zastąpienie domyślnych tabel konwersji firmy IBM ze strony kodowej CCSID 943 na Unicode alternatywnymi tabelami konwersji firmy Microsoft. Problem 2 Konwersja znaków z poniższej listy ze strony CCSID 943 na Unicode daje różne punkty kodowe, zależnie od tego, czy używana jest tabela konwersji firmy IBM czy Microsoft. Dla tych znaków tabela konwersji IBM jest zgodna z japońskimi standardami przemysłowymi JISX0208, JISX0212 i JISX0221. Tabela 5. Konwersja punktów kodowych ze strony kodowej CCSID 943 na Unicode. +-----------------------+----------------------+----------------------+ | Punkt kodowy w | Pierwotny punkt | Pierwotny punkt | | standardzie Shift-JIS | kodowy używany przez | kodowy używany przez | | (nazwa znaku) | firmę IBM (nazwa | firmę Microsoft | | | znaku w formacie | (nazwa znaku w | | | Unicode) | formacie Unicode) | +-----------------------+----------------------+----------------------+ | X'815C' (znak pauzy) | U+2014 (znak pauzy) | U+2015 (kreska | | | | pozioma) | +-----------------------+----------------------+----------------------+ | X'8160' (znak | U+301C (znak | U+FF5E (tylda pełnej | | wartości | wartości | długości) | | przybliżonej) | przybliżonej) | | +-----------------------+----------------------+----------------------+ | X'8161' (podwójna | U+2016 (podwójna | U+2225 (znak | | pionowa kreska) | pionowa kreska) | równoległości) | +-----------------------+----------------------+----------------------+ | X'817C' (minus) | U+2212 (minus) | U+FF0D (łącznik | | | | pełnej długości) | +-----------------------+----------------------+----------------------+ | X'FA55' (kreska | U+00A6 (kreska | U+FFE4 (kreska | | przerywana) | przerywana) | przerywana pełnej | | | | długości) | +-----------------------+----------------------+----------------------+ Na przykład gdy używana jest tabela konwersji IBM, znak pauzy (em-dash) o punkcie kodowym X'815C' strony kodowej CCSID 943 jest przekształcany na punkt kodowy U+2014 strony kodowej Unicode. Jednak gdy używana jest tabela konwersji Microsoft, znak ten jest przekształcany na punkt kodowy U+2015. Z powodu tej różnicy odwzorowań konwersji w pojedynczej bazie danych DB2 UDB w formacie Unicode dla pojedynczego znaku mogą występować dwa różne punkty kodowe. Może to być przyczyną problemów w aplikacjach wykorzystujących technologię Microsoft ODBC, ponieważ aplikacje te mogą traktować znak U+2014 jako niepoprawny punkt kodowy. Aby tego uniknąć, należy zastąpić domyślne tabele konwersji firmy IBM między stronami CCSID 943 i Unicode alternatywnymi tabelami konwersji firmy Microsoft. Zastosowanie alternatywnych tabel konwersji firmy Microsoft między stronami CCSID 943 i Unicode powinno być ograniczone do zamkniętych środowisk, w których wszyscy klienci programu DB2 UDB i wszystkie bazy danych DB2 UDB mają strony kodowe CCSID 943 oraz wszystkie używają tych samych alternatywnych tabel konwersji firmy Microsoft. Jeśli w danym środowisku jeden klient DB2 UDB używa domyślnych tabel konwersji IBM, a inny klient DB2 UDB używa alternatywnych tabel konwersji Microsoft, i obaj wstawiają dane do tej samej bazy danych DB2 UDB ze stroną kodową CCSID 943, ten sam znak może być przechowywany w tej bazie danych jako różne punkty kodowe. Zastępowanie tabel konwersji formatu Unicode dla kodowanego zestawu znaków (CCSID) 943 tabelami konwersji firmy Microsoft Podczas konwersji między stroną kodową CCSID 943 i stroną kodową Unicode używane są domyślne tabele konwersji programu DB2 Universal Database (UDB). Aby użyć innej wersji tabel konwersji, na przykład opracowanych przez firmę Microsoft, konieczne jest ręczne zastąpienie plików domyślnych tabel konwersji (.cnv). Wymagania wstępne Przed zastąpieniem istniejących plików tabel konwersji strony kodowej w katalogu sqllib/conv należy utworzyć kopię zapasową, aby można było wrócić do używanych obecnie plików. W systemach UNIX i Linux katalog sqllib/conv jest dowiązany do ścieżki instalacyjnej programu DB2 UDB. Ograniczenia Aby operacja przyniosła pożądany skutek, należy zmienić tabele konwersji używane przez każdego klienta DB2 UDB, który nawiązuje połączenie z określoną bazą danych. W przeciwnym razie różne aplikacje klienckie mogą zapisywać ten sam znak przy użyciu innych punktów kodowych. Procedura Aby zastąpić domyślne tabele konwersji programu DB2 UDB służące do konwersji znaków strony kodowej CCSID 943 na stronę kodową Unicode, wykonaj następujące czynności: 1. Skopiuj plik sqllib/conv/ms/0943ucs2.cnv do katalogu sqllib/conv/0943ucs2.cnv. 2. Skopiuj plik sqllib/conv/ms/ucs20943.cnv do katalogu sqllib/conv/ucs20943.cnv. 3. Zrestartuj program DB2 UDB. Brak obsługi systemu operacyjnego MVS Mimo wzmianki w dokumentacji program DB2 Universal Database nie obsługuje już systemu operacyjnego MVS. System MVS został zastąpiony przez system z/OS. Tworzenie i odtwarzanie kopii zapasowych (Linux 390) Operacje tworzenia i odtwarzania kopii zapasowej z użyciem wielu urządzeń taśmowych mogą nie działać w systemie operacyjnym Linux 390. Włączanie dokowania widoku podczas dostępu do Centrum projektowania za pomocą programu Hummingbird Exceed Gdy dostęp do Centrum projektowania w systemie UNIX realizowany jest za pośrednictwem programu Hummingbird Exceed, przenoszenie i dokowanie widoków przez przeciąganie ich pasków tytułu w oknie Centrum projektowania wymaga wcześniejszego włączenia rozszerzenia XTEST w wersji 2.2. Aby włączyć rozszerzenie XTEST: 1. Z menu Start wybierz kolejno opcje: Programy -> Hummingbird Connectivity 7.0 ->Exceed ->XConfig. Zostanie otwarte okno XConfig. 2. Opcjonalnie: Jeśli konfiguracja wymaga hasła, wpisz hasło programu XConfig. 3. Kliknij dwukrotnie ikonę Protocol (Protokół). Zostanie otwarte okno Protocol (Protokół). 4. Zaznacz pole wyboru X Conformance Test Compatibility (Test zgodności z systemem X). 5. W oknie Protocol (Protokół) kliknij przycisk Extensions... (Rozszerzenia). Zostanie otwarte okno Protocol Extensions (Rozszerzenia protokołu). 6. Na liście Enable Extensions (Włącz rozszerzenia) zaznacz pole wyboru XTEST(X11R6). 7. Kliknij przycisk OK. Informacje o instalacji, migracji, aktualizacji i konfiguracji Znaczniki zmian oznaczają dodany lub zmieniony tekst. Pionowa kreska (|) oznacza informacje, które zostały dodane lub zmienione dla wersji 8.2, pakiet poprawek 4 (odpowiednik wersji 8.1, pakiet poprawek 11). Wymagania sprzętowe i programowe Wymagania w zakresie sprzętu i oprogramowania można znaleźć w następującym serwisie WWW: http://www.ibm.com/software/data/db2/udb/sysreqs.html Uwagi dotyczące instalowania Dla platform UNIX i Linux poniższe uwagi dotyczące instalowania odnoszą się wyłącznie do instalowania nowych produktów. Aby zastosować pakiet poprawek, należy przeczytać dokument Readme dołączony do tego pakietu. Dla platform Windows poniższe uwagi dotyczące instalowania odnoszą się zarówno do instalowania nowych produktów, jak i stosowania pakietów poprawek. Podczas stosowania pakietu poprawek należy korzystać z niniejszych uwag dotyczących instalowania oraz z pliku Readme dla pakietu poprawek. Przed zainstalowaniem programu DB2 Universal Database należy przeczytać całą tę sekcję. Nowe opcje Kreatora instalacji DB2 (Windows) Określanie ścieżki instalacji w wierszu komend Kreator instalacji DB2(R) umożliwia określenie ścieżki instalacji w wierszu komend przy użyciu nowej opcji: -p Katalog instalacyjny Opcja ta przesłania wartość określoną w pliku odpowiedzi. Nowa opcja -p [INSTALLDIR] może posłużyć do zmiany ścieżki instalacji produktu bez zmiany pliku odpowiedzi. Opcja instalacji NO_CONFIG Parametr NO_CONFIG w pliku odpowiedzi powoduje wyłączenie wszelkich operacji związanych z instalowaniem i konfigurowaniem. Mimo to w ramach instalacji ustawiane są zmienne środowiskowe i wykonywane inne podstawowe czynności konfiguracyjne niezbędne do utworzenia instancji i umożliwiające ręczne utworzenie Serwera administracyjnego DB2(R) po zakończeniu instalacji. Nie są natomiast wykonywane czynności konfiguracyjne, które nie są niezbędne. Określenie tej opcji w pliku odpowiedzi powoduje, że wszelkie parametry używane podczas instalowania i konfigurowania są sprawdzane, ale nie są wykonywane związane z nimi czynności konfiguracyjne. Wyświetlanie informacji o postępie Udostępniono nową opcję umożliwiającą wyświetlanie podczas instalacji nienadzorowanej wyłącznie okna postępu Kreatora instalacji DB2(R). Razem z parametrem -u [plik odpowiedzi] musi być używana nowa opcja -m. W wypadku określenia opcji -m bez opcji pliku odpowiedzi program instalacyjny zwróci komunikat z informacją, że argument jest nieprawidłowy. Jeśli określona jest opcja -m, wyświetlane są tylko okna niewymagające żadnych działań ze strony użytkownika. Na przykład po uruchomieniu komendy setup.exe program instalacyjny będzie wyświetlał okna, ale nie będzie monitował o wprowadzanie jakichkolwiek danych. Po zakończeniu instalacji okna zostaną zamknięte, a proces setup.exe zakończy działanie. Zmiany w Kreatorze instalacji DB2 (Windows) Opcje Kreatora instalacji DB2 (setup.exe) Obecnie plik setup.exe, który uruchamia instalację programu DB2, oczekuje na zakończenie instalacji i dopiero wtedy kończy działanie. To ustawienie odpowiada domyślnemu sposobowi działania programu. Dostępna jest wprawdzie opcja -w, jednak nie zmienia ona już działania Kreatora instalacji DB2. Można użyć nowej opcji -c, aby wymusić natychmiastowe zakończenie pracy Kreatora instalacji DB2 po rozpoczęciu instalacji. W wypadku wybrania tej opcji monitorowanie kodu wyjścia programu setup.exe nie umożliwia określenie kodu powrotu instalacji. W razie jednoczesnego określenia opcji -w i -c zwracana jest informacja o błędzie. Ograniczenia instalacji z rozszerzonymi zabezpieczeniami (Windows) W programie DB2 Universal Database(TM) (UDB) wersja 8.2 wprowadzono nową opcję, która chroni dostęp do zasobów DB2, wykorzystując opcje zabezpieczające systemu plików NTFS oraz systemu operacyjnego Windows(R). Bezpieczny dostęp zapewniony jest przede wszystkim poprzez zmodyfikowanie list kontroli dostępu (ACL) plików DB2, wpisów do rejestru i obiektów pamięci czasu wykonania. Domyślnie kreator instalacji DB2 uaktywnia tę nową opcję zabezpieczającą. Rozszerzone zabezpieczenia w systemie Windows(R) można wyłączyć, przeprowadzając instalację niestandardową i usuwając zaznaczenie pola wyboru Włącz zabezpieczenia systemu operacyjnego w oknie Włącz zabezpieczenia systemu operacyjnego dla obiektów DB2. Jedyną zalecaną metodą wyłączania nowej opcji zabezpieczającej jest uruchomienie komendy db2secv82. Komendę db2secv82 należy jednak uruchomić natychmiast po instalacji. Więcej informacji na temat komendy db2secv82 można znaleźć w Centrum informacyjnym DB2 pod adresem http://publib.boulder.ibm.com/infocenter/db2help/. Nawet jeśli możliwe będzie zainstalowanie programu DB2 UDB z danym ID użytkownika, to użytkownik ten nie będzie mógł uruchamiać żadnych komend DB2, jeśli nie będzie należał do grupy DB2ADMNS, DB2USERS lub do grupy administratorów lokalnych. Tylko użytkownicy należący do grupy DB2ADMNS, DB2USERS lub administratorów lokalnych mają dostęp do plików systemowych DB2, kluczy rejestracyjnych, współużytkowanych zasobów sieciowych i usług DB2 na komputerze lokalnym, na którym uruchomiony jest program DB2 UDB. Co do zasady użytkownicy należący do grupy DB2ADMNS oraz użytkownicy należący do grupy administratorów lokalnych mają pełną kontrolę nad zasobami DB2. Użytkownicy należący do grupy DB2USERS mają prawo do zapisu i wykonywania. Po zainstalowaniu programu DB2 UDB wersja 8.2 użytkowników, którzy powinni mieć prawo do odczytu (np. w celu uruchamiania zapytań), należy dodać do grup DB2USERS. Użytkowników, którzy powinni mieć pełne prawa dostępu, na przykład administratorów baz danych, należy dodać do grup DB2ADMNS. Zarządzanie użytkownikami powinno uwzględniać strategie zabezpieczeń przyjęte w danym środowisku. Wpływ nowych mechanizmów zabezpieczeń na instalację typową Podczas typowej instalacji programu DB2 UDB w systemie Windows zabezpieczenia rozszerzone są domyślnie włączane. Program DB2 UDB domyślnie tworzy grupy DB2ADMNS i DB2USERS. Jeśli wystąpi konflikt z istniejącymi nazwami grup, zostanie wyświetlona zachęta do zmiany nazw grup. Jeśli trzeba, można określić własne wartości. Jeśli użytkownik zdecyduje się na użycie istniejącej grupy zabezpieczeń, strategie zabezpieczeń dla tej grupy zostaną zmodyfikowane zgodnie z wymaganiami programu DB2 UDB. Wybranie istniejącej grupy zabezpieczeń może spowodować zwiększenie uprawnień użytkowników, którzy już do niej należą. Wpływ nowych mechanizmów zabezpieczeń na instalację niestandardową lub instalację pakietu poprawek Podczas instalacji niestandardowej lub instalacji pakietu poprawek programu DB2 UDB w systemie Windows otwierany jest panel Włącz zabezpieczenia systemu operacyjnego dla obiektów DB2. Aby włączyć rozszerzone zabezpieczenia w systemie Windows, można zaakceptować ustawienia domyślne, klikając przycisk Dalej. Aby wyłączyć rozszerzone zabezpieczenia w systemie Windows, można usunąć zaznaczenie pola wyboru Włącz zabezpieczenia systemu operacyjnego w oknie Włącz zabezpieczenia systemu operacyjnego dla obiektów DB2. Dodawanie ID użytkowników w celu umożliwienia im dostępu do programu DB2 UDB po instalacji Po instalacji typowej lub niestandardowej należy dodać ID użytkowników do odpowiednich grup DB2ADMNS i DB2USERS, aby umożliwić tym użytkownikom dostęp do programu DB2 UDB. Aby dodać użytkowników do odpowiedniej grupy: 1. Uruchom menedżera użytkowników i haseł. 2. Wybierz z listy nazwę użytkownika. 3. Kliknij opcję Właściwości. W oknie Właściwości kliknij kartę Członkostwo grupy. 4. Zaznacz przełącznik Inne. 5. Wybierz odpowiednią grupę z listy rozwijanej. Włączanie rozszerzonych zabezpieczeń w systemie Windows po instalacji Jeśli podczas instalacji programu DB2 UDB zdecydowano o niewłączaniu nowej opcji zabezpieczającej, można włączyć ją po instalacji, uruchamiając komendę db2secv82.exe. Po włączeniu opcji zabezpieczającej za pomocą komendy db2secv82.exe można wycofać się z tej decyzji na dwa sposoby: Sposób 1 Natychmiast ponownie uruchom komendę db2secv82.exe -r, nie wprowadzając żadnych dodatkowych zmian w systemie. Jeśli w systemie zostaną wprowadzone jakiekolwiek zmiany, konieczne będzie skorzystanie z drugiej opcji. Sposób 2 Dodaj grupę Każdy do grup DB2ADMNS i DB2USERS. Dodanie grupy Każdy do tych grup zabezpieczeń spowoduje nadanie wszystkim użytkownikom wszystkich uprawnień do używania programu DB2 UDB. Wyłączanie zabezpieczeń nie jest jednak zalecane, ponieważ może spowodować niepożądane obniżenie poziomu bezpieczeństwa. Wyłączenie zabezpieczeń może uniemożliwić niektórym użytkownikom korzystanie z programu DB2 UDB, ponieważ lista ACL utworzona przez program DB2 UDB w środowisku wykonawczym przestanie być zgodna z listą ACL obowiązującą w systemie plików. Ścieżki katalogów nie mogą zawierać znaków odstępu (Linux i UNIX) Jeśli program db2setup zostanie uruchomiony z katalogu, którego ścieżka zawiera znaki odstępów, program instalacyjny zakończy działanie z następującym błędem: : nie znaleziono Umieść obraz obiektu instalowalnego w katalogu, którego ścieżka nie zawiera spacji. Wymaganie dotyczące systemu Red Hat Enterprise Linux 4 Przed zainstalowaniem programu DB2 Universal Database for Linux(TM) w systemie Red Hat Enterprise Linux(R) 4 musi być zainstalowany pakiet compat-libstdc++-33. Poziomy wersji pakietu JDK dla programu DB2 UDB (Linux na platformie IA64 i Linux na platformie POWER) Podczas instalowania wersji 8.2 produktu DB2 Universal Database (UDB) w systemie Linux program instalacyjny oparty na pakietach RPM próbuje zainstalować pakiet IBM Java RPM (IBMJava2-SDK-ppc-1.4.1-2.0.ppc.rpm). Jeśli w systemie jest już nowsza wersja pakietu RPM (na przykład IBMJava2-SDK-ppc-1.5.0-2.0.ppc.rpm), wcześniejsza wersja pakietu RPM nie będzie instalowana. Jednak w takiej sytuacji parametr konfiguracyjny bazy danych JDK_PATH po instalacji nadal wskazuje ścieżkę środowiska Java 1.4 /opt/IBMJava2-14/. W efekcie nie będzie działać żadna z funkcji zależnych od środowiska Java, w szczególności instalacja katalogu narzędzi DB2. Wymaganie wstępne Zaloguj się jako właściciel instancji i uruchom poniższą komendę. Procedura 1. Aby wskazać programowi DB2 UDB poprawny pakiet IBM(R) Developer Kit, uruchom następującą komendę: db2 update dbm cfg using JDK_PATH ścieżka gdzie ścieżka to ścieżka instalacyjna wersji 1.5, na przykład /opt/IBMJava2-15. Dekompresowanie obrazów instalacyjnych (Linux i UNIX) Niektóre obrazy instalacyjne są dostarczane na dyskach CD produktów w formacie skompresowanym. Przed zainstalowaniem programu DB2 Universal Database (UDB) z tych obrazów konieczne jest skopiowanie ich do katalogu tymczasowego i zdekompresowanie. Skompresowane obrazy instalacyjne na dyskach CD mają nazwę pliku typu PRODUKT.tar.Z lub PRODUKT.tar.gz, gdzie PRODUKT to instalowany produkt z rodziny DB2. Jeśli, na przykład, instaluje się produkt DB2 UDB Enterprise Server Edition, skompresowany obraz na odpowiednim dysku CD może mieć nazwę ese.tar.Z lub ese.tar.gz. Oprócz miejsca na dysku wymaganego przez samo oprogramowanie, potrzebne są dodatkowo 2 GB wolnego miejsca w systemie plików na plik tar.Z albo tar.gz i zdekompresowany obraz instalacyjny. Procedura Aby zdekompresować obrazy instalacyjne, wykonaj następujące czynności: 1. Skopiuj skompresowany obraz instalacyjny do tymczasowego katalogu w systemie plików zawierającym co najmniej 2 GB wolnego miejsca. 2. Przejdź do katalogu ze skopiowanym obrazem instalacyjnym, wpisując komendę cd /TMP, gdzie /TMP jest nazwą katalogu, w którym znajduje się skompresowany obraz. 3. Jeśli produkt ma rozszerzenie *.tar.Z, wpisz poniższą komendę, aby zdekompresować obraz instalacyjny: zcat PRODUKT.tar.Z | tar -xvf - gdzie PRODUKT to instalowany produkt DB2. 4. Jeśli produkt ma rozszerzenie *.tar.gz, wpisz poniższą komendę, aby zdekompresować obraz instalacyjny: gunzip -c PRODUKT.tar.gz | tar -xvf - gdzie PRODUKT to instalowany produkt DB2. Uwagi: a. Program gunzip jest domyślnym elementem pakietu instalacyjnego systemu AIX 5L. Jeśli nie masz programu gunzip, zainstaluj zestaw plików rpm.rte z nośnika instalacyjnego systemu AIX 5L. Zestaw plików rpm.rte zawiera program gunzip. b. Można także pobrać program gzip dla systemu AIX 5L, który zawiera program gunzip, spod adresu http://www.ibm.com/servers/aix/products/aixos/linux/rpmgroups.html. 5. Procedurę instalacji przy użyciu Kreatora instalacji DB2 opisano w sekcji Instalowanie programu DB2 UDB z obrazów instalacyjnych (Linux i UNIX). Program DB2 UDB nie zezwala na występowanie znaków narodowych w ścieżce instalacyjnej (Windows) Podczas instalowania programu DB2 Universal Database (UDB) w systemie Windows można wpisać ścieżkę do katalogu dla programu DB2 UDB. Jednak ścieżka ta może zawierać wyłącznie znaki z alfabetu angielskiego. Pobieranie i dekompresowanie pakietów poprawek do wielu produktów (Windows) Od programu DB2, wersja 8, dla systemu Windows, pakiet poprawek 3, zamiast jednego ogólnego pakietu poprawek firma IBM udostępnia pakiety poprawek dostosowane do poszczególnych produktów. Zmiana ta dotyczy tylko produktów DB2, wersja 8, w systemach Windows. Jeśli zainstalowany jest więcej niż jeden produkt DB2, przed rozpoczęciem instalacji konieczne będzie pobranie i zdekompresowanie obrazów poszczególnych produktów DB2. Jeśli, na przykład, w tym samym systemie Windows zainstalowane są produkty DB2 UDB Enterprise Server Edition, wersja 8, i DB2 Spatial Extender, wersja 8, konieczne jest pobranie obrazu pakietu poprawek do produktu DB2 UDB Enterprise Server Edition oraz obrazu pakietu poprawek do produktu Spatial Extender. Następnie należy zdekompresować wszystkie te pakiety poprawek do tego samego katalogu. Aby można było przeprowadzić instalację przy użyciu interfejsu graficznego lub instalację cichą, wszystkie obrazy muszą być zdekompresowane. Kompletne instrukcje dotyczące instalacji pakietu poprawek są dostępne w pliku Readme najnowszego pakietu poprawek do produktu DB2 UDB. Instalowanie programu DB2 UDB z obrazów instalacyjnych (Linux i UNIX) Wymagania wstępne Zanim uruchomisz Kreatora instalacji DB2: * Sprawdź, czy system spełnia wymagania dotyczące instalacji, pamięci i miejsca na dysku. Patrz sekcja Wymagania sprzętowe i programowe. Uwaga: W produkcie DB2 UDB wersja 8.2.2 (odpowiednik wersji 8.1 pakiet poprawek 9) wprowadzono nowy zestaw obrazów instalacyjnych dla dystrybucji systemów Linux(R) w architekturach x86 (32-bitowe procesory Intel(R) i AMD) oraz x86-64 (64-bitowe procesory Intel(R) EM64T i AMD64) opartych na jądrze 2.6, takich jak Red Hat Enterprise Linux 4 i SuSE Linux Enterprise Server 9. Przed rozpoczęciem instalacji należy zaopatrzyć się w odpowiedni zestaw obrazów instalacyjnych dla używanej dystrybucji systemu Linux. * Przeczytaj wymagania wstępne dotyczące instalowania. Plik install.txt lub install.htm znajduje się na dysku CD w ścieżce: /cdrom/doc/język/ gdzie: * cdrom określa punkt podłączania * język to nazwa katalogu odpowiedniej wersji językowej określona pięcioznakowym kodem. * Przeprowadzenie instalacji wymaga uprawnień administratora. * Dysk CD produktu DB2 musi być podłączony w systemie. Procedura Jeśli obrazy instalacyjne są dostarczane na dyskach CD z produktem w postaci skompresowanej, przed zainstalowaniem programu DB2 UDB należy te obrazy zdekompresować. Szczegółowe informacje na ten temat zawiera sekcja Dekompresowanie obrazów instalacyjnych (Linux i UNIX). Aby wykonać instalację przy użyciu Kreatora instalacji DB2, wpisz następującą komendę: ./PRODUKT/db2setup gdzie PRODUKT to instalowany produkt DB2. Jeśli, na przykład, instalujesz produkt DB2 UDB Enterprise Server Edition, wpisz ./ese/db2setup. Zostanie otwarty Starter instalacji. Należy wykonywać instrukcje wyświetlane na kolejnych panelach instalacyjnych. Instalowanie programu DB2 UDB z obrazów instalacyjnych (Windows) Wymagania wstępne Zanim uruchomisz Kreatora instalacji DB2: * Sprawdź, czy system spełnia wymagania dotyczące instalacji, pamięci i miejsca na dysku. Patrz sekcja Wymagania sprzętowe i programowe. * Przeczytaj wymagania wstępne dotyczące instalowania. Plik install.txt lub install.htm znajduje się na dysku CD w ścieżce: /x:\doc\/język\ gdzie: * x określa literę napędu CD * język to nazwa katalogu odpowiedniej wersji językowej określona pięcioznakowym kodem. * W celu wykonania instalacji potrzebne jest lokalne konto administratora z zalecanymi uprawnieniami. Aby wykonać instalację przy użyciu Kreatora instalacji DB2, włóż dysk CD do napędu. Jeśli będzie włączona opcja automatycznego odtwarzania dysków CD-ROM, zostanie uruchomiony Starter programu instalacyjnego DB2. Procedura Jeśli opcja automatycznego odtwarzania nie jest włączona, można ręcznie uruchomić Kreatora instalacji DB2: 1. Kliknij przycisk Start i wybierz opcję Uruchom. 2. W polu Otwórz wpisz następującą komendę: x:\setup /i język gdzie: * x określa literę napędu CD, * język to identyfikator regionu dla danego języka (np. PL dla polskiego). Parametr /i język jest opcjonalny. Jeśli nie zostanie on określony, Kreator instalacji DB2 uruchomi się w języku używanym przez system operacyjny. 3. Kliknij przycisk OK. Zostanie otwarty Starter programu instalacyjnego DB2. Należy wykonywać instrukcje wyświetlane na kolejnych panelach instalacyjnych. Uwaga: W produkcie DB2 Run-Time Client Lite używane są parametry wiersza komend. Szczegółowe informacje można znaleźć w Centrum informacyjnym DB pod adresem http://publib.boulder.ibm.com/infocenter/db2help/. Miejsce na dysku wymagane do zainstalowania programu DB2 UDB przy użyciu pliku odpowiedzi Podczas instalowania produktu DB2 Universal Database przy użyciu pliku odpowiedzi, w katalogu etc wymagane jest 1 MB wolnego miejsca. Komunikat o błędzie DBI1191I wygenerowany podczas instalowania z użyciem pliku odpowiedzi informuje, że w katalogu głównym nie ma wystarczająco dużo wolnego miejsca. Komunikat ten może wprowadzić użytkownika w błąd. Należy sprawdzić wielkość wolnego miejsca w katalogu etc. Do ponownego uruchomienia instalacji wymagane jest co najmniej 1 MB wolnego miejsca. Ograniczenia w zakresie dodawania produktów przy użyciu komendy db2setup (Linux i UNIX) Po zainstalowaniu produktu DB2 możliwe jest dodanie również innych produktów DB2. Jeśli do zainstalowania dodatkowych produktów używana jest komenda db2setup, obowiązują następujące zalecenia i ograniczenia. Zalecenia Wersja kodu produktu zainstalowanego i produktu dodawanego powinna być taka sama. Załóżmy na przykład, że jest już zainstalowany produkt DB2 Universal Database (UDB) Enterprise Server Edition Server, wersja 8, pakiet poprawek 5, i ma zostać dodany produkt DB2 Information Integrator. W takim przypadku należy zainstalować program DB2 Information Integrator także w wersji 8 z pakietem poprawek 5. Ograniczenia * Dopuszczalna jest sytuacja, w której wersja używanego pakietu poprawek DB2 jest nowsza od wersji pakietu poprawek dodawanego produktu. Jeśli jednak poziom pakietu poprawek dodawanego produktu jest niższy niż poziom pakietu poprawek DB2, po zainstalowaniu dodatkowego produktu należy ponownie zastosować pakiet poprawek na poziomie DB2. Instrukcje umożliwiające ponowne zastosowanie pakietu poprawek znajdują się w pliku Readme odpowiednim dla danego pakietu poprawek. * Jeśli poziom pakietu poprawek DB2 jest niższy niż poziom pakietu poprawek dodawanego produktu, generowany jest błąd. Wersja pakietu poprawek dodawanego produktu nie może być nowsza od wersji pakietu poprawek używanej dla programu DB2 UDB. W takim przypadku należy najpierw zainstalować odpowiednią wersję pakietu poprawek produktu DB2 UDB i dopiero wówczas zainstalować dodatkowy produkt. Niezbędne instrukcje są dostępne w pliku Readme odpowiedniego pakietu poprawek. Poniższa tabela zawiera zestawienie kombinacji dla komendy db2setup: Tabela 6. Kombinacje dla komendy db2setup +----------+--------------+-------------------------------------------+ | Poziom | Poziom | Czy taka kombinacja jest dozwolona? | | pakietu | pakietu | | | poprawek | poprawek | | | DB2 | dodatkowego | | | | produktu | | +----------+--------------+-------------------------------------------+ | Wersja | Wersja 8, | Tak. Ta kombinacja jest zalecana. | | 8, | pakiet | | | pakiet | poprawek 3 | | | poprawek | | | | 3 | | | +----------+--------------+-------------------------------------------+ | Wersja | Wersja 8 GA | Tak, lecz konieczne jest ponowne | | 8, | | zastosowanie pakietu poprawek 3 do wersji | | pakiet | | 8. Instrukcje opisujące sposób ponownego | | poprawek | | stosowania pakietu poprawek znajdują się | | 3 | | w odpowiednim dla danego pakietu poprawek | | | | pliku readme dostępnym w serwisie WWW | | | | działu wsparcia DB2. | +----------+--------------+-------------------------------------------+ | Wersja | Wersja 8, | Nie. Przed zainstalowaniem dodatkowego | | 8, | pakiet | produktu konieczne jest zainstalowanie | | pakiet | poprawek 5 | nowszej wersji pakietu poprawek DB2 (w | | poprawek | | tym przykładzie pakietu poprawek 5 do | | 3 | | wersji 8). Niezbędne instrukcje dotyczące | | | | instalowania wymaganego pakietu poprawek | | | | do wersji 8 są dostępne w odpowiednim | | | | pliku Readme w serwisie WWW DB2. | +----------+--------------+-------------------------------------------+ Serwis WWW działu wsparcia do programu DB2 znajduje się pod adresem http://www.ibm.com/software/data/db2/udb/support.html Narzędzia DB2 w sieci WWW Dla wymienionych niżej języków serwery aplikacji obsługiwane przez Narzędzia DB2 w sieci WWW muszą być zgodne ze specyfikacją Servlet 2.3: * japoński * koreański * chiński uproszczony * chiński tradycyjny * rosyjski * polski Wiązanie pakietów Query Patroller po zastosowaniu pakietów poprawek Jeśli został zainstalowany program Query Patroller, po zastosowaniu pakietu poprawek i wykonaniu wszystkich wymaganych wówczas operacji należy wykonać następujące czynności: 1. Zaloguj się jako użytkownik z uprawnieniem DBADM. 2. Przejdź do odpowiedniego katalogu: * SCIEZKA_INSTANCJI/bnd (Linux i UNIX) * SCIEZKA_INSTANCJI/bnd (Windows) gdzie SCIEZKA_INSTANCJI to ścieżka do instancji DB2 UDB. 3. Uruchom następujące komendy: db2 connect to nazwa_bazy_danych db2 bind @qpserver.lst blocking all grant public Instalowanie programu Query Patroller z pakietem poprawek 3 lub nowszym Query Patroller to system zarządzania zapytaniami służący do sterowania przepływem zapytań kierowanych do używanej bazy danych DB2 UDB. W oprogramowaniu DB2 UDB, wersja 8.1.2, program DB2 Query Patroller stał się autonomicznym produktem. Nie jest to już komponent programu DB2 Warehouse Manager. Jeśli zainstalowany jest produkt DB2 UDB, wersja 8, pakiet poprawek 3 lub nowszy, i instalowana jest wersja podstawowa lub wersja GA programu DB2 Query Patroller, konieczne będzie ponowne zainstalowanie wersji 3 lub nowszej pakietu poprawek DB2 UDB. W przeciwnym razie zmiany w programie Query Patroller nie zostaną zastosowane dla używanej wersji pakietu poprawek DB2 UDB. Jeśli instalowany jest serwer Query Patroller, po ponownym zastosowaniu odpowiedniej wersji pakietu poprawek DB2 UDB konieczne będzie także zaktualizowanie instancji DB2 UDB. Zaktualizowane instancje należy zrestartować. Instalowanie serwera Query Patroller Podczas instalowania serwera programu Query Patroller należy zwrócić uwagę na następujące kwestie: * Jeśli w trakcie działania Kreatora instalacji DB2 w oknie Wybierz typ instalacji zostanie wybrana opcja Oparta na wykorzystaniu komputera, a w oknie Wybierz sposób korzystania z tego komputera - opcja Serwer, Centrum Query Patroller nie zostanie zainstalowane. Aby zainstalować Centrum Query Patroller, należy w oknie Wybierz typ instalacji wybrać opcję Pełna lub Niestandardowa. * W podręczniku DB2 Query Patroller(TM) Guide aby zilustrować sposób instalacji serwera Query Patroller przy użyciu Kreatora instalacji DB2, używane są panele instalacyjne dla instalacji opartej na wykorzystaniu komputera. Jednak instalacja serwera Query Patroller nie wymaga wyboru typu instalacji opartego na wykorzystaniu komputera. Można w tym celu wybrać także instalację pełną lub niestandardową. * Klienci DB2 z zainstalowanym Zestawem narzędzi klienta Query Patroller muszą połączyć się z partycją, na której zainstalowany jest serwer Query Patroller. W typowym środowisku partycjonowanej bazy danych serwer Query Patroller jest instalowany na wszystkich partycjach; pozwala to wybrać dowolną z nich jako partycję koordynującą i w dalszym ciągu mieć możliwość korzystania z zestawu narzędzi klienta Query Patroller. Definiowanie nowej grupy partycji bazy danych w programie Query Patroller Podczas definiowania nowego obszaru tabel w trakcie instalacji programu Query Patroller w środowisku partycjonowanym można wybrać istniejącą grupę partycji bazy danych. Można również skonfigurować nową grupę partycji bazy danych dla nowego obszaru tabel. Wówczas do nowej grupy partycji bazy danych można wybrać tylko jedną partycję bazy danych z okna listy na panelu instalacyjnym. Kolejne partycje można dodać do nowej grupy partycji bazy danych ręcznie, dopiero po zakończeniu instalacji. Instalowanie zestawu narzędzi klienta Query Patroller Klienci DB2 mogą wysyłać zapytania do serwera Query Patroller bez konieczności instalowania zestawu narzędzi klienta Query Patroller. Odtwarzanie wersji beta baz danych Bazy danych utworzone w wersji beta programu DB2 UDB, wersja 8.2, należy odtworzyć w oficjalnej wersji 8.2. Oznacza to także odtworzenie przestrzennych baz danych programu DB2 Geodetic Extender, wersja 8.2. Instalowanie plików MDAC dla wersji produktu DB2 UDB w języku narodowym Jeśli przed instalacją wersji w języku narodowym programu DB2 Universal Database (UDB), wersja 8.2, nie zostanie zainstalowana wersja w języku narodowym komponentów Microsoft Data Access Components (MDAC) 2.7, program DB2 UDB zainstaluje domyślnie angielską wersję językową komponentów MDAC. Spowoduje to, że panele do administrowania źródłami danych ODBC w systemie Windows będą wydawać się nieprzetłumaczone, jeśli używany jest system operacyjny w języku innym niż angielski. Aby rozwiązać ten problem, należy zainstalować pakunek "MDAC 2.7 RTM - Refresh" dostępny w serwisie WWW firmy Microsoft pod adresem http://msdn.microsoft.com/data/downloads/updates/default.aspx. W serwisie tym należy wybrać odpowiedni język, pobrać odpowiedni plik wykonywalny i uruchomić go. Spowoduje to zainstalowanie przetłumaczonych plików paneli do administrowania źródłami danych ODBC. Strategia licencji DB2 dla programu DB2 Universal Database Workgroup Server Edition Strategia licencji internetowych nie jest ważna dla produktu DB2 Universal Database Workgroup Server Edition. Jeśli potrzebna jest licencja dla użytkowników internetowych, należy nabyć produkt DB2 Universal Database Workgroup Server Unlimited Edition. Instalowanie dodatkowych czcionek azjatyckich (Linux) Firma IBM oferuje dodatkowe pakiety czcionek dla systemu Linux, zapewniające obsługę znaków azjatyckich za pośrednictwem zestawu znaków dwubajtowych (DBCS). Czcionki te są niezbędne w przypadku niektórych wersji systemu Linux, w których instalowane są wyłącznie czcionki wymagane do wyświetlania znaków zgodnych z ustawieniami dla danego kraju lub regionu. Jeśli po uruchomieniu komendy db2setup brakuje niektórych znaków w interfejsie Kreatora instalacji DB2, najprawdopodobniej przyczyną jest brak niektórych wymaganych czcionek w systemie Linux. Aby po uruchomieniu komendy db2setup można było poprawnie odwoływać się do czcionek osadzonych na instalacyjnym dysku CD-ROM, należy wykonać następujące czynności: 1. Wprowadź następującą komendę: export JAVA_FONTS=//db2//java/jre/lib/fonts gdzie to lokalizacja obrazu instalacyjnego, a to nazwa katalogu z przedrostkiem Linux. 2. Ponownie uruchom komendę db2setup. W razie zauważenia braku niektórych znaków po instalacji, podczas korzystania z narzędzi DB2 z graficznym interfejsem użytkownika, należy zainstalować wymagane czcionki dostarczone z produktem DB2. Czcionki te można znaleźć w katalogu fonts na jednym z poniższych dysków CD: * IBM(R) Developer Kit, Java(TM) Technology Edition (64-bit) for AIX 5L * DB2 Embedded Application Server and applications (XML registry, Web Administration tools and Java(TM) distributed debugger) dla używanego systemu operacyjnego W katalogu fonts dostępne są dwa kroje czcionek: Times New Roman WorldType i Monotype Sans Duospace WorldType. Każdy z krojów występuje w wersji właściwej dla danego kraju lub regionu. W poniższej tabeli wymieniono osiem czcionek umieszczonych w katalogu fonts w formacie skompresowanym. Tabela 7. Nazwy plików z dodatkowymi czcionkami azjatyckimi. +-------------------------+---------------------+---------------------+ | Krój czcionki | Nazwa pliku | Kraj lub region | | | czcionki | | +-------------------------+---------------------+---------------------+ | Times New Roman WT J | tnrwt_j.zip | Japonia i inne | | | | kraje/regiony | +-------------------------+---------------------+---------------------+ | Times New Roman WT K | tnrwt_k.zip | Korea | +-------------------------+---------------------+---------------------+ | Times New Roman WT SC | tnrwt_s.zip | Chiny (chiński | | | | uproszczony) | +-------------------------+---------------------+---------------------+ | Times New Roman WT TC | tnrwt_t.zip | Tajwan (chiński | | | | tradycyjny) | +-------------------------+---------------------+---------------------+ | Monotype Sans Duospace | mtsansdj.zip | Japonia i inne | | WT J | | kraje/regiony | +-------------------------+---------------------+---------------------+ | Monotype Sans Duospace | mtsansdk.zip | Korea | | WT K | | | +-------------------------+---------------------+---------------------+ | Monotype Sans Duospace | mtsansds.zip | Chiny (chiński | | WT SC | | uproszczony) | +-------------------------+---------------------+---------------------+ | Monotype Sans Duospace | mtsansdt.zip | Tajwan (chiński | | WT TC | | tradycyjny) | +-------------------------+---------------------+---------------------+ Uwaga: Czcionki te nie zastępują czcionek systemowych. Czcionki są przeznaczone do użycia na potrzeby programu DB2 Universal Database lub w połączeniu z nim. Sprzedaż i dystrybucja tych czcionek do innych zastosowań jest niedozwolona. Procedura Aby zainstalować dodatkowe czcionki azjatyckie: 1. Rozpakuj pakiet czcionek. 2. Skopiuj pakiet czcionek do katalogu /opt/IBMJava2-141/jre/lib/fonts. Jeśli katalog ten nie istnieje, należy go utworzyć. 3. Wprowadź następującą komendę: export JAVA_FONTS=/opt/IBMJava2-141/jre/lib/fonts Należy zainstalować przynajmniej jedną czcionkę każdego z krojów dla właściwego kraju lub regionu. Użytkownicy z Chin, Korei i Tajwanu powinni korzystać z wersji przeznaczonych dla odpowiedniego regionu; w innych przypadkach należy użyć japońskiej wersji czcionek. Jeśli w systemie jest wystarczająca ilość miejsca, zalecane jest zainstalowanie wszystkich ośmiu czcionek. Konfigurowanie Centrum projektowania do korzystania z pakietów Java Development Kits (Linux) W niektórych przypadkach program DB2 Universal Database nie instaluje pakietu Java Development Kit w systemie operacyjnym klienta. Aby można było tworzyć procedury zapisane w bazie w języku Java w Centrum projektowania na takich klientach, należy w Centrum projektowania wskazać położenie zainstalowanego pakietu Java Development Kit. W celu określenia położenia pakietu Java Development Kit wykonaj następujące czynności: 1. W Centrum projektowania wybierz opcje: Projekt -> Ustawienia środowiska. 2. W notatniku Ustawienia środowiska wybierz węzeł Proces. 3. W sekcji Katalog podstawowy Java na stronie Proces określ Poziom pakietu JDK, który zostanie użyty do tworzenia i uruchamiania procedur zapisanych w bazie w języku Java. 4. W polu Katalog określ ścieżkę do katalogu, który istnieje na kliencie lub jest z niego dostępny, i w którym jest zainstalowany wybrany pakiet JDK. 5. Jeśli na komputerze klienta tworzone są procedury w języku Java zapisane w bazie dla wielu serwerów DB2, może być konieczne wybranie dodatkowych poziomów pakietów JDK i określenie ich położenia, zależnie od poziomów pakietów JDK używanych przez te serwery. Na serwerze DB2 instalacje pakietu Java Development Kit mogą nie mieć dowiązanych niektórych bibliotek języka Java z podkatalogu systemowego /usr/lib. Dowiązania te są potrzebne do tworzenia i uruchamiania procedur Java zapisanych w bazie. W temacie "Konfigurowanie środowiska Java w systemie Linux" w sekcji Zagadnienia dotyczące kompatybilności tych Uwag do wydania zamieszczono instrukcję tworzenia dowiązania do pakietu Java Development Kit na kliencie z systemem Linux. Tworzenie identyfikatorów grup i użytkowników w dystrybucjach United Linux 1.0 i SuSE Linux Aby utworzyć identyfikatory grup i użytkowników dla instalacji programu DB2 UDB, wersja 8.2, w dystrybucjach United Linux 1.0 i SuSE Linux, należy użyć komend groupadd i useradd. W publikacji Instalowanie i konfigurowanie - suplement dla wersji 8.2 niepoprawnie podano komendy mkgroup i mkuser jako służące do tworzenia identyfikatorów grup i użytkowników. Demon systemu pomocy nie uruchamia się po zainstalowaniu przy użyciu komendy db2_install (UNIX i Linux) Gdy instaluje się Centrum informacyjne DB2 na platformach UNIX i Linux przy użyciu komendy db2_install, demon systemu pomocy (db2icd) nie uruchamia się po instalacji. Aby uzyskać dostęp do dokumentacji, konieczne jest ręczne uruchomienie demona systemu pomocy lub zrestartowanie systemu. Patrz temat "Demon Centrum informacyjnego DB2" w sekcji Aktualizacje dokumentacji | Instalacja i konfiguracja dokumentu Uwagi do wydania. Logo Gotowe do współpracy z produktami Tivoli (UNIX) Zakupionym oprogramowaniem firmy IBM oznaczonym logo Gotowe do współpracy z produktami Tivoli można zarządzać przy użyciu różnych produktów z rodziny Tivoli. Produkty Tivoli umożliwiają automatyczne wykrywanie, monitorowanie i inwentaryzowanie aplikacji oznaczonych logo Gotowe do współpracy z produktami Tivoli. Oprogramowanie IBM z logo Gotowe do współpracy z produktami Tivoli może być zarządzane takimi produktami, jak na przykład IBM Tivoli Configuration Manager. Produkt IBM Tivoli Monitoring for Databases zapewnia obsługę wszystkich najważniejszych systemów baz danych, w tym DB2 Universal Database (UDB), Oracle i Informix. W celu uzyskania dodatkowych informacji należy wpisać w przeglądarce adres serwisu WWW firmy IBM: http://www.ibm.com/software/tivoli/ Produkty gotowe do współpracy z produktami Tivoli Instrumentation i DB2 UDB, wersja 8 W celu zainstalowania i skonfigurowania instrumentacji administrator Tivoli powinien wykonać następujące czynności: 1. Plik sygnatury Gotowe do współpracy z produktami Tivoli dla tego produktu DB2 nosi nazwę xxx.sys. Począwszy od pakietu poprawek 4 te pliki sygnatur będą odświeżane dla każdego pakietu poprawek, a nie tylko dla nowych wersji. Należy sprawdzić, czy pliki sygnatur są zainstalowane w katalogu: %install DB2DIR%/tivready 2. Zainstalować i skonfigurować produkt Tivoli GEM 2.2 oraz obsługę gotowości do współpracy z produktami Tivoli na wszystkich komputerach, które mają być monitorowane. Aby pobrać obsługę gotowości do współpracy z produktami Tivoli oraz szczegółowe instrukcje dotyczące jej zainstalowania i korzystania z niej, należy wpisać w przeglądarce adres http://www.ibm.com/software/sysmgmt/products/support/ 3. Zaawansowane funkcje zarządzania bazami danych są dostępne w produkcie IBM Tivoli Monitoring for Databases. Produkt ITM for Databases korzysta z nowej, zaawansowanej wersji produktu Distributed Monitoring (zwanego IBM Tivoli Monitoring lub ITM) i dzięki temu nowemu mechanizmowi w znacznym stopniu rozszerza możliwości monitorowania. Produkt ITM for Databases obsługuje program DB2 UDB za pośrednictwem komponentu PAC (Proactive Analysis Component). Komponent PAC jest ściśle zintegrowany z programem DB2 UDB i stanowi gotowy do pracy zestaw monitorów przeznaczonych do szybkiego wdrożenia i aktywowania. Administrator bazy danych może także definiować niestandardowe monitory, wartości progowe i zadania. Informacje dodatkowe są dostępne pod adresem: http://www.ibm.com/software/tivoli/ Informacje o innych produktach Tivoli są dostępne pod adresem: http://www.ibm.com/software/tivoli/ Narzędzie do redukcji obrazów instalacyjnych - db2iprune (Windows) Program narzędziowy wiersza komend db2iprune pozwala zmniejszyć wielkość obrazu instalacyjnego produktu DB2 Universal Database (UDB) dla systemu Windows. Narzędzie to jest szczególnie przydatne podczas dużych drożeń programu DB2 UDB. Przydaje się ono także do osadzania produktu DB2 UDB w aplikacji. Narzędzie db2iprune składa się z pliku wejściowego i pliku wykonywalnego. Plik wejściowy (.prn) zawiera pełną listę komponentów, które można usunąć, i służy do określania, które opcje i wersje językowe mają być usunięte z obrazu instalacyjnego. Następnie plik wykonywalny db2iprune (db2iprune.exe) usuwa pliki .cab odpowiadające tym opcjom i wersjom językowym. W wyniku powstaje nowy, mniejszy obraz instalacyjny produktu DB2 UDB, który można zainstalować przy użyciu zwykłych metod instalacji. Także pakiety poprawek stosuje się w zwykły sposób. Instalowany pakiet poprawek wykryje i zaktualizuje tylko komponenty, które zostały zainstalowane przy użyciu programu db2iprune. Narzędzie db2iprune znajduje się w katalogu \db2\windows\utilities\db2iprune na dysku instalacyjnym CD produktu DB2 UDB. Katalog ten zawiera także plik Readme. W pliku tym można znaleźć szczegółowe instrukcje korzystania z programu db2iprune. Ograniczenie dotyczące instalowania dokumentacji do produktu DB2 Universal Database, wersja 8 (Windows) W systemie Windows nie należy instalować Centrum informacyjnego (dokumentacji w języku HTML) do produktu DB2 Universal Database UDB, wersja 8, na stacji roboczej ani na serwerze, na którym zainstalowany jest już produkt DB2 UDB, wersja 7 (lub starszy). Program instalacyjny wykrywa obecność wcześniejszej wersji programu i usuwa ją. Wcześniejsze instalacje aktualizowane do najnowszego poziomu (Windows) Jeśli w systemie jest zainstalowany wcześniejszy poziom produktu DB2 w wersji 8, obraz instalacyjny wykryje to i zaktualizuje ten produkt do najnowszego poziomu. Wymagania systemowe dla Dostawcy danych DB2 dla platformy .NET (Windows) Przed użyciem programu instalacyjnego DB2 Universal Database (UDB) o zainstalowania Dostawcy danych DB2 dla platformy .NET na komputerze musi być już zainstalowana struktura .NET Framework. W przeciwnym razie program instalacyjny DB2 UDB nie zarejestruje Dostawcy danych DB2 dla platformy .NET. Jeśli produkt DB2 UDB jest zainstalowany, a struktura .NET Framework nie, Dostawca danych DB2 dla platformy .NET nie zostanie zarejestrowany. Jeśli struktura .NET Framework zostanie zainstalowana później, można będzie uruchomić plik wykonywalny db2nmpreg, aby zarejestrować dostawcę. Plik ten znajduje się w katalogu sqllib\bin. Nie ma on żadnych parametrów. Aby zarejestrować Dostawcę danych DB2 dla platformy .NET, należy wpisać db2nmpreg w dowolnym oknie komend. Instalowanie klientów DB2, wersja 8, i programu DB2 Connect PE przez użytkownika bez uprawnień administratora (Windows) Podczas instalowania klienta DB2 Administration, klienta DB2 Application Development lub programu DB2 Connect Personal Edition konieczne jest zaktualizowanie pliku usług TCP/IP w systemie Windows, gdy są spełnione następujące warunki: * podczas konfigurowania instalacji wybrano opcję opracowywania danych, * identyfikator użytkownika wykonującego instalację nie należy do grupy Administratorzy na komputerze docelowym, * produkt jest instalowany w jednym z następujących systemów operacyjnych: Windows NT, Windows 2000, Windows XP lub Windows Server 2003. Jeśli wszystkie te warunki są spełnione, do pliku usług TCP/IP systemu Windows należy dodać następujące wpisy: Tabela 8. Wpisy wymagane w pliku usług TCP/IP systemu Windows. +----------------------------------+----------------------------------+ | Nazwa portu | Numer portu | +----------------------------------+----------------------------------+ | vwkernel | 11000/tcp | +----------------------------------+----------------------------------+ | vwd | 11001/tcp | +----------------------------------+----------------------------------+ | vwlogger | 11002/tcp | +----------------------------------+----------------------------------+ Bez tych wpisów Centrum hurtowni danych nie będzie działało prawidłowo. Uwagi dotyczące migracji Oprócz przedstawionych tutaj tematów najnowsze informacje na temat migracji produktów DB2 można znaleźć w portalu dotyczącym migracji DB2 pod adresem: http://www-1.ibm.com/support/docview.wss?rs=71&uid=swg21200005 Nota techniczna db2updv8 Najnowsze informacje dotyczące komendy db2updv8 włącznie z ważnymi szczegółami dotyczącymi użytkowania i sposobami rozwiązywania często występujących problemów można znaleźć w nocie technicznej 1178848 pod adresem http://www-1.ibm.com/support/docview.wss?rs=71&uid=swg21178848 Po uruchomieniu komendy db2updv8 powrót do wersji 8.1 nie jest obsługiwany Po uruchomieniu komendy db2updv8 w celu aktualizacji katalogów systemowych do poziomu aktualnej wersji 8 powrót do wersji 8.1 nie jest obsługiwany. Migracja tabel EXPLAIN Aby utworzone zostały tabele EXPLAIN, podczas instalowania programu DB2 Universal Database(TM) (UDB), wersja 8.2.2 (odpowiednik wersji 8.1 z pakietem poprawek 9) lub wyższej wersji na instalacji programu DB2 UDB, wersja 8.2, z pakietem poprawek 1 (odpowiednik wersji 8.1 z pakietem poprawek 8) lub niższej wersji należy uruchomić komendę db2updv8. Uruchomienie komendy db2updv8 powoduje utworzenie funkcji EXPLAIN_GET_MSG, która umożliwia ponowne uruchomienie procedury EXPLAIN.DDL. Próba utworzenia tabel wyjaśniania za pomocą procedury EXPLAIN.DDL bez wcześniejszego uruchomienia komendy db2updv8 może spowodować wyświetlenie następującego komunikatu o błędzie: DB21034E Komenda nie była poprawną komendą wiersza komend i została przetworzona jako instrukcja SQL. Podczas przetwarzania SQL komenda zwróciła: SQL0440N Nie odnaleziono autoryzowanej procedury o nazwie "EXPLAIN_GET_MSG" i typie "FUNCTION" ze zgodnymi argumentami. NUMER WIERSZA=26. SQLSTATE=42884 Migracja programu XML Extender z poprzednich wersji Jeśli używana była wcześniejsza wersja programu DB2 XML Extender, przed użyciem istniejącej bazy danych z włączoną obsługą języka XML za pomocą zaktualizowanej wersji programu XML Extender konieczne jest wykonanie migracji każdej bazy, w której włączona jest obsługa programu XML Extender. W każdym nowym pakiecie poprawek dostępne są wszystkie aktualizacje zawarte w poprzednich wersjach tego pakietu poprawek. Przed uruchomieniem programu do migracji utwórz kopię zapasową bazy danych. Aby dokonać migracji bazy danych z włączoną obsługą języka XML i kolumn z włączoną obsługą języka XML, należy wykonać następujące czynności. 1. W wierszu komend DB2 wprowadź komendę: db2 connect to nazwa_bazy_danych db2 bind dxxinstall/bnd/@dxxMigv.lst db2 bind dxxinstall/bnd/@dxxbind.lst gdzie dxxinstall jest ścieżką katalogu, w którym został zainstalowany program DB2 Universal Database. 2. W wierszu komend DB2 wprowadź komendę: dxxMigv nazwa_bazy_danych Migrowanie produktu DB2 Universal Database w przypadku używania programu DataJoiner lub replikacji Aby poddać migracji instancję programu DataJoiner lub programu DB2 Universal Database (UDB) dla systemów Linux, UNIX i Windows, w której uruchomiony jest program przechwytujący zmiany lub program wprowadzający zmiany w ramach replikacji produktu DB2 UDB, należy przed przystąpieniem do migracji instancji programu DB2 UDB lub programu DataJoiner przygotować środowisko replikacji do operacji migrowania. Szczegółowe instrukcje dotyczące wymaganego przygotowania można znaleźć w dokumentacji dotyczącej migracji dla programu DB2 DataPropagator, wersja 8. Dokumentacja na temat migracji programu DB2 DataPropagator, wersja 8, znajduje się pod adresem: http://www.ibm.com/software/data/dpropr/. Migracja produktu DB2 Universal Database (Windows) Poniższe kroki pokazują prawidłową kolejność wymagań wstępnych dotyczących migracji produktu DB2 Universal Database (UDB) w systemie Windows. Wymagania wstępne Przed migracją: 1. Przejrzyj zalecenia i ograniczenia dotyczące migracji oraz miejsca na dysku. 2. Zarejestruj ustawienia konfiguracyjne przed migracją produktu DB2 UDB. 3. Zmień poziom diagnostyki błędów. 4. Sprawdź, czy bazy danych są gotowe do migracji produktu DB2 UDB. 5. Utwórz kopię zapasową baz danych. 6. Jeśli korzystasz z replikacji, musisz zarchiwizować wszystkie pliki protokołów DB2 UDB. 7. Musisz mieć uprawnienie SYSADM. 8. Na czas migracji produktu DB2 UDB przełącz serwer DB2 w tryb bez połączenia. Uwaga: W wersji 8.1 zmienna rejestru DB2_HASH_JOIN będzie domyślnie włączona (wartość ON). Patrz szczegóły w podsekcji "Podręcznik Administration Guide: Performance" sekcji "Aktualizacje dokumentacji". Migracja bazy danych programu DB2, wersja 8, z 32-bitowego systemu Windows do 64-bitowego systemu Windows Ten temat wymienia czynności niezbędne do przeprowadzenia migracji 32-bitowej bazy danych programu DB2, wersja 8, na platformie 32-bitowej do bazy danych 64-bitowej w 64-bitowym systemie operacyjnym Windows. Wymagania wstępne * Na 64-bitowym komputerze musi być zainstalowana 64-bitowa wersja programu DB2, wersja 8. * W 32-bitowym systemie Windows musi działać program DB2, wersja 8. Procedura Aby dokonać migracji do programu DB2, wersja 8, w 64-bitowym systemie Windows: 1. Utwórz kopię zapasową baz danych DB2, wersja 8, w 32-bitowym systemie Windows. 2. Odtwórz kopię zapasową baz danych w DB2, wersja 8, (utworzoną w kroku 1) w 64-bitowym systemie Windows. Uwaga: Oprócz migracji programu DB2 UDB z wersji 32-bitowej do 64-bitowej możliwe jest także wykonanie następujących migracji: * migracja między wersjami systemu Windows * migracja między wersjami programu DB2 UDB * jednoczesna migracja wszystkich komponentów * migracja wsteczna do wersji 32-bitowej Szczegółowe informacje dostępne są w dokumentacji technicznej firmy IBM (Redbook): Scaling DB2 UDB on Windows Server 2003. Dokumentację techniczną można znaleźć pod następującym adresem: http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg247019.html Migracja do programu DB2 UDB wersja 8.2.2 z wersji 7 w środowisku MSCS W tym temacie został opisany sposób migracji z wersji 7 programu DB2 Universal Database(TM) (UDB) do programu DB2 UDB, wersja 8.2.2 (odpowiednik wersji 8.1, pakiet poprawek 9) w środowisku serwera Microsoft Cluster Server (MSCS). Założenia: W celu zilustrowania procesu migracji do programu DB2 UDB wersja 8.2.2 (odpowiednik wersji 8.1 z pakietem poprawek 9) w środowisku MSCS użyta zostanie przykładowa konfiguracja. Obejmuje ona dwa komputery z systemem Windows Server 2000 oraz serwerem DB2 UDB Enterprise Server Edition wersja 7. W początkowej konfiguracji istnieje jedna instancja DB2 składająca się z dwóch partycji. Ponadto istnieją dwie grupy klastrów: * Grupa DB2 0: zawiera Partycję 0 aktywną na komputerze A. Znajduje się tam również Serwer administracyjny (DAS). * Grupa DB2 1: zawiera Partycję 1 aktywną na komputerze B. Wymaganie wstępne Przed rozpoczęciem migracji należy utworzyć kopię zapasową bazy danych. Procedura Aby dokonać migracji z programu DB2 UDB wersja 7 do wersji 8.2.2 (odpowiednik wersji 8.1 z pakietem poprawek 9) w środowisku MSCS: 1. Wyłącz automatyczne przełączenie poawaryjne. W trakcie instalacji może wystąpić konieczność zrestartowania komputera. W takiej sytuacji usługa klastra jest automatycznie restartowana. Dlatego automatyczne przełączanie poawaryjne musi być wyłączone, aby nie nastąpiło automatyczne przełączenie którejkolwiek z grup. a. Aby wyłączyć automatyczne przełączanie poawaryjne w Grupie DB2 0: 1) W oknie administratora klastra kliknij prawym przyciskiem myszy pozycję Grupa DB2 0. 2) Wybierz opcję Properties (Właściwości). Zostanie otwarte okno właściwości Grupy DB2 0. 3) Na karcie Failback (Przełączanie poawaryjne) zaznacz przełącznik Prevent failback (Zapobiegaj przełączaniu poawaryjnemu). 4) Kliknij przycisk OK. b. Aby wyłączyć automatyczne przełączanie poawaryjne w Grupie DB2 1: 1) W oknie administratora klastra kliknij prawym przyciskiem myszy pozycję Grupa DB2 1. 2) Wybierz opcję Properties (Właściwości). Zostanie otwarte okno właściwości Grupy DB2 1. 3) Na karcie Failback (Przełączanie poawaryjne) zaznacz przełącznik Prevent failback (Zapobiegaj przełączaniu poawaryjnemu). 4) Kliknij przycisk OK. 2. Przenieś Grupę DB2 1 na komputer A. a. W interfejsie GUI administratora klastra kliknij pozycję Grupa DB2 1. b. Kliknij prawym przyciskiem myszy i wybierz opcję Move Group (Przenieś grupę). W kolumnie Owner (Właściciel) będzie teraz figurował komputer A. 3. Zatrzymaj usługę klastra na komputerze B. a. W oknie Component Services (Usługi składowe) kliknij prawym przyciskiem myszy pozycję Cluster Service (Usługa klastra). b. Kliknij opcję Stop (Zatrzymaj). 4. Pobierz i zainstaluj program DB2 UDB wersja 8.2.2 (odpowiednik wersji 8.1 z pakietem poprawek 9) na komputerze B. Uwaga: * Program DB2 UDB nadal działa i jest dostępny na komputerze A. * W ramach procesu instalacji zostanie wyświetlony monit o uruchomienie komendy db2imigr w celu dokonania migracji instancji DB2 na tym komputerze. Podczas wykonywania komendy db2imigr może wystąpić konieczność zrestartowania komputera. 5. Przełącz zasoby DB2 na komputerze A w tryb bez połączenia. a. Zasoby na komputerze A to Partycja 0, Partycja 1 i serwer DAS. Należy je przełączać w tryb bez połączenia pojedynczo. Aby przełączyć zasoby komputera A w tryb bez połączenia: 1) W oknie administratora klastra wybierz w lewym panelu okna pozycję Groups (Grupy). 2) Wybierz pozycję Grupa DB2 0. Zasoby należące do tej grupy zostaną wyświetlone w prawym panelu okna. * Zasoby DB2 w Grupie DB2 0 to Partycja 0 i serwer DAS. 3) W prawym panelu okna kliknij prawym przyciskiem myszy jeden z zasobów i wybierz opcję Take Offline (Przełącz w tryb bez połączenia). * Powtarzaj tę czynność dla każdego zasobu DB2 w Grupie DB2 0. 4) Wybierz pozycję Grupa DB2 1. Zasoby należące do tej grupy zostaną wyświetlone w prawym panelu okna. * Zasób DB2 w Grupie DB2 1 to Partycja 1. 5) W prawym panelu okna kliknij prawym przyciskiem myszy zasób (Partycja 1) i wybierz opcję Take Offline (Przełącz w tryb bez połączenia). 6. Uruchom usługę klastra na komputerze B. Jeśli w trakcie instalacji wymagany był restart komputera, a opcja Restart Type (Typ restartu) dla usługi klastra jest ustawiona na tryb automatyczny, należy pominąć ten krok, ponieważ usługa klastra została już uruchomiona. Aby uruchomić usługę klastra: a. W oknie Component Services (Usługi składowe) kliknij prawym przyciskiem myszy pozycję Cluster Service (Usługa klastra). b. Kliknij opcję Start (Uruchom). 7. Przenieś Grupę DB2 0 i Grupę DB2 1 na komputer B. a. W oknie administratora klastra kliknij pozycję Grupa DB2 0. b. Kliknij prawym przyciskiem myszy i wybierz opcję Move Group (Przenieś grupę). W kolumnie Owner (Właściciel) będzie teraz figurował komputer B. c. Kliknij pozycję Grupa DB2 1. d. Kliknij prawym przyciskiem myszy i wybierz opcję Move Group (Przenieś grupę). W kolumnie Owner (Właściciel) będzie teraz figurował komputer B. 8. Przełącz zasoby DB2 na komputerze B w tryb z połączeniem. a. Partycja 0, Partycja 1 i serwer DAS są teraz zasobami na komputerze B. Należy je pojedynczo przełączać w tryb z połączeniem. Aby przełączyć zasoby w tryb z połączeniem: 1) W oknie administratora klastra wybierz w lewym panelu okna pozycję Groups (Grupy). 2) Wybierz pozycję Grupa DB2 0. Zasoby należące do tej grupy zostaną wyświetlone w prawym panelu okna. * Zasoby DB2 w Grupie DB2 0 to Partycja 0 i serwer DAS. 3) W prawym panelu okna kliknij prawym przyciskiem myszy jeden z zasobów i wybierz opcję Bring Online (Przełącz w tryb z połączeniem). * Powtarzaj tę czynność dla każdego zasobu DB2 w Grupie DB2 0. 4) Wybierz pozycję Grupa DB2 1. Zasoby należące do tej grupy zostaną wyświetlone w prawym panelu okna. * Zasób DB2 w Grupie DB2 1 to Partycja 1. 5) W prawym panelu okna kliknij prawym przyciskiem myszy zasób (Partycja 1) i wybierz opcję Bring Online (Przełącz w tryb z połączeniem). b. Dokonaj migracji wszystkich instancji DB2 i wszystkich baz danych DB2. 1) Dokonaj migracji wszystkich instancji DB2 przy użyciu komendy db2imigr: a) Aby odszukać wszystkie instancje DB2 uruchom komendę db2ilist. b) Aby dokonać migracji każdej instancji, uruchom komendę db2imigr. Komenda ta znajduje się w katalogu sqllib\bin i musi być uruchomiona dla każdej instancji DB2. 2) Dokonaj migracji wszystkich baz danych DB2 przy użyciu komendy migrate database. 9. Zatrzymaj usługę klastra na komputerze A. a. W oknie Component Services (Usługi składowe) kliknij prawym przyciskiem myszy pozycję Cluster Service (Usługa klastra). b. Kliknij opcję Stop (Zatrzymaj). 10. Pobierz i zainstaluj program DB2 UDB wersja 8.2.2 (odpowiednik wersji 8.1 z pakietem poprawek 9) na komputerze A. Uwaga: * Program DB2 nadal działa i jest dostępny na komputerze A. * W ramach procesu instalacji może wystąpić konieczność zrestartowania komputera. * Nie trzeba uruchamiać komend db2imigr and migrate database na komputerze A, ponieważ zostały już uruchomione na komputerze B. 11. Uruchom usługę klastra na komputerze A. Jeśli w trakcie instalacji wymagany był restart komputera, a opcja Restart Type (Typ restartu) dla usługi klastra jest ustawiona na tryb automatyczny, należy pominąć ten krok, ponieważ usługa klastra została już uruchomiona. Aby uruchomić usługę klastra: a. W oknie Component Services (Usługi składowe) kliknij prawym przyciskiem myszy pozycję Cluster Service (Usługa klastra). b. Kliknij opcję Start (Uruchom). 12. Przenieś Grupę DB2 0 na komputer A. a. W oknie administratora klastra kliknij pozycję Grupa DB2 0. b. Kliknij prawym przyciskiem myszy i wybierz opcję Move Group (Przenieś grupę). W kolumnie Owner (Właściciel) będzie teraz figurował komputer A. To działanie przywraca początkową konfigurację środowiska MSCS. 13. Jeśli w kroku 1 wyłączono automatyczne przełączanie poawaryjne, należy je teraz włączyć. a. Aby włączyć automatyczne przełączanie poawaryjne w Grupie DB2 0: 1) W oknie administratora klastra kliknij prawym przyciskiem myszy pozycję Grupa DB2 0. 2) Wybierz opcję Properties (Właściwości). Zostanie otwarte okno właściwości Grupy DB2 0. 3) Na karcie Failback (Przełączanie poawaryjne) zaznacz przełącznik Allow failback (Zezwól na przełączanie poawaryjne). 4) Kliknij przycisk OK. b. Aby włączyć automatyczne przełączanie poawaryjne w Grupie DB2 1: 1) W oknie administratora klastra kliknij prawym przyciskiem myszy pozycję Grupa DB2 1. 2) Wybierz opcję Properties (Właściwości). Zostanie otwarte okno właściwości Grupy DB2 1. 3) Na karcie Failback (Przełączanie poawaryjne) zaznacz przełącznik Allow failback (Zezwól na przełączanie poawaryjne). 4) Kliknij przycisk OK. Migracja bazy danych w systemie HP-UX na platformie IA64 Migracja baz danych nie jest obsługiwana w przypadku programu DB2 Universal Database (UDB) dla HP-UX na platformie IA64 w żadnym z wydań wersji 8.x. Odtwarzanie obrazu kopii zapasowej DB2 w wersji 7 w instancji w wersji 8 nie jest obsługiwane w programie DB2 UDB dla HP-UX na platformie IA64. Informacje na temat deinstalacji Deinstalacja programu DB2 UDB w trybie cichym (Windows) Aby usunąć produkty DB2 w trybie cichym, należy użyć komendy msiexec: msiexec /x /qn gdzie to kod produktu, który ma zostać usunięty. Oto lista kodów produktów DB2: DB2 Universal Database Enterprise Server Edition (ESE) {D8F53726-C7AD-11D4-9155-00203586D551} DB2 Universal Database Workgroup Server Edition (WSE) {7A28F948-4945-4BD1-ACC2-ADC081C24830} DB2 Universal Database Express Edition (EXP) {58169F10-CA30-4F40-8C6D-C6DA8CE47E16} DB2 Universal Database Personal Edition (PE) {C0AA883A-72AE-495F-9601-49F2EB154E93} DB2 Warehouse Manager (WM) {84AF5B86-19F9-4396-8D99-11CD91E81724} DB2 Data Links Manager (DLM) {1D16CA65-F7D9-47E5-BB26-C623A44832A3} Relational Connect (RCON) {273F8AB8-C84B-4EE6-85E7-D7C5270A6D08} DB2 Connect Enterprise Edition (CEE) {9C8DFB63-66DE-4299-AC6B-37D799A728A2} DB2 Connect Personal Edition (CPE) {F1912044-6E08-431E-9B6D-90ED10C0B739} DB2 Administration Client (ADMCL) {ABD23811-AA8F-416B-9EF6-E54D62F21A49} DB2 Application Development Client (ADCL) {68A40485-7F7F-4A91-9AB6-D67836E15CF2} DB2 Run-Time Client (RTCL) {63F6DCD6-0D5C-4A07-B27C-3AE3E809D6E0} DB2 7 (RTLITE) {07C9CEE7-4529-4E60-95D3-6B6EF6AC0E81} DB2 Eclipse Documentation (DOCE) {FE2D4758-041C-4E4E-95B3-529E4E1EAF3E} DB2 Query Patroller (QP) {7A8BE511-8DF3-4F22-B61A-AF0B8755E354} Life Sciences Data Connect (LSDC) {DD30AEB3-4323-40D7-AB39-735A0523DEF3} DB2 Cube Views(TM) (CUBE) {C8FEDF8F-84E8-442F-A084-0A0F6A772B52} DB2 Spatial Extender (SE) {F6846BF9-F4B5-4BB2-946D-3926795D5749} Przykład Aby usunąć produkt DB2 UDB Enterprise Edition, wpisz następującą komendę: msiexec /x {D8F53726-C7AD-11D4-9155-00203586D551} /qn Poniższe kody produktów DB2 nie są już obsługiwane w programie DB2 UDB, wersja 8.2: * WMC {5FEA5040-22E2-4760-A88C-73DE82BE4B6E} * DOC {73D99978-A255-4150-B4FD-194ECF4B3D7C} Kod produktu umożliwiający usunięcie Centrum informacyjnego DB2 w trybie cichej deinstalacji (Windows) Podczas usuwania z systemu Windows Centrum informacyjnego DB2 w trybie cichej deinstalacji, należy użyć następującego kodu produktu: {FE2D4758-041C-4E4E-95B3-529E4E1EAF3E} Znane ograniczenia, problemy i ich obejścia Poniżej przedstawiono obecnie znane ograniczenia i problemy dotyczące bieżącego wydania oprogramowania oraz sposoby ich obejścia. Ograniczenia te mogą, ale nie muszą, występować także w innych wydaniach produktu. W serwisie WWW wsparcia technicznego programu DB2 dostępne są noty techniczne i streszczenia opisujące zmiany w dokumentacji oraz znane ograniczenia i metody ich obejścia, odkryte po utworzeniu tego dokumentu. Serwis WWW działu wsparcia technicznego programu DB2 znajduje się pod adresem http://www.ibm.com/software/data/db2/udb/support.html. Znaczniki zmian oznaczają dodany lub zmieniony tekst. Pionowa kreska (|) oznacza informacje, które zostały dodane lub zmienione dla wersji 8.2, pakiet poprawek 4 (odpowiednik wersji 8.1, pakiet poprawek 11). Ograniczenia db2look - Ograniczenie automatycznego obszaru tabel w pamięci masowej W przypadku baz danych korzystających z automatycznego obszaru tabel w pamięci masowej komenda db2look zostanie pomyślnie zakończona. Jednak nie wyświetli ona informacji dotyczących obszaru tabel specyficznych dla automatycznych obszarów tabel w pamięci masowej. Funkcja tabelowa SNAP_GET_DB zwraca niekompletne wyniki Funkcja tabelowa SNAP_GET_DB wywołana z parametrem wejściowym -2 (globalny obraz stanu) w środowisku partycjonowanej bazy danych (DPF) zwraca niekompletne wyniki dla następujących czterech kolumn: * FIRST_ACTIVE_LOG * LAST_ACTIVE_LOG * CURRENT_ACTIVE_LOG * CURRENT_ARCHIVE_LOG Te elementy nie mogą być zagregowane w globalnym obrazie stanu. Aby pobrać kompletny zbiór wartości tych elementów obrazu stanu należy wywoływać funkcję tabelową SNAP_GET_DB dla każdej partycji z osobna. Instrukcja IMPORT REPLACE ignoruje klauzulę NOT LOGGED INITIALY Opcja REPLACE komendy IMPORT ignoruje klauzulę NOT LOGGED INITIALLY (NLI) instrukcji CREATE TABLE oraz klauzulę ACTIVATE NOT LOGGED INITIALLY instrukcji ALTER TABLE. Jeśli w tej samej transakcji, w ramach działania REPLACE, odbywa się operacja importu i wykonywana jest instrukcja CREATE TABLE lub ALTER TABLE z klauzulą NLI, operacja importu zignoruje klauzulę NLI. Wszystkie operacje wstawiania zostaną zaprotokołowane. Obejście 1 Usuń zawartość tabeli, używając instrukcji DELETE, a następnie wywołaj operację importu z instrukcją INSERT. Obejście 2 Usuń tabelę i utwórz ją ponownie, a następnie wywołaj operację importu z instrukcją INSERT. Ograniczenie to dotyczy programu DB2 UDB, wersja 7, i DB2 UDB, wersja 8. Pól z danymi typu long i LOB nie można reorganizować w miejscu Podczas reorganizacji tabeli w miejscu lub reorganizacji otwartej tabeli nie można reorganizować pól z danymi typu long i LOB. Pola z danymi typu long i danymi LOB można reorganizować metodą klasyczną lub metodą reorganizacji zamkniętej tabeli, określając parametr LONGLOBDATA w komendzie REORG TABLE. Należy jednak zaznaczyć, że chociaż reorganizacja pól z danymi typu long i danymi LOB nie umożliwia odzyskania wolnego miejsca, nie poprawia ona grupowania i może znacząco wydłużyć czas niezbędny do wykonania reorganizacji. Działanie blokad w kursorach blokowania może wyglądać na niespójne w aplikacjach klienckich W przypadku poziomu odseparowania typu Stabilność kursora wiersz powiązany z bieżącą pozycją kursora na serwerze bazy danych jest zawsze zablokowany. Podczas blokowanego pobrania (fetch) w jednym buforze może zostać zwróconych wiele wierszy. W większości przypadków ostatni przetwarzany wiersz po stronie serwera nie zmieści się dokładnie i zostanie podzielony na dwa bufory. Aplikacja nie zauważy tego podzielonego wiersza, dopóki nie zostanie odebrany drugi bufor. Zatem żaden z wierszy zwróconych do aplikacji nie będzie zablokowany. W rzadkich przypadkach, gdy ostatni przetwarzany wiersz po stronie serwera mieści się idealnie, położenie kursora pozostanie na ostatnim wierszu wewnątrz bufora, co oznacza, że ostatni wiersz zwrócony do aplikacji będzie zablokowany. Eksport danych do pliku programu hurtowni danych poprzez ODBC Eksport danych do pliku programu hurtowni danych poprzez ODBC nie obsługuje następujących typów danych Sybase: * BIT * BINARY * VARBINARY Typy danych nieobsługiwane przez zintegrowany debuger SQL Centrum projektowania Następujące typy danych nie są obsługiwane przez debuger SQL zintegrowany z Centrum projektowania: * W przypadku programu DB2 Universal Database (UDB) dla systemów Linux, UNIX, i Windows nie są obsługiwane typy danych: CHAR FOR BIT DATA, VARCHAR FOR BIT DATA oraz GRAPHIC. * W przypadku programu DB2 UDB dla systemu z/OS nie jest obsługiwany typ danych GRAPHIC oraz używanie typów danych BLOB i CLOB jako parametrów. Typy danych BLOB i CLOB są obsługiwane w zmiennych lokalnych. Typy strukturalne w Centrum projektowania Centrum projektowania nie obsługuje już tworzenia typów strukturalnych. Ograniczenia Centrum projektowania w 64-bitowych systemach operacyjnych Centrum projektowania nie obsługuje debugowania procedur zapisanych w bazie napisanych w języku Java dla serwera 64-bitowego. Debugowanie procedur SQL zapisanych w bazie jest obsługiwane tylko w 64-bitowych systemach operacyjnych Windows. Tworzenie zdefiniowanych przez użytkownika funkcji OLE DB oraz XML nie jest obsługiwane na serwerach 64-bitowych. Centrum projektowania (Linux) Nie można używać Centrum projektowania do debugowania procedur zapisanych w bazie w języku Java uruchamianych na dowolnej dystrybucji systemu Linux (32-bitowej, 64-bitowej, w systemach Intel, zSeries lub iSeries). Debugowanie procedur zapisanych w bazie ze znakami podwójnego cudzysłowu Centrum projektowania nie obsługuje debugowania żadnych procedur zapisanych w bazie ze znakami podwójnego cudzysłowu (") w nazwie, schemacie procedury lub nazwie specyficznej. Ustawienia ścieżki umożliwiające kompilowanie procedur w języku Java w Centrum projektowania Kompilowanie procedur języka Java w Centrum projektowania możliwe jest pod warunkiem wskazania lokalizacji wersji pakietów programistycznych. Katalogi domyślne używanych wersji pakietów programistycznych są zapisywane w pliku $HOME/.ibm/db2/dc/DB2DC.settings podczas pierwszego uruchomienia Centrum projektowania. Nazwy tych katalogów można skopiować do pliku $USER.settings i zmodyfikować za pomocą edytora kodu Unicode, albo można utworzyć dowiązania symboliczne do katalogów pakietów programistycznych znajdujących się w domyślnych lokalizacjach. Ograniczenia Centrum projektowania dotyczące równoczesnego uruchamiania i debugowania procedur w języku Java zapisanych w bazie Centrum projektowania nie obsługuje równoczesnego uruchamiania i debugowania procedur w języku Java zapisanych w bazie. W Centrum projektowania istnieje możliwość równoczesnego uruchomienia wielu procedur w języku Java zapisanych w bazie lub debugowania pojedynczej procedury w języku Java zapisanej w bazie; nie ma możliwości uruchomienia procedury w języku Java zapisanej w bazie podczas debugowania innej procedury w języku Java zapisanej w bazie. Domyślnie dla parametru konfiguracyjnego menedżera baz danych KEEPFENCED używane jest ustawienie KEEPFENCED=YES, które jest wymagane podczas debugowania zapisanych w bazie procedur w języku SQL. Jeśli parametr KEEPFENCED ma wartość domyślną YES, aktywność procesu procedury jest podtrzymywana i występują konflikty portu maszyny wirtualnej Java. Jeśli używane jest domyślne ustawienie parametru konfiguracyjnego menedżera baz danych KEEPFENCED=YES, podczas wykonywania procedur w języku Java zapisanych w bazie w następujących sytuacjach generowane będą wyjątki maszyny wirtualnej Java i wykonanie tych procedur nie powiedzie się: * Jeśli zapisana w bazie procedura w języku Java zostanie zbudowana w Centrum projektowania, a następnie będzie debugowana. * Jeśli jeden użytkownik uruchomi procedurę w języku Java zapisaną w bazie, a inny użytkownik rozpocznie debugowanie procedury w języku Java zapisanej w bazie, gdy pierwsza procedura w języku Java zapisana w bazie będzie wykonywana. * Jeśli jeden użytkownik będzie debugował procedurę w języku Java zapisaną w bazie, a inny użytkownik uruchomi procedurę w języku Java zapisaną w bazie, gdy pierwsza procedura w języku Java zapisana w bazie będzie debugowana. Aby obejść to ograniczenie, należy sprawdzić, czy parametr konfiguracyjny menedżera baz danych KEEPFENCED ma wartość KEEPFENCED=NO, wykonując następujące komendy: db2 update dbm cfg using KEEPFENCED NO db2stop db2start Jeśli parametr KEEPFENCED ma wartość NO, w chwili zakończenia wywołania procedury w języku Java zapisanej w bazie następuje zakończenie procesu db2fmp i w programie DB2 Universal Database uruchamiany jest nowy proces db2fmp w celu obsłużenia następnego wywołania procedury. Dzięki temu w chwili rozpoczęcia debugowania procedury w języku Java zapisanej w bazie maszyna wirtualna Java nie będzie uruchomiona w trybie debugowania. Ustawienie KEEPFENCED=YES jest wymagane podczas budowania procedur w języku SQL zapisanych w bazie w celu debugowania oraz podczas debugowania zapisanych w bazie procedur w języku SQL. Gdy używane jest ustawienie KEEPFENCED=NO, możliwe jest budowanie i wykonywanie zapisanych w bazie procedur w języku SQL, lecz nie jest możliwe ich debugowanie. Metoda DB2SystemMonitor.getServerTimeMicros nie jest obsługiwana Metoda sterownika uniwersalnego JDBC DB2(R) DB2SystemMonitor.getServerTimeMicros() nie jest obecnie obsługiwana przez serwery DB2(R) Universal Database(TM) dla Linux(TM), UNIX(R) i Windows(R). W przypadku połączenia z serwerem DB2(R) Universal Database(TM) dla systemu Linux, UNIX i Windows(R) metoda DB2SystemMonitor.getServerTimeMicros() zwraca 0. Moduł wykonawczy kompilatora IBM XL C/C++ musi być zainstalowany (64-bitowy system Linux na serwerach iSeries i pSeries) Przed zainstalowaniem 64-bitowej wersji programu DB2 for Linux na serwerach iSeries(TM) i pSeries(R) muszą być spełnione następujące wymagania: * Muszą być używane komputery iSeries(TM) lub pSeries(R) obsługiwane przez dystrybucję systemu Linux. * Musi być używana jedna z następujących dwóch dystrybucji: * SUSE LINUX Enterprise Server (SLES), wersja 9 * Red Hat Enterprise Linux 3, aktualizacja 3 (Taroon) * Należy pobrać i zainstalować komponent IBM(R) XL C/C++ Advanced Edition, wersja 7.0, dla środowiska wykonawczego Linux. Aby uzyskać więcej informacji, patrz http://www.ibm.com/support/docview.wss?uid=swg24007906 lub wykonaj następujące czynności: 1. Odwiedź stronę wsparcia XL C/C++ pod adresem http://www.ibm.com/software/awdtools/xlcpp/support/. 2. Pod nagłówkiem "Self Help: Download" wybierz pozycję "Latest Updates (PTFs)". 3. Pod nagłówkiem "Linux" wybierz pozycję "XL C/C++ Advanced Edition V7.0 for Linux Run-Time Environment". 4. Wykonaj instrukcje ze strony "XL C/C++ Advanced Edition V7.0 for Linux Run-Time Environment". Uniwersalny sterownik JDBC typu 2 nie jest obsługiwany w programie DB2 UDB wersja 8.2.2 (Linux AMD64) Program DB2 Universal Database(TM) (UDB), wersja 8.2.2 (odpowiednik wersji 8.1, pakiet poprawek 9) w systemie Linux na platformie AMD64 nie obsługuje uniwersalnego sterownika JDBC typu 2. Planowane jest zapewnienie takiej obsługi w przyszłym pakiecie poprawek. Obsługa JDBC w wersji 8.2.2 jest możliwa przy użyciu uniwersalnego sterownika JDBC typu 4 i wcześniejszego sterownika JDBC typu 2 (COM.ibm.db2.jdbc.app.DB2Driver). Kursory w aplikacjach PHP Gdy interpreter języka PHP tworzy kursor w imieniu aplikacji, jest to domyślnie przewijalny kursor sterowany zestawem kluczy. W niektórych wypadkach może to powodować zwrot nieoczekiwanych wyników. Aby tego uniknąć, należy w sposób jawny określić klauzulę "FOR READ ONLY" dla wszystkich instrukcji SELECT używanych do aktualizowania danych. Alternatywne rozwiązania to między innymi ustawienie parametrów konfiguracyjnych interfejsu CLI "Patch2=6", "Patch2=42" lub "DisableKeysetCursor=1". Jednak każde z tych ustawień może mieć również inne konsekwencje. Szczegółowe informacje dotyczące tych parametrów konfiguracyjnych można znaleźć w podręczniku CLI Guide and Reference. Ograniczenie konfiguracyjnego słowa kluczowego ConnectNode CLI/ODBC Słowo kluczowe ConnectNode nie wpływa na Centrum sterowania. Centrum sterowania zawsze łączy się z węzłem katalogu wskazywanym przez ustawienie SQL_CONN_CATALOG_NODE. Ograniczenie funkcji SQLColumns (CLI) Funkcja SQLColumns() nie obsługuje zwracania danych z aliasu aliasu. Funkcja SQLColumns() wywołana dla aliasu aliasu zwraca pustą tabelę wynikową. Ograniczenia opcji wiązania dla pakietów interfejsu CLI Niektóre opcje wiązania mogą nie obowiązywać podczas wiązania pakietów CLI z dowolnymi z następujących plików list: db2cli.lst, ddcsmvs.lst, ddcs400.lst, ddcsvm.lst lub ddcsvse.lst. Ponieważ pakiety CLI są używane przez aplikacje typu CLI, ODBC, JDBC, OLE DB, .NET i ADO, wszelkie zmiany wprowadzane w pakietach CLI dotyczą wszystkich aplikacji powyższych typów. Dlatego podczas wiązania pakietów CLI obsługiwany jest tylko podzbiór opcji wiązania. Obsługiwane opcje to: ACTION, COLLECTION, CLIPKG, OWNER i REPLVER. Wszystkie pozostałe opcje wiązania, które mają wpływ na pakiety CLI, są ignorowane. Aby utworzyć pakiety CLI z opcjami wiązania, które nie są domyślnie obsługiwane, należy określić opcję wiązania COLLECTION z identyfikatorem kolekcji innym niż domyślny identyfikator kolekcji - NULLID. Dzięki temu akceptowane będą wszystkie określone opcje wiązania. Aby, na przykład, utworzyć pakiety CLI z opcją wiązania KEEPDYNAMIC YES, która domyślnie nie jest obsługiwana, należy użyć następującej komendy: db2 bind @db2cli.lst collection newcolid keepdynamic yes Aby aplikacje CLI/ODBC miały dostęp do pakietów CLI utworzonych w nowej kolekcji, należy przypisać parametrowi CurrentPackageSet programu CLI/ODBC w pliku konfiguracyjnym db2cli.ini nowy identyfikator kolekcji. Aby zastąpić pakiety CLI, które już istnieją dla konkretnego identyfikatora kolekcji, należy wykonać jedno z poniższych działań: * Usuń istniejący pakiet CLI przed użyciem komendy wiązania (bind) dla tego identyfikatora kolekcji. * Podczas uruchamiania komendy bind podaj opcję wiązania ACTION REPLACE. Ograniczenia modułu CLI LOAD Moduł CLI LOAD nie obsługuje znaczników parametrów, jeśli przygotowana instrukcja SQL do wstawiania danych zawiera klauzulę SELECT. W wersjach wcześniejszych niż wersja 8.2 z pakietem poprawek 3 (odpowiadająca wersji 8.1 z pakietem poprawek 10) moduł CLI LOAD nie umożliwiał określania kolumn docelowych, jeśli instrukcja INSERT zawierała klauzulę VALUES. Jednak począwszy od wersji 8.2 z pakietem poprawek 3 (odpowiadającej wersji 8.1 z pakietem poprawek 10), moduł CLI LOAD umożliwia określanie kolumn docelowych w instrukcji INSERT z klauzulą VALUES. Na przykład następująca instrukcja jest teraz obsługiwana przez moduł CLI LOAD: INSERT into tabelaA (kol1, kol2, kol3) VALUES (?, ?, ?) Brak obsługi tworzenia bazy danych katalogu narzędzi (Linux dla procesorów AMD64) Tworzenie bazy danych katalogu narzędzi w 64-bitowej instancji programu DB2 Universal Database (UDB) w systemie Linux (AMD64) nie jest obsługiwane. Nie należy dokonywać prób utworzenia katalogu narzędzi w 64-bitowej instancji przy użyciu którejkolwiek z następujących metod: * instalowanie programu DB2 UDB * aktualizacja 64-bitowej instancji za pomocą komendy db2isetup * użycie komendy CREATE TOOLS CATALOG uruchamianej za pomocą procesora CLP po zakończeniu instalacji Tworzenie bazy danych katalogu narzędzi w 32-bitowej instancji w systemie Linux (AMD64) jest obsługiwane w wersji 8.1.4. Brak obsługi tworzenia bazy danych katalogu narzędzi w systemie AIX, HP-UX i w Środowisku Operacyjnym Solaris Tworzenie katalogu narzędzi nie jest obsługiwane podczas instalowania programu DB2 Universal Database (UDB) w 64-bitowych instancjach na hybrydowych platformach 64-bitowych. Platformy hybrydowe to: * AIX * Środowiska Operacyjne Solaris * HP-UX * inne platformy obsługujące zarówno instancje 32-bitowe, jak i 64-bitowe Katalog narzędzi w instancji 64-bitowej można utworzyć po zainstalowaniu programu DB2 UDB za pomocą komendy CREATE TOOLS CATALOG CLP w procesorze wiersza komend albo za pomocą Centrum sterowania. Do wykonania tej operacji niezbędne jest ponadto zainstalowanie 64-bitowego pakietu IBM Developer Kit for Java. Więcej szczegółów zawiera sekcja DB2 Administration Server podręcznika DB2 Administration Guide. Ograniczenia dotyczące pamięci w programach DB2 UDB Express i DB2 Workgroup Server Edition, wersja 8.2 W następujących produktach występują ograniczenia dotyczące pamięci: * IBM DB2 Universal Database (UDB) Express Edition (opcja Named user - nazwany użytkownik). Maksymalna wielkość pamięci na serwer to 4 GB. * IBM DB2 UDB Express Edition (opcja CPU). Maksymalna wielkość pamięci na serwer to 4 GB. * IBM DB2 UDB Workgroup Server Edition. Maksymalna wielkość pamięci na serwer to 16 GB. * IBM DB2 UDB Workgroup Server Unlimited Edition. Maksymalna wielkość pamięci na serwer to 16 GB. Planowanie cyklicznego uruchamiania procesu w hurtowni danych Planując cykliczne uruchamianie procesu w hurtowni danych, należy ustalić, jaki może być najdłuższy czas wykonania wszystkich zasadniczych etapów procesu i odpowiednio dobrać interwały. Jeśli proces przekroczy czas zaplanowany na swoje wykonanie, wszystkie kolejne zaplanowane wykonania tego procesu zostaną anulowane. Ograniczenia obsługi architektury SNA w wersji 8 Obsługa następujących funkcji została wycofana z produktu DB2 Universal Database (UDB) Enterprise Server Edition (ESE), wersja 8, dla systemów operacyjnych Windows i UNIX oraz z produktu DB2 Connect Enterprise Edition (CEE), wersja 8, dla systemów operacyjnych Windows i UNIX: * Aktualizacja na wielu serwerach (zatwierdzanie dwufazowe) nie może być używana w przypadku architektury SNA. Aplikacje wymagające aktualizacji na wielu serwerach (zatwierdzania dwufazowego) muszą używać protokołu TCP/IP. Aktualizacja na wielu serwerach (zatwierdzanie dwufazowe) przy użyciu protokołu TCP/IP do hosta lub serwera bazy danych iSeries była już dostępna w kilku ostatnich wydaniach. Aplikacje hosta lub systemu iSeries wymagające aktualizacji na wielu serwerach (zatwierdzania dwufazowego) mogą korzystać z nowej funkcji aktualizacji na wielu serwerach (zatwierdzania dwufazowego) z użyciem protokołu TCP/IP, jaką zapewnia produkt DB2 UDB ESE, wersja 8. * Serwery DB2 UDB ESE oraz DB2 CEE nie akceptują już połączeń klientów realizowanych w architekturze SNA. Program DB2 UDB, począwszy od wersji 8 pakiet poprawek 1, umożliwia 32-bitowym wersjom aplikacji w systemach AIX, HP-UX, Windows i Środowisku Operacyjnym Solaris uzyskiwanie dostępu do serwerów baz danych hosta lub baz danych iSeries przy użyciu architektury SNA. Dzięki temu aplikacje mogą uzyskiwać dostęp do serwerów baz danych hosta lub baz danych iSeries przy użyciu architektury SNA, lecz tylko z zatwierdzaniem jednofazowym. * Obsługa sysplex z programem DB2 UDB dla z/OS jest możliwa tylko w przypadku używania protokołu TCP/IP. Obsługa sysplex nie jest oferowana w przypadku łączności z użyciem architektury SNA. * Zmiana hasła nie jest już obsługiwana w przypadku połączeń z serwerami bazy danych hosta opartych na architekturze SNA. * Cała obsługa architektury SNA zostanie wycofana w następnej wersji produktów DB2 UDB i DB2 Connect. Problem i ograniczenie związane z modułem dodatkowym zabezpieczeń dla klientów DB2 UDB (Windows) Tworząc moduły dodatkowe zabezpieczeń, które będą instalowane na klientach programu DB2 w systemie operacyjnym Windows, należy zapewnić, aby funkcja kończąca działanie modułu dodatkowego nie usuwała z pamięci żadnych bibliotek pomocniczych. Ograniczenie to stosuje się do wszystkich typów modułów dodatkowych zabezpieczeń klientów, łącznie z modułami dodatkowymi grup, identyfikatorów użytkowników, haseł, Kerberos i GSS-API. Ograniczenie to spowodowane jest problemem, który występuje w programie DB2 Universal Database podczas usuwania z pamięci modułów dodatkowych zabezpieczeń w klientach DB2 w systemach operacyjnych Windows. Błędy podczas raportowania pomyślnego logowania w czasie próby połączenia (AIX) Jeśli w systemie AIX wykorzystuje się uwierzytelnianie systemu operacyjnego i podczas nawiązywania połączenia nastąpi pomyślne uwierzytelnienie, program DB2 Universal Database (UDB) wykonuje próbę raportowania pomyślnego logowania w systemie AIX. W programie DB2 UDB w wersji starszej niż 8, pakiet poprawek 5, w momencie wystąpienia błędu podczas raportowania pomyślnego logowania połączenie było przerywane mimo tego, że użytkownik został uwierzytelniony. Od wersji 8 z pakietem poprawek 5 połączenie jest kontynuowane, a niepowodzenie jest protokołowane w pliku db2diag.log. Dwuczęściowe identyfikatory użytkownika nie są obsługiwane (Windows ME) Dwuczęściowe identyfikatory użytkowników dla instrukcji CONNECT i komendy ATTACH, takie jak nazwa_domeny\nazwa_użytkownika nie są obsługiwane w systemie Windows ME. Strona Kolumny w oknach ładowania i importu nie obsługuje znaków DBCS w plikach IXF W wypadku użycia kreatora ładowania danych lub notatnika Import do przygotowania operacji ładowania lub importowania danych z pliku IXF zawierającego znaki DBCS, strona Kolumny będzie zawierać nieprawidłowe nazwy kolumn zawartych w pliku. Narzędzia interfejsu GUI dla systemu operacyjnego Linux na platformie AMD64 Narzędzia interfejsu GUI dostarczane z programem DB2 Universal Database (UDB) są narzędziami graficznymi opartymi na technologii Java. Przykładowe narzędzia interfejsu GUI programu DB2 to: * Centrum sterowania * Centrum informacyjne * Asysta podczas konfigurowania * Centrum projektowania Ponieważ w systemach operacyjnych Linux na platformie AMD64 nie jest obecnie dostępny 64-bitowy pakiet SDK ani środowisko wykonawcze Java(TM), do uruchamiania tych narzędzi wymagane jest korzystanie z 32-bitowej instancji DB2 UDB. Za pomocą tych narzędzi można zarządzać bazami danych w lokalnych i zdalnych instancjach 64-bitowych. Na przykład aby używać Centrum sterowania, należy najpierw utworzyć instancję 32-bitową. Po jej utworzeniu należy ręcznie wpisać do katalogu lokalną instancję 64-bitową, która ma być administrowana. Więcej informacji na temat programu DB2 dla systemu Linux na platformie AMD64 można znaleźć pod następującym adresem URL: ftp://ftp.software.ibm.com/software/data/pubs/papers/linuxamd64.pdf Minimalne wymagania dotyczące parametrów ekranu dla narzędzi graficznych Aby zapewnić prawidłowe działanie narzędzi z graficznym interfejsem użytkownika, takich jak Centrum sterowania, należy użyć trybu ekranu o rozdzielczości przynajmniej 800 na 600 pikseli z paletą przynajmniej 32 kolorów. Niepoprawne wyświetlanie znaków z zestawu GB18030 na pasku tytułu okna Znaki w standardzie kodowania znaków chińskich GB18030 mogą być wyświetlane na pasku tytułu okna jako znaki zapytania lub kwadraty. Tabele Centrum katalogu informacyjnego nie powinny być partycjonowane Tabele używane przez Menedżera katalogu informacyjnego muszą być zawarte w obrębie pojedynczej partycji bazy danych. Umieszczenie tabel w jednej partycji można osiągnąć wieloma metodami. Poniżej przedstawiono przykładowy sposób postępowania. 1. Otwórz procesor wiersza komend DB2 i wydaj poniższe komendy: a. CREATE DATABASE PARTITION GROUP nazwa_grupy_partycji ON DBPARTITIONNUM numer_partycji b. CREATE REGULAR TABLESPACE nazwa_obszaru_tabel IN DATABASE PARTITION GROUP nazwa_grupy_partycji MANAGED BY SYSTEM USING ('cname') gdzie nazwa_grupy_partycji jest taka sama w obu komendach. 2. Kliknij kolejno opcje: Start -> Programy -> IBM DB2 -> Narzędzia konfiguracyjne -> Kreator zarządzania katalogiem informacyjnym. 3. Na stronie Opcje w polu Obszar tabel określ nazwę obszaru tabel. Ograniczenia programu Query Patroller z wyłączonym parametrem DYN_QUERY_MGMT Program Query Patroller nie może wykonywać następujących działań, jeśli parametr konfiguracyjny bazy danych DYN_QUERY_MGMT jest wyłączony: * zwalnianie zapytań ze stanu wstrzymanego * przenoszenie działającego lub kolejkowanego zapytania do tła, gdy zapytanie działa na pierwszym planie W razie podjęcia próby zwolnienia zapytania ze stanu wstrzymanego lub zmiany zapytania na pierwszym planie w zapytanie działające w tle w sytuacji, gdy parametr DYN_QUERY_MGMT ma ustawienie DISABLE, zostanie wyświetlony komunikat o błędzie, a stan zapytania nie ulegnie zmianie. Jeśli wstrzymane zapytania są zaplanowane do wykonania, a parametr DYN_QUERY_MGMT zostanie wyłączony w czasie ich działania, w pliku qpdiag.log zostanie zapisany komunikat o błędzie, a zapytania pozostaną w stanie wstrzymanym. Dla tabel wynikowych programu Query Patroller wykorzystywany jest teraz schemat DB2QPRT Począwszy od pakietu poprawek 5 wszystkie nowe tabele wynikowe są tworzone z użyciem schematu DB2QPRT, a nie schematu zgłaszającego. Uprawnienie DROPIN względem schematu DB2QPRT jest nadawane operatorom, których profil utworzono jeszcze przed instalacją pakietu poprawek 5, i którzy mieli jedno z poniższych uprawnień: * uprawnienie MONITORING z prawem do edycji * uprawnienie HISTORICAL ANALYSIS z prawem do edycji Uprawnienie DROPIN względem schematu DB2QPRT jest nadawane w chwili, gdy program Query Patroller po raz pierwszy tworzy tabelę wynikową w oparciu o ten schemat. Operatorzy, którym po instalacji pakietu poprawek 5 nadawane jest uprawnienie MONITORING z prawem do edycji oraz uprawnienie HISTORICAL ANALYSIS z prawem do edycji, otrzymują także uprawnienie DROPIN względem schematu DB2QPRT po utworzeniu lub aktualizacji ich profili. Ograniczenia dotyczące indykatora poprawności Monitor poprawności nie może wykonać działań związanych z indykatorem poprawności db2.db2_op_status, jeśli indykator zostanie wyłączony. Może to nastąpić na przykład w sytuacji, gdy instancja monitorowana przez indykator staje się nieaktywna ze względu na jawne żądanie zatrzymania lub nieprawidłowe zakończenie. Jeśli instancja powinna być automatycznie uruchamiana ponownie po każdym nieprawidłowym zakończeniu, należy skonfigurować monitor błędów, tak aby utrzymywał tę instancję jako wysoko dostępną. Znane problemy i ich obejścia Eksport do pliku IXF z indeksami dla kolumn, których nazwy zawierają znaki - i + Po wydaniu komendy export z formatem pliku IXF i klauzulą SELECT *, gromadzone są informacje o indeksie, jeśli są dostępne. Problem Jeśli nazwy kolumn określone w indeksie zawierają znak - lub +, informacje o indeksie nie będą gromadzone i zostanie zwrócony kod SQL SQL27984W. Operacja eksportu zostanie wykonana i nie wpłynie to na wyeksportowane dane. Jednak informacje o indeksie nie zostaną zapisane w pliku IXF. Obejście Jeśli tabela będzie ponownie tworzona komendą import z parametrem CREATE, indeksy nie zostaną odtworzone. Aby utworzyć indeksy osobno, należy użyć programu narzędziowego db2look. Błąd CLI0116E lub SQL0428N podczas wywoływania funkcji API db2ReadLog Problem Wywołanie funkcji API db2ReadLog z aplikacji może powodować błąd przy rozłączaniu się aplikacji z bazą danych, jeśli przed rozłączeniem nie zostanie wykonane zatwierdzenie lub wycofanie zmian: * Wywołanie funkcji API db2ReadLog z aplikacji CLI może spowodować wystąpienie błędu CLI0116E. * Wywołanie funkcji API db2ReadLog z aplikacji we wbudowanym SQL napisanej w języku C może spowodować wystąpienie błędu SQL0428N. Obejście 1 W przypadku aplikacji nienapisanych we wbudowanym SQL należy przed wywołaniem funkcji API db2ReadLog ustawić tryb automatycznego zatwierdzenia. Obejście 2 Po wywołaniu funkcji API db2ReadLog, a przed rozłączeniem z bazą danych, należy użyć instrukcji COMMIT lub ROLLBACK. Działanie komendy "db2gcf -k" kończy się niepowodzeniem w programie DB2 UDB Workgroup Server Edition Problem Komenda db2gcf uruchamia, zatrzymuje lub monitoruje instancję DB2 Universal Database (UDB), zwykle ze zautomatyzowanego skryptu, takiego jak w klastrze o wysokiej dostępności (HA - high availability). Użycie komendy systemowej db2gcf z parametrem -k na serwerze DB2 UDB Workgroup Server nie powiedzie się. Obejście Komenda "db2gcf -k" działa tylko na serwerze DB2 UDB Enterprise Server Edition, a nie na serwerze DB2 UDB Workgroup Server Edition. Błąd SQL1224 z opakowania DRDA (AIX) Jeśli w systemie AIX działa 32-bitowy serwer DB2 Universal Database (UDB) oraz aplikacja, która ma więcej niż jedno połączenie z lokalną bazą danych przez opakowanie DRDA, w aplikacji tej może zostać zwrócony następujący komunikat o błędzie: SQL1822N Nieoczekiwany kod błędu "-1224" otrzymany ze źródła danych "W3_SERVER2". Powiązany tekst i elementy to func="DriverConnect" msg="SQL1224N Nie można uruchomić agenta bazy danych potrzebnego do obsługi żądania lub jego działanie zostało zakończone w wyniku wyłączenia systemu lub użycia komendy wymuszającej." SQLSTATE=560BD Aby uniknąć tego błędu, należy umieścić poniższy wpis w stowarzyszonym pliku konfiguracyjnym (katalog_instancji/cfg/db2dj.ini): EXTSHM=ON Uwaga: Po dodaniu wpisów do stowarzyszonego pliku konfiguracyjnego konieczne jest zatrzymanie i ponowne uruchomienie programu DB2 UDB, aby zmiany zaczęły obowiązywać. Alternatywnie można wpisać do katalogu lokalną bazę danych DB2 UDB jako znajdującą się na węźle TCP/IP. Na przykład: CATALOG TCPIP NODE mój_węzeł REMOTE mój_host SERVER 123; CATALOG DB moja_baza_danych AT NODE mój_węzeł; CREATE WRAPPER drda; CREATE SERVER mój_serwer TYPE DB2/UDB VERSION 8 WRAPPER drda AUTHORIZATION "mój_identyfikator" PASSWORD "moje_hasło" OPTIONS(ADD DBNAME 'MOJA_BAZA_DANYCH'); Klawisze skrótu nie działają w programie Microsoft Visual Studio .NET Framework 1.1 Jeśli klawisze skrótu nie działają w programie Microsoft Visual Studio .NET Framework 1.1, można pobrać poprawkę z serwisu WWW firmy Microsoft. Poprawkę tę można znaleźć w artykule numer Q836745 w bazie wiedzy Microsoft Knowledge Base. Ustawienia narodowe dla języka chińskiego uproszczonego (AIX) W następujących wersjach systemu AIX nastąpiła zmiana zestawu kodowego związanego z ustawieniami narodowymi języka chińskiego uproszczonego Zh_CN: * AIX, wersja 5.1.0000.0011 lub nowsza * AIX, wersja 5.1.0 z poziomem konserwacyjnym 2 lub wyższym Zestaw kodowy zmieniono z GBK (strona kodowa 1386) na GB18030 (strona kodowa 5488 lub 1392). Ponieważ program DB2 Universal Database (UDB) dla systemu AIX zapewnia rodzimą obsługę zestawu kodowego GBK, a zestaw kodowy GB18030 za pośrednictwem kodu Unicode, program DB2 UDB będzie domyślnie używał zestawu kodowego ISO 8859-1 ustawień narodowych Zh_CN (strona kodowa 819), a w niektórych operacjach będzie również wykorzystywał wartość dla terytorium Stanów Zjednoczonych (US). To ograniczenie można ominąć na dwa sposoby: * Można wymusić zastępowanie zestawu kodowego z ustawień narodowych GB18030 zestawem kodowym GBK, a ustawień terytorium Stanów Zjednoczonych - ustawieniami terytorium Chin (którego identyfikatorem jest CN, a kodem terytorium jest liczba 86). * Można się posłużyć innymi ustawieniami narodowymi dla języka chińskiego uproszczonego. W przypadku wybrania pierwszej możliwości należy wydać następujące komendy: db2set DB2CODEPAGE=1386 db2set DB2TERRITORY=86 db2 terminate db2stop db2start W przypadku drugiej opcji należy zmienić ustawienia narodowe z Zh_CN na ZH_CN lub zh_CN. Zestawem kodowym ustawień narodowych ZH_CN jest kod Unicode (UTF-8), a zestawem kodowym ustawień narodowych zh_CN jest eucCN (strona kodowa 1383). Ustawienia narodowe dla języka chińskiego uproszczonego (Red Hat Linux) W systemie Red Hat, wersja 8 lub późniejsza (także Red Hat Enterprise Linux [RHEL] wersje 2.1 i 3), zmieniono domyślny zestaw kodowy dla języka chińskiego uproszczonego z GBK (strona kodowa 1386) na GB18030 (strona kodowa 5488 lub 1392). Ponieważ program DB2 Universal Database (UDB) dla systemu Linux zapewnia rodzimą obsługę zestawu kodowego GBK, a zestaw kodowy GB18030 za pośrednictwem kodu Unicode, program DB2 UDB będzie domyślnie używał zestawu kodowego ISO 8859-1 (strona kodowa 819), a w niektórych operacjach będzie również wykorzystywał wartość dla terytorium Stanów Zjednoczonych (US). To ograniczenie można ominąć na dwa sposoby: * Można wymusić zastępowanie domyślnego zestawu kodowego systemu Red Hat GB18030 zestawem kodowym GBK, a ustawień terytorium Stanów Zjednoczonych - ustawieniami terytorium Chin (którego identyfikatorem jest CN, a kodem terytorium jest liczba 86). * Można się posłużyć innymi ustawieniami narodowymi dla języka chińskiego uproszczonego. W przypadku wybrania pierwszej możliwości należy wydać następujące komendy: db2set DB2CODEPAGE=1386 db2set DB2TERRITORY=86 db2 terminate db2stop db2start W przypadku wybrania drugiej możliwości należy wydać dowolną z następujących komend: export LANG=zh_CN.gbk export LANG=zh_CN export LANG=zh_CN.utf8 gdzie z ustawieniami narodowymi zh_CN skojarzony jest zestaw kodowy eucCN lub strona kodowa 1383, a z ustawieniami narodowymi zh_CN.utf8 - strona kodowa 1208. Niezgodność z programem Merant Driver Manager (UNIX) Kiedy program Merant Driver Manager odwołuje się do sterownika ODBC programu DB2 w systemie UNIX, występują nieprawidłowości w obsłudze znaków Unicode. Nieprawidłowości te powodują, że menedżer sterowników Merant korzysta z formatu Unicode, nawet jeśli aplikacja nie zgłaszała takiego żądania. Sytuacja ta może prowadzić do problemów z takimi produktami, jak Centrum hurtowni danych, Menedżer katalogu informacyjnego i MQSI, które wymagają, aby program Merant Driver Manager obsługiwał źródła danych producentów innych niż IBM. Do czasu udostępnienia trwałego rozwiązania można używać alternatywnej biblioteki sterowników ODBC programu DB2 bez obsługi kodu Unicode. Alternatywna biblioteka sterowników ODBC programu DB2 bez obsługi formatu Unicode jest dołączana do programu DB2 Universal Database (UDB), wersja 8.1, dla systemów AIX, HP-UX i Środowiska Operacyjnego Solaris. Aby użyć tej alternatywnej biblioteki, należy utworzyć jej kopię, nadając jej nazwę oryginalnej biblioteki sterowników programu DB2. Uwaga: Biblioteka alternatywna (_36) zawiera funkcje obsługi Unicode wymagane przez sterownik JDBC programu DB2. Użycie tej biblioteki umożliwi aplikacjom JDBC, w tym serwerowi WebSphere Application Server, skuteczną współpracę z programem DB2 UDB. Aby przełączyć się na bibliotekę ODBC bez obsługi Unicode w systemach AIX, HP-UX lub w Środowisku Operacyjnym Solaris, wykonaj poniższe instrukcje. Ponieważ proces ten przeprowadza się ręcznie, należy go wykonywać przy każdym aktualizowaniu produktu, również przy stosowaniu kolejnych pakietów poprawek i poziomów modyfikacji. Procedura AIX Aby utworzyć alternatywną bibliotekę w systemie AIX: 1. Jako właściciel instancji zamknij wszystkie instancje bazy danych za pomocą komendy db2stop force. 2. Korzystając z identyfikatora instancji serwera administracyjnego DB2 (DAS), zamknij instancję DAS za pomocą komendy db2admin stop force. 3. Sporządź kopię zapasową pliku db2.o w katalogu /usr/lpp/db2_81/lib. 4. Korzystając z uprawnień administratora (root), wydaj komendę slibclean. 5. Skopiuj plik db2_36.o do pliku kopii zapasowej db2.o, zachowując informacje o właścicielu i uprawnieniach. Użyj następujących komend: cp db2_36.o db2.o -r--r--r-- bin:bin for db2.o Aby przełączyć się z powrotem na oryginalny obiekt, wykonaj tę samą procedurę, używając kopii zamiast pliku db2_36.o. Środowisko Operacyjne Solaris Aby utworzyć alternatywną bibliotekę w Środowisku Operacyjnym Solaris: 1. Jako właściciel instancji zamknij wszystkie instancje bazy danych za pomocą komendy db2stop force. 2. Korzystając z identyfikatora instancji serwera administracyjnego DB2 (DAS), zamknij instancję DAS za pomocą komendy db2admin stop force. 3. Sporządź kopię zapasową pliku libdb2.so.1 w katalogu /opt/IBMdb2/V8.1/lib. 4. Skopiuj plik libdb2_36.so.1 do pliku libdb2.so.1, zachowując informacje o właścicielu i uprawnieniach. Użyj następujących komend: cp libdb2_36.so.1 libdb2.so.1 -r-xr-xr-x bin:bin libdb2.so.1 5. Wydaj komendę db2iupdt dla każdej instancji bazy danych oraz komendę dasupdt dla każdej instancji DAS. Aby przełączyć się z powrotem na oryginalny obiekt, wykonaj tę samą procedurę, używając kopii zamiast pliku libdb2_36.so.1. HP-UX PA-RISC Aby utworzyć alternatywną bibliotekę w systemie HP-UX PA-RISC: 1. Zamknij wszystkie instancje bazy danych za pomocą komendy db2stop force. 2. Zamknij instancję serwera administracyjnego DB2 (DAS) za pomocą komendy db2admin stop force. 3. Sporządź kopię zapasową oryginalnego pliku libdb2.sl w katalogu /opt/IBMdb2/V8.1/lib. 4. Skopiuj plik libdb2_36.sl do pliku kopii zapasowej libdb2.sl, aby zachować spójność informacji o prawach własności i uprawnieniach. Poniższa komenda pozwala zachować te informacje: cp libdb2_36.sl libdb2.sl -r-xr-xr-x bin:bin for libdb2.sl 5. Wydaj komendę db2iupdt dla każdej instancji bazy danych oraz komendę dasupdt dla każdej instancji DAS. Aby przełączyć się z powrotem na oryginalny obiekt, wykonaj tę samą procedurę, używając kopii zamiast pliku libdb2_36.sl. HP-UX na platformie IA64 Aby utworzyć alternatywną bibliotekę w systemie HP-UX na platformie IA64: 1. Zamknij wszystkie instancje bazy danych za pomocą komendy db2stop force. 2. Zamknij instancję serwera administracyjnego DB2 (DAS) za pomocą komendy db2admin stop force. 3. Utwórz kopię zapasową oryginalnego pliku libdb2.so w katalogu /opt/IBMdb2/V8.1/lib. 4. Skopiuj plik libdb2_36.so do pliku kopii zapasowej libdb2.so, aby zachować spójność informacji o właścicielu i uprawnieniach. Poniższa komenda pozwala zachować te informacje: cp libdb2_36.so libdb2.so -r-xr-xr-x bin:bin for libdb2.so 5. Wydaj komendę db2iupdt dla każdej instancji bazy danych oraz komendę dasupdt dla każdej instancji DAS. Aby przełączyć się z powrotem na oryginalny obiekt, wykonaj tę samą procedurę, używając kopii zamiast pliku libdb2_36.so. Inne systemy operacyjne UNIX Aby uzyskać pomoc podczas korzystania z programu DB2 i produktu Merant Driver Manager w innych systemach operacyjnych UNIX, należy skontaktować się z działem wsparcia IBM. System NFS, raport APAR IY32512 - niedostępne wątki (AIX) W systemie plików NFS systemu operacyjnego AIX 5 z pakietem APAR IY32512 z dużą liczbą partycji może się zdarzyć, że wywołanie komendy db2stop nie powiedzie się. Na serwerze odbierającym dużą liczbę żądań blokad w odniesieniu do plików, które już są zablokowane, demon blokowania może przestać odpowiadać. Sytuacja ta występuje, gdy wszystkie dostępne zablokowane wątki są przydzielone do wątków oczekujących na zwolnienie blokad i w chwili wprowadzenia żądania zwolnienia nie ma dostępnego wątku do jego obsługi. W takiej sytuacji konieczne jest restartowanie zatrzymanych węzłów. W programie DB2 Universal Database istnieje obejście tego problemu, które polega na zatrzymywaniu węzłów pojedynczo, przy użyciu opcji NODENUM komendy db2stop. Błąd opcji prekompilatora SQLFLAG(STD) Jeśli opcja prekompilatora SQLFLAG(STD) będzie włączona, spowoduje to wystąpienie następującego błędu: Abend C6 occurred while running Precompile program DSNHPC (Podczas działania programu prekompilatora DSNHPC wystąpiło nieprawidłowe zakończenie C6). Aby przy użyciu Centrum projektowania utworzyć zapisane w bazie procedury języka SQL przeznaczone do uruchamiania w programie DB2 Universal Database for z/OS, wersja 8, należy usunąć opcję prekompilatora SQLFLAG(STD). Podczas korzystania z opcji sysplex w programie DB2 Connect zestawianie połączeń musi być włączone Problem Program DB2 Connect(TM) nie kieruje połączeń do innego elementu funkcji Distributed Data Facility (DDF), gdy łączący się element funkcji DDF z grupy współużytkowania danych systemu OS390 został zamknięty. Przy włączonej opcji sysplex program DB2 Connect(TM) kieruje połączenia do innego elementu funkcji DDF zgodnie z listą serwerów. Projektując sysplex programu DB2 Connect, wersja 8, przewidziano zestawianie agentów. Lista serwerów sysplex jest zwalniana, gdy nie ma żadnych agentów ani połączeń z bazą danych. Dlatego należy zachować co najmniej jednego agenta, aby utrzymać listę serwerów sysplex. Obejście Włącz zestawianie połączeń, uruchamiając następujące komendy: db2 update dbm cfg using num_poolagents liczba db2stop db2start gdzie liczba to maksymalna liczba agentów, jaka może być zestawiana na instancji DB2. Zestawianie połączeń jest włączane, gdy liczba jest większa od 0. Zalecenie Ustaw parametr num_poolagents na -1, co oznacza połowę wartości przypisanej do parametru konfiguracyjnego maxagents. Doradca DB2 Connect Custom Advisor Pomimo wzmianki w podręczniku DB2 Connect Podręcznik użytkownika, doradca DB2 Connect Custom Advisor nie jest już obsługiwany w wersji 8.2. Tworzenie bazy danych katalogu narzędzi kończy się niepowodzeniem (HP-UX) Problem Podczas instalowania programu DB2 Universal Database (UDB), wersja 8.2, w systemie HP-UX działanie komendy CREATE TOOLS CATALOG kończy się niepowodzeniem z kodem SQLCODE -22209, jeśli wykonywana jest ona w 32-bitowej instancji, a parametr konfiguracyjny jdk_path Serwera administracyjnego DB2 wskazuje pakiet HP-UX SDK 1.4. Błąd ten występuje, ponieważ program DB2 UDB, wersja 8.2, domyślnie instaluje pakiet HP-UX SDK 1.4, ale 32-bitowa instancja w wersji 8.2 do pomyślnego działania wymaga komendy CREATE TOOLS CATALOG pakietu HP-UX SDK 1.3. Niepowodzenie to może także wystąpić podczas instalowania programu DB2 UDB, wersja 8.1 pakiet poprawek 7, jeśli ręcznie zaktualizuje się parametr konfiguracyjny jdk_path Serwera administracyjnego DB2 w taki sposób, że wskazuje on pakiet HP-UX SDK 1.4, lub gdy usunie się i odtworzy Serwer administracyjny DB2 (DAS). W obu tych wypadkach przyczyną niepowodzenia jest zmiana parametru konfiguracyjnego jdk_path powodująca, że wskazuje on pakiet HP-UX SDK 1.4. 32-bitowa instancja programu DB2 UDB, wersja 8.2, do pomyślnego działania wymaga pakietu HP-UX SDK 1.3. Obejście 1 Utwórz katalog narzędzi w 64-bitowej instancji. Obejście 2 Utwórz katalog narzędzi w 32-bitowej instancji, wykonując następujące czynności: 1. Pobierz pakiet HP-UX SDK 1.3 z serwisu WWW firmy HP-UX: http://www.hp.com/products1/unix/java/ 2. Zainstaluj pakiet HP-UX SDK 1.3. 3. Zaktualizuj parametr konfiguracyjny jdk_path Serwera administracyjnego DB2 w taki sposób, aby wskazywał pakiet HP-UX SDK 1.3. Na przykład: db2 update admin config using JDK_PATH /opt/java1.3 4. Zrestartuj Serwer administracyjny DB2. db2admin stop db2admin start 5. Ponownie wykonaj komendę CREATE TOOLS CATALOG w 32-bitowej instancji. Wyświetlanie znaków hinduskich w narzędziach graficznych DB2 Trudności z wyświetlaniem znaków hinduskich przy korzystaniu z narzędzi DB2 z graficznym interfejsem użytkownika mogą oznaczać, że w systemie brakuje wymaganych czcionek. Pakiet DB2 Universal Database (UDB) zawiera wymienione niżej czcionki proporcjonalne IBM w formacie TrueType i OpenType dla języków hinduskich. Czcionki te są dostępne w katalogu font na każdym z następujących dysków CD: * IBM Developer Kit, Java Technology Edition (64-bit) for AIX 5L * DB2 Embedded Application Server and applications (XML registry, Web Administration tools and Java distributed debugger) dla używanego systemu operacyjnego Czcionek tych można używać tylko razem z programem DB2 UDB. Sprzedaż i dystrybucja tych czcionek dla innych zastosowań jest niedozwolona: Tabela 9. Czcionki hinduskie w pakiecie DB2 UDB. +-----------------------+----------------------+----------------------+ | Czcionka | Grubość | Nazwa pliku czcionki | +-----------------------+----------------------+----------------------+ | Devanagari MT for IBM | średnia | devamt.ttf | +-----------------------+----------------------+----------------------+ | Devanagari MT for IBM | pogrubiona | devamtb.ttf | +-----------------------+----------------------+----------------------+ | Tamil | średnia | TamilMT.ttf | +-----------------------+----------------------+----------------------+ | Tamil | pogrubiona | TamilMTB.ttf | +-----------------------+----------------------+----------------------+ | Telugu | średnia | TeluguMT.ttf | +-----------------------+----------------------+----------------------+ | Telugu | pogrubiona | TeleguMTB.ttf | +-----------------------+----------------------+----------------------+ Szczegółowe instrukcje na temat instalowania czcionek i modyfikowania pliku font.properties można znaleźć w sekcji poświęconej obsłudze innych języków w dokumentacji pakietu IBM Development Kit for Java. Ponadto w poniższych produktach firmy Microsoft mogą występować czcionki hinduskie, które można wykorzystać w graficznych narzędziach DB2: * system operacyjny Microsoft Windows 2000 * system operacyjny Microsoft Windows XP * Microsoft Publisher * Microsoft Office Narzędzia graficzne nie są obsługiwane na serwerach zSeries (Linux) Z wyjątkiem Kreatora instalacji DB2 narzędzia z graficznym interfejsem nie będą działały na serwerach zSeries z systemem operacyjnym Linux. Ograniczenie to dotyczy wszystkich programów uruchamianych zazwyczaj ze startera instalacji, takiego jak Krótki kurs. W razie konieczności posłużenia się jednym z narzędzi graficznych w opisanej konfiguracji systemu narzędzia administracyjne należy zainstalować w systemie klienta o odmiennej konfiguracji i nawiązywać połączenie z serwerem zSeries z tego klienta. Funkcja wyszukiwania w Centrum informacyjnym DB2 wymaga użycia cudzysłowów dla terminów zawierających cyfry Aby uzyskać dokładne wyniki wyszukiwania w Centrum informacyjnym DB2, konieczne jest ujęcie szukanych terminów, które zawierają cyfry, w cudzysłowy. Na przykład wyszukiwanie poniższego tekstu nie da żadnych wyników: 1.4.1 Jeśli jednak ujmie się ten tekst w cudzysłowy, zostaną zwrócone poprawne wyniki: "1.4.1" Wyszukiwanie następującego tekstu zwróci dodatkowe tematy: DB20000I Ale wyszukiwanie takiego tekstu będzie działać poprawnie: "DB20000I" Podczas importowania plików języka znaczników nie jest generowany plik protokołu Centrum katalogu informacyjnego Jeśli podczas importowania do Centrum katalogu informacyjnego plików języka znaczników nie jest generowany plik protokołu Centrum katalogu informacyjnego, w celu rozwiązania problemu należy wykonać następujące czynności: Podczas uruchamiania komendy db2icmimport w wierszu komend: * Jeśli pliki wyjściowe nie zostały wygenerowane (.xml, .out, .err, .log), błąd wystąpił prawdopodobnie w wierszu poleceń. Sprawdź, czy pierwsze pięć argumentów, którymi są: Identyfikator użytkownika, Hasło, Baza danych, Katalog i Plik ze znacznikami jest wpisanych poprawnie. Informacje o składni można wyświetlić za pomocą komendy db2icmimport. Jeśli to nie rozwiąże problemu, zmodyfikuj komendę db2icmimport, dodając opcję -g, aby przechwycić dane wyjściowe komendy db2javit i zapisać je w pliku. Na przykład: db2javit -j:com.ibm.db2.common.icm.tag.IcmImport -w: -i: -o:"-Xmx128m -Xms32m" -g:"d:\temp\mój_import.trc" ... * Jeśli plik protokołu nie został wygenerowany, przyczyną tego jest najczęściej błąd analizy. Otwórz pliki .xml i .out. Jeśli jest taka możliwość, na początku pliku z językiem znaczników umieść komendę ":COMMIT.CHKPID(DEBUG)". Komenda ta wygeneruje komunikaty raportujące dotyczące debugowania i sprawdzi, czy w plikach .xml i .out nie występują błędy składni. * Po zakończeniu analizowania lista błędów powinna znajdować się w pliku .log. Podczas generowania raportu debugowania można otworzyć pliki .log i .out, aby uzyskać więcej informacji. * Należy zawsze sprawdzić plik .err, aby upewnić się, czy nie wystąpił błąd czasu wykonywania. Podczas importowania pliku z językiem znaczników za pomocą interfejsu GUI Centrum katalogu informacyjnego: * Podczas importowania pliku z językiem znaczników za pomocą interfejsu GUI nie są generowane pliki .out ani .err. * Jeśli zostanie wygenerowany plik .log lub .xml, można spróbować debugowania przy użyciu tych plików. * Jeśli pliki te nie zostaną wygenerowane lub będą nieprzydatne, należy uruchomić proces importowania z wiersza komend w celu uzyskania dodatkowych informacji. Wiązanie pakietów Query Patroller Jeśli po zainstalowaniu pakietu poprawek nie są powiązane pakiety Query Patroller, użytkownik bez uprawnienia BADM lub odpowiednich uprawnień do programu Query Patroller, korzystając z Centrum Query Patroller lub wiersza komend Query Patroller, może napotkać następujący błąd: SQL0001N - Wiązanie lub prekompilacja nie została zakończona pomyślnie. Jeśli użytkownik korzysta z Centrum Query Patroller, błąd SQL0001N zostanie zapisany w pliku protokołu qpdiag.log. Jeśli użytkownik korzysta z wiersza komend Query Patroller, błąd SQL0001N zwracany jest do konsoli. Istnieje kod automatycznego wiązania służący do inicjowania automatycznego wiązania. Jednakże automatyczne wiązanie nie zostanie wykonane pomyślnie, jeśli łączący się użytkownik nie ma odpowiednich uprawnień do wykonywania wszystkich instrukcji występujących w pakietach Query Patroller. Objawem tego problemu jest brak folderów w Centrum Query Patroller. Aby uniknąć tego problemu, po zastosowaniu pakietu poprawek użytkownik z uprawnieniami DBADM lub innymi odpowiednimi uprawnieniami powinien ręcznie powiązać pakiety qpserver.lst. Niedostępność portów w programie Query Patroller (Windows) Problem Zapytania wprowadzane w programie Query Patroller mogą odbierać kod SQL -29007, gdy w systemie Windows XP lub Windows 2003 nie ma dostępnych portów. Prawdopodobieństwo wystąpienia tego błędu rośnie wraz ze wzrostem liczby klientów korzystających z programu Query Patroller. Obejście Ustaw następujące zmienne rejestru systemu Windows: MaxUserPort=65534 TcpTimedWaitDelay=30 i zrestartuj system, aby zmiany odniosły skutek. Szczegóły dotyczące ustawiania zmiennych rejestru systemu Windows można znaleźć na stronie WWW pomocy i wsparcia firmy Microsoft(R) pod adresem http://support.microsoft.com/. Bezpieczne środowiska (Windows) Używanie programu DB2 Universal Database (UDB) w systemie Windows z kontem innym niż konto administratora systemu Windows może powodować problemy związane z uprawnieniami do plików. Prawdopodobne przyczyny wystąpienia błędów SQL1035N, SQL1652N lub SQL5005C i opisy ich obejścia przedstawiono poniżej: Użytkownik nie ma wystarczających uprawnień do katalogu sqllib Problem Podczas próby otwarcia procesora CLP lub okna komend programu DB2 wystąpił błąd SQL1035N lub SQL1652N. Kod programu DB2 UDB (zasadnicze pliki) jest instalowany w strukturze katalogów, w której uprawnienia do zapisu są ograniczone, a niektóre narzędzia programu DB2 UDB wymagają uprawnień do zapisu danych i tworzenia plików w katalogu DB2INSTPROF. Obejście Utwórz nowy katalog, w którym można będzie przydzielić użytkownikom co najmniej uprawnienia MODIFY, i użyj komendy db2set -g db2tempdir, aby wskazać nowy katalog, lub ustaw zmienną db2tempdir w środowisku systemu Windows. Użytkownik nie ma wystarczających uprawnień do zapisu w katalogu sqllib\ mimo tego, że użytkownik należy do grupy SYSADM_GROUP Problem Podczas próby zaktualizowania pliku konfiguracyjnego menedżera bazy danych (update dbm cfg) wystąpił błąd SQL5005C. Użytkownik nie ma wymaganych w systemie NTFS uprawnień do zapisu w katalogu sqllib\katalog_instancji, chociaż użytkownika tego dodano do grupy SYSADM_GROUP. Pierwsze obejście Przydziel użytkownikowi co najmniej uprawnienie MODIFY do katalogu katalog_instancji na poziomie systemu plików. Drugie obejście Utwórz nowy katalog, w którym można będzie przydzielić użytkownikowi co najmniej uprawnienie MODIFY. Użyj komendy db2set db2instprof, aby wskazać nowy katalog. Konieczne będzie ponowne utworzenie instancji, aby informacje przechowywane były w nowym katalogu instancji podanym w komendzie db2instprof, albo przeniesienie zawartości starego katalogu instancji do nowego katalogu. Zmienione nazwy przykładowych programów XML Extender Nazwy niektórych przykładowych programów narzędzia XML Extender mogą być takie same, jak nazwy innych zainstalowanych programów. Przypadkowe uruchomienie innego programu o nazwie identycznej z nazwą przykładowego programu narzędzia XML Extender może doprowadzić do uszkodzenia używanych plików XML. Poniższa lista zawiera stare nazwy przykładowych programów narzędzia XML Extender powodujące konflikt oraz ich zamienniki, w przypadku których prawdopodobieństwo wystąpienia konfliktu jest mniejsze. Aby zapobiec uszkodzeniu używanych plików XML, upewnij się, że używane są nowe nazwy przykładowych programów, a nie stare nazwy. Tabela 10. Zamienniki programów przykładowych programu XML Extender (Windows). +----------------------------------+----------------------------------+ | Poprzedni program (nie używać) | Nowy program (używać) | +----------------------------------+----------------------------------+ | insertx.exe | dxxisrt.exe | +----------------------------------+----------------------------------+ | retrieve.exe | dxxretr.exe | +----------------------------------+----------------------------------+ | retrieve2.exe | dxxretr2.exe | +----------------------------------+----------------------------------+ | retrievec.exe | dxxretrc.exe | +----------------------------------+----------------------------------+ | shred.exe | dxxshrd.exe | +----------------------------------+----------------------------------+ | tests2x.exe | dxxgenx.exe | +----------------------------------+----------------------------------+ | tests2xb.exe | dxxgenxb.exe | +----------------------------------+----------------------------------+ | tests2xc.exe | dxxgenxc.exe | +----------------------------------+----------------------------------+ Tabela 11. Zamienniki programów przykładowych programu XML Extender (Linux i UNIX). +----------------------------------+----------------------------------+ | Poprzedni program (nie używać) | Nowy program (używać) | +----------------------------------+----------------------------------+ | insertx | dxxisrt | +----------------------------------+----------------------------------+ | retrieve | dxxretr | +----------------------------------+----------------------------------+ | retrieve2 | dxxretr2 | +----------------------------------+----------------------------------+ | retrievec | dxxretrc | +----------------------------------+----------------------------------+ | shred | dxxshrd | +----------------------------------+----------------------------------+ | tests2x | dxxgenx | +----------------------------------+----------------------------------+ | tests2xb | dxxgenxb | +----------------------------------+----------------------------------+ | tests2xc | dxxgenxc | +----------------------------------+----------------------------------+ Używanie nowych programów przykładowych z przykładowymi plikami sqx Kod źródłowy (pliki .sqx) plików wykonywalnych występujących na powyższej liście znajduje się w katalogu instalacji o nazwie samples\db2xml\c. Pliki źródłowe mają nadal te same nazwy co wcześniej. Jeśli w kodzie źródłowym zostaną wprowadzone zmiany, należy skopiować skompilowane pliki wykonywalne (ze starymi nazwami) do katalogu sqllib\bin. Na platformach Windows należy wykonać dodatkową kopię, zmienić jej nazwę na nową, przedstawioną powyżej, a następnie skopiować plik do katalogu bin. Obie kopie zastępują pliki istniejące już w katalogu bin. Na przykład po skompilowaniu nowej wersji pliku shred.exe należy wykonać dwie kopie, które zastąpią pliki w katalogu bin: jedną o nazwie shred.exe i drugą o zmienionej nazwie - dxxshrd.exe. Na platformach Linux i UNIX wystarczy jedynie zamienić plik o starej nazwie na nowo skompilowaną wersję pliku. W razie utworzenia nowego pliku wykonywalnego na podstawie tych przykładów, należy skopiować nowe pliki z katalogu \SQLLIB\samples\db2xml\c\ do katalogu \SQLLIB\bin\, a następnie wykonać dodatkową kopię, nadając jej nazwę na podstawie informacji zawartych w powyższej tabeli. Dekomponowanie dokumentów zawierających nieunikalne atrybuty i nazwy elementów w programie XML Extender Można dekomponować dokumenty zawierające atrybuty nieunikalne lub nieunikalne nazwy elementów odnoszące się do różnych kolumn (tej samej lub różnych tabel) bez wywoływania błędu DXXQ045E. Poniżej przedstawiono przykład dokumentu XML z nieunikalnymi atrybutami i nazwami elementów: John Smith Jane Doe xxxx-xxxx 2 12.50 yyyy-yyyy 4 24.99 Towarzyszący plik DAD, który odwzorowuje podwójne elementy i atrybuty do różnych kolumn, ma następującą postać:
order_tab.order_id=detail_tab.order_id
detail_tab" />
Po zdekomponowaniu dokumentu zawartość tabel może wyglądać w następujący sposób: ORDER _TAB: ORDER_ID CUST_ID CUST_NAME SALESP_ID SALESP_NAME 0001-6789 1111 John Smith 1234 Jane Doe DETAIL_TAB: ORDER_ID ITEMNO QUANTITY UNIT_PRICE 0001-6789 xxxx-xxxx 2 12.50 0001-6789 yyyy-yyyy 4 24.99 Uwaga: Aby przypisać wiele elementów i atrybutów do tej samej kolumny jednej tabeli, należy zdefiniować alias tabeli i użyć tego aliasu w elemencie DAD
jednego z odwzorowań. Różnice między protokołami SNA i TCP/IP podczas korzystania z programu DB2 Connect Podczas nawiązywania połączeń z systemem OS/390 przy użyciu protokołu SNA, warstwa VTAM hosta automatycznie przesyła sygnał zatwierdzenia po utworzeniu nowego połączenia. Automatyczne zatwierdzenie umożliwia dezaktywację wątku po stronie hosta i wątek ten natychmiast staje się nieaktywny. Jednak podczas nawiązywania połączeń z systemem OS/390 przy użyciu protokołu TCP/IP zatwierdzenie automatyczne nie następuje. Aby umożliwić dezaktywację wątku na hoście, aplikacja musi samodzielnie wysłać jawny sygnał zatwierdzenia po nawiązaniu połączenia. Jeśli sygnał zatwierdzenia nie zostanie wysłany, może zostać przekroczony limit czasu nieaktywności wątku. Sugerowane obejście tego problemu polega na zmodyfikowaniu aplikacji tak, aby wykonywała jawne zatwierdzenie wtedy, gdy nawiązane połączenie staje się nieaktywne. Aktualizacje dokumentacji Znaczniki zmian oznaczają dodany lub zmieniony tekst. Pionowa kreska ( | ) oznacza informacje, które zostały dodane lub zmienione dla wersji 8.2, pakiet poprawek 4 (odpowiednik wersji 8.1, pakiet poprawek 11). Podręcznik Administration Guide: Implementation Konfigurowanie automatycznego przekierowywania klienta (DB2_MAX_CLIENT_CONNRETRIES i DB2_CONNRETRIES_INTERVAL) Domyślnie opcja automatycznego przekierowywania klienta ponawia połączenie z bazą danych przez okres do 10 minut. Można jednak dokładnie skonfigurować zachowanie podczas ponawiania za pomocą jednej lub obu następujących dwóch zmiennych rejestru: * DB2_MAX_CLIENT_CONNRETRIES: Maksymalna liczba prób ponowienia połączenia wykonywanych przez funkcję automatycznego przekierowania klienta. * DB2_CONNRETRIES_INTERVAL: Czas uśpienia między kolejnymi próbami ponowienia połączenia podany w sekundach. Jeśli ustawiona jest wartość parametru DB2_MAX_CLIENT_CONNRETRIES, a wartość parametru DB2_CONNRETRIES_INTERVAL nie jest ustawiona, dla parametru DB2_CONNRETRIES_INTERVAL zostanie przyjęta wartość domyślna równa 30. Jeśli nie jest ustawiona wartość parametru DB2_MAX_CLIENT_CONNRETRIES, a wartość parametru DB2_CONNRETRIES_INTERVAL jest ustawiona, dla parametru DB2_MAX_CLIENT_CONNRETRIES zostanie przyjęta wartość domyślna równa 10. Jeśli nie jest ustawiona wartość parametru DB2_MAX_CLIENT_CONNRETRIES, ani DB2_CONNRETRIES_INTERVAL, opcja automatycznego przekierowania klienta powróci do opisanego poprzednio zachowania domyślnego. Uwaga: Użytkownicy połączenia typu 4 ze sterownikiem uniwersalnym JDBC DB2(R) powinni użyć następujących dwóch właściwości źródła danych w celu skonfigurowania automatycznego przekierowania klienta: * maxRetriesForClientReroute: Ta właściwość służy do ograniczenia liczby ponownych prób w przypadku niepowodzenia podstawowego połączenia z serwerem. Ta właściwość jest używana tylko, gdy zostanie również ustawiona właściwość retryIntervalClientReroute. * retryIntervalForClientReroute: Ta właściwość służy do określenia (w sekundach) czasu uśpienia przed ponowieniem próby. Ta właściwość jest używana tylko, gdy zostanie również ustawiona właściwość maxRetriesForClientReroute. Opis zmiennej rejestru DB2TIMEOUT Zmienna rejestru DB2TIMEOUT nie jest już obsługiwana. To ustawienie było wykorzystywane do sterowania długością limitu czasu dla klientów systemu Windows(R) 3.x i Macintosh w trakcie długich zapytań SQL. Ta opcja została domyślnie wyłączona. Katalogi tworzone podczas tworzenia przestrzeni dyskowej obszaru tabel Podczas tworzenia przestrzeni dyskowej obszaru tabel program DB2 UDB tworzy wszelkie poziomy katalogu, które nie istnieją. Jeśli na przykład kontener został określony jako /projekt/dane_użytkownika/kontener1, a katalog /projekt nie istnieje, program DB2 UDB utworzy katalogi /projekt i /projekt/dane_użytkownika. Poczynając od programu DB2 UDB, wersja 8.2, pakiet poprawek 4, wszelkie katalogi utworzone prze program DB2 UDB są tworzone z ustawieniem PERMISSION 700. Oznacza to, że tylko właściciel ma dostęp do odczytu, zapisu i wykonania. Podczas tworzenia wielu instancji należy zwrócić uwagę na następujący scenariusz: 1. Korzystając z takiej samej struktury katalogu, jak powyżej, załóżmy, że nie istnieją poziomy katalogu /projekt/dane_użytkownika. 2. Użytkownik1 tworzy instancję o domyślnej nazwie użytkownik1, a następnie tworzy bazę danych, po czym tworzy obszar tabel mający /projekt/dane_użytkownika/kontener1 jako jeden z kontenerów. 3. Użytkownik2 tworzy instancję o domyślnej nazwie użytkownik2, a następnie tworzy bazę danych, po czym próbuje utworzyć obszar tabel mający /projekt/dane_użytkownika/kontener2 jako jeden z kontenerów. Ponieważ program DB2 UDB utworzył poziomy katalogu /projekt/dane_użytkownika z ustawieniem PERMISSION 700 dla pierwszego żądania, użytkownik2 nie ma dostępu do tych poziomów katalogu i nie może utworzyć kontenera kontener2 w tych katalogach. W takim przypadku operacja CREATE TABLESPACE nie powiedzie się. Istnieją dwie metody rozwiązania tego konfliktu: 1. Należy utworzyć katalog /projekt/dane_użytkownika przed utworzeniem obszarów tabel i ustawienia uprawnienia dla jakiegokolwiek dostępu niezbędnego zarówno dla użytkownika1, jak i użytkownika2 do utworzenia obszarów tabel. Jeśli istnieją wszystkie poziomy katalogu obszaru tabel, program DB2 UDB nie zmodyfikuje dostępu. 2. Po utworzeniu przez użytkownika1 kontenera /projekt/dane_użytkownika/kontener1 należy ustawić uprawnienie dla katalogu /projekt/dane_użytkownika na dowolny poziom dostępu niezbędny do utworzenia obszaru tabel przez użytkownika2. Automatyczne wykorzystanie pamięci Format nazw kontenerów zmienił się taki sposób, że zmianie ulega także identyfikator obszaru tabel i identyfikator kontenera. Nowy format jest następujący: <ścieżka pamięci>//WĘZEŁ#### /T####### /C#######. gdzie: * /T####### jest identyfikatorem obszaru tabel. Na przykład T0000003. * /C####### jest identyfikatorem kontenera. Na przykład C0000012. Definiowanie kolumny generowanej w istniejącej tabeli Począwszy od wersji 8.2.2 programu DB2(R) Universal Database (równoważnej wersji 8.1 z pakietem poprawek 9) kolumny generowane mogą być używane w indeksach unikalnych. Kolumny generowane nie mogą być używane w ograniczeniach, ograniczeniach referencyjnych, kluczach podstawowych i globalnych tabelach tymczasowych. Tabela utworzona przy użyciu klauzuli LIKE widoków materializowanych nie dziedziczy właściwości kolumny generowanej. Zagregowane zmienne rejestru Obszar tabel użytkownika SYSTOOLSPACE ani tymczasowy obszar tabel SYSTOOLSTEMPSPACE nie są tworzone automatycznie po ustawieniu zmiennej DB2WORKLOAD=SAP. Te obszary tabel są używane dla tabel tworzonych automatycznie przez następujących kreatorów, narzędzia lub funkcje: * Konserwacja automatyczna * Doradca projektowania * Panel informacyjny bazy danych w Centrum sterowania * Procedura zapisana w bazie SYSINSTALLOBJECTS, jeśli nie określono obszaru tabel jako parametru wejściowego * Procedura zapisana w bazie GET_DBSIZE_INFO Bez obszarów SYSTOOLSPACE i SYSTOOLSTEMPSPACE nie jest możliwe korzystanie z tych kreatorów, narzędzi lub funkcji. Aby możliwe było używanie kreatorów, narzędzi lub funkcji, należy wykonać jedną z następujących czynności: * Ręcznie utworzyć obszar SYSTOOLSPACE (w przypadku użycia DPF - tylko na węźle katalogu). Na przykład: CREATE REGULAR TABLESPACE SYSTOOLSPACE IN IBMCATGROUP MANAGED BY SYSTEM USING ('SYSTOOLSPACE') * Wywołać procedurę SYSINSTALLOBJECTS w celu utworzenia obiektów, określają poprawny obszar tabel dla każdej z następujących nazw narzędzi: "DB2AC", "POLICY" i "STMG_DBSIZE_INFO" Po zakończeniu co najmniej jednej z powyższych operacji należy utworzyć tymczasowy obszar tabel użytkownika (w przypadku korzystania z DPF - tylko na węźle katalogu). Na przykład: CREATE USER TEMPORARY TABLESPACE SYSTOOLSTMPSPACE IN IBMCATGROUP MANAGED BY SYSTEM USING ('SYSTOOLSTMPSPACE') Po utworzeniu obszaru tabel SYSTOOLSPACE i tymczasowego obszaru tabel SYSTOOLSTEMPSPACE można używać kreatorów, narzędzi lub funkcji wymienionych powyżej. Zagadnienia dotyczące uwierzytelniania zdalnych klientów Typ uwierzytelniania DATA_ENCRYPT_CMP został wprowadzony w celu umożliwienia klientom w poprzedniej wersji, która nie obsługuje szyfrowania danych, łączenie się z serwerem za pomocą uwierzytelniania SERVER_ENCRYPT zamiast uwierzytelniania DATA_ENCRYPT. To uwierzytelnianie nie działa, jeśli poniższe stwierdzenia są prawdziwe: * Klient jest w wersji 7.2. * Brama jest w wersji 8, pakiet poprawek 7, lub nowszej. * Serwer jest w wersji 8, pakiet poprawek 7, lub nowszej. W takim przypadku klient nie może połączyć się z serwerem. Aby umożliwić połączenie, należy albo zaktualizować klienta do wersji 8, albo zapewnić, że brama będzie w wersji 8, pakiet poprawek 6, lub starszej. Obsługa bezpośredniego we/wy (DIO) i współbieżnego we/wy (CIO) Bezpośrednie we/wy (DIO) poprawia wydajność pamięci dzięki pomijaniu buforowania na poziomie systemu plików. Ten proces redukuje nakład pracy jednostki centralnej i udostępnia większą ilość pamięci instancji bazy danych. Współbieżne we/wy (CIO) ma wszystkie zalety DIO, a ponadto upraszcza szeregowanie dostępów do zapisu. Program DB2 Universal Database (UDB) obsługuje DIO i CIO w systemie AIX oraz DIO w systemach HP-UX, Środowisku Operacyjnym Solaris, Linux i Windows. Parametry NO FILE SYSTEM CACHING FILE SYSTEM CACHING stanowią elementy instrukcji SQL CREATE i ALTER TABLESPACE i umożliwiają określenie, czy dla danego obszaru tabel ma być używane DIO, czy CIO. Gdy obowiązuje ustawienie NO FILE SYSTEM CACHING, DB2 UDB próbuje używać współbieżnego we/wy, gdy tylko jest to możliwe. W sytuacji, gdy CIO nie jest obsługiwane (np. jeśli używany jest system plików JFS), używane jest we/wy DIO. Więcej informacji na ten temat zawiera artykuł "Improve database performance on file system containers in IBM DB2 UDB Stinger using Concurrent I/O on AIX", który można znaleźć pod następującym adresem URL: http://www.ibm.com/developerworks/db2/library/techarticle/dm-0408lee/ Technologia dystrybucji i automatyczne przekierowanie klientów Następujące informacje stanowią część podręcznika Administration Guide: Implementation, Dodatek B, "Using automatic client rerouting": Opcja automatycznego przekierowania klienta programu DB2 Universal Database dla systemów Linux, UNIX i Windows umożliwia aplikacjom klienckim odtworzenie stanu po przerwaniu połączenia z serwerem poprzez automatyczne ponowne nawiązanie połączenia bazy danych klienta z serwerem, dzięki czemu mogą one kontynuować działanie po minimalnej przerwie. Jeśli połączenie klienta z serwerem zostanie przerwane, żądania ponownego połączenia klienta są dystrybuowane do zdefiniowanego zbioru systemów przez program dystrybucyjny lub rozsyłający, taki jak WebSphere EdgeServer. Technologii dystrybucji można używać w środowisku zbliżonym do poniższego: Klient --> technologia dystrybucji --> (serwer DB2 Connect Server 1 lub serwer DB2 Connect Server 2) --> DB2 z/OS gdzie: * Komponent technologii dystrybucji ma nazwę hosta TCP/IP równą DThostname * Serwer DB2 Connect Server 1 ma nazwę hosta TCP/IP równą GWYnazwa_hosta1 * Serwer DB2 Connect Server 2 ma nazwę hosta TCP/IP równą GWYnazwa_hosta2 * Serwer DB2 z/OS ma nazwę hosta TCP/IP równą zOSnazwa_hosta Klient jest wpisywany do katalogu z nazwą DThostname, aby można było wykorzystać technologię dystrybucji w celu uzyskania dostępu do dowolnego z serwerów DB2 Connect. Jeśli technologia dystrybucji jest aktywna, decyzja o użyciu serwera GWYnazwa_hosta1 lub GWYnazwa_hosta2 jest podejmowana przez oprogramowanie. Po podjęciu decyzji klient uzyskuje bezpośrednie połączenie przez gniazdo z jedną z dwóch bram DB2 Connect. Po nawiązaniu połączenia przez gniazdo z wybranym serwerem DB2 Connect powstaje typowe połączenie klienta z serwerem DB2 Connect dla DB2 z/OS. Na przykład przyjmijmy, że program dystrybucyjny wybrał GWYnazwa_hosta2. Tworzy to następujące środowisko: Klient --> serwer DB2 Connect Server 2 --> DB2 z/OS Program dystrybucyjny nie wznawia żadnego połączenia, jeżeli wystąpi jakakolwiek awaria komunikacji. Jeśli dla bazy danych w takim środowisku należy włączyć opcję automatycznego przekierowania klienta, alternatywny serwer dla powiązanej bazy danych lub baz danych na serwerze DB2 Connect Server (serwer DB2 Connect Server 1 lub serwer DB2 Connect Server 2) powinien zostać ustawiony tak, aby był nim program dystrybucyjny (DThostname). Następnie, jeśli serwer DB2 Connect Server 1 zablokuje się z jakiegoś powodu, zostanie wyzwolone automatyczne przekierowanie klienta i nastąpi próba połączenia klienta z programem dystrybucyjnym zarówno dla serwera podstawowego, jak i alternatywnego. Ta opcja umożliwia zachowanie możliwości programu dystrybucyjnego i jego połączenie z opcją DB2 automatycznego przekierowania klienta. Nawet jeśli nazwa serwera alternatywnego będzie inna niż nazwa hosta programu dystrybucyjnego, klienci nadal będą mogli korzystać z opcji automatycznego przekierowania klienta. Jednak klienci będą nawiązywać bezpośrednie połączenia ze zdefiniowanym serwerem alternatywnym i pomijać technologię dystrybucji, co spowoduje wyeliminowanie programu dystrybucyjnego i zapewnianych przez niego korzyści. Automatyczne przekierowanie klienta spowoduje przechwycenie następujących kodów sql: * sqlcode -20157 * sqlcode -1768 (kod przyczyny = 7) Uwagi dotyczące automatycznego przekierowywania klienta w celu wpisania go do katalogu na serwerze DB2 Connect Należy pamiętać o poniższych uwagach dotyczących połączenia serwera alternatywnego z serwerem DB2 Connect: * Pierwsza uwaga dotyczy korzystania z serwera DB2 Connect w celu zapewnienia dostępu do bazy danych na hoście lub w systemie iSeries w imieniu klientów zarówno zdalnych, jak i lokalnych. W takich sytuacjach może powstać niejasność co do informacji o połączeniu z serwerem alternatywnym w pozycji systemowego katalogu bazy danych. Aby zminimalizować tę niejasność, należy wziąć pod uwagę możliwość wpisania do katalogu dwóch pozycji z systemowego katalogu bazy danych, reprezentujących tę samą bazę danych na hoście lub w systemie iSeries. Jedną pozycję należy wpisać do katalogu dla klientów zdalnych, a drugą dla klientów lokalnych. * Po drugie, informacje o serwerze alternatywnym zwracane z serwera docelowego są przechowywane tylko w pamięci podręcznej. W razie zakończenia procesu DB2, informacje z pamięci podręcznej, i tym samym informacje o serwerze alternatywnym, zostaną utracone. Obsługa lokalnych kont systemowych (Windows) Aplikacje działające w kontekście lokalnego konta systemowego (Local System Account - LSA) są obsługiwane we wszystkich systemach Windows, oprócz Windows ME. Obsługa dwuczęściowych identyfikatorów użytkowników Instrukcja CONNECT i komenda ATTACH obsługują dwuczęściowe identyfikatory użytkowników. Kwalifikator zgodnego z SAM identyfikatora użytkownika jest nazwą w stylu protokołu NetBIOS o maksymalnej długości 15 znaków. Ta opcja nie jest obsługiwana w systemie Windows ME. Szczegóły dotyczące uwierzytelniania Kerberos Nazwy użytkownika Kerberos i klienta Istnieje możliwość przesłonięcia nazwy użytkownika serwera Kerberos używanej przez serwer DB2(R) Universal Database (UDB) w systemach operacyjnych UNIX(R) i Linux(TM). Należy przypisać zmiennej środowiskowej DB2_KRB5_PRINCIPAL odpowiednią pełną nazwę użytkownika serwera. Konieczne jest zrestartowanie instancji, ponieważ nazwa główna użytkownika serwera jest rozpoznawana przez program DB2 UDB dopiero po uruchomieniu komendy db2start. Dodatkowe informacje na temat obsługi protokołu Kerberos Wymagania wstępne dla systemu Linux Wymagania wstępne dla protokołu Kerberos w systemie Linux zostały nieodpowiednio przedstawione w dokumentacji. Dostarczany moduł dodatkowy zabezpieczeń DB2 Kerberos jest obsługiwany w systemie Red Hat Enterprise Linux Advanced Server, wersja 3.0, z klientem IBM Network Authentication Service (NAS), wersja 1.4. Zgodność z systemami zSeries i iSeries Aby można było nawiązywać połączenia z systemami zSeries i iSeries, baza danych musi być wpisana do katalogu z parametrem AUTHENTICATION KERBEROS, a nazwa parametru TARGET PRINCIPAL musi być określona w sposób jawny. Systemy zSeries oraz iSeries nie obsługują uwierzytelniania wzajemnego. Uwagi dotyczące systemu Windows * Z uwagi na sposób wykrywania i zgłaszania niektórych błędów przez system Windows, poniższe warunki powodują wystąpienie nieoczekiwanego błędu modułu dodatkowego zabezpieczeń (SQL30082N, kod powrotu=36): * Konto utraciło ważność. * Niepoprawne hasło. * Hasło utraciło ważność. * Wystąpiła zmiana hasła wymuszona przez administratora. * Konto zostało wyłączone. Ponadto we wszystkich przypadkach protokół administracyjny programu DB2, czyli plik db2diag.log, będzie zawierał komunikaty "Logowanie nie powiodło się" lub "Odmowa logowania". * Jeśli nazwa konta domeny jest także zdefiniowana lokalnie, połączenia z jawnie określoną nazwą domeny i hasłem nie powiodą się z następującym błędem: The Local Security Authority cannot be contacted. (Nie można skontaktować się z osobą odpowiedzialną za bezpieczeństwo.) Błąd ten wynika z tego, że system Windows najpierw próbuje znaleźć użytkownika lokalnego. Rozwiązaniem jest podanie pełnej nazwy użytkownika w łańcuchu połączenia. Na przykład: nazwa@DOMENA.IBM.COM * Konta w systemie Windows nie mogą zawierać w nazwach znaku @, ponieważ jest on interpretowany przez moduł dodatkowy ochrony DB2 Kerberos jako separator domeny. * Podczas współpracy z platformami innymi niż Windows, należy skonfigurować korzystanie z szyfrowania DES dla wszystkich kont na serwerze domen i klientach systemu Windows. Jeśli dla konta, z którego uruchamia się usługę DB2, szyfrowanie DES nie zostanie skonfigurowane, akceptacja kontekstów protokołu Kerberos przez serwer DB2 nie powiedzie się. Niepowodzenie to spowodowane będzie nieoczekiwanym błędem modułu dodatkowego serwera i program DB2 Universal Database zaprotokołuje, że funkcja API AcceptSecurityContext zwróciła wyjątek SEC_I_CONTINUE_NEEDED (0x00090312L). Aby określić, czy dla kont Windows skonfigurowano użycie szyfrowania DES, należy sprawdzić Właściwości konta w oknie Usługa Active Directory. Po zmianie właściwości konta może być wymagany restart komputera. * Jeśli zarówno klient, jak i serwer działają w systemie Windows, usługa DB2 może być uruchomiona z lokalnego konta systemowego. Jeśli jednak klient i serwer znajdują się w różnych domenach, połączenie może nie powieść się z powodu błędu niepoprawnej nazwy głównej obiektu docelowego. Obejście tego problemu polega na wpisaniu w sposób jawny do katalogu głównej nazwy obiektu docelowego na kliencie - z pełną nazwą hosta serwera i pełną nazwą domeny - w następującym formacie: host/@ Na przykład: host/mój_host.domena.ibm.com@DOMENA.IBM.COM W przeciwnym razie konieczne będzie uruchomienie usługi DB2 z poprawnego konta domeny. Podręcznik Administration Guide: Performance Porównanie zmiennej rejestru DB2_FORCE_FCM_BP w środowisku 32-bitowym i 64-bitowym W przypadku włączenia zmiennej rejestru DB2_FORCE_FCM_BP dla innych użytkowników będzie dostępny o jeden mniej segment pamięci współużytkowanej, a w szczególności dla puli buforów bazy danych. Włączenie zmiennej rejestru DB2_FORCE_FCM_BP powoduje więc redukcję maksymalnej wielkości pul buforów bazy danych. Należy zauważyć, że w związku z dużą liczbą dostępnych segmentów pamięci współużytkowanej środowisku 64-bitowym ta redukcja liczby segmentów pamięci współużytkowanej będzie stanowiła problem tylko w środowiskach 32-bitowych. Komenda RUNSTATS jest zalecana po utworzeniu tabeli Gdy tabela zostanie utworzona po raz pierwszy, dane statystyczne katalogu zostaną ustawione na -1 w celu wskazania, że tabela nie ma danych statystycznych. Do chwili zebrania danych statystycznych program DB2 UDB używa wartości domyślnych podczas kompilacji i optymalizacji instrukcji SQL. Aktualizacja danych statystycznych tabeli lub indeksu może się nie powieść, jeśli nowe wartości są niespójne z wartościami domyślnymi. W związku z tym przed ręczną aktualizacją danych statystycznych tabeli lub indeksu należy dla nich uruchomić komendę runstats. Nowy kod przyczyny dla komunikatu o błędzie SQL1169N Komunikat o błędzie SQL SQL1169N ma nowy kod przyczyny 5 w celu zaznaczenia, że kolumna tabeli wyjaśniania jest za mała. * Wyjaśnienie dla kodu przyczyny 5: Kolumna tabeli wyjaśniania jest za mała. Plik db2diag.log będzie zawierał komunikaty identyfikujące nazwę schematu, nazwę tabeli i nazwę kolumny jak również rozmiar kolumny niezbędny do pomieszczenia danych wygenerowanych przez narzędzie wyjaśniania. * Reakcja użytkownika: Należy podjąć decyzję, czy wymaganą wielkość kolumny można zastosować w tabeli i bazie danych. Jeśli tak, należy zwiększyć wielkość kolumny za pomocą instrukcji ALTER TABLE. Strategie optymalizacji dla tabel MDC Poniższy tekst stanowi aktualizację podręcznika Administration Guide: Performance, Chapter 6. Understanding the SQL compiler. Rozbudowy MDC można użyć nawet, jeśli indeks RID jest częścią planu optymalizacji bez względu na obecność klauzuli WHERE w instrukcji DELETE. W efekcie podczas wyświetlania warunków, które muszą być spełnione w celu umożliwienia rozbudowy i zastosowania skuteczniejszego sposobu usuwania wierszy, należy usunąć warunek, stanowiący że "Indeks RID nie został wybrany przez optymalizator w celu wyszukania wierszy, które mają zostać usunięte, jeśli nie wybrano klauzuli WHERE w instrukcji DELETE". Ponadto można określić, czy rozbudowa MDC została wykonana, ponieważ na wyjściu db2expln zostanie wyświetlona fraza "Cell Delete". Należy zauważyć, że komenda db2exfmt nie wyświetla tej informacji. Poniższy tekst stanowi aktualizację Dodatku A. Zmienne środowiskowe i rejestru DB2: Opis zmiennej DB2_MDC_ROLLOUT należy zmienić w taki sposób, że warunek "Indeks RID nie został wybrany przez optymalizator w celu wyszukania wierszy, które mają zostać usunięte, jeśli nie wybrano klauzuli WHERE w instrukcji DELETE" powinien zostać usunięty z listy. Objaśnienie do opisu parametrów konfiguracji NEWLOGPATH, MIRRORPATH i OVERFLOWLOGPATH W przypadku aktualizacji wartości parametru konfiguracji newlogpath, mirrorpath lub overflowlogpath w środowisku programu DB2 UDB Enterprise Server Edition numer węzła zostanie dodany do nazwy ścieżki bez względu na liczbę węzłów w systemie. Dotyczy to zarówno systemów z jedną partycją, jak i z wieloma partycjami w środowisku programu DB2 UDB Enterprise Server Edition. Wartość domyślna zmiennej DB2_COLLECT_TS_REC_INFO Wartość domyślna zmiennej DB2_COLLECT_TS_REC_INFO jest równa ON. W programie DB2 UDB, wersja 8.1, pakiet poprawek 7, wartość domyślna zmiennej rejestru DB2_COLLECT_TS_REC_INFO została zmieniona na ON. W bieżącej dokumentacji została nieprawidłowo podana wartość domyślna tej zmiennej jako OFF. Program zarządzający Instancja programu zarządzającego składa się z frontowego programu narzędziowego i jednego lub wielu demonów. Każda uruchamiana instancja programu zarządzającego jest specyficzna dla instancji menedżera bazy danych. Domyślnie podczas uruchamiania programu zarządzającego na każdej partycji partycjonowanej bazy danych uruchamiany jest jego demon. Można jednak zadecydować, aby demon był uruchamiany tylko na jednej partycji, która ma być monitorowana. Uwagi: 1. Gdy program zarządzający jest aktywny, jego żądania obrazu stanu mogą wpływać na wydajność menedżera bazy danych. Aby ją poprawić, należy zwiększyć interwał aktywowania programu zarządzającego w celu zmniejszenia wykorzystania przez niego procesora. 2. Demony zarządzające przekazują podczas działania lokalne obrazy stanu do lokalnej instancji. Dlatego wszelkie reguły zawierające klauzule setlimit są stosowane do danych wyjściowych z lokalnego obrazu stanu, a nie do zagregowanych wyników z globalnych obrazów stanów. Każdy demon zarządzający gromadzi informacje o aplikacjach, które korzystają z bazy danych. Następnie demon zarządzający porównuje te informacje z regułami określonymi w pliku konfiguracyjnym programu zarządzającego dla tej bazy danych. Wybór metody reorganizacji tabel Rozważając reorganizację tabel w miejscu (zamiast klasycznej reorganizacji tabel), należy pamiętać, że wymaga ona więcej miejsca na protokół. Reorganizacja tabel w miejscu wymaga więcej miejsca niż reorganizacja klasyczna, ponieważ wykonywane w jej ramach działania są protokołowane w taki sposób, aby możliwe było odtworzenie danych po nieoczekiwanej awarii. Ilość miejsca wymagana na protokół reorganizacji w miejscu może kilkakrotnie przekraczać wielkość reorganizowanej tabeli. Ilość miejsca zależy od liczby przenoszonych rekordów oraz od liczby i wielkości indeksów tabeli. Zalecenie: Reorganizację tabel w miejscu warto wybierać w przypadku konieczności pracy 24 godziny na dobę przez 7 dni w tygodniu przy zachowaniu minimalnego okna konserwacji. Podczas reorganizacji otwartej tabeli DMS można uruchomić tworzenie kopii zapasowej otwartej bazy danych dla obszaru tabel, w którym znajduje się tabela. W fazie obcinania mogą występować okresy oczekiwania na blokady dla operacji reorganizacji. Szczegółowe informacje na temat stosowania tych metod reorganizacji tabel można znaleźć w opisach składni komendy REORG TABLE. Obsługa dużych stron w pamięci FCM (AIX 5L, wersja 64-bitowa) W 64-bitowej wersji systemu AIX(R) 5L zmienna rejestru DB2_LARGE_PAGE_MEM obsługuje teraz słowo kluczowe FCM. Domyślnie w 64-bitowej wersji systemu AIX(R) 5L(TM) pamięć FCM znajduje się w zestawie pamięci menedżera DBMS. Jednak gdy zmienna rejestru DB2_FORCE_FCM_BP jest włączona, pamięć FCM znajduje się w swoim własnym zestawie pamięci. W 64-bitowej wersji systemu AIX 5L(TM) zmienna rejestru DB2_LARGE_PAGE_MEM jest zgodna ze specyfikacją zestawu pamięci menedżera DBMS. Gdy pamięć FCM znajduje się w zestawie pamięci menedżera DBMS i dla tego zestawu pamięci włączona jest obsługa dużych stron, pamięć FCM będzie ulokowana w dużych stronach. Gdy pamięć FCM znajduje się w swoim własnym zestawie pamięci, do wartości zmiennej rejestru DB2_LARGE_PAGE_MEM trzeba dodać słowo kluczowe FCM, aby włączyć duże strony dla pamięci FCM. Zmienna rejestru DB2_RESOURCE_POLICY przyjmuje teraz nowy element Poczynając od wersji 8.2.2 (odpowiednika wersji 8.1 z pakietem poprawek 9) programu DB2 Universal Database(TM) (UDB) plik konfiguracyjny określony przez zmienną rejestru DB2_RESOURCE_POLICY przyjmuje element SCHEDULING_POLICY. Element SCHEDULING_POLICY może być używany na niektórych platformach do wybierania: * Strategii planowania systemu operacyjnego używanej przez serwer DB2 UDB Uwaga: Możliwość ustawienia strategii planowania systemu operacyjnego wprowadzono teraz także w programie DB2 for AIX(R). Wcześniej możliwość ta była dostępna tylko w programie DB2 UDB for Windows(R) za pośrednictwem zmiennej rejestru DB2NTPRICLASS. * Priorytetów systemu operacyjnego używanych przez poszczególnych agentów serwera DB2 Zmienne rejestru DB2PRIORITIES i DB2NTPRICLASS mogą być używane niezależnie od siebie do sterowania strategią planowania systemu operacyjnego i ustawiania priorytetów agentów DB2. Jednak określenie elementu SCHEDULING_POLICY w pliku konfiguracyjnym strategii zasobów pozwala wybrać w jednym miejscu zarówno strategię planowania, jak i odpowiednie priorytety agentów. Przykład 1 Wybór strategii planowania AIX SCHED_FIFO2 z podwyższonym priorytetem dla procesów zapisu i odczytu protokołu db2: SCHED_FIFO2 60 db2loggr 56 db2loggw 56 Przykład 2 Odpowiednik DB2NTPRICLASS=H w systemie Windows. HIGH_PRIORITY_CLASS Nowe systemowe zmienne środowiskowe (system Linux) Wraz z pakietem poprawek 8 zostały dodane systemowe zmienne środowiskowe DB2_MAPPED_BASE i DB2DBMSADDR. Korzystanie z tych zmiennych rejestru jest zalecane wyłącznie dla zaawansowanych użytkowników. DB2_MAPPED_BASE Nazwa zmiennej DB2_MAPPED_BASE Wartości 0 OR (wartość szesnastkowa) adres wirtualny z zakresu adresów 31-bitowych i 32-bitowych OR NULL (nie ustawiony) Systemy operacyjne Linux dla x86 i Linux dla zSeries (31-bitowy) Opis Zmienna rejestru DB2_MAPPED_BASE służy do zwiększania ilości ciągłej przestrzeni adresów wirtualnych dostępnej dla procesu programu DB2 Universal Database (UDB) poprzez przemieszczenie adresu załącznika współużytkowanych bibliotek do konkretnego procesu. Ciągła przestrzeń adresów wirtualnych ma ważne znaczenie dla maksymalizacji ilości pamięci współużytkowanej bazy danych dostępnej dla programu DB2 UDB. Ta zmienna jest aktywna jedynie w dystrybucjach, w których plik mapped_base znajduje się w katalogu identyfikacji procesów w systemie plików proc. Jeśli ta zmienna nie zostanie ustawiona, program DB2 UDB będzie próbował przemieścić współużytkowane biblioteki pod adres wirtualny 0x10000000. Zmienna rejestru może również wskazywać na dowolny adres wirtualny (w kodzie szesnastkowym) w zakresie przestrzeni adresów 31- i 32-bitowych. Uwaga: Niepoprawny adres może spowodować poważne problemy z programem DB2 UDB, na przykład uniemożliwienie uruchomienia programu DB2 UDB lub połączenia z bazą danych. Niepoprawny adres to adres kolidujący z obszarem pamięci, który jest już wykorzystywany lub ma być wykorzystywany do innych celów. Aby rozwiązać ten problem, należy zresetować zmienną DB2_MAPPED_BASE do wartości NULL za pomocą następującej komendy: db2set DB2_MAPPED_BASE= Następujący komunikat może wielokrotnie pojawić się w pliku db2diag.log, ponieważ ta zmiana jest wymagana raz dla każdego węzła logicznego: ADM0506I Program DB2 automatycznie zaktualizował wartość parametru "mapped_base" z wartości "0x40000000(szesnastkowo) 1073741824(dziesiętnie)" na zalecaną wartość "0x10000000(szesnastkowo) 268435456(dziesiętnie)". Komunikat ten będzie występował tylko wtedy, gdy ustawienie zmiennej rejestru powiedzie się, i będzie zawierał adres, pod który zostały przemieszczone współużytkowane biblioteki. DB2DBMSADDR Nazwa zmiennej DB2DBMSADDR Wartości Adresy wirtualne z zakresu od 0x09000000 do 0xB0000000 z przyrostem równym 0x10000 Systemy operacyjne Linux dla x86 i Linux dla zSeries (31-bitowy) Opis Określa domyślny adres pamięci współużytkowanej bazy danych w formacie szesnastkowym. Uwaga: Niepoprawny adres może spowodować poważne problemy z programem DB2 UDB, na przykład uniemożliwić uruchomienie programu DB2 UDB lub połączenie z bazą danych. Przykładem niepoprawnego adresu jest adres kolidujący z obszarem pamięci, który jest już wykorzystywany lub ma być wykorzystywany do innych celów. Aby rozwiązać ten problem, należy zresetować zmienną DB2DBMSADDR do wartości NULL za pomocą następującej komendy: db2set DB2DBMSADDR= Zmienną tę można ustawić w powiązaniu ze zmienną DB2_MAPPED_BASE lub samodzielnie w celu dokładnego dostrojenia układu przestrzeni adresowej procesów programu DB2 UDB. Ta zmienna powoduje zmianę położenia pamięci współużytkowanej instancji z jej bieżącego położenia pod adresem wirtualnym 0x20000000 na nową, podaną wartość. Nowa zmienna komunikacyjna rejestru W wersji 8.2 dodano nową zmienną rejestru: DB2TCP_CLIENT_RCVTIMEOUT. Tabela 12. Zmienne komunikacyjne. +----------------------+-----------+----------------------------------+ | Nazwa zmiennej | Systemy | Wartości | | | operacyjn | | | | e | | +---------------------------------------------------------------------+ | Opis | +----------------------+-----------+----------------------------------+ | DB2TCP_CLIENT_ | Wszystkie | Wartość domyślna = 0 (zmienna | | RCVTIMEOUT | | nieustawiona) | | | | Wartości: od 0 do 32767 sekund | +---------------------------------------------------------------------+ | Określa w sekundach czas oczekiwania klienta na dane z operacji | | odbierania TCP/IP. | | Gdy zmienna nie jest ustawiona lub ma wartość 0, nie ma limitu | | czasu. Gdy operacja odbioru TCP/IP zwraca dane przed upływem | | podanego limitu czasu, aplikacja kontynuuje działanie w normalny | | sposób. Jeśli limit czasu upłynie przed zwróceniem danych, | | połączenie zostanie zamknięte. | | | | Uwaga: Ta zmienna rejestru dotyczy tylko klienta DB2 i strony | | klienta bramy DB2. Nie dotyczy ona serwera DB2. | +---------------------------------------------------------------------+ Nowa zmienna wydajności W wersji 8.2 dodano zmienną wydajności DB2_LARGE_PAGE_MEM. Tabela 13. Zmienne wydajności. +---------------------------+-------------+---------------------------+ | Nazwa zmiennej | Systemy | Wartości | | | operacyjne | | +---------------------------------------------------------------------+ | Opis | +---------------------------+-------------+---------------------------+ | DB2_LARGE_PAGE_MEM | Tylko AIX | Wartość domyślna = NULL | | | 5.x w | Wartość * spowoduje, że | | | wersji | wszystkie regiony pamięci | | | 64-bitowej | będą używały pamięci z | | | | dużymi stronami. Zmiennej | | | Linux | tej można także przypisać | | | | listę oddzielonych | | | | przecinkami regionów | | | | pamięci, które powinny | | | | używać pamięci z dużymi | | | | stronami. Dostępne | | | | regiony zależą od systemu | | | | operacyjnego. W | | | | 64-bitowym systemie AIX | | | | 5.x można określić | | | | następujące regiony: DB, | | | | DBMS lub PRIVATE. W | | | | systemie Linux można | | | | określić region DB. | +---------------------------------------------------------------------+ | Region pamięci z dużymi stronami jest obsługiwany tylko przez | | program DB2 Universal Database (UDB) dla systemu AIX 5L w wersji | | 64-bitowej i przez program DB2 UDB dla systemu Linux. | | Zmienna rejestru DB2_LARGE_PAGE_MEM służy do włączenia obsługi | | dużych stron w systemie AIX 5.x lub w dowolnym systemie Linux z | | odpowiednim jądrem. Ta zmienna rejestru zastępuje zmienną | | DB2_LGPAGE_BP, która służy jedynie do włączania pamięci dużych | | stron tylko dla regionu pamięci współużytkowanej przez bazę danych. | | Teraz funkcję tę można włączyć, ustawiając DB2_LARGE_PAGE_MEM=DB. | | Wszelkie informacje w dokumentacji o włączeniu obsługi dużych stron | | za pomocą zmiennej rejestru DB2_LGPAGE_BP można interpretować jako | | równoznaczne z ustawieniem DB2_LARGE_PAGE_MEM=DB. | | Użycie dużych stron jest przede wszystkim przeznaczone do poprawy | | wydajności w wysokowydajnych aplikacjach. Dzięki użyciu dużych | | stron w aplikacjach z intensywnym wykorzystaniem pamięci, które | | potrzebują dużo pamięci wirtualnej, można uzyskać poprawę | | wydajności. W celu włączenia korzystania z dużych stron w programie | | DB2 UDB należy najpierw skonfigurować obsługę dużych stron w | | systemie operacyjnym. | | Włączenie dużych prywatnych stron w znacznym stopniu zwiększy | | wykorzystanie pamięci przez program DB2 UDB, ponieważ każdy agent | | DB2 UDB będzie używał przynajmniej jednej dużej strony (16 MB) | | pamięci fizycznej. Aby można było włączyć duże strony dla prywatnej | | pamięci agenta w 64-bitowej wersji programu DB2 UDB dla systemu AIX | | (ustawienie DB2_LARGE_PAGE_MEM=PRIVATE), muszą być spełnione | | poniższe warunki (niezależnie od skonfigurowania obsługi dużych | | stron w systemie operacyjnym): | | * Właściciel instancji musi mieć uprawnienia CAP_BYPASS_RAC_VMM i | | CAP_PROPOGATE. | | * Jądro musi obsługiwać interfejsy umożliwiające procesowi | | modyfikowanie swojego rozmiaru strony w czasie wykonywania. . | | W 64-bitowej wersji programu DB2 UDB dla systemu AIX włączenie tej | | zmiennej redukuje wielkość segmentu pamięci współużytkowanej, | | zmniejszając pamięć bazy danych do minimalnej wymaganej wielkości. | | Domyślnie tworzony jest segment o wielkości 64 GB: więcej | | szczegółowych informacji na ten temat zawiera opis parametru | | konfiguracyjnego określającego wielkość współużytkowanej pamięci | | bazy danych (database_memory). Pozwala to uniknąć rezerwowania w | | pamięci RAM większego obszaru pamięci współużytkowanej niż może być | | potrzebny. | | Ustawienie tej zmiennej ograniczy możliwość dynamicznego | | zwiększania ogólnej konfiguracji pamięci współużytkowanej bazy | | danych (na przykład zwiększania pul buforów). | | W systemach Linux dodatkowo wymagana jest biblioteka libcap.so. Aby | | opcja działała, należy tę bibliotekę wcześniej zainstalować. Jeśli | | opcja jest włączona, a biblioteka nie jest zainstalowana, program | | DB2 UDB wyłączy duże strony jądra i będzie działał jak poprzednio. | | Aby w systemie Linux sprawdzić, czy duże strony jądra są dostępne, | | należy użyć następującej komendy: | | cat /proc/meminfo | | | | Jeśli duże strony są dostępne, powinny zostać wyświetlone trzy | | wiersze (z różnymi liczbami, zależnie od wielkości pamięci | | skonfigurowanej na danym komputerze): | | HugePages_Total: 200 | | HugePages_Free: 200 | | Hugepagesize: 16384 KB | | | | Jeśli wiersze te nie zostaną wyświetlone lub jeśli wartość | | parametru HugePages_Total wynosi 0, należy skonfigurować system | | operacyjny lub jądro. | +---------------------------------------------------------------------+ Zmienne kompilatora języka SQL Następująca aktualizacja dotyczy tematu "SQL compiler variables" w Dodatku A, "DB2 registry and environment variables", podręcznika Administration Guide: Performance: Jeśli jedna lub obie zmienne kompilatora DB2 DB2_MINIMIZE_LISTPREFETCH i DB2_INLIST_TO_NLJN będą miały wartość ON, pozostaną one aktywne nawet w przypadku użycia opcji REOPT(ONCE). Aktualizacje parametrów konfiguracyjnych Poniżej zostały podane aktualizacje dokumentacji dotyczące parametrów konfiguracyjnych: authentication - Typ uwierzytelniania Parametr konfiguracyjny menedżera bazy danych Typ uwierzytelniania (authentication) akceptuje również następujące wartości: * DATA_ENCRYPT Serwer akceptuje zaszyfrowane schematy uwierzytelniania SERVER i szyfrowanie danych użytkownika. Uwierzytelnianie działa dokładnie tak samo, jak dla wartości SERVER_ENCRYPT. Podczas korzystania z tego typu uwierzytelniania są szyfrowane następujące dane użytkownika: * instrukcje SQL * dane zmiennych programu SQL * dane wyjściowe serwera przetwarzającego instrukcję SQL, włącznie z opisem danych * niektóre lub wszystkie dane zbioru odpowiedzi na zapytanie * strumienie danych dużych obiektów (LOB) * deskryptory SQLDA * DATA_ENCRYPT_CMP Serwer akceptuje zaszyfrowane schematy uwierzytelniania SERVER i szyfrowanie danych użytkownika. Ponadto ten typ uwierzytelniania zapewnia zgodność z wcześniejszymi produktami, które nie obsługują typu uwierzytelniania DATA_ENCRYPT. Te produkty mogą się łączyć z typem uwierzytelniania SERVER_ENCRYPT bez szyfrowania danych użytkownika. Produkty obsługujące nowy typ uwierzytelniania muszą z niego korzystać. Ten typ uwierzytelniania jest poprawny tylko w pliku konfiguracyjnym serwera menedżera bazy danych; nie można go używać w komendzie CATALOG DATABASE. util_impact_lim - Strategia wpływu na instancję Poczynając od wersji 8.2 programu DB2 Universal Database domyślna wartość parametru konfiguracji menedżera bazy danych Strategia wpływu na instancję (util_impact_lim) zmienia się ze 100 na 10. sysadm_group, sysmaint_group, sysctrl_group, sysmon_group Następujące parametry konfiguracyjne menedżera bazy danych akceptują teraz nazwy grup o długości 30 bajtów (lub mniej) na wszystkich platformach: * nazwa grupy uprawnień do administrowania systemem (sysadm_group) * nazwa grupy uprawnień do konserwacji systemu (sysmaint_group) * nazwa grupy uprawnień do sterowania systemem (sysctrl_group) * nazwa grupy uprawnień do monitorowania systemu (sysmon_group) Tabela w temacie "Podsumowanie parametrów konfiguracyjnych menedżera bazy danych" zawiera niepoprawne typy danych dla tych parametrów konfiguracji menedżera bazy danych. Prawidłowa wartość we wszystkich tych przypadkach jest równa char(30). estore_seg_sz - Rozszerzona wielkość segmentu pamięci masowej Maksymalna wielkość parametru konfiguracyjnego Rozszerzona wielkość segmentu pamięci masowej bazy danych (estore_seg_size) dla platform opartych na systemie Windows wynosi 16 777 216. hadr_timeout - Wartość limitu czasu HADR Poprawna wartość górnego limitu parametru konfiguracyjnego bazy danych Wartość limitu czasu HADR (hadr_timeout) jest równa 4 294 967 295. locklist - Maksymalna ilość pamięci masowej dla listy blokad W dokumentacji dotyczącej parametru konfiguracyjnego bazy danych Maksymalna ilość pamięci masowej dla listy blokad (locklist) znajduje się informacja, że maksymalna wartość dla 64-bitowych i 32-bitowych serwerów systemu Windows, które obsługują tylko lokalnych klientów, jest równa 60 000. Ta wartość jest niepoprawna i powinna wynosić 524 288. num_db_backups - Liczba kopii zapasowych bazy danych Zakres wartości parametru konfiguracyjnego bazy danych Liczba kopii zapasowych bazy danych (num_db_backups) jest niepoprawny. Poprawny zakres to od 0 do 32 767. Plik parametrów konfiguracyjnych bazy danych - SQLDBCONF Po przeprowadzeniu migracji z wersji 8.1 do 8.2 programu DB2 Universal Database (UDB) program DB2 UDB będzie używał nowego pliku parametrów konfiguracyjnych bazy danych o wielkości 16 kB i nazwie SQLDBCONF. (W wersji 8.1 plik parametrów konfiguracyjnych bazy danych miał wielkość tylko 4 kB i nazwę SQLDBCON). Zmiana domyślnej wartości zmiennej DB2_HASH_JOIN Od wersji 8.1 zmienna rejestru DB2_HASH_JOIN jest domyślnie ustawiana na wartość ON. Należy użyć zmiennej łączenia mieszającego, ale trzeba ją dostroić w celu uzyskania najlepszej wydajności. Wydajność łączenia mieszającego jest najwyższa, jeśli można uniknąć pętli mieszania i przepełnienia dysku. Aby dostroić wydajność łączenia mieszającego, należy oszacować maksymalną ilość pamięci dostępną dla parametru sheapthres, a następnie dostroić parametr sortheap. Należy zwiększać jego wartość tak, aby uniknąć tylu pętli mieszania i przepełnień dysku, ile tylko możliwe, ale nie można osiągnąć limitu określanego przez parametr sheapthres. Więcej informacji na ten temat zawiera temat "Join methods" w podręczniku Administration Guide: Performance. Zmienna rejestru DB2NTNOCACHE jest nieaktualna Funkcję realizowaną uprzednio za pomocą zmiennej DB2NTNOCACHE można obecnie realizować na poziomie obszaru tabel, określając klauzulę NO FILE SYSTEM CACHING w instrukcji CREATE TABLESPACE lub ALTER TABLESPACE. Szczegółowe informacje na temat składni tej klauzuli można znaleźć w podręczniku SQL Reference. Zmienna rejestru DB2NTNOCACHE zostanie usunięta w przyszłej wersji. Tabele wyjaśniania i organizacja informacji wyjaśniania Tabele wyjaśniania mogą być wspólne dla kilku użytkowników. Są one jednak definiowane dla jednego użytkownika, a dla każdego dodatkowego użytkownika tworzone są aliasy o tej samej nazwie, wskazujące na zdefiniowane tabele. Rozwiązaniem alternatywnym może być zdefiniowanie tabel wyjaśniania w ramach schematu SYSTOOLS. Narzędzie Explain domyślnie używa schematu SYSTOOLS, o ile w ramach identyfikatora sesji użytkownika dla dynamicznego SQL - albo identyfikatora autoryzowanego użytkownika instrukcji dla statycznego SQL - nie zostaną znalezione żadne inne tabele wyjaśniania ani aliasy. Każdy użytkownik współużytkujący tabele wyjaśniania musi mieć uprawnienia do wstawiania danych do tych tabel. Uprawnienia do odczytu wspólnych tabel wyjaśniania również powinny być ograniczone, zwykle do użytkowników, którzy analizują informacje wyjaśniania. Wytyczne dotyczące przechwytywania informacji wyjaśniania Dane wyjaśniania są przechwytywane, gdy zażąda tego użytkownik podczas kompilowania instrukcji SQL. Wysyłając żądanie danych wyjaśniania, należy zastanowić się nad przewidywanym sposobem wykorzystania przechwyconych informacji. Przechwytywanie informacji w tabelach wyjaśniania * Dynamiczne instrukcje SQL: Informacje dotyczące tabel wyjaśniania są przechwytywane w następujących przypadkach: * Rejestr specjalny CURRENT EXPLAIN MODE ma wartość: * YES: kompilator SQL przechwytuje informacje wyjaśniania i wykonuje instrukcję SQL. * EXPLAIN: kompilator SQL przechwytuje informacje wyjaśniania, ale nie wykonuje instrukcji SQL. * RECOMMEND INDEXES: kompilator SQL przechwytuje informacje wyjaśniania i umieszcza zalecane indeksy w tabeli ADVISE_INDEX, ale nie wykonuje instrukcji SQL. * EVALUATE INDEXES: kompilator SQL ocenia indeksy umieszczone przez użytkownika w tabeli ADVISE_INDEX. W trybie EVALUATE INDEXES wszystkie dynamiczne instrukcje są wyjaśniane w taki sposób, jakby te wirtualne indeksy były dostępne. Następnie kompilator SQL decyduje o użyciu wirtualnych indeksów, jeśli poprawiają one wydajność instrukcji. W przeciwnym razie indeksy są ignorowane. Aby dowiedzieć się, czy proponowane indeksy są użyteczne, należy przejrzeć wyniki dla trybu EXPLAIN. * REOPT: kompilator SQL przechwytuje dane wyjaśniania dla statycznych lub dynamicznych instrukcji SQL podczas ich ponownej optymalizacji w czasie wykonywania, gdy wartości zmiennych języka bazowego, rejestrów specjalnych i znaczników parametrów są dostępne. * Określono opcję EXPLAIN ALL dla komendy BIND lub PREP. Kompilator SQL przechwytuje dane wyjaśniania dla dynamicznych instrukcji SQL w czasie wykonywania, nawet gdy rejestr specjalny CURRENT EXPLAIN MODE ma wartość NO. Ponadto instrukcja SQL wykonuje zapytanie i zwraca jego wyniki. Dodatkowe kody powrotu funkcji API db2CfgGet dla parametru collate_info Parametr informacji o zestawianiu może być wyświetlany tylko przy użyciu funkcji API db2CfgGet. Nie można go wyświetlić przy użyciu procesora wiersza komend lub Centrum sterowania. Typ konfiguracji Baza danych Typ parametru Informacyjny Ten parametr udostępnia 260 bajtów informacji o zestawianiu w bazie danych. Pierwsze 256 bajtów określa kolejność zestawiania bazy danych, gdzie bajt "n" zawiera wagę sortowania punktu kodowego, którego reprezentacja dziesiętna w stronie kodowej bazy danych wynosi "n". Ostatnie cztery bajty zawierają informacje wewnętrzne o typie kolejności zestawiania. Te cztery bajty parametru collate_info to liczba całkowita. Zależy ona od kolejności endian danej platformy. Możliwe wartości to: * 0 - wagi kolejności nie są unikalne. * 1 - wszystkie wagi w kolejności są unikalne. * 2 - kolejność tożsamości, w której łańcuchy są porównywane bajt po bajcie. * 3 - kolejność NLSCHAR, która służy do sortowania bazy danych w języku tajskim TIS620-1 (strona kodowa 874). * 4 - kolejność IDENTITY_16BIT, w której zaimplementowano algorytm "CESU-8 Compatibility Encoding Scheme for UTF-16: 8-Bit" zgodnie ze specyfikacją Unicode Technical Report #26 dostępną w serwisie WWW Unicode Technical Consortium pod adresem http://www.unicode.org. * X'8001' - kolejność UCA400_NO, w której zaimplementowano algorytm UCA (Unicode Collation Algorithm) oparty na standardzie Unicode, wersja 4.00, z jawnie włączoną normalizacją. * X'8002' - kolejność UCA400_LTH, w której zaimplementowano algorytm UCA (Unicode Collation Algorithm) oparty na standardzie Unicode, wersja 4.00, z sortowaniem wszystkich znaków alfabetu tajskiego w porządku określonym w słowniku Royal Thai Dictionary. * X'8003' - kolejność UCA400_LSK, w której zaimplementowano algorytm UCA (Unicode Collation Algorithm) oparty na standardzie Unicode, wersja 4.00 z poprawnym sortowaniem wszystkich znaków alfabetu słowackiego. Jeśli istnieje potrzeba skorzystania z tych informacji wewnętrznych, należy rozważyć odwracanie bajtów podczas pobierania informacji dla bazy danych na innej platformie. Kolejność zestawiania można określić podczas tworzenia bazy danych. Automatyczne ustawianie domyślnej wielkości preselekcji i aktualizacji Poczynając od wersji 8.2 programu DB2 Universal Database (UDB) dla obszaru tabel można używać automatycznej wielkości preselekcji, korzystając ze zmiennej AUTOMATIC. Program DB2 UDB automatycznie aktualizuje wielkość preselekcji, jeśli dla obszaru tabel zmieni się liczba kontenerów. Składnia zmiennej rejestru DB2_PARALLEL_IO została rozszerzona w celu rozpoznawania kontenerów z różnymi charakterystykami paralelizmu wejścia/wyjścia. Dzięki rozszerzonej składni kontenery dla różnych obszarów tabel mogą mieć różne charakterystyki paralelizmu wejścia/wyjścia. Charakterystyka paralelizmu wejścia/wyjścia każdego obszaru tabel jest wykorzystywana, jeśli dla obszaru tabel wielkość preselekcji została określona jako AUTOMATIC. Jeśli zmienna rejestru DB2_PARALLEL_IO jest włączona, ale nie jest używana rozszerzona składnia identyfikująca konkretne charakterystyki paralelizmu wejścia/wyjścia dla obszarów tabel, zostanie przyjęty domyślny poziom paralelizmu. Domyślnym poziomem jest RAID 5 (6+1). Informacja o wielkości preselekcji wykorzystywana przez optymalizator jest odświeżana tylko, gdy zostanie wykonana instrukcja ALTER TABLESPACE, która zmienia wielkość preselekcji obszaru tabel lub zmienia liczbę kontenerów (za pomocą ADD/DROP/BEGIN NEW STRIPE SET/ADD TO NEW STRIPE SET). Po zmianie liczby dysków fizycznych na kontener w rejestrze należy wykonać instrukcję ALTER TABLESPACE PREFETCHSIZE AUTOMATIC w celu odświeżenia informacji optymalizatora (o ile została już wykonana instrukcja ALTER TABLESPACE, która odświeża informacje optymalizatora). Jeśli obszar tabel został przekierowany lub odtworzony w celu korzystania z innej liczby kontenerów, należy odświeżyć informacje optymalizatora wykonując instrukcję ALTER TABLESPACE PREFETCHSIZE AUTOMATIC. Jeśli w obszarze tabel jest wiele zestawów rozsiania, do obliczenia wielkości preselekcji używana jest maksymalna liczba kontenerów wśród zestawów rozsiania. Jeśli obliczona wielkość preselekcji przekroczy wielkość maksymalną (32 767 stron), jako wielkość preselekcji będzie używana największa wielokrotność liczby kontenerów, która jest mniejsza od wartości maksymalnej. W środowisku programu DB2 UDB Enterprise Server Edition, jeśli obszar tabel używa wielkości preselekcji AUTOMATIC, wielkość preselekcji może być różna dla różnych partycji bazy danych. Taka sytuacja może występować, ponieważ różne partycje bazy danych mogą mieć różne liczby kontenerów, które są wykorzystywane do obliczania wielkości preselekcji. Aby wygenerować plan dostępu dla zapytania, optymalizator wykorzystuje wielkość preselekcji z pierwszej partycji w grupie partycji bazy danych. Podręcznik Administration Guide: Planning Tabele grupowane zakresowo Nie można utworzyć tabeli grupowanej zakresowo w bazie danych składającej się z więcej niż jednej partycji. Budowa obszaru tabel katalogu Podczas tworzenia bazy danych definiowane są trzy obszary tabel, w tym obszar tabel SYSCATSPACE przeznaczony na tabele katalogu systemowego. Podczas tworzenia bazy danych ustalany jest również domyślny rozmiar strony dla wszystkich obszarów tabel. W wypadku wybrania rozmiaru strony większego niż 4096 lub 4 kB, rozmiar strony tabel katalogowych jest ograniczany do rozmiaru wiersza, który obowiązywałby, gdyby rozmiar strony w danym obszarze tabel wynosił 4 kB. Domyślny rozmiar strony dla bazy danych jest przechowywany jako parametr informacyjny konfiguracji bazy danych o nazwie pagesize. Obsługiwane kody terytorium i strony kodowe W Dodatku B, "National language support (NLS)", w podręczniku Administration Guide: Planning, temat pod tytułem "Supported territory codes and code pages" zawiera tabele dla każdego terytorium. Dwie tabele wymagają aktualizacji: Chiny (ChRL), identyfikator terytorium: CN Stronę kodową dla wiersza Linux GBK w tabeli "Chiny (ChRL), identyfikator terytorium: CN" należy zmienić z 1383 na 1386. Wiersz ten powinien wyglądać tak: 1386 D-4 GBK 86 zh_CN.GBK Linux(R) Japonia, identyfikator terytorium: JP Tabela dla "Japonia, identyfikator terytorium: JP" została zmieniona. Należy usunąć następującą nazwę ustawień narodowych: 954 D-1 eucJP 81 japoński Solaris Poniżej przedstawiono poprawioną tabelę: Tabela 14. Japonia, identyfikator terytorium: JP. +---------+---------+--------------+---------+--------------+---------+ | Strona | Grupa | Zestaw | Kod | Ustawienia | System | | kodowa | | kodowy | terytor | narodowe | operacy | | | | | ium | | jny | +---------+---------+--------------+---------+--------------+---------+ | 932 | D-1 | IBM-932 | 81 | Ja_JP | AIX | +---------+---------+--------------+---------+--------------+---------+ | 943 | D-1 | IBM-943 | 81 | Ja_JP | AIX | +---------+---------+--------------+---------+--------------+---------+ | 954 | D-1 | IBM-eucJP | 81 | ja_JP | AIX | +---------+---------+--------------+---------+--------------+---------+ | 1208 | N-1 | UTF-8 | 81 | JA_JP | AIX | +---------+---------+--------------+---------+--------------+---------+ | 930 | D-1 | IBM-930 | 81 | - | Host | +---------+---------+--------------+---------+--------------+---------+ | 939 | D-1 | IBM-939 | 81 | - | Host | +---------+---------+--------------+---------+--------------+---------+ | 5026 | D-1 | IBM-5026 | 81 | - | Host | +---------+---------+--------------+---------+--------------+---------+ | 5035 | D-1 | IBM-5035 | 81 | - | Host | +---------+---------+--------------+---------+--------------+---------+ | 1390 | D-1 | | 81 | - | Host | +---------+---------+--------------+---------+--------------+---------+ | 1399 | D-1 | | 81 | - | Host | +---------+---------+--------------+---------+--------------+---------+ | 954 | D-1 | eucJP | 81 | ja_JP.eucJP | HP-UX | +---------+---------+--------------+---------+--------------+---------+ | 5039 | D-1 | SJIS | 81 | ja_JP.SJIS | HP-UX | +---------+---------+--------------+---------+--------------+---------+ | 954 | D-1 | EUC-JP | 81 | ja_JP | Linux | +---------+---------+--------------+---------+--------------+---------+ | 932 | D-1 | IBM-932 | 81 | - | OS/2 | +---------+---------+--------------+---------+--------------+---------+ | 942 | D-1 | IBM-942 | 81 | - | OS/2 | +---------+---------+--------------+---------+--------------+---------+ | 943 | D-1 | IBM-943 | 81 | - | OS/2 | +---------+---------+--------------+---------+--------------+---------+ | 954 | D-1 | eucJP | 81 | ja | SCO | +---------+---------+--------------+---------+--------------+---------+ | 954 | D-1 | eucJP | 81 | ja_JP | SCO | +---------+---------+--------------+---------+--------------+---------+ | 954 | D-1 | eucJP | 81 | ja_JP.EUC | SCO | +---------+---------+--------------+---------+--------------+---------+ | 954 | D-1 | eucJP | 81 | ja_JP.eucJP | SCO | +---------+---------+--------------+---------+--------------+---------+ | 943 | D-1 | IBM-943 | 81 | ja_JP.PCK | Solaris | +---------+---------+--------------+---------+--------------+---------+ | 954 | D-1 | eucJP | 81 | ja | Solaris | +---------+---------+--------------+---------+--------------+---------+ | 1208 | N-1 | UTF-8 | 81 | ja_JP.UTF-8 | Solaris | +---------+---------+--------------+---------+--------------+---------+ | 943 | D-1 | IBM-943 | 81 | - | Windows | +---------+---------+--------------+---------+--------------+---------+ | 1394 | D-1 | | 81 | - | | +---------+---------+--------------+---------+--------------+---------+ Obsługa funkcji XA w programie DB2 Universal Database Program DB2 Universal Database (UDB) obsługuje specyfikację XA91 zdefiniowaną w dokumencie X/Open CAE Specification Distributed Transaction Processing: The XA Specification, z następującymi wyjątkami: * Usługi asynchroniczne Specyfikacja XA umożliwia interfejsom korzystanie z usług asynchronicznych, dzięki czemu rezultaty żądania można sprawdzić w terminie późniejszym. Jednak menedżer bazy danych wymaga, aby żądania były wywoływane w trybie synchronicznym. * Rejestracja Interfejs XA dopuszcza dwa sposoby rejestrowania menedżera zasobów (RM): rejestrację statyczną i rejestrację dynamiczną. Program DB2 UDB obsługuje zarówno rejestrację dynamiczną, jak i statyczną. Do tego celu w programie DB2 UDB służą dwa przełączniki: * db2xa_switch dla rejestracji dynamicznej * db2xa_switch_static dla rejestracji statycznej * Migracja powiązań Program DB2 UDB nie obsługuje migracji transakcji pomiędzy wątkami sterowania. Składnia i położenie przełącznika XA Zgodnie z wymaganiami interfejsu XA menedżer bazy danych udostępnia zmienne zewnętrzne języka C db2xa_switch i db2xa_switch_static typu xa_switch_t, które umożliwiają zwrócenie struktury przełącznika XA do menedżera transakcji (TM). Oprócz adresów różnych funkcji interfejsu XA zwracane są następujące pola: Pole Wartość name Nazwa produktu menedżera bazy danych. Na przykład DB2 UDB for AIX. flags Dla przełącznika db2xa_switch ustawiona jest flaga TMREGISTER | TMNOMIGRATE W sposób jawny deklaruje, że program DB2 UDB używa rejestracji dynamicznej i że menedżer transakcji (TM) nie powinien korzystać z migracji powiązań. Pośrednio deklaruje, że operacje asynchroniczne nie są obsługiwane. Dla przełącznika db2xa_switch_static ustawiona jest opcja TMNOMIGRATE. W sposób jawny deklaruje, że program DB2 UDB używa rejestracji dynamicznej i że menedżer transakcji (TM) nie powinien korzystać z migracji powiązań. Pośrednio deklaruje, że operacje asynchroniczne nie są obsługiwane. version Musi mieć wartość zero. Korzystanie z przełącznika XA w programie DB2 Universal Database Architektura XA wymaga, aby menedżer zasobów (RM) udostępniał przełącznik, który menedżerowi transakcji (TM) XA umożliwi dostęp do procedur xa_ menedżera zasobów. Przełącznik menedżera zasobów korzysta ze struktury o nazwie xa_switch_t. Przełącznik ten zawiera nazwę menedżera zasobów, niepuste wskaźniki do punktów wejścia interfejsu XA menedżera zasobów, opcję i numer wersji. Systemy Linux i Unix Przełącznik programu DB2 Universal Database (UDB) można uzyskać w jeden z poniższych sposobów: * Przez jeden dodatkowy poziom pośredni. W programach w języku C można w tym celu zdefiniować makro: #define db2xa_switch (*db2xa_switch) #define db2xa_switch_static (*db2xa_switch) przed użyciem przełącznika db2xa_switch lub db2xa_switch_static. * Po wywołaniu komendy db2xacic lub db2xacicst Program DB2 UDB udostępnia funkcje API, które zwracają adres struktury przełącznika db2xa_switch lub db2xa_switch_static. Prototypem tej funkcji jest: struct xa_switch_t * SQL_API_FN db2xacic( ) struct xa_switch_t * SQL_API_FN db2xacicst( ) W każdej z tych metod konieczne jest powiązanie aplikacji z biblioteką libdb2. Windows NT Wskaźnik do struktury przełącznika xa_switch, db2xa_switch lub db2xa_switch_static jest eksportowany jako dane DLL. Dlatego w systemie Windows NT aplikacja korzystająca z tej struktury musi odwoływać się do niej w jeden z poniższych sposobów: * Przez jeden dodatkowy poziom pośredni. W programach w języku C można w tym celu zdefiniować makro: #define db2xa_switch (*db2xa_switch) #define db2xa_switch_static (*db2xa_switch) przed użyciem przełącznika db2xa_switch lub db2xa_switch_static. * W przypadku korzystania z kompilatora Microsoft Visual C++ przełącznik db2xa_switch lub db2xa_switch_static można zdefiniować jako: extern __declspec(dllimport) struct xa_switch_t db2xa_switch extern __declspec(dllimport) struct xa_switch_t db2xa_switch_static * Po wywołaniu komendy db2xacic lub db2xacicst Program DB2 UDB udostępnia funkcję API, która zwraca adres struktury przełącznika db2xa_switch lub db2xa_switch_static. Prototypem tej funkcji jest: struct xa_switch_t * SQL_API_FN db2xacic( ) struct xa_switch_t * SQL_API_FN db2xacicst( ) W każdej z tych metod konieczne jest powiązanie aplikacji z biblioteką db2api.lib. Przykład kodu w języku C Poniższy kod ilustruje różne sposoby uzyskiwania dostępu do przełącznika db2xa_switch lub db2xa_switch_static z programu w języku C na dowolnej platformie programu DB2 UDB. Należy pamiętać o powiązaniu aplikacji z odpowiednią biblioteką. #include #include struct xa_switch_t * SQL_API_FN db2xacic( ); #ifdef DECLSPEC_DEFN extern __declspec(dllimport) struct xa_switch_t db2xa_switch; #else #define db2xa_switch (*db2xa_switch) extern struct xa_switch_t db2xa_switch; #endif main( ) { struct xa_switch_t *foo; printf ( "%s \n", db2xa_switch.name ); foo = db2xacic(); printf ( "%s \n", foo->name ); return ; } Zaktualizowane wartości TPM i tp_mon_name dla formatów łańcuchów xa_open Kolumna Ustawienia wewnętrzne w poniższej tabeli została zaktualizowana w celu odzwierciedlenia ustawień wątku sterowania (TOC). TOC jest to jednostka, z którą są powiązane wszystkie połączenia XA programu DB2 UDB: * W przypadku ustawienia wartości T wszystkie połączenia XA programu DB2 UDB utworzone w ramach konkretnego wątku systemu operacyjnego są unikalne dla tego wątku. Wiele wątków nie może współużytkować połączeń programu DB2 UDB. Każdy wątek systemu operacyjnego musi utworzyć swój własny zestaw połączeń XA programu DB2 UDB. * W przypadku ustawienia wartości P wszystkie połączenia XA programu DB2 UDB są unikalne dla procesu systemu operacyjnego i wszystkie połączenia XA mogą być współużytkowane przez wątki systemu operacyjnego. Tabela 15. Poprawne wartości TPM i tp_mon_name. +-------------+-------------+-----------------------------------------+ | Wartość TPM | Produkt TP | Ustawienia wewnętrzne | | | monitor | | +-------------+-------------+-----------------------------------------+ | CICS | IBM | AXLIB=libEncServer (dla systemu | | | TxSeries | Windows) | | | CICS | =/usr/lpp/encina/lib/libEncServer | | | | (dla systemów Linux i UNIX) | | | | HOLD_CURSOR=T | | | | CHAIN_END=T | | | | SUSPEND_CURSOR=F | | | | TOC=T | +-------------+-------------+-----------------------------------------+ | ENCINA | Monitor IBM | AXLIB=libEncServer (dla systemu | | | TxSeries | Windows) | | | Encina | =/usr/lpp/encina/lib/libEncServer | | | | (dla systemów Linux i UNIX) | | | | HOLD_CURSOR=F | | | | CHAIN_END=T | | | | SUSPEND_CURSOR=F | | | | TOC=T | +-------------+-------------+-----------------------------------------+ | MQ | IBM | AXLIB=mqmax | | | MQSeries | (dla systemu Windows) | | | | =/usr/mqm/lib/libmqmax_r.a | | | | (dla aplikacji wielowątkowych systemu | | | | AIX) | | | | =/usr/mqm/lib/libmqmax.a | | | | (dla aplikacji bezwątkowych systemu | | | | AIX) | | | | =/opt/mqm/lib/libmqmax.so | | | | (dla systemu Solaris) | | | | =/opt/mqm/lib/libmqmax_r.sl | | | | (dla aplikacji wielowątkowych systemu | | | | HP) | | | | =/opt/mqm/lib/libmqmax.sl | | | | (dla aplikacji bezwątkowych systemu HP) | | | | =/opt/mqm/lib/libmqmax_r.so | | | | (dla aplikacji wielowątkowych systemu | | | | Linux) | | | | =/opt/mqm/lib/libmqmax.so | | | | (dla aplikacji bezwątkowych systemu | | | | Linux) | | | | HOLD_CURSOR=F | | | | CHAIN_END=F | | | | SUSPEND_CURSOR=F | | | | TOC=P | +-------------+-------------+-----------------------------------------+ | CB | IBM | AXLIB=somtrx1i (dla systemu Windows) | | | Component | =libsomtrx1 | | | Broker | (dla systemów Linux i UNIX) | | | | HOLD_CURSOR=F | | | | CHAIN_END=T | | | | SUSPEND_CURSOR=F | | | | TOC=T | +-------------+-------------+-----------------------------------------+ | SF | IBM San | AXLIB=ibmsfDB2 | | | Francisco | HOLD_CURSOR=F | | | | CHAIN_END=T | | | | SUSPEND_CURSOR=F | | | | TOC=T | +-------------+-------------+-----------------------------------------+ | TUXEDO | BEA Tuxedo | AXLIB=libtux | | | | HOLD_CURSOR=F | | | | CHAIN_END=F | | | | SUSPEND_CURSOR=F | | | | TOC=T | +-------------+-------------+-----------------------------------------+ | MTS | Microsoft | Nie ma potrzeby konfigurowania programu | | | Transaction | DB2 UDB dla MTS. MTS jest automatycznie | | | Server | wykrywany przez sterownik ODBC programu | | | | DB2 UDB. | +-------------+-------------+-----------------------------------------+ | JTA | Java | Nie ma potrzeby konfigurowania programu | | | Transaction | DB2 UDB dla takich serwerów Enterprise | | | API | Java Servers (EJS), jak IBM WebSphere. | | | | Sterownik JDBC programu DB2 UDB | | | | automatycznie wykrywa to środowisko. W | | | | związku z tym ta wartość TPM jest | | | | ignorowana. | +-------------+-------------+-----------------------------------------+ Aktywacja tabel konwersji dla stron kodowych 923 i 924 Poniższa tabela zawiera listę wszystkich plików tabel konwersji stron kodowych powiązanych ze stronami kodowymi 923 i 924. Nazwa każdego pliku ma postać XXXXYYYY.cnv lub ibmZZZZZ.ucs, gdzie XXXXX to numer źródłowej strony kodowej, a YYYY to numer docelowej strony kodowej. Plik ibmZZZZZ.ucs obsługuje konwersję między stroną kodową o numerze ZZZZZ i stroną kodową Unicode. Procedura Aby aktywować konkretną tabelę konwersji stron kodowych, należy zmienić jej nazwę lub skopiować dany plik tabeli konwersji, nadając kopii nową nazwę podaną w drugiej kolumnie. Na przykład w celu obsługi symbolu euro podczas połączenia klienta ze stroną kodową 8859-1/15 (Latin 1/9) z bazą danych o stronie kodowej Windows 1252 należy zmienić nazwy następujących plików tabeli konwersji stron kodowych z katalogu sqllib/conv/ (lub utworzyć kopie tych plików): * 09231252.cnv na 08191252.cnv * 12520923.cnv na 12520819.cnv * ibm00923.ucs na ibm00819.ucs Tabela 16. Pliki tabel konwersji dla stron kodowych 923 i 924. +----------------------------------+----------------------------------+ | Pliki tabel konwersji stron | Nowa nazwa | | kodowych 923 i 924 w katalogu | | | sqllib/conv/ | | +----------------------------------+----------------------------------+ | 04370923.cnv | 04370819.cnv | +----------------------------------+----------------------------------+ | 08500923.cnv | 08500819.cnv | +----------------------------------+----------------------------------+ | 08600923.cnv | 08600819.cnv | +----------------------------------+----------------------------------+ | 08630923.cnv | 08630819.cnv | +----------------------------------+----------------------------------+ | 09230437.cnv | 08190437.cnv | +----------------------------------+----------------------------------+ | 09230850.cnv | 08190850.cnv | +----------------------------------+----------------------------------+ | 09230860.cnv | 08190860.cnv | +----------------------------------+----------------------------------+ | 09231043.cnv | 08191043.cnv | +----------------------------------+----------------------------------+ | 09231051.cnv | 08191051.cnv | +----------------------------------+----------------------------------+ | 09231114.cnv | 08191114.cnv | +----------------------------------+----------------------------------+ | 09231252.cnv | 08191252.cnv | +----------------------------------+----------------------------------+ | 09231275.cnv | 08191275.cnv | +----------------------------------+----------------------------------+ | 09241252.cnv | 10471252.cnv | +----------------------------------+----------------------------------+ | 10430923.cnv | 10430819.cnv | +----------------------------------+----------------------------------+ | 10510923.cnv | 10510819.cnv | +----------------------------------+----------------------------------+ | 11140923.cnv | 11140819.cnv | +----------------------------------+----------------------------------+ | 12520923.cnv | 12520819.cnv | +----------------------------------+----------------------------------+ | 12750923.cnv | 12750819.cnv | +----------------------------------+----------------------------------+ | ibm00923.ucs | ibm00819.ucs | +----------------------------------+----------------------------------+ Pliki tabel konwersji dla stron kodowych z obsługą symbolu euro Poniższe tabele zawierają listę tabel konwersji rozszerzonych o obsługę symbolu waluty euro. Aby wyłączyć obsługę symbolu euro, należy pobrać plik tabeli konwersji, którego nazwę zamieszczono w kolumnie "Pliki tabel konwersji". Arabski +-------------------+----------------------+--------------------------+ | Identyfikatory | Identyfikatory | Pliki tabel konwersji | | CCSID/CPGID | CCSID/CPGID klienta | | | serwera bazy | bazy danych | | | danych | | | +-------------------+----------------------+--------------------------+ | 864, 17248 | 1046, 9238 | 08641046.cnv, | | | | 10460864.cnv, | | | | IBM00864.ucs | +-------------------+----------------------+--------------------------+ | 864, 17248 | 1256, 5352 | 08641256.cnv, | | | | 12560864.cnv, | | | | IBM00864.ucs | +-------------------+----------------------+--------------------------+ | 864, 17248 | 1200, 1208, 13488, | IBM00864.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ | 1046, 9238 | 864, 17248 | 10460864.cnv, | | | | 08641046.cnv, | | | | IBM01046.ucs | +-------------------+----------------------+--------------------------+ | 1046, 9238 | 1089 | 10461089.cnv, | | | | 10891046.cnv, | | | | IBM01046.ucs | +-------------------+----------------------+--------------------------+ | 1046, 9238 | 1256, 5352 | 10461256.cnv, | | | | 12561046.cnv, | | | | IBM01046.ucs | +-------------------+----------------------+--------------------------+ | 1046, 9238 | 1200, 1208, 13488, | IBM01046.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ | 1089 | 1046, 9238 | 10891046.cnv, | | | | 10461089.cnv | +-------------------+----------------------+--------------------------+ | 1256, 5352 | 864, 17248 | 12560864.cnv, | | | | 08641256.cnv, | | | | IBM01256.ucs | +-------------------+----------------------+--------------------------+ | 1256, 5352 | 1046, 9238 | 12561046.cnv, | | | | 10461256.cnv, | | | | IBM01256.ucs | +-------------------+----------------------+--------------------------+ | 1256, 5352 | 1200, 1208, 13488, | IBM01256.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Języki bałtyckie +-------------------+----------------------+--------------------------+ | Identyfikatory | Identyfikatory | Pliki tabel konwersji | | CCSID/CPGID | CCSID/CPGID klienta | | | serwera bazy | bazy danych | | | danych | | | +-------------------+----------------------+--------------------------+ | 921, 901 | 1257 | 09211257.cnv, | | | | 12570921.cnv, | | | | IBM00921.ucs | +-------------------+----------------------+--------------------------+ | 921, 901 | 1200, 1208, 13488, | IBM00921.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ | 1257, 5353 | 921, 901 | 12570921.cnv, | | | | 09211257.cnv, | | | | IBM01257.ucs | +-------------------+----------------------+--------------------------+ | 1257, 5353 | 922, 902 | 12570922.cnv, | | | | 09221257.cnv, | | | | IBM01257.ucs | +-------------------+----------------------+--------------------------+ | 1257, 5353 | 1200, 1208, 13488, | IBM01257.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Białoruski +-------------------+----------------------+--------------------------+ | Identyfikatory | Identyfikatory | Pliki tabel konwersji | | CCSID/CPGID | CCSID/CPGID klienta | | | serwera bazy | bazy danych | | | danych | | | +-------------------+----------------------+--------------------------+ | 1131, 849 | 1251, 5347 | 11311251.cnv, | | | | 12511131.cnv | +-------------------+----------------------+--------------------------+ | 1131, 849 | 1283 | 11311283.cnv | +-------------------+----------------------+--------------------------+ Cyrylica +-------------------+----------------------+--------------------------+ | Identyfikatory | Identyfikatory | Pliki tabel konwersji | | CCSID/CPGID | CCSID/CPGID klienta | | | serwera bazy | bazy danych | | | danych | | | +-------------------+----------------------+--------------------------+ | 855, 872 | 866, 808 | 08550866.cnv, | | | | 08660855.cnv | +-------------------+----------------------+--------------------------+ | 855, 872 | 1251, 5347 | 08551251.cnv, | | | | 12510855.cnv | +-------------------+----------------------+--------------------------+ | 866, 808 | 855, 872 | 08660855.cnv, | | | | 08550866.cnv | +-------------------+----------------------+--------------------------+ | 866, 808 | 1251, 5347 | 08661251.cnv, | | | | 12510866.cnv | +-------------------+----------------------+--------------------------+ | 1251, 5347 | 855, 872 | 12510855.cnv, | | | | 08551251.cnv, | | | | IBM01251.ucs | +-------------------+----------------------+--------------------------+ | 1251, 5347 | 866, 808 | 12510866.cnv, | | | | 08661251.cnv, | | | | IBM01251.ucs | +-------------------+----------------------+--------------------------+ | 1251, 5347 | 1124 | 12511124.cnv, | | | | 11241251.cnv, | | | | IBM01251.ucs | +-------------------+----------------------+--------------------------+ | 1251, 5347 | 1125, 848 | 12511125.cnv, | | | | 11251251.cnv, | | | | IBM01251.ucs | +-------------------+----------------------+--------------------------+ | 1251, 5347 | 1131, 849 | 12511131.cnv, | | | | 11311251.cnv, | | | | IBM01251.ucs | +-------------------+----------------------+--------------------------+ | 1251, 5347 | 1200, 1208, 13488, | IBM01251.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Estoński +-------------------+----------------------+--------------------------+ | Identyfikatory | Identyfikatory | Pliki tabel konwersji | | CCSID/CPGID | CCSID/CPGID klienta | | | serwera bazy | bazy danych | | | danych | | | +-------------------+----------------------+--------------------------+ | 922, 902 | 1257 | 09221257.cnv, | | | | 12570922.cnv, | | | | IBM00922.ucs | +-------------------+----------------------+--------------------------+ | 922, 902 | 1200, 1208, 13488, | IBM00922.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Grecki +-------------------+----------------------+--------------------------+ | Identyfikatory | Identyfikatory | Pliki tabel konwersji | | CCSID/CPGID | CCSID/CPGID klienta | | | serwera bazy | bazy danych | | | danych | | | +-------------------+----------------------+--------------------------+ | 813, 4909 | 869, 9061 | 08130869.cnv, | | | | 08690813.cnv, | | | | IBM00813.ucs | +-------------------+----------------------+--------------------------+ | 813, 4909 | 1253, 5349 | 08131253.cnv, | | | | 12530813.cnv, | | | | IBM00813.ucs | +-------------------+----------------------+--------------------------+ | 813, 4909 | 1200, 1208, 13488, | IBM00813.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ | 869, 9061 | 813, 4909 | 08690813.cnv, | | | | 08130869.cnv | +-------------------+----------------------+--------------------------+ | 869, 9061 | 1253, 5349 | 08691253.cnv, | | | | 12530869.cnv | +-------------------+----------------------+--------------------------+ | 1253, 5349 | 813, 4909 | 12530813.cnv, | | | | 08131253.cnv, | | | | IBM01253.ucs | +-------------------+----------------------+--------------------------+ | 1253, 5349 | 869, 9061 | 12530869.cnv, | | | | 08691253.cnv, | | | | IBM01253.ucs | +-------------------+----------------------+--------------------------+ | 1253, 5349 | 1200, 1208, 13488, | IBM01253.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Hebrajski +-------------------+----------------------+--------------------------+ | Identyfikatory | Identyfikatory | Pliki tabel konwersji | | CCSID/CPGID | CCSID/CPGID klienta | | | serwera bazy | bazy danych | | | danych | | | +-------------------+----------------------+--------------------------+ | 856, 9048 | 862, 867 | 08560862.cnv, | | | | 08620856.cnv, | | | | IBM0856.ucs | +-------------------+----------------------+--------------------------+ | 856, 9048 | 916 | 08560916.cnv, | | | | 09160856.cnv, | | | | IBM0856.ucs | +-------------------+----------------------+--------------------------+ | 856, 9048 | 1255, 5351 | 08561255.cnv, | | | | 12550856.cnv, | | | | IBM0856.ucs | +-------------------+----------------------+--------------------------+ | 856, 9048 | 1200, 1208, 13488, | IBM0856.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ | 862, 867 | 856, 9048 | 08620856.cnv, | | | | 08560862.cnv, | | | | IBM00862.ucs | +-------------------+----------------------+--------------------------+ | 862, 867 | 916 | 08620916.cnv, | | | | 09160862.cnv, | | | | IBM00862.ucs | +-------------------+----------------------+--------------------------+ | 862, 867 | 1255, 5351 | 08621255.cnv, | | | | 12550862.cnv, | | | | IBM00862.ucs | +-------------------+----------------------+--------------------------+ | 862, 867 | 1200, 1208, 13488, | IBM00862.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ | 916 | 856, 9048 | 09160856.cnv, | | | | 08560916.cnv | +-------------------+----------------------+--------------------------+ | 916 | 862, 867 | 09160862.cnv, | | | | 08620916.cnv | +-------------------+----------------------+--------------------------+ | 1255, 5351 | 856, 9048 | 12550856.cnv, | | | | 08561255.cnv, | | | | IBM01255.ucs | +-------------------+----------------------+--------------------------+ | 1255, 5351 | 862, 867 | 12550862.cnv, | | | | 08621255.cnv, | | | | IBM01255.ucs | +-------------------+----------------------+--------------------------+ | 1255, 5351 | 1200, 1208, 13488, | IBM01255.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Latin-1 +-------------------+----------------------+--------------------------+ | Identyfikatory | Identyfikatory | Pliki tabel konwersji | | CCSID/CPGID | CCSID/CPGID klienta | | | serwera bazy | bazy danych | | | danych | | | +-------------------+----------------------+--------------------------+ | 437 | 850, 858 | 04370850.cnv, | | | | 08500437.cnv | +-------------------+----------------------+--------------------------+ | 850, 858 | 437 | 08500437.cnv, | | | | 04370850.cnv | +-------------------+----------------------+--------------------------+ | 850, 858 | 860 | 08500860.cnv, | | | | 08600850.cnv | +-------------------+----------------------+--------------------------+ | 850, 858 | 1114, 5210 | 08501114.cnv, | | | | 11140850.cnv | +-------------------+----------------------+--------------------------+ | 850, 858 | 1275 | 08501275.cnv, | | | | 12750850.cnv | +-------------------+----------------------+--------------------------+ | 860 | 850, 858 | 08600850.cnv, | | | | 08500860.cnv | +-------------------+----------------------+--------------------------+ | 1275 | 850, 858 | 12750850.cnv, | | | | 08501275.cnv | +-------------------+----------------------+--------------------------+ Latin-2 +-------------------+----------------------+--------------------------+ | Identyfikatory | Identyfikatory | Pliki tabel konwersji | | CCSID/CPGID | CCSID/CPGID klienta | | | serwera bazy | bazy danych | | | danych | | | +-------------------+----------------------+--------------------------+ | 852, 9044 | 1250, 5346 | 08521250.cnv, | | | | 12500852.cnv | +-------------------+----------------------+--------------------------+ | 1250, 5346 | 852, 9044 | 12500852.cnv, | | | | 08521250.cnv, | | | | IBM01250.ucs | +-------------------+----------------------+--------------------------+ | 1250, 5346 | 1200, 1208, 13488, | IBM01250.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Chiński uproszczony +-------------------+----------------------+--------------------------+ | Identyfikatory | Identyfikatory | Pliki tabel konwersji | | CCSID/CPGID | CCSID/CPGID klienta | | | serwera bazy | bazy danych | | | danych | | | +-------------------+----------------------+--------------------------+ | 837, 935, 1388 | 1200, 1208, 13488, | 1388ucs2.cnv | | | 17584 | | +-------------------+----------------------+--------------------------+ | 1386 | 1200, 1208, 13488, | 1386ucs2.cnv, | | | 17584 | ucs21386.cnv | +-------------------+----------------------+--------------------------+ Chiński tradycyjny +-------------------+----------------------+--------------------------+ | Identyfikatory | Identyfikatory | Pliki tabel konwersji | | CCSID/CPGID | CCSID/CPGID klienta | | | serwera bazy | bazy danych | | | danych | | | +-------------------+----------------------+--------------------------+ | 937, 835, 1371 | 950, 1370 | 09370950.cnv, | | | | 0937ucs2.cnv | +-------------------+----------------------+--------------------------+ | 937, 835, 1371 | 1200, 1208, 13488, | 0937ucs2.cnv | | | 17584 | | +-------------------+----------------------+--------------------------+ | 1114, 5210 | 850, 858 | 11140850.cnv, | | | | 08501114.cnv | +-------------------+----------------------+--------------------------+ Tajski +-------------------+----------------------+--------------------------+ | Identyfikatory | Identyfikatory | Pliki tabel konwersji | | CCSID/CPGID | CCSID/CPGID klienta | | | serwera bazy | bazy danych | | | danych | | | +-------------------+----------------------+--------------------------+ | 874, 1161 | 1200, 1208, 13488, | IBM00874.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Turecki +-------------------+----------------------+--------------------------+ | Identyfikatory | Identyfikatory | Pliki tabel konwersji | | CCSID/CPGID | CCSID/CPGID klienta | | | serwera bazy | bazy danych | | | danych | | | +-------------------+----------------------+--------------------------+ | 857, 9049 | 1254, 5350 | 08571254.cnv, | | | | 12540857.cnv | +-------------------+----------------------+--------------------------+ | 1254, 5350 | 857, 9049 | 12540857.cnv, | | | | 08571254.cnv, | | | | IBM01254.ucs | +-------------------+----------------------+--------------------------+ | 1254, 5350 | 1200, 1208, 13488, | IBM01254.ucs | | | 17584 | | +-------------------+----------------------+--------------------------+ Ukraiński +-------------------+----------------------+--------------------------+ | Identyfikatory | Identyfikatory | Pliki tabel konwersji | | CCSID/CPGID | CCSID/CPGID klienta | | | serwera bazy | bazy danych | | | danych | | | +-------------------+----------------------+--------------------------+ | 1124 | 1251, 5347 | 11241251.cnv, | | | | 12511124.cnv | +-------------------+----------------------+--------------------------+ | 1125, 848 | 1251, 5347 | 11251251.cnv, | | | | 12511125.cnv | +-------------------+----------------------+--------------------------+ Unicode +-------------------+----------------------+--------------------------+ | Identyfikatory | Identyfikatory | Pliki tabel konwersji | | CCSID/CPGID | CCSID/CPGID klienta | | | serwera bazy | bazy danych | | | danych | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 813, 4909 | IBM00813.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 862, 867 | IBM00862.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 864, 17248 | IBM00864.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 874, 1161 | IBM00874.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 921, 901 | IBM00921.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 922, 902 | IBM00922.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1046, 9238 | IBM01046.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1250, 5346 | IBM01250.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1251, 5347 | IBM01251.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1253, 5349 | IBM01253.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1254, 5350 | IBM01254.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1255, 5351 | IBM01255.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1256, 5352 | IBM01256.ucs | | 13488, 17584 | | | +-------------------+----------------------+--------------------------+ | 1200, 1208, | 1386 | ucs21386.cnv, | | 13488, 17584 | | 1386ucs2.cnv | +-------------------+----------------------+--------------------------+ Wietnamski +-------------------+----------------------+--------------------------+ | Identyfikatory | Identyfikatory | Pliki tabel konwersji | | CCSID/CPGID | CCSID/CPGID klienta | | | serwera bazy | bazy danych | | | danych | | | +-------------------+----------------------+--------------------------+ | 1258, 5354 | 1129, 1163 | 12581129.cnv | +-------------------+----------------------+--------------------------+ Podręcznik Administrative API Reference Wyjaśnienie dotyczące struktury zapisu w dzienniku Wyjaśnienie to odnosi się do uwagi numer 3 do tabeli 103: "Add/Delete/Non-update Long Field Record Log Record Structure" zawartej w sekcji Long Field Manager Log Records w temacie DB2 UDB log records. Tekst uwagi numer 3 powinien brzmieć następująco: 3. Długość danych pól długich w sektorach o wielkości 512 bajtów (bieżąca długość danych jest zapisywana na 4 pierwszych bajtach deskryptora LF, który, jako część rekordu sformatowanych danych użytkownika, jest rejestrowany w dzienniku w kolejnych zapisach dotyczących operacji wstawiania, usuwania i aktualizowania). To pole ma zawsze wartość dodatnią. Menedżer długich pól nigdy nie tworzy zapisów w dzienniku dla wstawianych, usuwanych lub aktualizowanych danych pól długich o długości 0. Parametr oBackupsize w interfejsie API db2backup W programie DB2, wersja 8, parametr oBackupsize w interfejsie API db2Backup dotyczy pełnych kopii zapasowych, a nie różnicowych lub przyrostowych kopii zapasowych. Parametr oBackupsize reprezentuje wielkość kopii zapasowej (w MB). Obsługa opcji SYNCPOINT Opcja SYNCPOINT dla funkcji API sqlesetc, sqleqryc i sqlaprep jest ignorowana od wersji 8; jest ona dostępna wyłącznie w celu zapewnienia kompatybilności wstecznej. Nowe pole w strukturze SQLEDBDESC W funkcji API sqlecrea dodano nowe pole w celu obsługi bezpośrednich operacji we/wy. Nazwa pola Unsigned char sqlfscaching Opis Buforowanie systemu plików Wartości 0 Buforowanie systemu plików jest włączone dla bieżącego obszaru tabel. 1 Buforowanie systemu plików jest wyłączone dla bieżącego obszaru tabel. inne Buforowanie systemu plików jest włączone dla bieżącego obszaru tabel. Dodanie nowego pola w strukturze SQLB-TBSPQRY-DATA W strukturze danych SQLB-TBSPQRY-DATA dodano nowe pole unsigned char fsCaching. To nowe pole obsługuje bezpośrednie operacje we/wy. Pomimo że zarezerwowany rozmiar bitowy jest opisany jako 32-bitowy, poprawny rozmiar wynosi 31 bitów. Podręcznik Application Development Guide: Building and Running Applications Przykłady rekonfiguracji dynamicznej (AIX) Z programem DB2 Universal Database(TM) (UDB), wersja 8.2, pakiet poprawek 3, (odpowiednik wersji 8.1 z pakietem poprawek 10) dostarczany jest nowy plik przykładowy, ibm_db2_sln_upart_smt. W poniższej tabeli pokazano nazwę i opis tego pliku. Tabela 17. Przykładowe skrypty rekonfiguracji dynamicznej. +-----------------+---------------------------------------------------+ | Nazwa skryptu | Opis pliku | | przykładowego | | +-----------------+---------------------------------------------------+ | ibm_db2_sln_upa | Ten skrypt powłoki Korn do rekonfiguracji | | rt_smt | dynamicznej dla systemu AIX korzysta z możliwości | | | dynamicznego partycjonowania logicznego (Dynamic | | | Logical Partitioning, DLPAR) oferowanych przez | | | system AIX, wersja 5.3, działający na serwerach | | | pSeries(R) z procesorami POWER5, takich jak p5 | | | 570 i p5 590. Ten skrypt jest podobny do skryptu | | | rekonfiguracji dynamicznej ibm_db2_sln, ale jest | | | zoptymalizowany pod kątem obsługi funkcji | | | procesorów POWER5(TM) i systemu AIX, wersja 5.3, | | | takich jak mikropartycjonowanie i tryb SMT. | | | Dodatkowe informacje można znaleźć w samym | | | skrypcie. | +-----------------+---------------------------------------------------+ Skrypt przykładowy ibm_db2_sln_upart_smt znajduje się w katalogu sqllib/samples/DLPAR w programie DB2 UDB for AIX. Narzędzia programistyczne obsługiwane w systemie Linux Szczegółowe informacje dotyczące instalacji zawiera temat "Obrazy instalacyjne jądra systemu Linux 2.6" w Uwagach do wydania programu DB2 UDB, wersja 8.2.2 (sekcja Nowe funkcje w tym wydaniu). W poniższych tabelach przedstawiono informacje o obsłudze architektury systemu Linux przez program DB2 - stan obowiązujący na dzień wydania pakietu poprawek 9. Zaktualizowane informacje o tej obsłudze można znaleźć w serwisie WWW poświęconym weryfikacji: http://www.ibm.com/db2/linux/validate Tabela 18. Linux na platformie Intel(R) x86 (32-bitowej) +-----------------------------+---------+---------+-------------------+ | Dystrybucja | Jądro | Bibliot | Komentarz | | | | eka | | +-----------------------------+---------+---------+-------------------+ | Conectiva Linux Enterprise | 2.4.19 | glibc | Powered by United | | Edition (CLEE) | | 2.2.5 | Linux 1.0 | +-----------------------------+---------+---------+-------------------+ | LINX Rocky Secure Server | 2.4.21 | glibc | | | 2.1 | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ | Red Flag Advanced Server | 2.4.21- | glibc | | | 4.0 | as.2 | 2.2.93- | | | | | 5 | | +-----------------------------+---------+---------+-------------------+ | Red Flag Function Server | 2.4.20- | glibc | | | 4.0 | 8smp | 2.2.93- | | | | | 5 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.4.9-e | glibc | | | 2.1 AS/ES/WS | 16 | 2.2.4 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.4.21- | glibc-2 | | | (RHEL) 3 AS/ES/WS | 7.EL | .3.2-95 | | | | | .3 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.6.9 | glibc-2 | Wymaga również | | (RHEL) 4 | | .3.3 | pakietu | | | | | compat-libstdc++- | | | | | 33 | +-----------------------------+---------+---------+-------------------+ | SCO Linux 4.0 | 2.4.19 | glibc | Powered by United | | | | 2.2.5 | Linux 1.0 | +-----------------------------+---------+---------+-------------------+ | SuSE Pro 8.0 | 2.4.18 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ | SuSE Pro 8.1 | 2.4.19 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.4.7 | glibc | | | Server (SLES) 7 | | 2.2.2 | | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.4.19 | glibc | Zweryfikowano do | | Server (SLES) 8 | | 2.2.5 | poziomu pakietu | | | | | poprawek 2 SuSE | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.6.5 | glibc-2 | | | Server (SLES) 9 | | .3.3 | | +-----------------------------+---------+---------+-------------------+ | Turbolinux 7 Server | 2.4.9 | glibc | | | | | 2.2.4 | | +-----------------------------+---------+---------+-------------------+ | Turbolinux 8 Server | 2.4.18- | glibc | | | | 5 | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ | Turbolinux Enterprise | 2.4.19 | glibc | | | Server 8 | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ | United Linux 1.0 | 2.4.19 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ Tabela 19. Linux na platformie Intel(R) x86 (32-bitowej), dystrybucje nieprzeznaczone dla przedsiębiorstw (nie są już obsługiwane przez dostawcę) +-----------------------------+---------+---------+-------------------+ | Dystrybucja | Jądro | Bibliot | Komentarz | | | | eka | | +-----------------------------+---------+---------+-------------------+ | Red Hat 7.2 | 2.4.9-3 | glibc | | | | 4 | 2.2.4 | | +-----------------------------+---------+---------+-------------------+ | Red Hat 7.3 | 2.4.18 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ | Red Hat 8.0 | 2.4.18- | glibc | | | | 14 | 2.2.93- | | | | | 5 | | +-----------------------------+---------+---------+-------------------+ | SuSE 7.3 | 2.4.10 | glibc | | | | | 2.2.4 | | +-----------------------------+---------+---------+-------------------+ Tabela 20. Linux na platformach s/390 i zSeries(R) (wersje z jądrem 31-bitowym obsługiwane na platformie s/390; wersje 64-bitowe na platformie zSeries) +-----------------------------+---------+---------+-------------------+ | Dystrybucja | Jądro | Bibliot | Komentarz | | | | eka | | +-----------------------------+---------+---------+-------------------+ | Red Hat 7.2 | 2.4.9-3 | glibc | | | | 8 | 2.2.4 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.6.9 | glibc-2 | Wymaga również | | (RHEL) 4 | | .3.3 | pakietu | | | | | compat-libstdc++- | | | | | 33 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.4.7-5 | glibc | compat.rpm | | Server (SLES) 7 | 8 | 2.2.4 | zawiera libstdc++ | | | | | 6.1. Należy | | | | | używać pakietu | | | | | JDK 1.3.1 SR 1 | | | | | for Java(TM) | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.4.19 | glibc | Powered by United | | Server (SLES) 8 | | 2.2.5 | Linux 1.0 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.6.5 | glibc-2 | | | Server (SLES) 9 | | .3.3 | | +-----------------------------+---------+---------+-------------------+ | Turbo Linux Enterprise | 2.4.19 | glibc | Powered by United | | Server (TLES) 8 | | 2.2.5 | Linux 1.0 | +-----------------------------+---------+---------+-------------------+ | United Linux 1.0 | 2.4.19 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ Tabela 21. Linux na platformie x86-64 +-----------------------------+---------+---------+-------------------+ | Dystrybucja | Jądro | Bibliot | Komentarz | | | | eka | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.4.21- | glibc-2 | | | (RHEL) 3 AS/ES/WS | 7.EL | .3.2-95 | | | | | .3 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.6.9 | glibc-2 | Wymaga również | | (RHEL) 4 | | .3.3 | pakietu | | | | | compat-libstdc++- | | | | | 33 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.4.19- | glibc | | | Server (SLES) 8.0 | SMP | 2.2.5-1 | | | | | 6 | | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.6.5 | glibc-2 | | | Server (SLES) 9 | | .3.3 | | +-----------------------------+---------+---------+-------------------+ Tabela 22. Linux na platformie POWER(TM) (iSeries i pSeries(R)) +-----------------------------+---------+---------+-------------------+ | Dystrybucja | Jądro | Bibliot | Komentarz | | | | eka | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.4.21- | glibc-2 | | | (RHEL) 3 AS | 7.EL | .3.2-95 | | | | | .3 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.6.9 | glibc-2 | Wymaga również | | (RHEL) 4 | | .3.3 | pakietu | | | | | compat-libstdc++- | | | | | 33 | +-----------------------------+---------+---------+-------------------+ | SuSE Enterprise Server | 2.4.19- | glibc | Powered by United | | (SLES) 8 | 16 | 2.2.5 | Linux 1.0 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.6.5 | glibc-2 | | | Server (SLES) 9 | | .3.3 | | +-----------------------------+---------+---------+-------------------+ | Turbolinux Enterprise | 2.4.19- | glibc | Powered by United | | Server 8 | 16 | 2.2.5 | Linux 1.0 | +-----------------------------+---------+---------+-------------------+ | United Linux 1.0 | 2.4.19 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ Tabela 23. Linux na platformie IA64 +-----------------------------+---------+---------+-------------------+ | Dystrybucja | Jądro | Bibliot | Komentarz | | | | eka | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.4.18- | glibc | | | 2.1 AS/ES/WS | e.12smp | | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.4.21- | glibc-2 | | | (RHEL) 3 AS/ES/WS | 7.EL | .3.2-95 | | | | | .3 | | +-----------------------------+---------+---------+-------------------+ | Red Hat Enterprise Linux | 2.6.9 | glibc-2 | Wymaga również | | (RHEL) 4 | | .3.3 | pakietu | | | | | compat-libstdc++- | | | | | 33 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.4.19- | glibc | Powered by United | | Server (SLES) 8 | SMP | 2.2.5 | Linux 1.0 | +-----------------------------+---------+---------+-------------------+ | SuSE Linux Enterprise | 2.6.5 | glibc-2 | | | Server (SLES) 9 | | .3.3 | | +-----------------------------+---------+---------+-------------------+ | United Linux 1.0 | 2.4.19 | glibc | | | | | 2.2.5 | | +-----------------------------+---------+---------+-------------------+ Program DB2 UDB dla dystrybucji systemu Linux opartych na jądrze Linux 2.6 dla procesorów Intel(R) x86 obsługuje następujące języki programowania i kompilatory: C GNU/Linux gcc wersja 3.3 C++ GNU/Linux g++ wersja 3.3 COBOL Micro Focus COBOL Server Express wersja 2.2 z pakietem poprawek 1 Java(TM) IBM(R) Developer Kit and Runtime Environment for Linux, Java(TM) 2 Technology Edition, wersja 1.3.1 i 1.4.1 wydanie serwisowe 1, wersja 32-bitowa Uwaga: Program DB2 UDB instaluje najnowszą obsługiwaną wersję pakietu programistycznego, jeśli nie jest jeszcze zainstalowana, chyba że dana instalacja DB2 UDB jest aktualizacją poprzedniej instalacji programu DB2 UDB wersja 8. Jeśli aktualizowana jest wcześniejsza instalacja programu DB2 UDB wersja 8, konieczne jest ręczne zainstalowanie obsługiwanego pakietu programistycznego z dysku CD-ROM. Perl Perl 5.004_04 lub nowsza wersja, DBI 0.93 lub nowsza wersja PHP PHP 4.3.4 lub nowsza wersja REXX Interpreter języka Object REXX dla systemu Linux wersja 2.1 32-bitowa instancja na serwerze DB2 UDB dla dystrybucji systemu Linux opartych na jądrze 2.6 na procesorach x86-64 obsługuje następujące języki programowania i kompilatory: C GNU/Linux gcc wersja 3.3 Uwaga: W celu generowania 32-bitowych aplikacji lub podprogramów (procedur zapisanych w bazie lub funkcji zdefiniowanych przez użytkownika) należy używać opcji kompilatora "-m32". C++ GNU/Linux g++ wersja 3.3 Uwagi: 1. Te wersje kompilatora GNU/Linux g++ nie przyjmują parametrów całkowitych w przypadku niektórych funkcji fstream. Więcej informacji na ten temat można znaleźć w dokumentacji kompilatora. 2. W celu generowania 32-bitowych aplikacji lub podprogramów (procedur zapisanych w bazie lub funkcji zdefiniowanych przez użytkownika) należy używać opcji kompilatora "-m32". Java IBM(R) Developer Kit and Runtime Environment for Linux x86, Java 2 Technology Edition, wersja 1.3.1 wydanie serwisowe 4, wersja 32-bitowa, oraz wersja 1.4.1 wydanie serwisowe 1, wersja 32-bitowa. Uwaga: Program DB2 UDB instaluje najnowszą obsługiwaną wersję pakietu programistycznego, jeśli nie jest jeszcze zainstalowana, chyba że dana instalacja DB2 UDB jest aktualizacją poprzedniej instalacji programu DB2 UDB wersja 8. Jeśli aktualizowana jest wcześniejsza instalacja programu DB2 UDB wersja 8, konieczne jest ręczne zainstalowanie obsługiwanego pakietu programistycznego z dysku CD-ROM. Perl Perl 5.8 PHP PHP 4.3.4 lub nowsza wersja 64-bitowa instancja na serwerze DB2 UDB dla dystrybucji systemu Linux opartych na jądrze 2.6 na procesorach x86-64 obsługuje następujące języki programowania i kompilatory: C GNU/Linux gcc wersja 3.3 C++ GNU/Linux g++ wersja 3.3 Uwaga: Te wersje kompilatora GNU/Linux g++ nie przyjmują parametrów całkowitych w przypadku niektórych funkcji fstream. Więcej informacji na ten temat można znaleźć w dokumentacji kompilatora. Java Program DB2 UDB nie obsługuje obecnie 64-bitowych pakietów programistycznych Java Developer Kit dla systemu Linux na procesorach x86-64. Perl Perl 5.8 PHP PHP 4.3.4 lub nowsza wersja Dostosowywanie opcji prekompilacji i wiązania dla procedur SQL Opcje prekompilacji i wiązania dla procedur SQL można dostosowywać, ustawiając dla całej instancji zmienną rejestru DB2 DB2_SQLROUTINE_PREPOPTS za pomocą komendy: db2set DB2_SQLROUTINE_PREPOPTS= Oprócz opcji udokumentowanych dla wersji 8.2, dozwolona jest opcja REOPT: BLOCKING {UNAMBIG | ALL | NO} DATETIME {DEF | USA | EUR | ISO | JIS | LOC} DEGREE {1 | stopień-paralelizmu | ANY} DYNAMICRULES {BIND | RUN} EXPLAIN {NO | YES | ALL} EXPLSNAP {NO | YES | ALL} FEDERATED {NO | YES} INSERT {DEF | BUF} ISOLATION {CS | RR | UR | RS | NC} QUERYOPT poziom-optymalizacji REOPT {ALWAYS | NONE | ONCE} VALIDATE {RUN | BIND} Wymagana opcja kompilatora C/C++ (Linux na 64-bitowych procesorach POWER) Gdy kompilator gcc/g++ używany jest do budowania aplikacji i podprogramów C/C++ dla 64-bitowej instancji na serwerze DB2 Universal Database dla systemu Linux na procesorach POWER wymagana jest opcja kompilatora "-m64". W przypadku użycia kompilatora xlc/xlC do budowania aplikacji i podprogramów C/C++ dla 64-bitowej instancji na serwerze DB2 Universal Database dla systemu Linux na procesorach POWER wymagana jest opcja kompilatora "-q64". Komenda kompilacji i konsolidacji dla procedur Micro Focus COBOL zapisanych w bazie (HP-UX) Opisana w dokumentacji programu DB2 Universal Database, wersja 8.2, komenda kompilacji i konsolidacji do budowania procedur zapisanych w bazie przy użyciu języka Micro Focus COBOL w systemach HP-UX jest niepoprawna. Poprawna jest komenda kompilacji zawarta w aktualnym skrypcie sqllib/samples/cobol_mf/bldrtn. Komendy kompilacji i konsolidacji zostały obecnie połączone w jedną komendę z użyciem opcji -y w celu określenia, że pożądanym wyjściem jest biblioteka współużytkowana. Najniższa obsługiwana wersja kompilatora Micro Focus COBOL (HP-UX) Najniższa obsługiwana wersja kompilatora Micro Focus COBOL i środowiska wykonawczego dla systemu HP-UX to Micro Focus Server Express 2.2 - Service Pack 1 wraz z pakietem poprawek Fixpack22.02_14 for HP-UX PA-RISC 11.x (32/64-bitowy). Ten pakiet poprawek jest dostępny w serwisie WWW Micro Focus Support Line pod adresem http://supportline.microfocus.com . Ustawianie zmiennych środowiskowych dla procedur języka Micro Focus COBOL zapisanych w bazie (system Windows) Aby można było uruchamiać zewnętrzne procedury Micro Focus COBOL w systemie Windows, konieczne jest trwałe ustawienie zmiennych środowiskowych Micro Focus COBOL jako zmiennych systemowych. Procedura Aby ustawić zmienne środowiskowe jako zmienne systemowe: 1. Otwórz Panel sterowania. 2. Kliknij dwukrotnie ikonę System. 3. Wybierz kartę Zaawansowane. 4. Kliknij przycisk Zmienne środowiskowe. 5. Dodaj zmienne do listy Zmienne systemowe. Ustawienie zmiennych środowiskowych na liście Zmienne użytkownika w wierszu komend lub w skrypcie jest niewystarczające. Podręcznik Application Development Guide: Call Level Interface (CLI) Parametr konfiguracyjny Trusted_Connection interfejsu CLI/ODBC Opis parametru: Umożliwia realizację połączenia z bieżącym uwierzytelnionym użytkownikiem. Składnia: Trusted_Connection=Yes Uwaga: Ten parametr nie działa, jeśli zostanie ustawiony w pliku db2cli.ini. Należy zamiast tego podać go w łańcuchu połączenia dla funkcji SQLDriverConnect(). Ustawienie domyślne: interfejs DB2 CLI używa identyfikatora użytkownika i hasła podanego w łańcuchu połączenia dla funkcji SQLDriverConnect(), a nie bieżącego uwierzytelnionego użytkownika. Informacja o użyciu: Aplikacje interfejs DB2 CLI łączące się z bazą danych zazwyczaj łączą się za pomocą funkcji SQLDriverConnect(). Jednym z argumentów wejściowych tej funkcji jest wartość DriverCompletion, która określa, kiedy okno zostanie otwarte. Poniżej zostały podane wartości argumentu DriverCompletion: * SQL_DRIVER_PROMPT: Okno dialogowe jest zawsze zainicjowane. * SQL_DRIVER_COMPLETE: Okno dialogowe jest inicjowane tylko, gdy w łańcuchu połączenia brakuje informacji. * SQL_DRIVER_COMPLETE_REQUIRED: Okno dialogowe jest inicjowane tylko, gdy w łańcuchu połączenia brakuje informacji. Wymagane są tylko informacje obowiązkowe. Użytkownik jest pytany tylko o wymagane informacje. * SQL_DRIVER_NOPROMPT: Użytkownik nie jest pytany o żadne informacje. Następuje próba połączenia przy użyciu informacji zawartych w łańcuchu połączenia. Jeśli brakuje informacji, jest zwracany błąd SQL_ERROR. Uwaga: Szczegółowe informacje o argumencie DriverCompletion można znaleźć w dokumentacji funkcji SQLDriverConnect(). Niektóre aplikacje, na przykład występujące w środowisku Kerberos, mogą wymagać, aby użytkownik mógł połączyć się z serwerem DB2 UDB bez podawania identyfikatora użytkownika lub hasła. Jeśli aplikacja używa opcji SQL_DRIVER_NO_PROMPT w wywołaniu funkcji SQLDriverConnect(), następuje próba połączenia bez uwierzytelnienia użytkownika. Wtedy parametr jest niepotrzebny. W przypadku korzystania z aplikacji innej firmy, gdy poziom zapytania używany przez aplikację różni się od SQL_DRIVER_NO_PROMPT, interfejs DB2 CLI otworzy okno z żądaniem podania brakujących informacji. Ustawienie parametru Trusted_Connection na wartość Yes poprzez podanie go w wejściowym łańcuchu połączenia dla funkcji SQLDriverConnect() ("Trusted_Connection=Yes") spowoduje, że interfejs DB2 CLI zignoruje dowolny łańcuch identyfikatora użytkownika lub hasła (włącznie z pustymi łańcuchami) w łańcuchu połączenia oraz zignoruje poziom zapytania funkcji połączenia. interfejs DB2 CLI używa bieżącego uwierzytelnionego użytkownika podczas próby połączenia z bazą danych. Jeśli próba połączenia nie powiedzie się, użytkownik zostanie zapytany o identyfikator użytkownika i hasło. Ten parametr jest używany tylko w łańcuchu połączenia funkcji SQLDriverConnect(), ustawienie go w pliku db2cli.ini nie ma żadnego skutku. Aktualizacja tabeli diagnostycznej dla funkcji SQLDescribeParam (CLI) Funkcja SQLDescribeParam() zwraca opis znacznika parametru powiązanego z przygotowaną instrukcją SQL. W tabeli diagnostycznej został zaktualizowany stan SQLSTATE HYC00. Diagnostyka Tabela 24. Stany SQLSTATE funkcji SQLDescribeParam +--------+-------------------+----------------------------------------+ | SQLSTA | Opis | Wyjaśnienie | | TE | | | +--------+-------------------+----------------------------------------+ | HYC00 | Sterownik nie | Procedury zapisane w bazie dla funkcji | | | może wykonać | schematu są niedostępne na tym | | | operacji | serwerze. Zainstaluj je na serwerze i | | | | upewnij się, że są dostępne. | +--------+-------------------+----------------------------------------+ Asynchroniczne wykonywanie funkcji interfejsu CLI Interfejs CLI (Call Level Interface) programu DB2 (DB2 CLI) umożliwia asynchroniczne uruchamianie pewnego podzbioru funkcji. Sterownik interfejsu DB2 CLI zwraca sterowanie do aplikacji po wywołaniu funkcji, ale zanim funkcja zakończy działanie. Funkcja zwraca wartość SQL_STILL_EXECUTING za każdym razem, gdy jest wywoływana, aż zakończy działanie, kiedy to zwraca inną wartość (na przykład SQL_SUCCESS). Wykonywanie asynchroniczne jest korzystne tylko w jednowątkowych systemach operacyjnych. Aplikacje działające w wielowątkowych systemach operacyjnych powinny uruchamiać funkcje w osobnych wątkach. Asynchronicznie można wykonywać te funkcje, które podczas normalnej pracy wysyłają żądanie do serwera, a następnie czekają na odpowiedź. Funkcja działająca asynchronicznie zamiast czekać zwraca sterowanie do aplikacji. Aplikacja może wykonywać inne zadania albo zwrócić sterowanie do systemu operacyjnego i przy użyciu przerwania odpytywać okresowo funkcję do czasu uzyskania kodu powrotu innego niż SQL_STILL_EXECUTING. Obsługa wykonywania asynchronicznego funkcji interfejsu CLI jest dostępna w programie DB2 Universal Database (UDB), począwszy od wersji 8.2 z pakietem poprawek 1 (odpowiednika wersji 8.1 z pakietem poprawek 8). Dokumentację tej opcji można znaleźć w Centrum informacyjnym programu DB2 UDB, wersja 7, pod adresem http://publib.boulder.ibm.com/infocenter/db2v7luw/index.jsp. Wszystkie informacje z dokumentacji wersji 7 odnoszą się również do wersji 8.2 z pakietem poprawek 1 (odpowiadającej wersji 8.1 z pakietem poprawek 8) i nowszych. Centrum informacyjne programu DB2, wersja 8, nie zawiera żadnej dokumentacji dotyczącej tej opcji. Atrybut połączenia SQL_ATTR_PING_DB SQL_ATTR_PING_DB (DB2 CLI, wersja 8.2) Atrybut SQL_ATTR_PING_DB jest to 32-bitowa liczba całkowita, której używa się łącznie z funkcją SQLGetConnectAttr() do uzyskiwania czasu odpowiedzi sieci dla istniejącego połączenia między klientem DB2 UDB a serwerem DB2 UDB. Czas odpowiedzi jest podawany w mikrosekundach. Jeśli połączenie zostało wcześniej nawiązane, a następnie zerwane przez bazę danych, zwracana jest wartość 0. Jeśli połączenie zostało zamknięte przez aplikację, zgłaszany jest stan SQLSTATE 08003. Ten atrybut połączenia może zostać zwrócony przez funkcję SQLGetConnectAttr(), ale nie można go ustawiać przy użyciu funkcji SQLSetConnectAttr(). Każda próba ustawienia tego atrybutu spowoduje otrzymanie stanu SQLSTATE HYC00 (Sterownik nie może wykonać operacji). Funkcja SQLBindParameter (CLI) W dokumentacji funkcji SQLBindParameter opis parametru wejściowego jest niepoprawny. Poprawny opis ma następującą postać: Parametr wejściowy Wartość ColumnSize równa 0 oznacza, że interfejs DB2 CLI będzie używał maksymalnej długości dopuszczalnej dla typu SQL dostarczanego jako parametr wielkości kolumny lub procedury zapisanej w bazie. Interfejs DB2 CLI wykona wszelkie niezbędne konwersje, używając tej wielkości. Funkcja SQLMoreResults (CLI) W dokumentacji funkcji SQLMoreResults odwołanie do atrybutu instrukcji SQL_ATTR_ROW_ARRAY_SIZE jest niepoprawne. Poprawnym atrybutem instrukcji jest SQL_ATTR_PARAMSET_SIZE. Sekcja opisująca składnię powinna wyglądać następująco: Ta funkcja może być używana do sekwencyjnego zwracania wielu wyników w tabeli wynikowej w przypadku wykonywania: * zapytania parametrycznego z tablicą wartości parametrów wejściowych określonych z atrybutem instrukcji SQL_ATTR_PARAMSET_SIZE i funkcją SQLBindParameter() Dodatkowe atrybuty środowiska Poniższe atrybuty połączenia interfejsu CLI są również obsługiwane jako atrybuty środowiska interfejsu CLI: * SQL_ATTR_INFO_ACCTSTR * SQL_ATTR_INFO_APPLNAME * SQL_ATTR_INFO_USERID * SQL_ATTR_INFO_WRKSTNNAME Informacje na temat tych atrybutów można znaleźć w dokumentacji atrybutów połączeń interfejsu CLI w Centrum informacyjnym DB2 lub w podręczniku CLI Guide and Reference Volume 2. Wymagania dotyczące dynamicznych kursorów przewijalnych Aby możliwe było wykonywanie operacji aktualizacji i usuwania wierszy w tabeli wynikowej dynamicznego kursora przewijalnego, instrukcja UPDATE lub DELETE musi zawierać wszystkie kolumny co najmniej jednego klucza unikalnego w tabeli podstawowej. Może to być klucz podstawowy lub dowolny inny klucz unikalny. Parametr konfiguracyjny RetCatalogAsCurrServer interfejsu CLI/ODBC Opis parametru: Funkcje katalogu zwracają dla kolumn katalogu wartość CURRENT SERVER zamiast wartości pustej. Składnia parametru w pliku db2cli.ini: RetCatalogAsCurrServer= 0 | 1 Ustawienie domyślne: Jeśli docelowy menedżer DBMS zwróci wartość pustą dla kolumn katalogu, wartość CURRENT SERVER nie zostanie zapełniona. Informacja o użyciu: Jeśli funkcje katalogu dla docelowego menedżera DBMS zwrócą wartość pustą dla kolumn katalogu, nadanie parametrowi RetCatalogAsCurrServer wartości 1 spowoduje, że menedżer DBMS zwróci w zamian wartość CURRENT SERVER. * 0 = funkcje katalogu zwracają wartość pustą dla kolumn katalogu (domyślnie). * 1 = funkcje katalogu zwracają wartość CURRENT SERVER zamiast wartości pustej dla kolumn katalogu. Załóżmy na przykład, że funkcja katalogu SQLTables() zwraca tabelę wynikową, w której wartości w kolumnie TABLE_CAT są puste. Nadanie parametrowi RetCatalogAsCurrServer wartości 1 spowoduje, że menedżer DBMS zwróci w kolumnie TABLE_CAT wartość CURRENT SERVER. Uwaga: Ten parametr jest obsługiwany przez program DB2 UDB dla systemów Linux, UNIX(R) i Windows(R) w wersji 8.2 z pakietem poprawek 3 (odpowiednik wersji 8.1 z pakietem poprawek 10) i w wersjach nowszych. Parametr konfiguracyjny ReceiveTimeout interfejsu CLI/ODBC Opis parametru: Określa (w sekundach) czas oczekiwania na odpowiedź serwera przez nawiązane połączenie, po jakim próba zostanie zakończona i wygenerowany zostanie błąd przekroczenia limitu czasu komunikacji. Składnia parametru w pliku db2cli.ini: ReceiveTimeout = 0 | 1 | 2 | ... | 32767 Ustawienie domyślne: Klient czeka przez nieograniczenie długi czas na odpowiedź z serwera przez nawiązane połączenie. Równoważny atrybut połączenia: SQL_ATTR_RECEIVE_TIMEOUT Informacja o użyciu: Wartość domyślna 0 oznacza, że klient będzie czekał na odpowiedź przez nieograniczenie długi czas. Limit czasu odbioru nie obowiązuje podczas nawiązywania połączenia; parametr ten jest obsługiwany tylko w przypadku protokołu TCP/IP i jest ignorowany dla wszystkich innych protokołów. Atrybut połączenia SQL_ATTR_RECEIVE_TIMEOUT SQL_ATTR_RECEIVE_TIMEOUT (interfejs CLI DB2 wersja 8) 32-bitowa wartość całkowita określająca w sekundach czas oczekiwania na odpowiedź serwera przez nawiązane połączenie, po jakim próba zostanie zakończona i wygenerowany zostanie błąd przekroczenia limitu czasu komunikacji. Wartość domyślna 0 oznacza, że klient będzie czekał na odpowiedź przez nieograniczenie długi czas. Limit czasu odbioru nie obowiązuje podczas nawiązywania połączenia; parametr ten jest obsługiwany tylko w przypadku protokołu TCP/IP i jest ignorowany dla wszystkich innych protokołów. Dozwolone są wartości całkowite z zakresu od 0 do 32767. Parametr konfiguracyjny Reopt interfejsu CLI/ODBC Opis parametru: Włącza optymalizację zapytań lub ponowną optymalizację instrukcji SQL, które zawierają rejestry specjalne lub znaczniki parametrów. Składnia parametru w pliku db2cli.ini: Reopt = 2 | 3 | 4 Ustawienie domyślne: W czasie wykonywania zapytania nie jest przeprowadzana optymalizacja. W odniesieniu do rejestrów specjalnych lub znaczników parametrów używane są domyślne wartości oszacowane, wybrane przez kompilator. Równoważna instrukcja i atrybut połączenia: SQL_ATTR_REOPT Informacja o użyciu: Optymalizacja polega na przypisaniu rejestrom specjalnym lub znacznikom parametrów wartości dostępnych w czasie wykonywania zapytania zamiast domyślnych wartości oszacowanych, wybieranych przez kompilator. Poprawne wartości parametru to: * 2 = SQL_REOPT_NONE. Jest to ustawienie domyślne. W czasie wykonywania zapytania nie jest przeprowadzana optymalizacja. W odniesieniu do rejestrów specjalnych lub znaczników parametrów używane są domyślne wartości oszacowane, wybrane przez kompilator. Do wykonywania dynamicznych instrukcji SQL używany jest domyślny zestaw pakietów "NULLID". * 3 = SQL_REOPT_ONCE. Optymalizacja zapytania przeprowadzana jest w czasie pierwszego wykonania zapytania. Używany jest zbiór pakietów "NULLIDR1" powiązany przy użyciu opcji wiązania REOPT ONCE. * 4 = SQL_REOPT_ALWAYS. Optymalizacja lub ponowna optymalizacja przeprowadzana jest podczas każdego wykonania zapytania. Używany jest zbiór pakietów "NULLIDRA" powiązany przy użyciu opcji wiązania REOPT ALWAYS. "NULLIDR1" i "NULLIDRA" to zarezerwowane nazwy zbiorów pakietów; gdy są one używane, niejawnie ustawiana jest odpowiednio opcja REOPT ONCE lub REOPT ALWAYS. Te zbiory pakietów należy utworzyć jawnie przy użyciu następujących komend: db2 bind db2clipk.bnd collection NULLIDR1 db2 bind db2clipk.bnd collection NULLIDRA W razie jednoczesnego określenia parametrów Reopt i CurrentPackageSet, parametr CurrentPackageSet ma pierwszeństwo. Instrukcja SQL_ATTR_REOPT i atrybut połączenia SQL_ATTR_REOPT (DB2 CLI v8) 32-bitowa wartość całkowita, która umożliwia optymalizację zapytań dla instrukcji SQL zawierających rejestry specjalne lub znaczniki parametrów. Optymalizacja polega na przypisaniu rejestrom specjalnym lub znacznikom parametrów wartości dostępnych w czasie wykonywania zapytania zamiast domyślnych wartości oszacowanych, wybieranych przez kompilator. Poprawne wartości atrybutu to: * 2 = SQL_REOPT_NONE. Jest to ustawienie domyślne. W czasie wykonywania zapytania nie jest przeprowadzana optymalizacja. W odniesieniu do rejestrów specjalnych lub znaczników parametrów używane są domyślne wartości oszacowane, wybrane przez kompilator. Do wykonywania dynamicznych instrukcji SQL używany jest domyślny zestaw pakietów "NULLID". * 3 = SQL_REOPT_ONCE. Optymalizacja zapytania przeprowadzana jest w czasie pierwszego wykonania zapytania. Używany jest zbiór pakietów "NULLIDR1" powiązany przy użyciu opcji wiązania REOPT ONCE. * 4 = SQL_REOPT_ALWAYS. Optymalizacja lub ponowna optymalizacja przeprowadzana jest podczas każdego wykonania zapytania. Używany jest zbiór pakietów "NULLIDRA" powiązany przy użyciu opcji wiązania REOPT ALWAYS. "NULLIDR1" i "NULLIDRA" to zarezerwowane nazwy zbiorów pakietów; gdy są one używane, niejawnie ustawiana jest odpowiednio opcja REOPT ONCE lub REOPT ALWAYS. Te zbiory pakietów należy utworzyć jawnie przy użyciu następujących komend: db2 bind db2clipk.bnd collection NULLIDR1 db2 bind db2clipk.bnd collection NULLIDRA Atrybuty SQL_ATTR_REOPT i SQL_ATTR_CURRENT_PACKAGE_SET wykluczają się nawzajem, jeśli zatem jeden z nich jest ustawiony, użycie drugiego jest niedozwolone. Parametr konfiguracyjny CurrentPackageSet interfejsu CLI/ODBC Opis parametru: Powoduje wywołanie instrukcji SET CURRENT PACKAGESET po każdym połączeniu. Składnia parametru w pliku db2cli.ini: CurrentPackageSet = nazwa schematu Ustawienie domyślne: Klauzula nie jest dodawana. Równoważny atrybut połączenia: SQL_ATTR_CURRENT_PACKAGE_SET Informacja o użyciu: Ta opcja powoduje wywoływanie polecenia SET CURRENT PACKAGESET SQL z wartością CurrentPackageSet po każdym połączeniu z bazą danych. Domyślnie klauzula ta nie jest dołączana. Instrukcja SET CURRENT PACKAGESET SQL określa nazwę schematu (identyfikator kolekcji) używany do wybierania pakietu dla następnych instrukcji SQL. Aplikacje CLI/ODBC wywołują dynamiczne instrukcje SQL. Opisywana opcja umożliwia sterowanie uprawnieniami, z jakimi instrukcje te są wykonywane: * Wybierz schemat, który ma być używany do uruchamiania instrukcji SQL z aplikacji CLI/ODBC. * Dopilnuj, aby obiekty w schemacie miały odpowiednie uprawnienia, a następnie przeprowadź ponowne wiązanie. * Ustaw opcję CurrentPackageSet tak, aby wskazywała na ten schemat. Instrukcje SQL uruchamiane z aplikacji CLI/ODBC będą teraz działały w tym określonym schemacie ze zdefiniowanymi w nim uprawnieniami. Następujące nazwy zbiorów pakietów są zarezerwowane: "NULLID", "NULLIDR1", "NULLIDRA". W razie jednoczesnego określenia parametrów Reopt i CurrentPackageSet, parametr CurrentPackageSet ma pierwszeństwo. Atrybut połączenia SQL_ATTR_CURRENT_PACKAGE_SET SQL_ATTR_CURRENT_PACKAGE_SET (DB2 CLI v5) Łańcuch znaków zakończony znakiem o kodzie zero określający nazwę schematu (identyfikator kolekcji) służącego do wybierania pakietu dla następnych instrukcji SQL. Ustawienie tego atrybutu powoduje wywołanie instrukcji SQL SET CURRENT PACKAGESET. Jeśli atrybut ten zostanie ustawiony przed połączeniem, instrukcja SQL SET CURRENT PACKAGESET zostanie wywołana w czasie połączenia. Aplikacje CLI/ODBC wywołują dynamiczne instrukcje SQL. Opisywany atrybut połączenia umożliwia sterowanie uprawnieniami, z jakimi instrukcje te są wykonywane: * Wybierz schemat, który ma być używany do uruchamiania instrukcji SQL z aplikacji CLI/ODBC. * Dopilnuj, aby obiekty w schemacie miały odpowiednie uprawnienia, a następnie przeprowadź ponowne wiązanie. Zwykle wymagać to będzie powiązania pakietów CLI (sqllib/bnd/db2cli.lst) z opcją COLLECTION . Szczegółowe informacje można znaleźć w opisie komendy BIND. * Ustaw opcję CURRENTPACKAGESET tak, aby wskazywała na ten schemat. Instrukcje SQL uruchamiane z aplikacji CLI/ODBC będą teraz działały w tym określonym schemacie ze zdefiniowanymi w nim uprawnieniami. Alternatywną metodą określenia nazwy schematu jest ustawienie parametru konfiguracyjnego CLI/ODBC CURRENTPACKAGESET. Następujące nazwy zbiorów pakietów są zarezerwowane: "NULLID", "NULLIDR1", "NULLIDRA". Atrybuty SQL_ATTR_REOPT i SQL_ATTR_CURRENT_PACKAGE_SET wykluczają się nawzajem, jeśli zatem jeden z nich jest ustawiony, użycie drugiego jest niedozwolone. Parametr konfiguracyjny MapBigintCDefault interfejsu CLI/ODBC Opis parametru: Określa domyślny typ C kolumn BIGINT i znaczników parametrów. Składnia parametru w pliku db2cli.ini: MapBigintCDefault = 0 | 1 | 2 Ustawienie domyślne: Domyślna reprezentacja typu C dla danych BIGINT to SQL_C_BIGINT. Informacja o użyciu: Parametr MapBigintCDefault steruje typem C używanym, gdy dla kolumn i znaczników parametrów typu BIGINT określono reprezentację SQL_C_DEFAULT. Ten parametr powinien być używany przede wszystkim z aplikacjami firmy Microsoft, takimi jak Microsoft Access, które nie obsługują 8-bajtowych liczb całkowitych. Parametr MapBigintCDefault ustawia się w następujący sposób: * 0 - dla domyślnej reprezentacji typu C: SQL_C_BIGINT * 1 - dla domyślnej reprezentacji typu C: SQL_C_CHAR * 2 - dla domyślnej reprezentacji typu C: SQL_C_WCHAR Parametr ten ma wpływ na zachowanie funkcji interfejsu CLI, gdzie jako typ C może być określona reprezentacja SQL_C_DEFAULT, na przykład SQLBindParameter(), SQLBindCol() i SQLGetData(). Parametr konfiguracyjny DescribeOutputLevel interfejsu CLI/ODBC Opis parametru: Określa poziom informacji opisowych kolumny wyjściowej, której wymaga sterownik CLI podczas żądań przygotowania lub opisu. Składnia parametru w pliku db2cli.ini: DescribeOutputLevel = 0 | 1 | 2 | 3 Ustawienie domyślne: Żąda informacji opisowych wymienionych na poziomie 2 (patrz Tabela 25). Informacja o użyciu: Ten parametr steruje wielkością informacji, których wymaga sterownik CLI w żądaniach przygotowania lub opisu. Domyślnie, gdy serwer odbiera żądanie opisu, zwraca w odpowiedzi informacje zawarte na poziomie 2 (patrz Tabela 25) dla kolumn tabeli wynikowej. Jednak aplikacja może nie potrzebować wszystkich tych informacji lub może potrzebować informacji dodatkowych. Przypisanie parametrowi DescribeOutputLevel poziomu odpowiedniego dla potrzeb aplikacji może poprawić wydajność, ponieważ wielkość danych opisu przesyłanych między klientem i serwerem zostaje ograniczona do minimum wymaganego przez aplikację. Jeśli przypisany parametrowi DescribeOutputLevel poziom będzie zbyt niski, może to zakłócić funkcjonowanie aplikacji (zależnie od jej wymagań). Funkcje interfejsu CLI przeznaczone do pobierania informacji opisowych nie muszą zakończyć działania niepowodzeniem, ale zwrócone przez nie informacje mogą być niekompletne. Obsługiwane ustawienia parametru DescribeOutputLevel to: * 0 - do aplikacji klienta nie są zwracane żadne informacje opisowe. * 1 - do aplikacji klienta zwracane są informacje opisowe zaliczane do poziomu 1 (patrz Tabela 25). * 2 - (domyślne) do aplikacji klienta zwracane są informacje opisowe zaliczane do poziomu 2 (patrz Tabela 25). * 3 - do aplikacji klienta zwracane są informacje opisowe zaliczane do poziomu 3 (patrz Tabela 25). W poniższej tabeli przedstawiono listę pól, które tworzą informacje opisowe zwracane przez serwer w odpowiedzi na żądanie przygotowania lub opisu. Pola te pogrupowano w poziomy, a parametr konfiguracyjny interfejsu CLI/ODBC DescribeOutputLevel steruje numerem poziomu informacji, których żąda sterownik CLI. Uwaga: Niektóre serwery DB2 nie obsługują wszystkich poziomów informacji opisowych. Wszystkie poziomy informacji opisowych są obsługiwane przez następujące serwery DB2: DB2 Universal Database (UDB) dla systemów Linux, UNIX i Windows, wersja 8 i nowsze, DB2 UDB for z/OS, wersja 8 i nowsze oraz DB2 UDB for iSeries, wersja 5 wydanie 3 i nowsze. Wszystkie pozostałe serwery DB2 obsługują tylko wartości 2 lub 0 parametru DescribeOutputLevel. Tabela 25. Poziomy informacji opisowych. +-----------------------+----------------------+----------------------+ | Poziom 1 | Poziom 2 | Poziom 3 | +-----------------------+----------------------+----------------------+ | SQL_DESC_COUNT | wszystkie pola | wszystkie pola | | SQL_COLUMN_COUNT | poziomu 1 | poziomów 1, | | SQL_DESC_TYPE | oraz: | 2 oraz: | | SQL_DESC_CONCISE_TYPE | SQL_DESC_NAME | SQL_DESC_BASE_COLUMN | | SQL_COLUMN_LENGTH | SQL_DESC_LABEL | _NAME | | SQL_DESC_OCTET_LENGTH | SQL_COLUMN_NAME | SQL_DESC_UPDATABLE | | SQL_DESC_LENGTH | SQL_DESC_UNNAMED | SQL_DESC_AUTO_UNIQUE | | SQL_DESC_PRECISION | SQL_DESC_TYPE_NAME | _ | | SQL_COLUMN_PRECISION | SQL_DESC_DISTINCT_TY | VALUE | | SQL_DESC_SCALE | PE | SQL_DESC_SCHEMA_NAME | | SQL_COLUMN_SCALE | SQL_DESC_REFERENCE_T | SQL_DESC_CATALOG_NAM | | SQL_DESC_DISPLAY_SIZE | YPE | E | | SQL_DESC_NULLABLE | SQL_DESC_STRUCTURED_ | SQL_DESC_TABLE_NAME | | SQL_COLUMN_NULLABLE | TYPE | SQL_DESC_BASE_TABLE_ | | SQL_DESC_UNSIGNED | SQL_DESC_USER_TYPE | NAME | | SQL_DESC_SEARCHABLE | SQL_DESC_LOCAL_TYPE_ | | | SQL_DESC_LITERAL_SUFF | NAME | | | IX | SQL_DESC_USER_DEFINE | | | SQL_DESC_LITERAL_PREF | D_ | | | IX | TYPE_CODE | | | SQL_DESC_CASE_SENSITI | | | | VE | | | | SQL_DESC_FIXED_PREC_S | | | | CALE | | | +-----------------------+----------------------+----------------------+ Podręcznik Application Development Guide: Programming Client Applications Połączenie sterownika uniwersalnego JDBC DB2 typu 4 z programem DB2 for VM/VSE nie jest obsługiwane Sterownik uniwersalny JDBC DB2 nie obsługuje połączenia typu 4 z bazami danych programu DB2 for VM/VSE. Tematy zatytułowane "Setting up the Windows Java environment" i "Installing the DB2 Universal JDBC Driver" w podręczniku Application Development Guide: Programming Client Applications, i w Centrum informacyjnym programu DB2 UDB zawierają nieprawidłowe informacje, że sterownik uniwersalny JDBC DB2 obsługuje połączenie typu 4 z bazami danych programu DB2 for VM/VSE. Koncentrator połączeń sterownika uniwersalnego JDBC DB2 i równoważenie obciążeń sysplex Aplikacje Java uzyskujące dostęp do serwerów DB2 UDB for z/OS(R) za pomocą produktu DB2 Universal JDBC Type 4 Connectivity mogą skorzystać z jego funkcji koncentratora połączeń i równoważenia obciążeń sysplex. Funkcje te są podobne do funkcji koncentratora połączeń i równoważenia obciążeń sysplex programu DB2 Connect. Koncentrator połączeń sterownika uniwersalnego JDBC DB2 może zmniejszyć ilość zasobów, których serwery baz danych DB2 UDB for z/OS(R) wymagają do obsługi dużej liczby aplikacji klienckich, umożliwiając wielu obiektom połączeń korzystanie z tego samego połączenia fizycznego, a tym samym obniżając łączną liczbę połączeń fizycznych z serwerem bazy danych. Równoważenie obciążeń sysplex produktu sterownika uniwersalnego JDBC DB2 może poprawić dostępność grupy współużytkowania danych, ponieważ sterownik uzyskuje często informacje o statusie elementów tej grupy. Na podstawie tych informacji sterownik wyznacza element grupy współużytkowania danych, do którego powinna zostać skierowana następna transakcja. Dzięki równoważeniu obciążeń sysplex serwer DB2 UDB for z/OS i program Workload Manager dla systemu z/OS (WLM) zapewniają, że praca jest wydajnie rozkładana na elementy grupy współużytkowania danych i że w przypadku wystąpienia niepowodzenia na jednym elemencie grupy współużytkowania danych praca zostanie przeniesiona do innego elementu. Sterownik uniwersalny JDBC DB2 oferuje obiekty transportu i globalną pulę obiektów transportu do obsługi koncentratora połączeń i równoważenia obciążeń sysplex. Każdemu fizycznemu połączeniu z serwerem bazy danych odpowiada jeden obiekt transportu. Włączając koncentrator połączeń i równoważenie obciążeń sysplex, podaje się maksymalną liczbę obiektów transportu, a tym samym ustawia się maksymalną liczbę połączeń fizycznych z serwerem bazy danych w dowolnym momencie. Na poziomie sterownika ograniczenia liczby obiektów transportu można ustawić przy użyciu właściwości konfiguracyjnych sterownika uniwersalnego JDBC DB2. Na poziomie połączenia można włączać i wyłączać koncentrator połączeń sterownika uniwersalnego JDBC DB2 i równoważenie obciążeń sysplex oraz ustawiać limity liczby obiektów transportu przy użyciu właściwości obiektu DataSource. Globalną pulę obiektów transportu można monitorować w jeden z następujących sposobów: * używając śledzenia uruchamianego przy użyciu właściwości konfiguracyjnych sterownika uniwersalnego JDBC DB2, * używając aplikacyjnego interfejsu programistycznego (API). Właściwości konfiguracyjne sterownika uniwersalnego JDBC DB2 dotyczące koncentratora połączeń i równoważenia obciążeń sysplex Wszystkie poniższe właściwości konfiguracyjne są zawiązane z koncentratorem połączeń i równoważeniem obciążeń sysplex. db2.jcc.dumpPool Określa typy statystyk zapisywanych dla zdarzeń globalnej puli transportu oprócz zapisywanych statystyk podsumowujących. Globalna pula transportu jest używana do obsługi koncentratora połączeń i równoważenia obciążeń sysplex. Typem danych właściwości db2.jcc.dumpPool jest liczba całkowita (int). Zanim zostaną zapisane jakiekolwiek statystyki, należy ustawić również właściwości konfiguracyjne db2.jcc.dumpPoolStatisticsOnSchedule i db2.jcc.dumpPoolStatisticsOnScheduleFile. Za pomocą właściwości db2.jcc.dumpPool można określić jedną lub kilka spośród następujących typów statystyk: * DUMP_REMOVE_OBJECT (szesnastkowo: X'01', dziesiętnie: 1) * DUMP_GET_OBJECT (szesnastkowo: X'02', dziesiętnie: 2) * DUMP_WAIT_OBJECT (szesnastkowo: X'04', dziesiętnie: 4) * DUMP_SET_AVAILABLE_OBJECT (szesnastkowo: X'08', dziesiętnie: 8) * DUMP_CREATE_OBJECT (szesnastkowo: X'10', dziesiętnie: 16) * DUMP_SYSPLEX_MSG (szesnastkowo: X'20', dziesiętnie: 32) * DUMP_POOL_ERROR (szesnastkowo: X'80', dziesiętnie: 128) Aby śledzić jeden lub wiele typów zdarzeń, należy dodać wartości tych typów zdarzeń do śledzenia. Załóżmy na przykład, że chcemy śledzić zdarzenia DUMP_GET_OBJECT i DUMP_CREATE_OBJECT. Liczbowymi odpowiednikami tych wartości są 2 i 16, a więc dla właściwości db2.jcc.dumpPool należy podać wartość 18. Wartością domyślną jest 0. Oznacza ona, że dla globalnej puli transportu zapisywane będą tylko statystyki podsumowujące. db2.jcc.dumpPoolStatisticsOnSchedule Określa, jak często (w sekundach) statystyki globalnej puli transportu są zapisywane w pliku podanym we właściwości konfiguracyjnej db2.jcc.dumpPoolStatisticsOnScheduleFile. Globalna pula transportu jest używana do obsługi koncentratora połączeń i równoważenia obciążeń sysplex. Wartością domyślną jest -1. Oznacza ona, że statystyki globalnej puli transportu nie są zapisywane. db2.jcc.dumpPoolStatisticsOnScheduleFile Określa nazwę pliku, do którego zapisywane są statystyki globalnej puli transportu. Globalna pula transportu jest używana do obsługi koncentratora połączeń i równoważenia obciążeń sysplex. Jeśli właściwość konfiguracyjna db2.jcc.dumpPoolStatisticsOnScheduleFile nie zostanie określona, statystyki globalnej puli transportu nie będą zapisywane. db2.jcc.maxTransportObjectIdleTime Określa czas (w sekundach), przez jaki nieużywany obiekt transportu pozostaje w globalnej puli transportu, zanim zostanie z niej usunięty. Obiekty transportu są używane do obsługi koncentratora połączeń i równoważenia obciążeń sysplex. Wartość domyślna właściwości konfiguracyjnej db2.jcc.maxTransportObjectIdleTime wynosi 60. Nadanie właściwości db2.jcc.maxTransportObjectIdleTime wartości mniejszej niż 0 spowoduje natychmiastowe usuwanie z puli nieużywanych obiektów transportu. To działanie jest niezalecane, ponieważ jego skutkiem może być poważne pogorszenie wydajności. db2.jcc.maxTransportObjectWaitTime Określa maksymalny czas (w sekundach), przez jaki aplikacja czeka na obiekt transportu po osiągnięciu wartości właściwości db2.jcc.maxTransportObjects. Obiekty transportu są używane do obsługi koncentratora połączeń i równoważenia obciążeń sysplex. Gdy aplikacja czeka dłużej niż wartość db2.jcc.maxTransportObjectWaitTime, globalna pula obiektów transportu generuje wyjątek SQLException. Wartość domyślna właściwości konfiguracyjnej db2.jcc.maxTransportObjectWaitTime wynosi -1. Liczba ujemna oznacza, że aplikacja czeka przez czas nieograniczony. db2.jcc.maxTransportObjects Określa górne ograniczenie liczby obiektów transportu w globalnej puli obiektów transportu dla koncentratora połączeń i równoważenia obciążeń sysplex. Gdy liczba obiektów transportu w puli osiągnie wartość db2.jcc.maxTransportObjects, obiekty transportu, które nie były używane dłużej niż wartość db2.jcc.maxTransportObjectIdleTime, są usuwane z puli. Wartością domyślną właściwości konfiguracyjnej db2.jcc.maxTransportObjects jest -1. Oznacza ona, że liczba obiektów transportu w globalnej puli obiektów transportu nie jest ograniczana. db2.jcc.minTransportObjects Określa dolne ograniczenie liczby obiektów transportu w globalnej puli obiektów transportu dla koncentratora połączeń i równoważenia obciążeń sysplex. W chwili tworzenia wirtualnej maszyny języka Java (JVM) w puli nie ma żadnych obiektów transportu. Są one dodawane do puli dopiero wtedy, gdy są potrzebne. Po osiągnięciu wartości db2.jcc.minTransportObjects liczba obiektów transportu w globalnej puli obiektów transportu nie spada nigdy poniżej wartości db2.jcc.minTransportObjects podczas działania tej maszyny JVM. Wartością domyślną właściwości konfiguracyjnej db2.jcc.minTransportObjects jest 0. Każda wartość mniejsza lub równa 0 oznacza, że globalna pula obiektów transportu może stać się pusta. Właściwości obiektu DataSource sterownika uniwersalnego JDBC DB2 dotyczące koncentratora połączeń i równoważenia obciążeń sysplex Wszystkie poniższe właściwości obiektu DataSource sterownika uniwersalnego JDBC DB2 są związane z koncentratorem połączeń i równoważeniem obciążeń sysplex. enableConnectionConcentrator Informuje, czy jest włączona funkcja koncentratora połączeń sterownika uniwersalnego JDBC DB2. Funkcja koncentratora połączeń jest dostępna tylko dla połączeń z serwerami DB2 UDB for z/OS. Właściwość enableConnectionConcentrator jest typu boolowskiego. Wartością domyślną jest false. Jeśli jednak właściwość enableSysplexWLB jest ustawiona na true, wartością domyślną jest true. enableSysplexWLB Informuje, czy jest włączona funkcja równoważenia obciążeń sysplex sterownika uniwersalnego JDBC DB2. Funkcja równoważenia obciążeń sysplex jest dostępna tylko dla połączeń z serwerami DB2 UDB for z/OS. Właściwość enableSysplexWLB jest typu boolowskiego. Wartością domyślną jest false. Jeśli jednak właściwość enableSysplexWLB jest ustawiona na true, właściwość enableConnectionConcentrator jest domyślnie równa true. maxTransportObjects Określa liczbę obiektów transportu, których można używać dla wszystkich połączeń z powiązanym obiektem DataSource. Obiekty transportu są używane do obsługi koncentratora połączeń i równoważenia obciążeń sysplex. Wartość maxTransportObjects jest ignorowana, jeśli właściwości enableConnectionConcentrator lub enableSysplexWLB nie są ustawione w sposób umożliwiający korzystanie z koncentratora połączeń i równoważenia obciążeń sysplex. Typem danych tej właściwości jest liczba całkowita (int). Jeśli wartość maxTransportObjects nie zostanie osiągnięta i obiekt transportu będzie niedostępny w globalnej puli obiektów transportu, pula utworzy nowy obiekt transportu. Gdy zostanie osiągnięta wartość maxTransportObjects, aplikacja czeka przez czas określony we właściwości konfiguracyjnej db2.jcc.maxTransportObjectWaitTime. Jeśli po tym czasie nadal nie będzie dostępnego obiektu transportu w puli, pula wygeneruje wyjątek SQLException. Właściwość maxTransportObjects nie przesłania właściwości konfiguracyjnej db2.jcc.maxTransportObjects. Właściwość maxTransportObjects nie wpływa na połączenia z innych obiektów DataSource. Jeśli wartość maxTransportObjects jest większa niż db2.jcc.maxTransportObjects, wartość maxTransportObjects nie zwiększa wartości db2.jcc.maxTransportObjects. Wartością domyślną właściwości maxTransportObjects jest -1. Oznacza ona, że liczba obiektów transportu dla obiektu DataSource jest ograniczona tylko przez wartość db2.jcc.maxTransportObjects dla sterownika. Przykład włączania funkcji koncentratora połączeń i równoważenia obciążeń sysplex sterownika uniwersalnego JDBC DB2 w serwerze WebSphere Application Server Poniższa procedura stanowi przykład włączania funkcji koncentratora połączeń i równoważenia obciążeń sysplex sterownika uniwersalnego JDBC DB2 za pomocą serwera WebSphere(R) Application Server. Wymagania wstępne Wymagania serwera: * WLM for z/OS, * DB2 UDB for OS/390(R) and z/OS, wersja 7 lub nowsza. Wymagania klienta: * sterownik uniwersalny JDBC DB2 na poziomie pakietu poprawek 10, * WebSphere(R) Application Server, wersja 5.1 lub nowsza. Procedura Aby włączyć funkcje koncentratora połączeń i równoważenia obciążeń sysplex sterownika uniwersalnego JDBC DB2 za pomocą serwera WebSphere Application Server: 1. Upewnij się, że sterownik uniwersalny JDBC DB2 jest na poprawnym poziomie, zapewniającym obsługę funkcji koncentratora połączeń i równoważenia obciążeń sysplex, wydając następującą komendę w procesorze wiersza komend systemu z/OS lub w usługach systemowych w systemie UNIX(R): java com.ibm.db2.jcc.DB2Jcc -version Znajdź w wynikach tej komendy wiersz podobny do tego: [ibm][db2][jcc] Driver: IBM DB2 JDBC Universal Driver Architecture n n n powinno wskazywać wersję 2.7 lub późniejszą. 2. Ustaw właściwości konfiguracyjne sterownika uniwersalnego JDBC DB2 tak, aby włączyć funkcję koncentratora połączeń lub równoważenia obciążeń sysplex dla wszystkich instancji obiektu DataSource utworzonych pod kontrolą sterownika. Ustaw właściwości konfiguracyjne w pliku DB2JccConfiguration.properties. a. Utwórz nowy lub zmień istniejący plik DB2JccConfiguration.properties. b. Ustaw następujące właściwości konfiguracyjne: * db2.jcc.minTransportObjects * db2.jcc.maxTransportObjects * db2.jcc.maxTransportObjectWaitTime * db2.jcc.dumpPool * db2.jcc.dumpPoolStatisticsOnScheduleFile Zacznij od ustawień podobnych do następujących: db2.jcc.minTransportObjects=0 db2.jcc.maxTransportObjects=1500 db2.jcc.maxTransportObjectWaitTime=-1 db2.jcc.dumpPool=0 db2.jcc.dumpPoolStatisticsOnScheduleFile= /home/WAS/logs/srv1/poolstats c. Dodaj ścieżkę katalogu do pliku DB2JccConfiguration.properties do ścieżki klas sterownika uniwersalnego JDBC DB2 serwera WebSphere Application Server. 3. Ustaw właściwości źródła danych sterownika uniwersalnego JDBC DB2 tak, aby włączyć funkcje koncentratora połączeń lub równoważenia obciążeń sysplex. W konsoli administracyjnej serwera WebSphere Application Server ustaw następujące właściwości dla źródła danych, za pomocą którego aplikacja łączy się z serwerem bazy danych: * enableSysplexWLB * enableConnectionConcentrator * maxTransportObjects Załóżmy, że chcemy włączyć zarówno funkcję koncentratora połączeń, jak i funkcję równoważenia obciążeń sysplex. Zacznij od ustawień podobnych do następujących: Tabela 26. Przykład ustawień właściwości źródła danych dla funkcji koncentratora połączeń i równoważenia obciążeń sysplex sterownika uniwersalnego JDBC DB2. +-------------------------+-------------------------------------------+ | Właściwość Ustawienie | +-------------------------+-------------------------------------------+ | enableSysplexWLB true1 | +-------------------------+-------------------------------------------+ | maxTransportObjects 100 | +---------------------------------------------------------------------+ | Uwagi: | | 1. Właściwość enableConnectionConcentrator ma domyślnie wartość | | true, ponieważ właściwość enableSysplexWLB ma wartość true. | +---------------------------------------------------------------------+ 4. Zrestartuj serwer WebSphere Application Server. Metody monitorowania funkcji koncentratora połączeń i równoważenia obciążeń sysplex sterownika uniwersalnego JDBC DB2 Do monitorowania funkcji koncentratora połączeń i równoważenia obciążeń sysplex sterownika uniwersalnego JDBC DB2 konieczne jest monitorowanie globalnej puli obiektów transportu. Globalną pulę obiektów transportu można monitorować w jeden z następujących sposobów: * używając śledzenia uruchamianego przez ustawianie właściwości konfiguracyjnych sterownika uniwersalnego JDBC DB2, * używając aplikacyjnego interfejsu programistycznego (API). Właściwości konfiguracyjne używane do monitorowania globalnej puli obiektów transportu Śledzeniem globalnej puli obiektów transportu sterują właściwości konfiguracyjne db2.jcc.dumpPool, db2.jcc.dumpPoolStatisticsOnSchedule i db2.jcc.dumpPoolStatisticsOnScheduleFile. Na przykład poniższy zestaw ustawień właściwości konfiguracyjnych powoduje zapisywanie komunikatów o błędach sysplex i komunikatów o błędach puli zrzutu co 60 sekund w pliku o nazwie /home/WAS/logs/srv1/poolstats: db2.jcc.dumpPool=DUMP_SYSPLEX_MSG|DUMP_POOL_ERROR db2.jcc.dumpPoolStatisticsOnSchedule=60 db2.jcc.dumpPoolStatisticsOnScheduleFile=/home/WAS/logs/srv1/poolstats Wpis w pliku statystyki puli wygląda mniej więcej tak: time Scheduled PoolStatistics npr:2575 nsr:2575 lwroc:439 hwroc:1764 coc:372 aooc:362 rmoc:362 nbr:2872 tbt:857520 tpo:10 Znaczenia pól są następujące: npr Łączna liczba żądań, które sterownik uniwersalny JDBC DB2 przesłał do puli od czasu jej utworzenia. nsr Liczba pomyślnych żądań, które sterownik uniwersalny JDBC DB2 przesłał do puli od czasu jej utworzenia. Pomyślne żądanie to takie, w wyniku którego pula zwróciła obiekt. lwroc Liczba obiektów, które zostały ponownie wykorzystane, ale nie znajdowały się w puli. Może się tak zdarzyć, gdy obiekt połączenia zwolni obiekt transportu na granicy transakcji. Jeśli obiekt połączenia potrzebuje obiektu transportu później, a oryginalny obiekt transportu nie został użyty przez żaden inny obiekt połączenia, obiekt połączenia może go ponownie wykorzystać. hwroc Liczba ponownie wykorzystanych obiektów z puli. coc Liczba obiektów, które sterownik uniwersalny JDBC DB2 utworzył od czasu utworzenia puli. aooc Liczba obiektów, które przekroczyły czas bezczynności określony we właściwości konfiguracyjnej db2.jcc.maxTransportObjectIdleTime i zostały usunięte z puli. rmoc Liczba obiektów, które zostały usunięte z puli od czasu jej utworzenia. nbr Liczba żądań, które sterownik uniwersalny JDBC DB2 wysłał do puli, a które zostały zablokowane przez pulę z powodu osiągnięcia jej maksymalnej pojemności. Zablokowane żądanie może być pomyślne, jeśli obiekt zostanie zwrócony do puli przed przekroczeniem wartości konfiguracyjnej db2.jcc.maxTransportObjectWaitTime i wygenerowaniem wyjątku. tbt Łączny czas w milisekundach dla żądań, które zostały zablokowane przez pulę. Ten czas może być dużo większy niż czas wykonywania aplikacji, jeśli aplikacja korzysta z wielu wątków. tpo Liczba obiektów, które obecnie znajdują się w puli. Aplikacyjne interfejsy programistyczne do monitorowania globalnej puli obiektów transportu Można pisać aplikacje gromadzące dane statystyczne związane z globalną pulą obiektów transportu. Aplikacje te tworzą obiekty klasy DB2PoolMonitor i wywołują odpowiednie metody do pobierania informacji na temat puli. Na przykład poniższy kod tworzy obiekt do monitorowania globalnej puli obiektów transportu: import com.ibm.db2.jcc.DB2PoolMonitor; DB2PoolMonitor transportObjectPoolMonitor = DB2PoolMonitor.getPoolMonitor (DB2PoolMonitor.TRANSPORT_OBJECT); Po utworzeniu obiektu DB2PoolMonitor do monitorowania globalnej puli obiektów transportu można używać następujących metod. getMonitorVersion Format: public int getMonitorVersion() Pobiera wersję klasy DB2PoolMonitor dostarczaną ze sterownikiem uniwersalnym JDBC DB2. totalRequestsToPool Format: public int totalRequestsToPool() Pobiera łączną liczbę żądań, które sterownik uniwersalny JDBC DB2 wysłał do puli od czasu jej utworzenia. successfullRequestsFromPool Format: public int successfullRequestsFromPool() Pobiera liczbę pomyślnych żądań, które sterownik uniwersalny JDBC DB2 wysłał do puli od czasu jej utworzenia. Pomyślne żądanie to takie, w wyniku którego pula zwróciła obiekt. numberOfRequestsBlocked Format: public int numberOfRequestsBlocked() Pobiera liczbę żądań, wysłanych do puli przez sterownik uniwersalny JDBC DB2, które zostały zablokowane z powodu osiągnięcia maksymalnej pojemności puli. Zablokowane żądanie może być pomyślne, jeśli obiekt zostanie zwrócony do puli przed przekroczeniem wartości konfiguracyjnej db2.jcc.maxTransportObjectWaitTime i wygenerowaniem wyjątku. totalTimeBlocked Format: public long totalTimeBlocked() Pobiera łączny czas - w milisekundach - dla żądań, które zostały zablokowane przez pulę. Ten czas może być dużo większy niż czas wykonywania aplikacji, jeśli aplikacja korzysta z wielu wątków. lightWeightReusedObjectCount Format: public int lightWeightReusedObjectCount() Pobiera liczbę obiektów, które zostały ponownie wykorzystane, ale nie znajdowały się w puli. Może się tak zdarzyć, gdy obiekt połączenia zwolni obiekt transportu na granicy transakcji. Jeśli obiekt połączenia potrzebuje obiektu transportu później, a oryginalny obiekt transportu nie został użyty przez żaden inny obiekt połączenia, obiekt połączenia może go ponownie wykorzystać. heavyWeightReusedObjectCount Format: public int heavyWeightReusedObjectCount() Pobiera liczbę ponownie wykorzystanych obiektów z puli. createdObjectCount Format: public int createdObjectCount() Pobiera liczbę obiektów, które sterownik uniwersalny JDBC DB2 utworzył od czasu utworzenia puli. agedOutObjectCount Format: public int agedOutObjectCount() Pobiera liczbę obiektów, dla których został przekroczony czas bezczynności, określony we właściwości konfiguracyjnej db2.jcc.maxTransportObjectIdleTime, i które zostały usunięte z puli. removedObjectCount Format: public int removedObjectCount() Pobiera liczbę obiektów, które zostały usunięte z puli od czasu jej utworzenia. totalPoolObjects Format: public int totalPoolObjects() Liczba obiektów, które obecnie znajdują się w puli. Parametr konfiguracyjny OleDbReportIsLongForLongTypes interfejsu CLI/ODBC Słowo kluczowe OleDbReportIsLongForLongTypes jest obsługiwane w następujących serwerach baz danych: * DB2 UDB for z/OS, wersja 6 z poprawką PTF UQ93891, * DB2 UDB for z/OS, wersja 7 z poprawką PTF UQ93889, * DB2 UDB for z/OS, wersja 8 z poprawką PTF UQ93890, * DB2 UDB for Linux, UNIX and Windows, wersja 8.2 (odpowiednik wersji 8.1 z pakietem poprawek 7) i nowsze. Opis parametru: Powoduje oznaczanie przez OLE DB typów danych LONG za pomocą opcji DBCOLUMNFLAGS_ISLONG. Składnia parametru w pliku db2cli.ini: OleDbReportIsLongForLongTypes = 0 | 1 Równoważny atrybut instrukcji: SQL_ATTR_REPORT_ISLONG_FOR_LONGTYPES_OLEDB Ustawienie domyślne: Typy LONG (LONG VARCHAR, LONG VARCHAR FOR BIT DATA, LONG VARGRAPHIC i LONG VARGRAPHIC FOR BIT DATA) nie mają ustawionej opcji DBCOLUMNFLAGS_ISLONG, co może powodować użycie kolumn w klauzuli WHERE. Informacja o użyciu: Mechanizm kursora klienta OLE DB i obiekt CommandBuilder dostawcy danych OLE DB dla platformy .NET generują aktualizację i usuwają instrukcje w oparciu o informacje w kolumnie udostępniane przez dostawcę IBM DB2 OLE DB. Jeśli wygenerowana instrukcja zawiera typ LONG w klauzuli WHERE, wykonanie instrukcji zakończy się niepowodzeniem, ponieważ typy LONG nie mogą być używane w wyszukiwaniu z operatorem równości. Ustawienie parametru OleDbReportIsLongForLongTypes na 1 spowoduje zgłaszanie przez dostawcę IBM DB2 OLE DB typów LONG (LONG VARCHAR, LONG VARCHAR FOR BIT DATA, LONG VARGRAPHIC i LONG VARGRAPHIC FOR BIT DATA) przy ustawionej opcji DBCOLUMNFLAGS_ISLONG. Uniemożliwi to stosowanie długich kolumn w klauzuli WHERE. Parametr konfiguracyjny CLI/ODBC OleDbSQLColumnsSortByOrdinal Słowo kluczowe OleDbSQLColumnsSortByOrdinal jest obsługiwane w następujących serwerach baz danych: * DB2 UDB for z/OS, wersja 6 z poprawką PTF UQ93891, * DB2 UDB for z/OS, wersja 7 z poprawką PTF UQ93889, * DB2 UDB for z/OS, wersja 8 z poprawką PTF UQ93890, * DB2 UDB for Linux, UNIX and Windows, wersja 8.2 (odpowiednik wersji 8.1 z pakietem poprawek 7) i nowsze. Opis parametru: Powoduje zwrócenie przez komendę OLE DB IDBSchemaRowset::GetRowset(DBSCHEMA_COLUMNS) zestawu wierszy posortowanych według kolumny ORDINAL_POSITION. Składnia parametru w pliku db2cli.ini: OleDbSQLColumnsSortByOrdinal = 0 | 1 Równoważny atrybut instrukcji: SQL_ATTR_SQLCOLUMNS_SORT_BY_ORDINAL_OLEDB Ustawienie domyślne: Komenda IDBSchemaRowset::GetRowset(DBSCHEMA_COLUMNS) zwraca zestaw wierszy posortowanych według kolumn TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME. Informacja o użyciu: Specyfikacja Microsoft OLE DB wymaga, aby komenda IDBSchemaRowset::GetRowset(DBSCHEMA_COLUMNS) zwracała zestaw wierszy posortowany według kolumn TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME. Dostawca IBM DB2 OLE DB jest zgodny z tą specyfikacją. Jednak aplikacje, które używają dostawcy mostu ODBC firmy Microsoft, zazwyczaj są kodowane tak, aby pobierać zestaw wierszy posortowany według kolumny ORDINAL_POSITION. Nadanie parametrowi OleDbSQLColumnsSortByOrdinal wartości 1 spowoduje, że dostawca zwróci zestaw wierszy posortowany według kolumny ORDINAL_POSITION. Grupa właściwości DB2 Data Source dla dostawcy IBM DB2 OLE DB Dostawca IBM DB2 OLE DB ma dodatkową grupę właściwości: DB2 Data Source. Zestawem właściwości dla źródła danych DB2 jest DBPROPSET_DB2DATASOURCE. Identyfikatorem GUID dla zestawu właściwości jest {0x8a80412a,0x7d94,0x4fec,{0x87,0x3e,0x6c,0xd1,0xcd,0x42,0x0d,0xcd}} Zestaw DBPROPSET_DB2DATASOURCE ma trzy właściwości: * DB2PROP_REPORTISLONGFORLONGTYPES * DB2PROP_RETURNCHARASWCHAR * DB2PROP_SORTBYORDINAL DB2PROP_REPORTISLONGFORLONGTYPES #define DB2PROP_REPORTISLONGFORLONGTYPES 4 Grupa właściwości: DB2 Data Source Zestaw właściwości: DB2PROPSET_DATASOURCE Typ: VT_BOOL Typowy odczyt/zapis: R/W Opis: Zgłasza wartość IsLong dla typów Long Mechanizm kursora klienta OLE DB i obiekt CommandBuilder dostawcy danych OLE DB dla platformy .NET generują aktualizację i usuwają instrukcje w oparciu o informacje w kolumnie udostępniane przez dostawcę IBM DB2 OLE DB. Jeśli wygenerowana instrukcja zawiera typ LONG w klauzuli WHERE, wykonanie instrukcji zakończy się niepowodzeniem, ponieważ typy LONG nie mogą być używane w wyszukiwaniu z operatorem równości. Tabela 27. Wartości właściwości DB2PROP_REPORTISLONGFORLONGTYPES. +----------------+----------------------------------------------------+ | Wartości | Znaczenie | +----------------+----------------------------------------------------+ | VARIANT_TRUE | Powoduje zgłaszanie przez dostawcę IBM DB2 OLE DB | | | typów LONG (LONG VARCHAR, LONG VARCHAR FOR BIT | | | DATA, LONG VARGRAPHIC i LONG VARGRAPHIC FOR BIT | | | DATA) przy ustawionej opcji DBCOLUMNFLAGS_ISLONG. | | | Uniemożliwi to stosowanie długich kolumn w | | | klauzuli WHERE. | +----------------+----------------------------------------------------+ | VARIANT_FALSE | Opcja DBCOLUMNFLAGS_ISLONG nie jest ustawiana dla | | | typów LONG VARCHAR, LONG VARCHAR FOR BIT DATA, | | | LONG VARGRAPHIC i LONG VARGRAPHIC FOR BIT DATA. | | | Jest to ustawienie domyślne. | +----------------+----------------------------------------------------+ DB2PROP_RETURNCHARASWCHAR #define DB2PROP_RETURNCHARASWCHAR 2 Grupa właściwości: DB2 Data Source Zestaw właściwości: DB2PROPSET_DATASOURCE Typ: VT_BOOL Typowy odczyt/zapis: R/W Opis: Zwraca typ Char jako WChar Tabela 28. Wartości właściwości DB2PROP_RETURNCHARASWCHAR. +----------------+----------------------------------------------------+ | Wartości | Znaczenie | +----------------+----------------------------------------------------+ | VARIANT_TRUE | Aplikacja OLE DB opisuje kolumny typu CHAR, | | | VARCHAR, LONG VARCHAR i CLOB jako DBTYPE_WSTR. W | | | funkcji ISequentialStream przyjmuje się, że dane | | | są w stronie kodowej UCS-2. Jest to ustawienie | | | domyślne. | +----------------+----------------------------------------------------+ | VARIANT_FALSE | Aplikacja OLE DB opisuje kolumny typu CHAR, | | | VARCHAR, LONG VARCHAR i CLOB jako DBTYPE_STR. W | | | funkcji ISequentialStream przyjmuje się, że dane | | | są w lokalnej stronie kodowej klienta. | +----------------+----------------------------------------------------+ DB2PROP_SORTBYORDINAL #define DB2PROP_SORTBYORDINAL 3 Grupa właściwości: DB2 Data Source Zestaw właściwości: DB2PROPSET_DATASOURCE Typ: VT_BOOL Typowy odczyt/zapis: R/W Opis: Sortuje według typu Ordinal Specyfikacja Microsoft OLE DB wymaga, aby komenda IDBSchemaRowset::GetRowset(DBSCHEMA_COLUMNS) zwracała zestaw wierszy posortowany według kolumn TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME. Dostawca IBM DB2 OLE DB jest zgodny z tą specyfikacją. Jednak aplikacje, które używają dostawcy mostu ODBC firmy Microsoft, zazwyczaj są kodowane tak, aby pobierać zestaw wierszy posortowany według kolumny ORDINAL_POSITION. Tabela 29. Wartości właściwości DB2PROP_SORTBYORDINAL. +----------------+----------------------------------------------------+ | Wartości | Znaczenie | +----------------+----------------------------------------------------+ | VARIANT_TRUE | Powoduje, że dostawca zwraca zestaw wierszy | | | posortowany według kolumny ORDINAL_POSITION. | +----------------+----------------------------------------------------+ | VARIANT_FALSE | Powoduje, że dostawca zwraca zestaw wierszy | | | posortowany według kolumn TABLE_CATALOG, | | | TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME. Jest to | | | ustawienie domyślne. | +----------------+----------------------------------------------------+ Niepoprawna składnia adresu URL w diagramie składni programu DB2Binder W temacie "Installing the DB2 Universal JDBC Driver", diagram składni programu DB2Binder niepoprawnie definiuje składnię adresu URL dla sterownika uniwersalnego JDBC DB2. Poprawna reprezentacja składni adresu URL dla programu DB2Binder została przedstawiona na poniższym diagramie: Składnia programu DB2Binder +----------------------------------------------------------------------+ | >>-java--com.ibm.db2.jcc.DB2Binder------------------------------> | | | | >---url jdbc:db2://serwer-+---------+-/baza_danych--------------> | | '-:--port-' | | | | >---user ID-użytkownika---password hasło------------------------> | | | | >--+------------------------+--+----------------------------+---> | | '--size liczba całkowita-' '--collection nazwa-kolekcji-' | | | | >--+----------------------------------+--+-------+------------->< | | | .-,---------------. | '--help-' | | | V | | | | '--tracelevel ---opcja-śledzenia-+-' | +----------------------------------------------------------------------+ Przekierowanie klientów sterownika uniwersalnego JDBC DB2 Opcja automatycznego przekierowania klienta w programie DB2 Universal Database (UDB) dla systemów Linux, UNIX i Windows umożliwia aplikacjom klienckim odtworzenie stanu po przerwaniu połączenia z serwerem, dzięki czemu mogą one kontynuować działanie po minimalnej przerwie. Za każdym razem, kiedy serwer zablokuje się, każdy połączony z tym serwerem klient odbiera komunikat o błędzie komunikacji, który powoduje przerwanie połączenia i błąd aplikacji. W systemach, w których duże znaczenie ma dostępność, konieczne są konfiguracje nadmiarowe lub obsługa przełączania awaryjnego. (Przełączanie awaryjne jest to możliwość przejęcia przez inny serwer operacji z serwera, który uległ awarii). W każdym przypadku klient sterownika uniwersalnego JDBC DB2 będzie próbował ponownie nawiązać połączenie z nowym lub oryginalnym serwerem, który może działać w węźle przełączania awaryjnego. Po ponownym nawiązaniu połączenia aplikacja odbiera wyjątek SQLException, który informuje o niepowodzeniu transakcji, ale może ona przystąpić do przetwarzania następnej transakcji. Ograniczenia * Obsługa przekierowania klienta sterownika uniwersalnego JDBC DB2 jest dostępna tylko dla połączeń korzystających z interfejsu javax.sql.DataSource. * Zanim aplikacja kliencka będzie mogła odtworzyć stan po utracie łączności, należy na serwerze określić położenie serwera alternatywnego. Administrator bazy danych określa serwer alternatywny za pomocą komendy UPDATE ALTERNATE SERVER FOR DATABASE. Procedura Gdy administrator bazy danych określi położenie serwera alternatywnego dla konkretnej bazy danych w instancji serwera, informacje o serwerze podstawowym i alternatywnym są zwracane do klienta w czasie połączenia. Sterownik uniwersalny JDBC DB2 tworzy instancję umożliwiającego odwołania obiektu DB2ClientRerouteServerList i zapisuje tę instancję w pamięci przejściowej. W przypadku przerwania połączenia sterownik uniwersalny JDBC DB2 próbuje ponownie nawiązać połączenie za pomocą informacji o serwerze zwróconych z serwera. Właściwość clientRerouteServerListJNDIName obiektu DataSource udostępnia dodatkowe możliwości obsługi przekierowania klienta; ma ona dwie funkcje: * umożliwia zachowanie trwałości informacji o serwerze alternatywnym na wirtualnych maszynach Java (JVM), * dostarcza informacji o położeniu serwera alternatywnego w przypadku, gdy pierwsze połączenie z serwerem bazy danych nie powiedzie się. Właściwość clientRerouteServerListJNDIName identyfikuje odwołanie JNDI do instancji DB2ClientRerouteServerList w repozytorium JNDI informacji o serwerach alternatywnych. Po pomyślnym połączeniu z serwerem głównym informacje o serwerze alternatywnym dostarczane przez właściwość clientRerouteServerListJNDIName są zastępowane informacjami z serwera. Po przełączeniu awaryjnym sterownik uniwersalny JDBC DB2 spróbuje przekazać zaktualizowane informacje do repozytorium JNDI, jeśli została zdefiniowana właściwość clientRerouteServerListJNDIName. Jeśli właściwość clientRerouteServerListJNDIName została określona, do połączenia zostaną użyte informacje o serwerze głównym określone we właściwości DB2ClientRerouteServerList. Jeśli serwer główny nie został określony, zostaną użyte informacje o nazwie serwera określone w źródle danych. Instancja DB2ClientRerouteServerList to przekształcane do postaci szeregowej komponenty Java bean z czterema właściwościami: * alternateServerName * alternatePortNumber * primaryServerName * primaryPortNumber Zostały udostępnione metody pobierania i ustawiania umożliwiające uzyskiwanie dostępu do tych właściwości. Definicja klasy DB2ClientRerouteServerList jest następująca: package com.ibm.db2.jcc; public class DB2ClientRerouteServerList implements java.io.Serializable, javax.naming.Referenceable { public String[] alternateServerName; public synchronized void setAlternateServerName(String[] alternateServer); public String[] getAlternateServerName(); public int[] alternatePortNumber; public synchronized void setAlternatePortNumber(int[] alternatePortNumberList); public int[] getAlternatePortNumber(); public synchronized void setPrimaryServerName (String primaryServerName); public String getPrimaryServerName (); public synchronized void setPrimaryPortNumber (int primaryPortNumber) public int getPrimaryPortNumber (); } Nowo nawiązane połączenie awaryjne jest skonfigurowane z oryginalnymi właściwościami źródła danych, za wyjątkiem nazwy serwera i numeru portu. Dodatkowo wszelkie rejestry specjalne programu DB2 UDB, które zostały zmodyfikowane podczas oryginalnego połączenia, są ponownie ustawiane podczas przełączenia awaryjnego przez sterownik uniwersalnego JDBC DB2. Gdy nastąpi awaria połączenia, sterownik uniwersalny JDBC DB2 najpierw próbuje odtworzyć połączenie z serwerem głównym. Jeśli przełączenie awaryjne nie powiedzie się, sterownik spróbuje połączyć się z serwerem alternatywnym (przełączenie awaryjne). Po ponownym nawiązaniu połączenia sterownik zwraca do aplikacji wyjątek java.sql.SQLException z kodem SQLCODE -4498, który informuje aplikację, że połączenie zostało automatycznie ponownie nawiązane z serwerem alternatywnym. Aplikacja może wówczas próbować ponownie przetworzyć tę transakcję. Procedura utrwalania obiektu DB2ClientRerouteServerList W celu skonfigurowania pamięci masowej tak, aby obiekt DB2ClientRerouteServerList był trwały, należy wykonać następujące czynności: 1. Utwórz instancję obiektu DB2ClientRerouteServerList i powiąż ją z rejestrem JNDI. Na przykład: // Utwórz kontekst początkowy dla operacji nadawania nazw InitialContext registry = new InitialContext(); // Utwórz obiekt DB2ClientRerouteServerList DB2ClientRerouteServerList address=new DB2ClientRerouteServerList(); // Ustaw numer portu i nazwę serwera głównego address.setPrimaryPortNumber(50000); address.setPrimaryServerName("mvs1.sj.ibm.com"); // Ustaw numer portu i nazwę serwera alternatywnego int[] port = {50002}; String[] server = {"mvs3.sj.ibm.com"}; address.setAlternatePortNumber(port); address.setAlternateServerName(server); registry.rebind("serverList", address); 2. Przypisz nazwę JNDI obiektu DB2ClientRerouteServerList do właściwości clientRerouteServerListJNDIName obiektu DataSource. Na przykład: datasource.setClientRerouteServerListJNDIName("serverList"); Dostosowywanie właściwości konfiguracyjnych sterownika uniwersalnego JDBC DB2 Właściwości konfiguracyjne sterownika uniwersalnego JDBC DB2 umożliwiają ustawienie wartości właściwości o zasięgu obejmującym cały zakres działania sterownika. Ustawienia te dotyczą instancji obiektu DataSource i aplikacji. Ich wartości można zmieniać bez konieczności modyfikowania kodu źródłowego aplikacji ani charakterystyk obiektu DataSource. Każde ustawienie właściwości konfiguracyjnych sterownika uniwersalnego JDBC DB2 ma następującą formę: właściwość=wartość Jeśli nazwa właściwości konfiguracyjnej rozpoczyna się od łańcucha db2.jcc.override, właściwość ta dotyczy wszystkich połączeń i przesłania ona wszystkie właściwości obiektu Connection lub DataSource o tej samej nazwie. Jeśli nazwa właściwości konfiguracyjnej rozpoczyna się od łańcucha db2.jcc lub db2.jcc.default, wartość tej właściwości jest wartością domyślną. Ustawienia właściwości obiektu Connection lub DataSource przesłaniają tę wartość. Procedura Aby ustawić właściwości konfiguracyjne: * Ustaw właściwości konfiguracyjne jako właściwości systemowe Java. Ustawienia te przesłaniają wszystkie inne ustawienia. Dla autonomicznych aplikacji Java można ustawić właściwości konfiguracyjne jako właściwości systemowe Java, określając parę -Dwłaściwość=wartość dla każdej właściwości konfiguracyjnej podczas wykonywania komendy java. * Ustaw właściwości konfiguracyjne w zasobie, którego nazwę zawiera właściwość systemowa Java db2.jcc.propertiesFile. Jako wartość właściwości db2.jcc.propertiesFile można na przykład podać nazwę pełnej ścieżki. Dla autonomicznych aplikacji Java można ustawić właściwości konfiguracyjne, określając opcję -Ddb2.jcc.propertiesFile=ścieżka podczas wykonywania komendy java. * Ustaw właściwości konfiguracyjne w zasobie o nazwie podanej we właściwości DB2JccConfiguration.properties. Do znalezienia zasobu określonego we właściwości DB2JccConfiguration.properties używane jest standardowe wyszukiwanie zasobów Java. Sterownik uniwersalny JDBC DB2 szuka tego zasobu tylko wtedy, gdy nie została ustawiona właściwość systemowa Java db2.jcc.propertiesFile. Zasób DB2JccConfiguration.properties może być autonomicznym plikiem lub częścią pliku archiwum JAR. Jeśli zasób DB2JccConfiguration.properties jest autonomicznym plikiem, ścieżka będąca wartością właściwości DB2JccConfiguration.properties musi wchodzić w skład konkatenacji CLASSPATH. Jeśli zasób DB2JccConfiguration.properties znajduje się w pliku JAR, plik ten musi być częścią konkatenacji CLASSPATH. Poniżej zostały wymienione właściwości konfiguracyjne sterownika uniwersalnego JDBC DB2, które można ustawić. Wszystkie właściwości są opcjonalne. db2.jcc.override.traceFile Umożliwia sterownikowi uniwersalnemu JDBC DB2 śledzenie kodu sterownika Java i określa nazwę, w oparciu o którą tworzone są nazwy plików śledzenia. Jako wartość właściwości db2.jcc.override.traceFile należy podać pełną nazwę pliku. Właściwość db2.jcc.override.traceFile przesłania właściwość obiektu Connection lub DataSource. Na przykład poniższe ustawienie właściwości db2.jcc.override.traceFile umożliwia śledzenie przez sterownik uniwersalny JDBC DB2 kodu Java i zapisywanie jego wyników w pliku o nazwie /SYSTEM/tmp/jdbctrace: db2.jcc.override.traceFile=/SYSTEM/tmp/jdbctrace Właściwości śledzenia należy ustawiać zgodnie z zaleceniami działu wsparcia firmy IBM. db2.jcc.sqljUncustomizedWarningOrException Określa działanie realizowane przez sterownik uniwersalny JDBC DB2 podczas pracy niedostosowanej aplikacji SQLJ. Właściwość db2.jcc.sqljUncustomizedWarningOrException może mieć następujące wartości: 0 Sterownik uniwersalny JDBC DB2 nie generuje ostrzeżenia ani wyjątku podczas pracy niedostosowanej aplikacji SQLJ. Jest to ustawienie domyślne. 1 Sterownik uniwersalny JDBC DB2 generuje ostrzeżenie podczas pracy niedostosowanej aplikacji SQLJ. 2 Sterownik uniwersalny JDBC DB2 generuje wyjątek podczas pracy niedostosowanej aplikacji SQLJ. Usunięto funkcję db2secFreeToken Funkcja db2secFreeToken (zwalnianie pamięci zajmowanej przez token) nie jest już częścią interfejsu API db2secGssapiServerAuthFunctions_1 modułu dodatkowego uwierzytelniania użytkownika. Niestandardowe dodatkowe moduły zabezpieczeń należy wdrażać uważnie Integralność instalacji programu DB2 Universal Database (UDB) może zostać naruszona, jeśli wdrażane dodatkowe moduły zabezpieczeń nie zostaną odpowiednio zakodowane, sprawdzone i przetestowane. Program DB2 UDB jest zabezpieczony przed wieloma często spotykanymi typami awarii, ale nie może on zagwarantować kompletnej integralności w przypadku wdrażania napisanych przez użytkownika dodatkowych modułów zabezpieczeń. Moduły dodatkowe zabezpieczeń Gdy korzysta się z własnego, dostosowanego modułu dodatkowego zabezpieczeń, w instrukcjach połączenia uruchamianych za pośrednictwem procesora CLP lub dynamicznej instrukcji SQL można posługiwać się identyfikatorem użytkownika o długości 255 znaków. Funkcje API modułów dodatkowych zabezpieczeń Dla funkcji API db2secGetGroupsForUser, db2secValidatePassword i db2secGetAuthIDs parametr wejściowy nazwa_bazy_danych może mieć wartość NULL, a odpowiadającemu mu parametrowi wejściowemu długości długość_nazwy_bazy_danych zostanie nadana wartość 0. Konwencje nazewnictwa w dodatkowych modułach zabezpieczeń (systemy Linux i UNIX) Rozszerzenie .so jest teraz akceptowanym rozszerzeniem nazw plików bibliotek napisanych przez użytkowników dodatkowych modułów zabezpieczeń na wszystkich platformach systemów Linux i UNIX. W systemie AIX biblioteki dodatkowych modułów zabezpieczeń mogą mieć rozszerzenie .a lub .so. Jeśli istnieją obie wersje biblioteki modułów dodatkowych, używana jest wersja z rozszerzeniem .a. W systemach HP-UX na platformie PA-RISC biblioteki dodatkowych modułów zabezpieczeń mogą mieć rozszerzenie .sl lub .so. Jeśli istnieją obie wersje biblioteki modułów dodatkowych, używana jest wersja z rozszerzeniem .sl. Na wszystkich pozostałych platformach systemów Linux i UNIX jedynym obsługiwanym rozszerzeniem nazw plików bibliotek dodatkowych modułów zabezpieczeń jest .so. Ograniczenia dotyczące bibliotek dodatkowych modułów zabezpieczeń W systemie AIX biblioteki dodatkowych modułów zabezpieczeń mogą mieć rozszerzenie nazwy pliku .a lub .so. To, który mechanizm ładujący biblioteki modułów dodatkowych zostanie użyty, zależy od używanego rozszerzenia: Biblioteki modułów dodatkowych z rozszerzeniem nazwy pliku .a Zakłada się, że biblioteki modułów dodatkowych z rozszerzeniem nazwy pliku .a to archiwa zawierające elementy obiektów współużytkowanych. Elementy te muszą nosić nazwy shr.o (32-bitowe) lub shr64.o (64-bitowe). Pojedyncze archiwum może zawierać elementy zarówno 32-bitowe, jak i 64-bitowe, co umożliwia wdrażanie ich na platformach obu typów. Na przykład w celu zbudowania 32-bitowej biblioteki modułu dodatkowego typu archiwum należy wpisać: xlc_r -qmkshrobj -o shr.o MojModulDodatkowy.c -bE:MojModulDodatkowy.exp ar rv MojModulDodatkowy.a shr.o Biblioteki modułów dodatkowych z rozszerzeniem nazwy pliku .so Zakłada się, że biblioteki modułów dodatkowych z rozszerzeniem nazwy pliku .so to ładowane dynamicznie obiekty współużytkowane. Taki obiekt może być 32-bitowy lub 64-bitowy, zależnie od opcji kompilatora i konsolidatora użytych podczas budowania. Na przykład w celu zbudowania 32-bitowej biblioteki modułu dodatkowego należy wpisać: xlc_r -qmkshrobj -o MojModulDodatkowy.so MojModulDodatkowy.c -bE:MojModulDodatkowy.exp Na wszystkich platformach z wyjątkiem systemu AIX zawsze zakłada się, że biblioteki modułów dodatkowych są dynamicznie ładowanymi obiektami współużytkowanymi. Obsługa modułu dodatkowego GSS-API dla sterownika uniwersalnego JDBC DB2 Po wprowadzeniu programu DB2 UDB, wersja 8.2, dla systemów Linux, UNIX, Windows można tworzyć własne mechanizmy uwierzytelniania w postaci modułów dodatkowych (bibliotek ładowalnych). Mechanizm DB2 UDB ładuje i uzyskuje dostęp do tych modułów dodatkowych w celu przeprowadzenia uwierzytelnienia użytkownika. W celu zapewnienia obsługi aplikacji klienta napisanej w języku Java sterownik uniwersalny JDBC DB2 zapewnia obsługę dodatkowych modułów zabezpieczeń w programie DB2 UDB, wersja 8.2, pakiet poprawek 4. W aplikacjach w języku Java używających sterownika uniwersalnego JDBC DB2 do przeprowadzania uwierzytelniania za pomocą modułu dodatkowego użytkownicy muszą zaimplementować własny moduł dodatkowy, rozszerzając klasę abstrakcyjną com.ibm.db2.jcc.DB2JCCPlugin i ustawiając następujące właściwości: * Identyfikator użytkownika i hasło: są to referencje użytkownika wykorzystywane podczas uwierzytelniania * Nazwa modułu dodatkowego: określa nazwę modułu dodatkowego po stronie serwera * Mechanizm zabezpieczenia: należy ustawić na zabezpieczenie przy użyciu modułu dodatkowego * Moduł dodatkowy: określa moduł dodatkowy po stronie aplikacji klienckiej Przykład: java.util.Properties properties = new java.util.Properties(); properties.put("user", "db2admin"); properties.put("password", "admindb2"); properties.put("pluginName", "gssapi_simple"); properties.put("securityMechanism", new String(""+com.ibm.db2.jcc.DB2BaseDataSource.PLUGIN_SECURITY+"")); properties.put("plugin", new JCCSimpleGSSPlugin()); Connection con = java.sql.DriverManager.getConnection(url, properties); Dodatkowe moduły zabezpieczeń GSS-API nie obsługują uwierzytelniania wieloprzepływowego Uwierzytelnianie GSS-API jest ograniczone do przepływu jednego tokenu od klienta do serwera i jednego tokenu z serwera do klienta. Te tokeny są uzyskiwane w wyniku wykonania funkcji gss_init_sec_context() u klienta i funkcji gss_accept_sec_context() na serwerze. Moduły dodatkowe GSS-API próbujące stosować dodatkowe przepływy spowodują wygenerowanie nieoczekiwanego błędu dodatkowego modułu zabezpieczeń, co spowoduje zerwanie połączenia. Dodatkowe moduły zabezpieczeń GSS-API nie obsługują szyfrowania i podpisywania komunikatów Dodatkowe moduły zabezpieczeń GSS-API nie udostępniają szyfrowania i podpisywania komunikatów. Niejawne kończenie transakcji w aplikacjach autonomicznych Każde zakończenie działania aplikacji (normalne i nieprawidłowe) powoduje niejawnie wycofanie niezakończonych jednostek pracy, niezależnie od systemu operacyjnego. Obsługa transakcji rozproszonych W dokumentacji Co nowego dla programu DB2 Universal Database (UDB), wersja 8.2, informacje o obsłudze transakcji rozproszonych w sekcji dotyczącej rozszerzeń sterownika uniwersalnego JDBC DB2 są niepoprawne. Niepoprawne jest ostatnie zdanie tej sekcji. Poprawne informacje zostały podane poniżej: Poczynając od wersji 8.2 program DB2 UDB udostępnia obsługę rozproszonego przetwarzania transakcyjnego, które jest zgodne ze specyfikacją XA. Ta obsługa implementuje specyfikacje Java 2 Platform Enterprise Edition (J2EE) Java Transaction Service (JTS) i Java Transaction API (JTA). Podręcznik Application Development Guide: Programming Server Applications Procedury środowiska wykonawczego CLR (Common language runtime) zwracające wiele tabel wynikowych Maksymalna liczba tabel wynikowych, jaką może zwrócić procedura CLR, jest ograniczona. Limit zależy od maksymalnej liczby obiektów DB2DataReader obsługiwanych jednocześnie przez Dostawcę danych DB2 dla platformy .NET w jednym połączeniu. Obsługa wielu działających współbieżnie obiektów odczytujących dane umożliwia otwarcie wielu obiektów DB2DataReader w jednym połączeniu. Dlatego procedura CLR może zwrócić więcej niż jedną tabelę wynikową. Tryby sterowania wykonywaniem procedur środowiska wykonawczego CLR (Common language runtime) (klauzula EXECUTION CONTROL) Administrator bazy danych lub twórca aplikacji może zabezpieczyć zespoły powiązane z zewnętrznymi procedurami DB2 Universal Database (UDB) przed niepożądaną infiltracją, ograniczając działania procedur w czasie wykonywania. Procedury CLR DB2 .NET obsługują specyfikację trybu sterowania wykonaniem, identyfikującą typy działań, które procedura może wykonywać w czasie wykonywania. W czasie wykonywania program DB2 UDB może wykryć, czy procedura próbuje wykonywać działania spoza zakresu określonego trybu sterowania wykonaniem, co może być pomocne w określeniu, czy dany zespół był infiltrowany. Aby ustawić tryb sterowania dla procedury CLR, należy podać opcjonalną klauzulę EXECUTION CONTROL w instrukcji CREATE dla procedury. Poprawne tryby to: * SAFE * FILEREAD * FILEWRITE * NETWORK * UNSAFE Aby zmodyfikować tryb sterowania wykonaniem dla istniejącej procedury CLR, należy wykonać instrukcję ALTER PROCEDURE lub ALTER FUNCTION. Jeśli klauzula EXECUTION CONTROL nie zostanie określona dla procedury CLR, domyślnie procedura CLR jest uruchamiana z najbardziej restrykcyjnym trybem sterowania wykonaniem - SAFE. Procedury utworzone z tym trybem sterowania wykonaniem mają dostęp tylko do zasobów kontrolowanych przez menedżera bazy danych. Mniej restrykcyjne tryby sterowania wykonaniem umożliwiają procedurom dostęp do plików w lokalnym systemie plików (FILEREAD lub FILEWRITE) lub w sieci. W trybie sterowania wykonaniem UNSAFE na zachowanie procedury nie są nakładane żadne ograniczenia. Procedury zdefiniowane z trybem sterownia wykonaniem UNSAFE mogą wykonywać kod binarny. Te tryby sterowania reprezentują hierarchię dozwolonych działań, a tryby położone wyżej w hierarchii obejmują działania dozwolone na niższym poziomie hierarchii. Na przykład tryb sterowania wykonaniem NETWORK zezwala procedurom na dostęp do plików w sieci, w lokalnym systemie plików oraz do zasobów kontrolowanych przez menedżera bazy danych. Należy korzystać z jak najbardziej restrykcyjnych trybów sterowania wykonaniem i unikać korzystania z trybu UNSAFE. Gdy program DB2 UDB wykryje w czasie wykonywania, że procedura CLR próbuje wykonać działanie nie objęte jej trybem sterowania wykonaniem, DB2 zwróci błąd (SQLSTATE 38501). Klauzulę EXECUTION CONTROL można określić tylko dla procedur CLR LANGUAGE. Zasięg zastosowania klauzuli EXECUTION CONTROL jest ograniczony do samej procedury CLR .NET i nie obejmuje żadnych innych wywoływanych przez nią procedur. Maksymalna precyzja dziesiętna i skala w procedurach CLR Typ danych DECIMAL jest reprezentowany w programie DB2 Universal Database (UDB) z precyzją 31-cyfrową i skalą 28-cyfrową. Typ danych .NET CLR System.Decimal ma precyzję ograniczoną do 29 cyfr, a skalę do 28 cyfr. Dlatego zewnętrzne procedury CLR programu DB2 UDB nie mogą przypisywać zmiennej typu System.Decimal wartości większej niż (2^96)-1 - największej wartości, jaka może być reprezentowana za pomocą precyzji 29-cyfrowej i skali 28-cyfrowej. Jeśli nastąpi takie przypisanie, program DB2 UDB wygeneruje błąd czasu wykonania (SQLSTATE 22003, SQLCODE -413). Jeśli podczas wykonywania procedury zostanie wykryta instrukcja CREATE z parametrem typu danych DECIMAL zdefiniowanym z precyzją większą niż 28, program DB2 UDB wygeneruje błąd (SQLSTATE 42611, SQLCODE -604). Podręcznik Command Reference Wyjaśnienie dotyczące parametru db2licm Wyjaśnienie to dotyczy parametru -p komendy db2licm. Słowo kluczowe MEASURED nie jest już ważne i jest ignorowane przez bazę danych DB2. Komenda RESTORE DATABASE - przykład dla TSM W przykładzie dla TSM (przykład 6) brakuje znaków pojedynczego cudzysłowu wokół opcji TSM; przykład ten powinien wyglądać następująco: * Określanie łańcucha z ogranicznikami: db2 restore db sample use TSM options "'-fromnode bar -fromowner dmcinnis'" Przykłady użycia komendy db2demigdbd Poniższe przykłady użycia komendy db2demigdbd zostały uporządkowane według systemu operacyjnego. Aby cofnąć migrację plików systemowego katalogu bazy danych w systemie UNIX i Linux: db2demigdbd $HOME/sqllib 1 Aby cofnąć migrację lokalnych plików systemowego katalogu bazy danych w systemie UNIX i Linux: db2demigdbd ~/user/NODE0000 1 Aby cofnąć migrację plików systemowego i wszystkich lokalnych katalogów bazy danych w instancji w systemie UNIX i Linux: db2demigdbd $HOME/sqllib 2 Aby cofnąć migrację plików systemowego katalogu bazy danych w systemie Windows: db2demigdbd d:\sqllib\db2 1 gdzie db2 jest bieżącą instancją. Aby cofnąć migrację lokalnych plików systemowego katalogu bazy danych w systemie Windows: db2demigdbd d:\db2\NODE0000 1 Aby cofnąć migrację plików systemowego i wszystkich lokalnych katalogów bazy danych w instancji w systemie Windows: db2demigdbd d:\sqllib\db2 2 Informacja o użyciu: Po uruchomieniu komendy db2updv8 w celu aktualizacji katalogów systemowych do poziomu aktualnej wersji 8 powrót do wersji 8.1 nie jest obsługiwany. Dodatkowe informacje: Aby uzyskać informacje o uruchamianiu tej komendy w środowisku DPF (Database Partitioning Feature), zapoznaj się z notą techniczną umieszczoną na stronie WWW o adresie http://www.ibm.com/support/docview.wss?rs=71&uid=swg21217949 Poprawka informacji o użyciu komendy db2ckbkp Opcja '-p' wyświetla liczbę stron każdego typu obiektu. Jednak dane wyjściowe komendy db2ckbkp z opcją '-p' nie zawierają liczby stron dla wszystkich innych typów obiektów, jeśli kopia zapasowa została wykonana dla danych obszarów tabel DMS. W takim przypadku suma wszystkich stron zostanie wyświetlona jako SQLUDMSTABLESPACEDATA. Wartość zero zostanie wyświetlona dla SQLUDMSLOBDATA i SQLUDMSLONGDATA dla obszarów tabel DMS. Poniżej został pokazany przykład sekcji danych wyjściowych funkcji db2ckbkp -p w przypadku utworzenia kopii zapasowej dla danych obszarów tabel DMS: SQLUDMSTABLESPACEDATA (0c): 87 SQLUDMSLOBDATA (0e): 0 SQLUDMSLONGDATA (0f): 0 Konwencje nazewnictwa dla obiektów baz danych i identyfikatorów Poniższe konwencje mają zastosowanie dla nazw obiektów menedżer bazy danych, takich jak bazy danych i tabele. * Łańcuchy znaków reprezentujące nazwy obiektów menedżer bazy danych mogą zawierać dowolne z następujących znaków: a-z, A-Z, 0-9, @, # i $. * O ile nie zostało to określone inaczej, można wpisywać nazwy małymi literami, jednak program menedżer bazy danych będzie je przetwarzał, jakby były napisane wielkimi literami. Wyjątkiem od tej konwencji są łańcuchy znaków reprezentujące nazwy w ramach architektury Systems Network Architecture (SNA). W wielu wartościach jest rozróżniana wielkość liter, na przykład w nazwach jednostek logicznych (partner_lu i local_lu). Nazwę należy wprowadzić dokładnie w taki sposób, w jaki występuje ona w definicjach SNA odpowiadających tym terminom. * Nazwa bazy danych lub alias bazy danych jest to unikalny łańcuch znaków zawierający od jednej do ośmiu liter, cyfr lub znaków klawiaturowych ze zbioru określonego w powyższych informacjach. Bazy danych są wpisywane do katalogu w systemowych i lokalnych katalogach baz danych według swoich aliasów w jednym polu i według swoich oryginalnych nazw w innym polu. Dla większości funkcji program menedżer bazy danych używa nazwy wprowadzonej w polu aliasu katalogów baz danych. Wyjątkami są CHANGE DATABASE COMMENT i CREATE DATABASE, gdzie należy podać ścieżkę katalogu. * Nazwa lub nazwa aliasu tabeli lub widoku jest to identyfikator SQL będący unikalnym łańcuchem znaków o długości od 1 do 128 znaków. Nazwy kolumn mogą mieć długość od 1 do 30 znaków. Pełna nazwa tabeli to schemat.nazwa_tabeli. Schemat jest to unikalny identyfikator użytkownika, w ramach którego została utworzona tabela. Nazwa schematu dla zadeklarowanej tabeli tymczasowej musi być równa SESSION. * Lokalne aliasy dla zdalnych węzłów, które mają zostać wpisane do katalogu węzłów, nie mogą być dłuższe niż osiem znaków. * Pierwszym znakiem w łańcuchu musi być litera, znak @, # lub $, nie może to być cyfra ani sekwencja liter SYS, DBM lub IBM. Poniższe konwencje mają zastosowanie do nazw identyfikatorów użytkowników i identyfikatorów uwierzytelniania * Łańcuchy znaków reprezentujące nazwy obiektów menedżer bazy danych mogą zawierać dowolne z następujących znaków: a-z, A-Z, 0-9, @, # i $. * Identyfikatory użytkowników i grupy mogą zawierać również dowolne z następujących dodatkowych znaków, o ile są one obsługiwane przez moduł dodatkowy zabezpieczeń: _, !, %, (, ), {, }, -, ., ^. * Identyfikatory użytkowników i grupy zawierające dowolne z następujących znaków muszą zostać ograniczone znakami cudzysłowu, jeśli są one wprowadzane za pomocą procesora wiersza komend: !, %, (, ), {, }, -, ., ^, * Pierwszym znakiem w łańcuchu musi być litera, znak @, # lub $, nie może to być cyfra ani sekwencja liter SYS, DBM lub IBM. * Identyfikatory uwierzytelniania nie mogą być dłuższe niż 30 znaków w systemie 32-bitowe systemy operacyjne Windows i 8 znaków we wszystkich innych systemach operacyjnych. * Identyfikatory grup nie mogą być dłuższe niż 30 znaków. Komenda REORGCHK Formuły statystyk indeksów używane w komendzie REORGCHK zostały poprawione. Nowe formuły i ich wyjaśnienia są następujące: * Formuła F5: 100 * (KEYS * (ISIZE + LEAF_REC_OVERHEAD) + (CARD - KEYS) * DUPKEYSIZE ) / ((NLEAF - NUM EMPTY LEAFS - 1) * (INDEXPAGESIZE - 96) > MIN(50, (100 - PCTFREE)) gdzie LEAF_REC_OVERHEAD = 9 a DUPKEYSIZE = 5. Reorganizacja jest zalecana, jeśli w indeksie jest ponad 50 procent wolnego miejsca lub ponad PCTFREE% wolnego miejsca, gdy PCTFREE jest większe niż 50. Ta formuła jest sprawdzana tylko wtedy, gdy wartość NLEAF - NUM EMPTY LEAFS - 1 jest większa od 0 (wartość NLEAF jest pomniejszana o jeden, ponieważ ostatnia przydzielona strona liścia nie jest zazwyczaj zapełniana). * Formuła F6: (100 - PCTFREE) * [ Floor((100 - min(10, PCTFREE)) / 100 * (INDEXPAGESIZE - 96) / (ISIZE + NONLEAF_REC_OVERHEAD)) ** (NLEVELS - 2)] * (INDEXPAGESIZE - 96) / (KEYS * (ISIZE + LEAF_REC_OVERHEAD) + (CARD - KEYS) * DUPKEYSIZE) < 100 gdzie NONLEAF_REC_OVERHEAD = 12. Sprawdzanie, czy ponowne utworzenie indeksu spowoduje zmniejszenie liczby poziomów drzewa. Ta formuła umożliwia sprawdzanie stosunku ilości miejsca w drzewie indeksu mającym jeden poziom mniej niż obecne drzewo do ilości potrzebnego miejsca. Jeśli drzewo z jednym poziomem mniej może zostać utworzone i wciąż pozostanie PCTFREE wolnego miejsca, wówczas zalecana jest reorganizacja. Rzeczywista liczba pozycji indeksu powinna być większa niż 90% (lub 100 - PCTFREE) liczby pozycji, jaką może obsłużyć drzewo indeksu NLEVELS - 1 (sprawdzane tylko gdy NLEVELS > 1). Uwaga: Wszystkie formuły są oparte na danych statystycznych. Dane statystyczne i wyniki tych formuł mają charakter tylko szacunkowy. Przeglądając wyniki komendy REORGCHK, należy zawsze o tym pamiętać. Komenda REORG INDEXES/TABLE Reorganizuje indeks lub tabelę. Komenda REORG INDEXES ALL FOR TABLE nazwa-tabeli reorganizuje wszystkie indeksy zdefiniowane dla tabeli, odbudowując dane indeksu do postaci niepodzielonych na fragmenty, fizycznie ciągłych stron. Jeśli dla indeksów zostanie określona opcja CLEANUP ONLY, czyszczenie będzie wykonywane bez odbudowywania indeksów. Jeśli zostanie podjęta próba użycia tej komendy dla indeksów zadeklarowanych tabel tymczasowych, zostanie zwrócony stan SQLSTATE 42995. Opcja REORG TABLE nazwa-tabeli powoduje reorganizowanie tabeli, polegające na rekonstrukcji wierszy w celu wyeliminowania danych podzielonych na fragmenty i na scalaniu informacji. Reorganizację tabeli można wykonać jedną z dwóch metod: Klasyczna Podczas pierwszych faz reorganizacji umożliwia ograniczony dostęp do danych w trybie tylko do odczytu. W miejscu Umożliwia dostęp do danych podczas całej reorganizacji, ale bez gwarancji prawidłowego uporządkowania danych. Reorganizacja tabel w miejscu jest dopuszczalna tylko dla tabel z indeksami typu 2 i bez indeksów rozszerzonych. Po zakończeniu reorganizacji, niezależnie od jej typu, następuje przebudowa indeksów tabeli. Jednak w przypadku reorganizacji w miejscu indeks będzie zreorganizowany niedokładnie i może wymagać reorganizacji w celu zmniejszenia fragmentacji i odzyskania miejsca zajmowanego przez obiekty indeksu. Przykład Aby wykonać klasyczną (w trybie bez połączenia) reorganizację tabeli, taką jak reorganizacja domyślna w programie DB2 Universal Database(TM) (UDB), wersja 7, wprowadź następującą komendę db2 reorg table employee index empid allow no access indexscan longlobdata Uwaga: W programie DB2 UDB, wersja 8, ustawienia domyślne są inne. Uwagi dotyczące użycia Program DB2 UDB oferuje dwie metody reorganizowania tabel: klasyczną i w miejscu. Klasyczna reorganizacja tabel jest na ogół szybsza, ale powinna być stosowana tylko w przypadku, gdy aplikacje podczas reorganizacji działają bez prawa dostępu do tabel w trybie zapisu. Jeśli środowisko nie umożliwia stosowania takiego ograniczenia, należy stosować reorganizację w miejscu. Mimo że jest ona wolniejsza, może odbywać się w tle, podczas normalnego dostępu do danych. Klasyczna reorganizacja tabel jest najszybsza, zwłaszcza gdy nie trzeba reorganizować danych LOB ani LONG. Poza tym po zakończeniu reorganizacji indeksy są prawidłowo odbudowane i znajdują się w doskonałym porządku. Aplikacje uzyskujące dostęp w trybie tylko do odczytu mogą sięgać do oryginalnej kopii tabeli - poza ostatnimi fazami reorganizacji, w trakcie których trwała tabela zastępuje kopię tabeli i są odbudowywane indeksy. Reorganizacja tabel w miejscu jest wolniejsza i nie gwarantuje doskonałego uporządkowania danych, ale umożliwia aplikacjom dostęp do tabel w trakcie reorganizacji. Dodatkowo reorganizację tabel w miejscu może wstrzymywać i wznawiać każdy, kto dysponuje o odpowiednimi uprawnieniami, używając schematu i nazwy tabeli. Zaktualizowane ograniczenia Program narzędziowy REORG nie obsługuje pseudonimów. * Komenda REORG TABLE nie jest obsługiwana dla zadeklarowanych tabel tymczasowych. * Komendy REORG TABLE nie można używać do widoków. * Reorganizowanie tabeli jest niekompatybilne z tabelami grupowanymi zakresowo, ponieważ obszar zakresów tabeli pozostaje zawsze zgrupowany. * Podczas reorganizacji zamkniętej tabeli nie można uruchomić tworzenia kopii zapasowej otwartej bazy danych dla obszaru tabel, w którym znajduje się tabela. * Podczas reorganizacji otwartej tabeli SMS nie można uruchomić tworzenia kopii zapasowej otwartej bazy danych dla obszaru tabel, w którym znajduje się tabela. * Podczas reorganizacji otwartej tabeli DMS można uruchomić tworzenie kopii zapasowej otwartej bazy danych dla obszaru tabel, w którym znajduje się tabela. W fazie obcinania mogą występować okresy oczekiwania na blokady dla operacji reorganizacji. * W komendzie REORG TABLE nie można używać indeksu opartego na rozszerzeniu indeksu. Komenda BACKUP DATABASE Uwagi dotyczące użycia Należy pamiętać o następujących ograniczeniach: * Uruchomienie operacji tworzenia kopii zapasowej otwartej bazy danych dla obszaru tabel DMS jest dopuszczalne nawet wtedy, gdy tabela z tego samego obszaru tabel jest reorganizowana w trybie otwartej bazy danych. W fazie obcinania mogą występować okresy oczekiwania na blokady dla operacji reorganizacji. * Uruchomienie operacji tworzenia kopii zapasowej otwartej bazy danych dla obszaru tabel SMS jest niedopuszczalne, gdy tabela z tego samego obszaru tabel jest reorganizowana w trybie otwartej bazy danych. Obie operacje wymagają blokady na wyłączność. Przeprowadzanie migracji baz danych Ograniczenia W dokumentacji wersji 8 zamieszczono nieścisłą informację, stwierdzając, że jeśli baza danych została poddana migracji do programu DB2 UDB wersja 8 na poziomie pakietu poprawek, to nie jest wymagana migracja bazy danych. Mówiąc ściślej, migracja bazy danych między pakietami poprawek nie jest wymagana, jeśli zainstalowany jest poziom wersji 8 programu (wersja 8.1, 8.2 lub późniejszy pakiet poprawek). W wersji 8.2 wprowadzono zmiany w strukturze pliku katalogu bazy danych w wersji i migracja przeprowadzana jest automatycznie przy przejściu z wersji 7 lub wersji 8.1 na wersję 8.2 Jednak po powrocie z wersji 8.2 do wersji 8.1 konieczne jest uruchomienie komendy db2demigdbd w celu odtworzenia struktury pliku katalogu bazy danych. Pominięcie tej czynności spowoduje zgłoszenie błędu SQL10004 przy próbie dostępu do bazy danych. db2inidb - komenda inicjująca lustrzaną bazę danych Nie można używać komendy db2 connect to baza_danych przed wywołaniem komendy db2inidb baza_danych as mirror. Próba nawiązania połączenia z podzieloną kopią lustrzaną bazy danych przed jej zainicjowaniem powoduje skasowanie plików protokołów potrzebnych w późniejszym czasie do odtworzenia zmian. Po nawiązaniu połączenia baza danych będzie ponownie w stanie, w którym znajdowała się w chwili zawieszenia. Jeśli w czasie zawieszenia określona baza danych była oznaczona jako spójna, w programie DB2 Universal Database przyjmowane jest założenie, że nie ma potrzeby wykonywania operacji odtwarzania po awarii i następuje wyczyszczenie protokołów w celu przygotowania ich do użytku w przyszłości. W takiej sytuacji próba odtworzenia zmian powoduje wygenerowanie błędu SQL4970. Uwaga dotycząca stosowania komendy db2iupdt Poczynając od wersji 8.2, podczas aktualizacji instancji DB2 Universal Database za pomocą komendy db2iupdt należy najpierw zatrzymać wszystkie procesy DB2 działające w odniesieniu do tej instancji. Nowy parametr komendy db2sqljcustomize Komenda db2sqljcustomize ma nowy parametr. db2sqljcustomize - komenda konfiguratora profilu DB2 SQLJ -storebindoptions Zapisuje wartość opcji -bindoptions i wartości opcji -staticpositioned w profilu przekształconym do postaci szeregowej. Jeśli te wartości nie zostaną określone podczas wywoływania narzędzia dbsqljbind, użyte zostaną wartości przechowywane w profilu przekształconym do postaci szeregowej. Gdy konfigurator zostanie wywołany z plikiem .grp, wartości są przechowywane w poszczególnych plikach .ser. Zapisane wartości można wyświetlić przy użyciu narzędzia db2sqljprint. Nowy parametr komendy sqlj Komenda sqlj ma nowy parametr. sqlj - komenda translatora DB2 SQLJ -db2optimize Określa, że translator SQLJ generuje kod dla klasy kontekstu połączenia zoptymalizowany dla programu DB2 Universal Database. Opcja ta powoduje optymalizację kodu dla kontekstu zdefiniowanego przez użytkownika, ale nie dla kontekstu domyślnego. Po uruchomieniu translatora SQLJ z tą opcją, plik sterownika uniwersalnego JDBC DB2 db2jcc.jar musi znajdować się w zmiennej CLASSPATH, aby umożliwić kompilację wygenerowanej aplikacji Java. Aktualizacje komendy monitorowania i rozwiązywania problemów (db2pd) Komenda monitorowania i rozwiązywania problemów w programie DB2 (db2pd) pobiera informacje ze zbiorów pamięci programu DB2 UDB. W komendzie systemowej db2pd wprowadzono następujące udoskonalenia: Nowy parametr -hadr Parametr -hadr wprowadzony w wersji 8.2 (odpowiednik wersji 8.1 z pakietem poprawek 7) powoduje zwrócenie informacji dotyczących mechanizmu HADR (High Availability Disaster Recovery). Opis każdego zwracanego elementu można znaleźć w sekcji "High availability disaster recovery" podręcznika System Monitor Guide and Reference Nowy parametr -utilities Parametr -utilities wprowadzony w wersji 8.2 (odpowiednik wersji 8.1 z pakietem poprawek 7) powoduje zwrócenie informacji dotyczących programów narzędziowych. Opis każdego wyświetlanego elementu można znaleźć w sekcji poświęconej programom narzędziowym podręcznika System Monitor Guide and Reference. Nowy parametr -activestatements Parametr -activestatements wprowadzony w wersji 8.2.2 (odpowiednik wersji 8.1 z pakietem poprawek 9) powoduje zwrócenie informacji dotyczących aktywnych instrukcji. Zwracane są następujące informacje: AppHandl Uchwyt aplikacji korzystający z aktywnej instrukcji, włącznie z węzłem i indeksem. UOW-ID Identyfikator jednostki pracy, w której instrukcja stała się aktywna, w kontekście aplikacji określonej uchwytem AppHandl. StmtID Identyfikator instrukcji w ramach jednostki pracy. AnchID Identyfikator podstawy mieszania pamięci podręcznej pakietu dynamicznego SQL. StmtUID Identyfikator instrukcji dynamicznego SQL pamięci podręcznej pakietu unikalny w ramach tabeli bazowej mieszania. EffISO Efektywny poziom odseparowania instrukcji. EffLockTOut Efektywny limit czasu blokady dla instrukcji. EffDegree Efektywny stopień paralelizmu instrukcji. StartTime Termin uruchomienia instrukcji. LastRefTime Termin ostatniego odwołania do instrukcji w aplikacji. Nowa opcja wait dla parametru -locks Począwszy od wersji 8.2.2 (odpowiednik wersji 8.1 z pakietem poprawek 9) można razem z parametrem -locks określić opcję wait w celu zwrócenia tylko blokad ze statusem oczekiwania i blokad, na które oczekują jakieś procesy. Nowe pola zwracane po użyciu parametru -applications Począwszy od wersji 8.2.2 (odpowiednik wersji 8.1 z pakietem poprawek 9) parametr -applications zwraca cztery nowe pola: C-AnchID To nowe pole jest identyfikatorem tabeli bazowej mieszania pamięci podręcznej pakietu dynamicznego SQL dla bieżącej instrukcji. Pole to ma wartość 0, jeśli nie istnieją obecnie instrukcje. Bieżący identyfikator tabeli bazowej mieszania jest wpisywany tylko wtedy, gdy aplikacja realizuje żądanie związane z instrukcją, np. żądanie FETCH odnoszące się do kursora. Po zrealizowaniu żądania przetwarzania ustawiane są wartości 0. Wartość 0 obowiązuje także dla statycznych instrukcji SQL. C-StmtUID To nowe pole jest unikalnym identyfikatorem dynamicznej instrukcji SQL w tabeli bazowej mieszania. Pole to ma wartość 0, jeśli nie istnieją obecnie instrukcje. Unikalny identyfikator bieżącej instrukcji jest wpisywany tylko wtedy, gdy aplikacja realizuje żądanie związane z instrukcją. Po zrealizowaniu żądania ustawiane są wartości 0. Wartość 0 obowiązuje także dla statycznych instrukcji SQL. L-AnchID To nowe pole jest identyfikatorem tabeli bazowej mieszania pamięci podręcznej pakietu dynamicznego SQL dla instrukcji ostatnio wykonanej przez aplikację. Pole to ma wartość 0, jeśli nie istnieją obecnie instrukcje, na przykład przed wykonaniem jakiejkolwiek dynamicznej instrukcji SQL. Wartość 0 obowiązuje także dla statycznych instrukcji SQL. Ostatni identyfikator tabeli bazowej mieszania jest wpisywany po zakończeniu realizacji każdego żądania i utrzymywany do czasu zrealizowania następnego skojarzonego żądania. L-StmtUID To nowe pole jest unikalnym identyfikatorem ostatnio wykonanej przez aplikację dynamicznej instrukcji SQL w tabeli bazowej mieszania. Pole to ma wartość 0, jeśli nie istnieją obecnie instrukcje, na przykład przed wykonaniem jakiejkolwiek instrukcji lub jeśli ostatnio wykonaną instrukcją była statyczna instrukcja SQL. Identyfikator ostatniej instrukcji jest wpisywany po zrealizowaniu bieżącego żądania i utrzymywany jest do czasu zrealizowania następnego żądania. Aktualizacja komendy SET CLIENT Komenda SET CLIENT określa ustawienia połączenia dla procesu zaplecza. Parametr SYNCPOINT jest w tej komendzie ignorowany od wersji 8. Parametr SYNCPOINT jest nadal dołączany w celu zapewnienia kompatybilności wstecznej. Aktualizacja komendy PRECOMPILE Komenda PRECOMPILE przetwarza plik źródłowy aplikacji zawierający wbudowane instrukcje języka SQL. Tworzony jest zmodyfikowany plik źródłowy, który zawiera wywołania języka bazowego dla języka SQL; ponadto w bazie danych jest domyślnie tworzony pakiet. Parametr SYNCPOINT jest w tej komendzie ignorowany od wersji 8. Parametr SYNCPOINT jest nadal dołączany w celu zapewnienia kompatybilności wstecznej. Aktualizacja komendy UPDATE HISTORY FILE Aktualizuje informacje o położeniu, typ urządzenia i komentarz w pozycji pliku historii. Parametr STATUS komendy określa nowy status pozycji. W poprzedniej wersji dokumentacji niepoprawnie podano, że parametr STATUS może mieć wartość "I" w celu zaznaczenia pozycji jako nieaktywnej. Poprawne wartości to: A Zaznacza pozycję jako aktywną. E Oznacza, że pozycja utraciła ważność. Aktualizacje komend EXPORT i IMPORT Kompletna podsekcja "Wymagane połączenie " dla komend EXPORT i IMPORT jest następująca: Wymagane połączenie Baza danych. Jeśli jest włączone połączenie niejawne, zostanie nawiązane połączenie z domyślną bazą danych. Dostęp programu narzędziowego do serwerów baz danych w systemach Linux, UNIX, i Windows z klientów w systemach Linux, UNIX, i Windows musi być realizowany przez połączenie bezpośrednie za pośrednictwem mechanizmu, a nie pętli wstecznej lub bramy programu DB2 Connect. Aktualizacja komendy LOAD Kompletne informacje dotyczące wartości AUTOSELECT parametru INDEXING MODE są następujące: INDEXING MODE AUTOSELECT Moduł ładujący automatycznie wybierze tryb REBUILD lub INCREMENTAL. Decyzja ta jest podejmowana na podstawie ilości ładowanych danych i głębokości drzewa indeksów. Informacje dotyczące głębokości drzewa indeksów są przechowywane w obiekcie indeksu. Komenda RUNSTATS nie jest potrzebna do uzyskania tych informacji. Domyślnym trybem indeksowania jest AUTOSELECT. Modyfikatory typu pliku dla modułu ładującego Została zaktualizowana komenda SET INTEGRITY w opisie modyfikatora "generatedoverride". Został również zaktualizowany opis modyfikatora "usedefaults". Aktualizacje są następujące: Tabela 30. Poprawne modyfikatory typu pliku dla ładowania: Wszystkie formaty pliku. +-------------------+-------------------------------------------------+ | Modyfikator | Opis | +-------------------+-------------------------------------------------+ | generatedoverride | Ten modyfikator powoduje, że moduł ładujący | | | akceptuje dane dostarczane przez użytkownika | | | dla wszystkich generowanych kolumn w tabeli | | | (odwrotnie do normalnych reguł dla tych typów | | | kolumn). Jest to przydatne podczas migracji | | | danych z innego systemu baz danych lub podczas | | | ładowania do tabeli danych odzyskanych za | | | pomocą opcji RECOVER DROPPED TABLE komendy | | | ROLLFORWARD DATABASE. W przypadku użycia tego | | | modyfikatora zostaną odrzucone wszystkie | | | wiersze, które nie zawierają danych lub | | | zawierają wartości NULL w wygenerowanych | | | kolumnach, które nie dopuszczają takich | | | wartości (SQL3116W). | | | Uwaga: W przypadku użycia tego modyfikatora | | | tabela zostanie ustawiona w stan CHECK PENDING. | | | Aby zmienić stan CHECK PENDING tabeli bez | | | sprawdzania wartości podanych przez | | | użytkownika, należy po operacji ładowania | | | wykonać następującą komendę: | | | SET INTEGRITY FOR < nazwa-tabeli > GENERATED | | | COLUMN IMMEDIATE UNCHECKED | | | | | | Aby zmienić stan CHECK PENDING tabeli i | | | wymusić sprawdzenie wartości podanych przez | | | użytkownika, należy po operacji ładowania | | | wykonać następującą komendę: | | | SET INTEGRITY FOR < nazwa-tabeli > IMMEDIATE | | | CHECKED. | | | | | | Tego modyfikatora nie można używać łącznie z | | | modyfikatorami generatedmissing i | | | generatedignore. | +-------------------+-------------------------------------------------+ | usedefaults | Jeśli została określona kolumna źródłowa | | | kolumny w tabeli docelowej, ale nie zawiera ona | | | danych dla jednej lub więcej instancji wiersza, | | | zostaną załadowane wartości domyślne. | | | Przykładami brakujących danych są: | | | * Dla plików DEL: jako wartość kolumny zostały | | | podane dwa przylegające ograniczniki kolumn | | | (",,") lub dwa przylegające ograniczniki kolumn | | | rozdzielone wyznaczoną liczbą spacji (", ,"). | | | * Dla plików DEL/ASC/WSF: wiersz, który nie ma | | | wystarczającej liczby kolumn lub którego | | | długość jest za mała w porównaniu z oryginalną | | | specyfikacją. | | | Uwaga: Dla plików ASC: wartości NULL kolumn nie | | | są uważane za brakujące i wartości domyślne nie | | | zostaną wpisane zamiast nich. Wartości NULL | | | kolumn są reprezentowane przez same spacje dla | | | kolumn numerycznych, daty, godziny i datownika | | | lub poprzez użycie w kolumnie dowolnego typu | | | parametru NULL INDICATOR w celu zaznaczenia, że | | | wartością kolumny jest NULL. | | | Jeśli ta opcja nie zostanie podana i kolumna | | | źródłowa nie zawiera danych dla instancji | | | wiersza, zostanie wykonana jedna z | | | następujących czynności: | | | * Dla plików DEL/ASC/WSF: jeśli w kolumnie | | | jest dopuszczalna wartość pusta, zostanie | | | załadowana wartość NULL. Jeśli w kolumnie nie | | | jest dopuszczalna wartość pusta, program | | | narzędziowy odrzuci wiersz. | +-------------------+-------------------------------------------------+ Modyfikatory typu pliku dla modułu importującego Opis modyfikatorów "usedefaults" i "codepage=x" został zaktualizowany w następujący sposób: Tabela 31. Poprawne modyfikatory typu pliku dla importu: Wszystkie formaty pliku. +-------------------+-------------------------------------------------+ | Modyfikator | Opis | +-------------------+-------------------------------------------------+ | usedefaults | Jeśli została określona kolumna źródłowa | | | kolumny w tabeli docelowej, ale nie zawiera ona | | | danych dla jednej lub więcej instancji wiersza, | | | zostaną załadowane wartości domyślne. | | | Przykładami brakujących danych są: | | | * Dla plików DEL: jako wartość kolumny zostały | | | podane dwa przylegające ograniczniki kolumn | | | (",,") lub dwa przylegające ograniczniki kolumn | | | rozdzielone wyznaczoną liczbą spacji (", ,"). | | | * Dla plików DEL/ASC/WSF: wiersz, który nie ma | | | wystarczającej liczby kolumn lub którego | | | długość jest za mała w porównaniu z oryginalną | | | specyfikacją. | | | Uwaga: Dla plików ASC: wartości NULL kolumn nie | | | są uważane za brakujące i wartości domyślne nie | | | zostaną wpisane zamiast nich. Wartości NULL | | | kolumn są reprezentowane przez same spacje dla | | | kolumn numerycznych, daty, godziny i datownika | | | lub poprzez użycie w kolumnie dowolnego typu | | | parametru NULL INDICATOR w celu zaznaczenia, że | | | wartością kolumny jest NULL. | | | Jeśli ta opcja nie zostanie podana i kolumna | | | źródłowa nie zawiera danych dla instancji | | | wiersza, zostanie wykonana jedna z | | | następujących czynności: | | | * Dla plików DEL/ASC/WSF: jeśli w kolumnie | | | jest dopuszczalna wartość pusta, zostanie | | | załadowana wartość NULL. Jeśli w kolumnie nie | | | jest dopuszczalna wartość pusta, program | | | narzędziowy odrzuci wiersz. | +-------------------+-------------------------------------------------+ Tabela 32. Poprawne modyfikatory typu pliku dla importu: Formaty pliku ASCII (ASC/DEL). +-------------------+-------------------------------------------------+ | Modyfikator | Opis | +-------------------+-------------------------------------------------+ | codepage=x | x jest łańcuchem znaków ASCII. Wartość ta jest | | | interpretowana jako strona kodowa danych w | | | wyjściowym zestawie danych. Powoduje, że w | | | trakcie operacji importowania jest wykonywana | | | konwersja danych znakowych z tej strony kodowej | | | na stronę kodową aplikacji. | | | Mają tu zastosowanie następujące reguły: | | | * Dla czystych zestawów DBCS (grafika), | | | mieszanych DBCS i EUC ograniczniki muszą być z | | | zakresu od x00 do x3F włącznie. | | | * nullindchar musi określać symbole zawarte w | | | standardowym zestawie znaków ASCII pomiędzy | | | punktami kodowymi x20 i x7F włącznie. Dotyczy | | | to symboli ASCII i punktów kodowych. | | | | | | Uwagi: | | | 1. Modyfikatora codepage nie można używać z | | | modyfikatorem lobsinfile. | | | 2. Jeśli podczas dokonywania konwersji strony | | | kodowej ze strony kodowej aplikacji na stronę | | | kodową bazy danych nastąpi rozszerzenie danych, | | | dane mogą zostać obcięte i utracone. | +-------------------+-------------------------------------------------+ Komenda ATTACH Parametr USER komendy ATTACH określa identyfikator uwierzytelniania. Podczas podłączania do instancji DB2 Universal Database w systemie operacyjnym Windows można określić nazwę użytkownika w formacie zgodnym z Menedżerem kont zabezpieczeń (Security Account Manager - SAM) w systemie Microsoft Windows NT. Kwalifikator musi być nazwą w konwencji protokołu NetBIOS o maksymalnej długości 15 znaków. Na przykład nazwa_domeny\nazwa_użytkownika. Komenda RECOVER DATABASE W sekcji Przykłady w opisie komendy RECOVER DATABASE w dokumentacji wersji 8.2 datowniki zostały niepoprawnie sformatowane jako rrrr:mm:dd:hh:mm:ss. Poprawny format to rrrr-mm-dd-hh.mm.ss Komenda UPDATE HISTORY FILE Komenda UPDATE HISTORY FILE aktualizuje informacje o położeniu, typ urządzenia, komentarz i status w pozycji pliku historii. Zaktualizowana składnia komendy >>-UPDATE HISTORY--+-FOR--część-obiektu---------+--WITH---------> '-EID--identyfikator pozycji-' >--+-LOCATION--nowe-położenie--DEVICE TYPE--nowy-typ-urządzenia-+->< +-COMMENT--nowy-komentarz------------------------------------+ '-STATUS--nowy-status----------------------------------------' Zaktualizowane parametry komendy FOR część-obiektu Określa identyfikator pozycji historii, który ma być zaktualizowany. Jest to datownik z opcjonalnym numerem porządkowym z zakresu od 001 do 999. Uwaga: Nie można go użyć do aktualizacji statusu pozycji. Aby zaktualizować status pozycji, należy użyć parametru EID. STATUS nowy-status Określa nowy status pozycji. Można aktualizować tylko statusy pozycji kopii zapasowych. Poprawne wartości to: A Aktywny. Większość pozycji to pozycje aktywne. I Nieaktywny (Inactive). Obrazy kopii zapasowych, które nie są elementami łańcucha aktywnych protokołów, stają się nieaktywne. E Wygasłe (Expired). Obrazy kopii zapasowych, które nie są już wymagane, ponieważ liczba aktywnych obrazów oznaczonych jako nieaktualne przekroczyła wartość parametru NUM_DB_BACKUPS. D Obrazy kopii zapasowych, które nie są już dostępne do odtwarzania, powinny zostać oznaczone jako usunięte (Deleted). Aktualizacja bazy danych w wersji 8 do bieżącego poziomu - komenda db2updv8 Ta komenda aktualizuje katalogi systemowe w bazie danych w celu obsługi bieżącej wersji w następujący sposób: * Wprowadza nowe procedury dostarczane wraz z bieżącym menedżerem bazy danych. * Wpisuje do katalogu procedury schematu ODBC/CLI/JDBC jako procedury zaufane w celu poprawienia wydajności i skalowalności. * Poprawia dwa błędy typograficzne w parametrach zwrotnych funkcji tabelowej SYSPROC.SNAPSHOT_QUIESCERS: * OUIESCER_TBS_ID na QUIESCER_TBS_ID * OUIESCER_STATE na QUIESCER_STATE * Poprawia deskryptory kolumn LOB w taki sposób, że bit "protokołowany" jest spójny z tabelami katalogu. * Tworzy widok SYSIBM.SYSREVTYPEMAPPINGS. * Aktualizuje definicje widoków SYSSTAT.COLUMNS i SYSSTAT.TABLES. * Aktualizuje kolumnę SYSCOLDIST.DISTCOUNT, aby można ją było aktualizować. * Aktualizuje kolumnę SYSINDEXES.TBSPACEID w taki sposób, aby opcje nie były ustawione. * Poprawia długości parametrów 17 funkcji tabelowych. Pełną listę funkcji zawiera temat Rozwinięcie kolumn dla funkcji UDF obrazów stanu w sekcji Aktualizacje dokumentacji | Podręcznik SQL Administrative Routines dokumentu Uwagi do wydania - Wersja 8.2. * Włącza następujące wbudowane procedury: * HEALTH_DBM_INFO * HEALTH_DBM_HI * HEALTH_DBM_HI_HIS * HEALTH_DB_INFO * HEALTH_DB_HI * HEALTH_DB_HI_HIS * HEALTH_TBS_INFO * HEALTH_TBS_HI * HEALTH_TBS_HI_HIS * HEALTH_CONT_INFO * HEALTH_CONT_HI * HEALTH_CONT_HI_HIS * GET_WRAP_CFG_C * LIST_FILES_C * ODBC_DISCOVERY * HEALTH_HI_REC * EXEC_DB2_SCRIPT * HEALTH_HI_REC * EXEC_DB2_SCRIPT * ADMIN_LIST_HIST * GET_DBM_CONFIG * Modyfikuje 33 funkcje UDF obrazu stanu SYSPROC do trybu THREADSAFE: * SNAPSHOT_DBM * SNAPSHOT_FCM * SNAPSHOT_FCMNODE * SNAPSHOT_SWITCHES * SNAPSHOT_APPL_INFO * SNAPSHOT_APPL * SNAPSHOT_STATEMENT * SNAPSHOT_LOCKWAIT * SNAPSHOT_AGENT * SNAPSHOT_SUBSECT * SNAPSHOT_DATABASE * SNAPSHOT_BP * SNAPSHOT_LOCK * SNAPSHOT_TABLE * SNAPSHOT_DYN_SQL * SNAPSHOT_TBS * SNAPSHOT_TBS_CFG * SNAPSHOT_QUIESCERS * SNAPSHOT_CONTAINER * SNAPSHOT_RANGES * SNAPSHOT_TBREORG * HEALTH_DBM_INFO * HEALTH_DBM_HI * HEALTH_DBM_HI_HIS * HEALTH_DB_INFO * HEALTH_DB_HI * HEALTH_DB_HI_HIS * HEALTH_TBS_INFO * HEALTH_TBS_HI * HEALTH_TBS_HI_HIS * HEALTH_CONT_INFO * HEALTH_CONT_HI * HEALTH_CONT_HI_HIS * Zmienia długości parametrów następujących funkcji: * SQLCACHE_SNAPSHOT * SNAPSHOT_APPL_INFO * SNAPSHOT_STATEMENT * SNAPSHOT_LOCKWAIT * SNAPSHOT_DATABASE * SNAPSHOT_BP * SNAPSHOT_LOCK * SNAPSHOT_TABLE * SNAPSHOT_TBREORG * SNAPSHOT_SUBSECT * SNAPSHOT_DYN_SQL * HEALTH_DBM_INFO * HEALTH_DBM_HI * HEALTH_DBM_HI_HIS * HEALTH_DB_INFO * HEALTH_DB_HI * HEALTH_DB_HI_HIS * DB_PARTITIONS * GROUPS_FOR_USER * DB_PARTITION * Zmienia następujące funkcje tak, aby używały schematu db2schema zamiast przestarzałego schematu db2schem i umożliwia im modyfikowanie danych SQL: * SQLTABLES * SQLTABLEPRIVILEGES * SQLSTATISTICS * SQLSPECIALCOLUMNS * SQLPROCEDURES * SQLPROCEDURECOLS * SQLPRIMARYKEYS * SQLFOREIGNKEYS * SQLCOLUMNS * SQLCOLPRIVILEGES * Zmienia następujące funkcje tak, aby używały schematu db2schema zamiast przestarzałego schematu db2schem: * SQLUDTS * SQLGETTYPEINFO Autoryzacja sysadm Wymagane połączenie Baza danych. Ta komenda automatycznie nawiązuje połączenie z określoną bazą danych. Składnia komendy >>-db2updv8-- -d--nazwa-bazy-danych-----------------------------> >--+---------------------------------+--+-----+---------------->< '- -u--id_użytkownika-- -p--hasło-' '- -h-' Parametry komendy -d nazwa-bazy-danych Określa nazwę bazy danych, która ma być zaktualizowana. -u identyfikator_użytkownika Określa identyfikator użytkownika. -p hasło Określa hasło dla użytkownika. -h Wyświetla informacje pomocnicze. Użycie tej opcji powoduje, że wszystkie inne opcje są ignorowane i wyświetlane są tylko informacje pomocnicze. Przykład Po zainstalowaniu bieżącego poziomu (pakietu poprawek lub nowej wersji) można zaktualizować katalog systemowy w bazie danych moja-baza-danych, uruchamiając następującą komendę: db2updv8 -d moja-baza-danych Uwagi dotyczące użycia 1. Ta komenda może zostać użyta tylko w odniesieniu do bazy danych DB2 Universal Database w wersji 8.1.2 lub nowszej. Użycie tej komendy więcej niż raz nie powoduje zgłoszenia błędów, a wszystkie aktualizacje katalogu są stosowane tylko raz. 2. Aby aktywować nowe funkcje wbudowane, konieczne jest odłączenie wszystkich aplikacji od bazy danych, a sama baza danych musi być dezaktywowana, o ile była wcześniej aktywowana. Formatowanie plików pułapek (Windows) Dostępne jest nowe narzędzie db2xprt.exe, które służy do formatowania plików pułapek (*.TRP). Narzędzie to formatuje binarne pliki pułapek programu DB2 Universal Database i przekształca je w czytelne dla użytkownika pliki ASCII. Pliki pułapek znajdują się domyślnie w katalogu instancji (DB2INSTPROF) lub w katalogu danych diagnostycznych, o ile ustawiono parametr konfiguracyjny bazy danych DIAGPATH. Autoryzacja Wymagane są prawa dostępu do katalogu określonego w parametrze DIAGPATH. Składnia komendy >>-db2xprt--+-------------+--+----+--+----+---------------------> +-/p--ścieżka-+ '-/m-' '-/n-' '-/v----------' >--plik_wejściowy--+----------------+-------------------------->< '-plik_wyjściowy-' Parametry komendy /p ścieżka Rozdzielana średnikami (;) ścieżka, wskazująca miejsca, w których znajdują się pliki binarne i pliki PDB. /v Wyświetla informacje o wersji. /m Formatuje zrzut pamięci wraz z resztą pliku pułapki. /n Formatuje dane niezależnie od informacji o numerze wiersza. plik_wejściowy Określa plik wejściowy. plik_wyjściowy Określa plik wyjściowy. Przenoszenie danych Pliki powiązań używane przez moduł eksportujący, importujący i ładujący Do modułu importującego dodano nowy plik powiązań db2uImpInsUpdate.bnd o domyślnym poziomie odseparowania "stabilność odczytu" (RS). Ten plik powiązań jest używany przez moduł importujący wyłącznie podczas operacji INSERT_UPDATE. W przypadku opcji INSERT, REPLACE i CREATE modułu importującego nadal używany jest plik db2uimpm.bnd. Pliku powiązań db2uImpInsUpdate.bnd nie można powiązać z użyciem opcji INSERT BUF. Próba wykonania operacji IMPORT INSERT_UPDATE, gdy plik db2uImpInsUpdate.bnd jest powiązany z opcją INSERT BUF, spowoduje niepowodzenie działania modułu importującego oraz zgłoszenie następującego błędu: SQL3525: Opcja "INSERT_UPDATE" jest niekompatybilna z opcją "INSERT BUF BIND ON DB2UIMPINSUPDATE.BND". Importowanie z buforowanymi wstawieniami Wersja 8.2 podręcznika Data Movement Utilities Guide and Reference zawiera następujące stwierdzenie: Opcja buforowania wstawień nie może być używana razem z operacjami importowania, w których określony jest parametr INSERT_UPDATE. W celu wymuszenia przestrzegania tego ograniczenia wprowadzono nowy plik powiązań (db2uimpm2.bnd). Z uwagi na wprowadzenie nowego pliku powiązań zdanie to powinno brzmieć: Opcja buforowania wstawień nie może być używana razem z operacjami importowania, w których określony jest parametr INSERT_UPDATE. W celu wymuszenia przestrzegania tego ograniczenia wprowadzono nowy plik powiązań (db2uImpInsUpdate.bnd). Utrata informacji indeksu w przypadku użycia modułu importującego Modułu importującego można użyć do odtworzenia tabeli, która została zapisana przy użyciu modułu eksportującego. W sekcji Data Movement znajduje się temat "Using import to recreate an exported table", zawierający opis atrybutów oryginalnej tabeli, które nie są zachowywane. Oprócz atrybutów, które już zostały opisane w dokumentacji, następujące atrybuty nie są zachowywane: * Informacje indeksu: * Kolumny włączane (jeśli występują) * Nazwa indeksu, jeśli indeks jest indeksem klucza podstawowego * Porządkowanie malejące, jeśli indeks jest indeksem klucza podstawowego (domyślnie jest wybierane porządkowanie rosnące) Podręcznik Data Recovery and High Availability Guide Przegląd zagadnień dotyczących tworzenia kopii zapasowej Należy pamiętać o następujących ograniczeniach: * Uruchomienie operacji tworzenia kopii zapasowej otwartej bazy danych dla obszaru tabel DMS jest dopuszczalne nawet wtedy, gdy tabela z tego samego obszaru tabel jest reorganizowana w trybie otwartej bazy danych. W fazie obcinania mogą występować okresy oczekiwania na blokady dla operacji reorganizacji. * Uruchomienie operacji tworzenia kopii zapasowej otwartej bazy danych dla obszaru tabel SMS jest niedopuszczalne, gdy tabela z tego samego obszaru tabel jest reorganizowana w trybie otwartej bazy danych. Obie operacje wymagają blokady na wyłączność. Korzystanie z narzędzia do tworzenia kopii zapasowych Z programem narzędziowym do tworzenia kopii zapasowych wiążą się następujące ograniczenia: * Operacji tworzenia kopii zapasowej obszaru tabel i operacji odtwarzania obszaru tabel nie można uruchamiać jednocześnie, nawet dla różnych obszarów tabel. * Aby mieć możliwość odtwarzania zmian w środowisku partycjonowanej bazy danych, należy regularnie tworzyć kopie zapasowe bazy danych z listy węzłów i trzeba dysponować co najmniej jednym obrazem kopii zapasowej pozostałych węzłów systemu (nawet tych, które nie zawierają danych użytkownika z tej bazy danych). Posiadanie kopii zapasowej obrazu partycji bazy danych na serwerze partycji, który nie zawiera danych użytkownika z bazy danych, jest wymagane w dwóch sytuacjach: * Serwer partycji bazy danych został dodany do systemu bazy danych po wykonaniu ostatniej kopii zapasowej i trzeba wykonać odtwarzanie do przodu na tym serwerze partycji bazy danych. * Stosowane jest odtwarzanie do określonego momentu, które wymaga, aby wszystkie partycje bazy danych w systemie były w stanie odtwarzania zmian w toku. * Operacje tworzenia kopii zapasowej otwartej bazy danych dla obszarów tabel DMS są niekompatybilne z następującymi operacjami: * Ładowanie. * Reorganizacja (tylko zamkniętej bazy danych); (reorganizacja otwartej tabeli z obszaru tabel, dla którego tworzona jest kopia zapasowa, może być wykonywana, chociaż mogą występować oczekiwania na blokady w fazie obcinania). * Usuwanie obszaru tabel. * Obcinanie tabel. * Tworzenie indeksu. * Klauzula not logged initially (używana w instrukcjach CREATE TABLE i ALTER TABLE). Przegląd zagadnień dotyczących usuwania skutków awarii w środowiskach o wysokiej dostępności Podczas wykonywania komend START HADR, STOP HADR i TAKEOVER HADR mogą zostać wygenerowane odpowiednie kody błędów: SQL01767N, SQL01769N lub SQL01770N z kodem przyczyny 98. Kod przyczyny oznacza, że na serwerze, na którym została uruchomiona komenda, nie ma zainstalowanych licencji HADR. Aby rozwiązać ten problem, należy zainstalować poprawną licencję HADR za pomocą komendy db2licm lub zainstalować wersję serwera, która zawiera poprawną licencję HADR jako część pakietu dystrybucyjnego. Obsługa tworzenia i odtwarzania kopii zapasowych na różnych platformach Program DB2 Universal Database (UDB) obsługuje operacje tworzenia i odtwarzania kopii zapasowych na różnych platformach. Bazy danych utworzone w programie DB2 UDB, wersja 8, na 32-bitowej platformie systemu Windows można odtwarzać w programie DB2 UDB, wersja 8, na 64-bitowej platformie systemu Windows; można również wykonać operację odwrotną. Bazy danych utworzone w programie DB2 UDB, wersja 8, na 32-bitowej platformie systemu Linux x86 można odtwarzać w programie DB2 UDB, wersja 8, na 64-bitowej platformie Linux x86-64 lub IA64; można również wykonać operację odwrotną. Bazy danych utworzone w programie DB2 UDB, wersja 8, na 32- lub 64-bitowych platformach systemów AIX, HP-UX, Linux PPC, Linux zSeries lub w Środowisku Operacyjnym Solaris można odtwarzać w programie DB2 UDB, wersja 8, na platformach systemów AIX, HP-UX, Linux PPC, Linux zSeries lub w Środowisku Operacyjnym Solaris (32- lub 64-bitowych). Tworzenie kopii zapasowej na taśmie (system Linux) Maksymalna wielkość bloku dla urządzeń taśmowych 3480 i 3490 w systemie Linux wynosi 61 440 bajtów. Tabela 33. Maksymalna wielkość bloku dla urządzeń taśmowych 3480 i 3490 w systemie Linux. +-----------------+-----------------+----------------+----------------+ | Urządzenie | Przyłączenie | Limit | Limit | | | | wielkości | wielkości | | | | bloku | buforu DB2 (w | | | | | stronach 4 kB) | +-----------------+-----------------+----------------+----------------+ | 3480 | s370 | 61 440 | 15 | +-----------------+-----------------+----------------+----------------+ | 3490 | s370 | 61 440 | 15 | +-----------------+-----------------+----------------+----------------+ Tivoli Storage Manager Podczas wywoływania komend BACKUP DATABASE lub RESTORE DATABASE można określić, że do zarządzania operacją tworzenia lub odtwarzania kopii zapasowej bazy danych albo obszaru tabel ma być używany produkt Tivoli Storage Manager (TSM). Minimalny wymagany poziom interfejsu API klienta TSM to wersja 4.2.0, z wyjątkiem następujących środowisk: * 64-bitowe systemy Solaris, które wymagają interfejsu API klienta TSM w wersji 4.2.1. * 64-bitowe systemy operacyjne Windows NT, które wymagają interfejsu API klienta TSM w wersji 5.1. * 32-bitowe systemy Linux dla iSeries i pSeries, które wymagają interfejsu API klienta TSM w wersji przynajmniej 5.1.5. * 64-bitowe systemy Linux dla iSeries i pSeries, które wymagają interfejsu API klienta TSM w wersji przynajmniej 5.3. * 64-bitowe systemy Linux na platformach AMD Opteron, które wymagają interfejsu API klienta TSM w wersji przynajmniej 5.2.0. * 64-bitowe systemy Linux dla zSeries, które wymagają interfejsu API klienta TSM w wersji przynajmniej 5.2.2. Ograniczenia wartości dla parametrów lokalnego hosta HADR i usług lokalnych Wartości parametrów lokalnego hosta i lokalnych usług mechanizmu usuwania skutków awarii w środowiskach o wysokiej dostępności (HADR_LOCAL_SVC i HADR_REMOTE_SVC) określane w ramach przygotowywania komendy aktualizacji konfiguracji bazy danych muszą być portami, które nie są używane przez żadną inną usługę. Jeśli parametry te są konfigurowane za pomocą wiersza komend systemu Linux lub UNIX, ich wartości należy ustawić również w pliku /etc/services. Dodatkowe wymagania systemowe mechanizmu usuwania skutków awarii w środowiskach o wysokiej dostępności Jeśli po utworzeniu obszaru tabel w podstawowej bazie danych odtworzenie protokołu w rezerwowej bazie danych nie powiedzie się, ponieważ kontenery są niedostępne, podstawowa baza danych nie zostanie poinformowana o tym niepowodzeniu komunikatem o błędzie. Aby sprawdzić błędy odtwarzania protokołu, należy podczas tworzenia obszarów tabel monitorować protokół db2diag.log i protokół administracyjny w rezerwowej kopii bazy danych. W razie przełączenia awaryjnego nowy obszar tabel nie będzie dostępny w nowej podstawowej bazie danych. W tej sytuacji należy odtworzyć obszar tabel w nowej bazie podstawowej z kopii zapasowej. W poniższym przykładzie obszar tabel MÓJ_OBSZAR_TABEL jest odtwarzany w bazie danych MOJA_BAZA_DANYCH przed użyciem tej bazy jako podstawowej bazy danych: 1. db2 connect to moja_baza_danych 2. db2 list tablespaces show detail Uwaga: Uruchom komendę db2 list tablespaces show detail, aby wyświetlić status wszystkich obszarów tabel i uzyskać numer identyfikacyjny obszaru tabel wymagany w kroku 5. 3. db2 stop hadr on database moja_baza_danych 4. db2 "restore database moja_baza_danych tablespace (mój_obszar_tabel) online redirect" 5. db2 "set tablespace containers for identyfikator_mojego_obszaru_tabel_# ignore rollforward container operations using (path '/ścieżka_do_mojego_nowego_kontenera/')" 6. db2 "restore database moja_baza_danych continue" 7. db2 rollforward database moja_baza_danych to end of logs and stop tablespace "(mój_obszar_tabel)" 8. db2 start hadr on database moja_baza_danych as primary Operacje niereplikowane i mechanizm usuwania skutków awarii w środowiskach o wysokiej dostępności W dokumentacji wersji 8.2 napisano: Obiekty BLOB i CLOB nie są replikowane, jednak jest im przydzielane miejsce w rezerwowej bazie danych. Zdanie to powinno wyglądać następująco: Nieprotokołowane obiekty BLOB i CLOB nie są replikowane, jednak jest im przydzielane miejsce w rezerwowej bazie danych. Mechanizm HADR nie obsługuje surowych operacji we/wy dla protokołów Mechanizm usuwania skutków awarii w środowiskach o wysokiej dostępności (HADR) nie obsługuje surowych operacji we/wy (bezpośredni dostęp do dysku) dla plików protokołów bazy danych. Jeśli mechanizm HADR jest uruchamiany komendą START HADR lub jeśli baza danych jest restartowana ze skonfigurowanym mechanizmem HADR i zostaną wykryte surowe operacje we/wy dla protokołów, powiązana komenda nie powiedzie się z błędem SQL1768N, kod przyczyny "9". Porównanie monitora uszkodzeń i monitora poprawności Monitor poprawności i monitor uszkodzeń są to narzędzia działające na pojedynczej instancji bazy danych. Monitor poprawności używa indykatorów poprawności w celu oceny poprawności konkretnych aspektów wydajności menedżera bazy danych lub wydajności bazy danych. Indykator poprawności mierzy poprawność pewnych aspektów konkretnej klasy obiektów bazy danych, takich jak obszar tabel. Indykatory poprawności można ocenić w porównaniu do konkretnych kryteriów w celu określenia poprawności tej klasy obiektów bazy danych. Ponadto indykatory poprawności mogą generować alerty w celu powiadomienia użytkownika, gdy indykator przekroczy próg lub gdy obiekt bazy danych nie jest w normalnym stanie W porównaniu monitor uszkodzeń jest odpowiedzialny wyłącznie za zapewnienie działania i dostępności monitorowanej instancji. Jeśli monitorowana instancja programu DB2 UDB zostanie nieoczekiwanie zakończona, monitor uszkodzeń zrestartuje daną instancję. Monitor uszkodzeń jest niedostępny w systemie Windows. Wyłączanie monitorowania uszkodzeń Aby wyłączyć monitorowanie uszkodzeń dla instancji bazy danych DB2INST1, należy wpisać następującą komendę w oknie komend programu DB2 UDB: db2fm -i db2inst1 -f no Uwaga: Jeśli nie istnieje plik rejestru monitora uszkodzeń, zostaną użyte wartości domyślne. Aby potwierdzić, że monitor uszkodzeń już nie działa dla instancji DB2INST1, należy w systemach UNIX wpisać następującą komendę: ps -ef|grep -i fm W systemach Linux należy wpisać następującą komendę: ps auxw|grep -i fm Wpis zawierający termin db2fmd i DB2INST1 oznacza, że monitor uszkodzeń nadal działa dla danej instancji. Aby wyłączyć monitor uszkodzeń, należy wpisać następującą komendę jako właściciel instancji: db2fm -i db2inst1 -D Centrum hurtowni danych Konfigurowanie środowiska klienta hurtowni danych w systemach operacyjnych AIX i Solaris W systemach operacyjnych AIX i Solaris należy przed uruchomieniem klienta hurtowni danych prawidłowo ustawić ustawienia narodowe. Aby ustawić ustawienia narodowe, należy wpisać w wierszu komend następującą komendę: export LC_ALL= Przykład: export LC_ALL=Ja_JP gdzie Ja_JP odpowiada lokalnym ustawieniom narodowym. Jeśli ta zmienna środowiskowa nie zostanie ustawiona, aplikacje GUI mogą nie działać prawidłowo i mogą powodować błędy języka Java. Aktualizowanie konfiguracji menedżera bazy danych przed zainstalowaniem transformatorów hurtowni W podręczniku DB2 Warehouse Manager Standard Edition Installation Guide, wersja 8.2, temat "Updating the database manager configuration before installing warehouse transformers" nieprawidłowo informuje o aktualizowaniu parametru ścieżki pakietu SDK. Zaktualizowanie parametr ścieżki pakietu JDK jest wymagane. Przed zainstalowaniem transformatorów hurtowni należy zaktualizować konfigurację menedżera bazy danych dla docelowej instancji DB2, używając procesora wiersza komend DB2. Procedura Aby zaktualizować konfigurację menedżera bazy danych przed zainstalowaniem transformatorów hurtowni: 1. Ustaw parametr ścieżki pakietu JDK (JDK_PATH) na podkatalog, w którym zainstalowany jest pakiet JDK: UPDATE DATABASE MANAGER CONFIGURATION USING JDK_PATH ścieżka gdzie ścieżka jest podkatalogiem, w którym jest zainstalowany pakiet JDK. Uwaga: Nie umieszczaj w zmiennej JDK_PATH katalogu bin. Jeśli używasz programu DB2 Universal Database, wersja 7.2 (lub wcześniejsza), z zainstalowanymi transformatorami, zaktualizuj zmienną JDK11_PATH, a nie JDK_PATH. 2. Ustaw parametr wielkości sterty wirtualnej maszyny języka Java (JAVA_HEAP_SZ) na 4096: UPDATE DATABASE MANAGER CONFIGURATION USING JAVA_HEAP_SZ 4096 Zmienna środowiskowa VW_NETRC została dodana do Centrum hurtowni danych (UNIX) Począwszy od Centrum hurtowni danych w wersji 8.2 z pakietem poprawek 10 (odpowiednika wersji 8.1 z pakietem poprawek 3), w systemach operacyjnych UNIX (z wyjątkiem systemu Linux) można ustawiać nową zmienną środowiskową VW_NETRC. Nadanie zmiennej środowiskowej VW_NETRC wartości off umożliwia ręczne obsługiwanie pliku .netrc. Poprawny format pliku .netrc można znaleźć w dokumentacji systemu operacyjnego. Współbieżne uruchamianie zdefiniowanych przez użytkownika programów FTP może spowodować uszkodzenie pliku .netrc. Aby wykonywać współbieżnie zdefiniowane przez użytkownika czynności programu FTP, należy nadać zmiennej środowiskowej VW_NETRC wartość off (VW_NETRC=OFF). Zmienną tę należy dodać do profilu demona agenta dla zdalnych agentów i do pliku IWH.environment dla agenta domyślnego lub lokalnego. Centrum hurtowni danych DB2 wymaga bazy danych w formacie Unicode Po zainstalowaniu programu DB2 Universal Database wersja 8.1 z pakietem poprawek 7 lub nowszej wersji należy uruchomić narzędzie Zarządzanie sterującą bazą danych hurtowni w celu utworzenia nowej sterującej bazy danych hurtowni w formacie Unicode. Wymagania wstępne Aby utworzyć i zapisać kopię istniejącej sterującej bazy danych hurtowni, na stacji roboczej musi być wystarczająca ilość miejsca do zapisania tej kopii oraz dodatkowo dwukrotnie więcej miejsca, niż sterująca baza danych hurtowni wymaga do zapisywania plików tymczasowych. Na przykład, jeśli istniejąca sterująca baza danych hurtowni ma wielkość 10 MB, wymagana jest dostępność 30 MB w tej samej instancji, w której znajduje się sterująca baza danych hurtowni. Procedura Aby utworzyć nową sterującą bazę danych hurtowni w formacie Unicode, wykonaj następujące czynności: 1. Uruchom narzędzie do zarządzania sterującą bazą danych hurtowni (Warehouse Control Database Management): * W systemie Windows: Kliknij kolejno opcje Start i wybierz Programy -> IBM DB2-> Narzędzia konfiguracyjne-> Warehouse Control Database Management (Zarządzanie sterującą bazą danych hurtowni). * W systemie AIX: Uruchom skrypt db2wcdbm. 2. Wprowadź nazwę istniejącej sterującej bazy danych hurtowni. Zostanie wyświetlony monit o podanie nowej nazwy sterującej bazy danych hurtowni. W efekcie zostanie utworzona nowa sterująca baza danych hurtowni w formacie Unicode. Definiowanie źródeł i celów hurtowni danych DB2 Poniższa aktualizacja dotyczy dwóch tematów Centrum hurtowni danych: * Definiowanie źródeł hurtowni danych DB2 * Definiowanie celu hurtowni danych Podczas definiowania źródła lub celu hurtowni danych domyślna liczba zwracanych tabel jest równa 250. Za pomocą nowej zmiennej środowiskowej VWS_MAX_TABLELIST można jednak ustawić liczbę zwracanych tabel. Maksymalna liczba zwracanych tabel wynosi 40 000. Ta liczba może być mniejsza w zależności od wielkości nazw tabel na liście. Zaleca się podanie liczby znacznie mniejszej od 40 000. Aktualizacje kursu Business Intelligence Tutorial Sprawdź, czy bazy danych DWCTBC i TBC_MD są zarejestrowane w źródle danych ODBC W wersji 8 używana w tym kursie sterująca baza danych TBC_MD nie musi być systemowym źródłem danych ODBC. Jednakże docelowa baza danych lub źródłowa baza danych DWCTBC musi być systemowym źródłem danych ODBC. Otwieranie notatnika Definiuj źródło hurtowni Zmieniona została procedura otwierania notatnika Definiuj źródło hurtowni dla używanego w źródle Tutorial Relational Source. Procedura Aby otworzyć notatnik Definiuj źródło hurtowni dla używanego w kursie źródła Tutorial Relational Source: 1. W oknie Centrum hurtowni danych kliknij prawym przyciskiem myszy folder Źródła hurtowni. 2. Kliknij kolejno opcje: Zdefiniuj --> ODBC --> DB2 --> Rodzina DB2. Zostanie otwarty notatnik Definiuj źródło hurtowni. Otwieranie notatnika Definiuj cel hurtowni Zmieniona została procedura otwierania notatnika Definiuj cel hurtowni. Procedura Aby otworzyć notatnik Definiuj cel hurtowni: 1. W oknie Centrum hurtowni danych kliknij prawym przyciskiem myszy folder Cele hurtowni. 2. Kliknij kolejno opcje: Zdefiniuj --> ODBC --> DB2 --> Rodzina DB2. Otwarty zostanie notatnik Definiuj cel hurtowni. Ustawianie ograniczenia dla usuwania w plikach protokołów hurtowni danych Rekordy są zapisywane w pliku protokołu, dopóki osiągnięta zostanie określona liczba rekordów. Domyślne ograniczenie liczby rekordów to 1000 rekordów. Zazwyczaj w czasie wykonywania każdego zadania w protokole zapisywanych jest od 12 do 15 rekordów. Należy ustawić ograniczenie dla usuwania tak, aby spełnione były specyficzne wymagania systemu, aktualizując wartość w polu Opróżnij protokół, gdy łączna liczba zapisów osiągnie poziom na karcie Serwer na stronie Właściwości hurtowni. Obsługa ładowania ze źródła typu CURSOR w Centrum hurtowni danych Krok ładowania programu DB2 Universal Database umożliwia teraz wykorzystanie widoku lub tabeli jako źródła tego kroku, co spowoduje wykonanie instrukcji LOAD FROM CURSOR. Aby odwzorować kolumny w kreatorze dla ładowania ze źródła typu CURSOR, przełącznik Odwzoruj kolumny na podstawie pozycji kolumn w pliku wejściowym musi być zaznaczony. Migracja sterującej bazy danych hurtowni Unicode i jej ograniczenia W Centrum hurtowni danych, wersja 8.2, sterująca baza danych hurtowni musi być bazą danych w kodzie Unicode. Jeśli istnieje sterująca baza danych hurtowni w kodzie Unicode utworzona w wersji Centrum hurtowni danych wcześniejszej niż wersja 8.2, w dalszym ciągu konieczne jest utworzenie sterującej bazy danych hurtowni w kodzie Unicode przy użyciu narzędzia do zarządzania sterującą bazą danych hurtowni (Warehouse Control Database Management). Podczas migracji sterującej bazy danych hurtowni z wersji Centrum hurtowni danych wcześniejszej niż wersja 8.2, narzędzie do zarządzania sterującą bazą danych hurtowni uruchamia komendę db2move w celu przeniesienia danych do nowej sterującej bazy danych w kodzie Unicode. W trakcie tego procesu wyświetlane jest okno pokazujące postęp wykonywania komendy db2move. Ta ścieżka migracji występuje tylko jeden raz. Centrum hurtowni danych nie obsługuje kodu Unicode dla serwerów Sybase. Zmiana formatu daty dla kolumny Zmodyfikowano W widoku szczegółów, w głównym oknie Centrum hurtowni danych zaktualizowano format daty w kolumnie Zmodyfikowano. Data w kolumnie Zmodyfikowano jest wyświetlana w formacie zgodnym z ustawieniami narodowymi i zawiera także godzinę. Zmiana ta umożliwia poprawne sortowanie obiektów według wartości w kolumnie Zmodyfikowano. Aktualizacja ta dotyczy większości wyświetlanych w widoku nawigatora i szczegółów list z obiektami Centrum hurtowni danych, takimi jak: * Tematy * Procesy * Schematy hurtowni danych * Serwery agentów hurtowni danych * Programy * Kroki * Zasoby danych * Użytkownicy * Grupy użytkowników Definiowanie transformatorów statystycznych w Centrum hurtowni danych W celu przeprowadzenia statystycznej transformacji danych należy zdefiniować transformator statystyczny, który ma być używany. Procedura Aby zdefiniować transformatory statystyczne: 1. Otwórz okno Model procesu. 2. Kliknij ikonę transformatora i wybierz transformator z listy dostępnych transformatorów. 3. Połącz wybrany transformator ze źródłem i celem hurtowni danych zgodnie z regułami dla tego transformatora. Każdy transformator ma konkretne reguły określające sposób połączenia go ze źródłem i celem hurtowni danych. Więcej informacji na ten temat można znaleźć w dokumentacji każdego transformatora. Przygotowanie do instalacji agentów hurtowni danych Podczas instalowania programu DB2 Warehouse Manager serwer hurtowni danych, klient hurtowni danych i wszyscy agenci hurtowni danych muszą mieć taki sam poziom wersji i pakietu poprawek. Wymagania wstępne dla agenta hurtowni danych iSeries Aby można było korzystać z agenta hurtowni danych iSeries w programie DB2 Warehouse Manager w systemach V5R2 i V5R3, wymagana jest następująca poprawka PTF: PTF SI13558 Ta poprawka PTF do bazy danych włącza interfejs CLI w systemie iSeries w celu obsługi danych w kodzie Unicode. Dostawca danych DB2 dla platformy .NET Obsługa współbieżnych aktywnych obiektów czytających dane Dostawca danych DB2 dla platformy .NET umożliwia obecnie użycie współbieżnych aktywnych obiektów czytających dane. Oznacza to, że można współbieżnie uzyskiwać dostęp do danych z wielu instancji DB2DataReader korzystających z tej samej instancji obiektu DB2Connection. Każda instancja DB2DataReader musi być skojarzona z odrębną instancją DB2Command. Aby użyć takiej instancji DB2Command w jakimkolwiek innym celu, należy jawnie wywołać metodę DB2DataReader.Close. Właściwość DB2Connection.ConnectionString Właściwość DB2Connection.ConnectionString ma dodatkowy parametr: CurrentSchema Określa schemat, który ma być używany po pomyślnym połączeniu. Po pomyślnym nawiązaniu połączenia instrukcja SET CURRENT SCHEMA jest wysyłana do serwera DB2. Umożliwia to aplikacjom nadawanie nazw obiektom SQL bez konieczności kwalifikowania ich za pomocą nazwy schematu. DB2 Connect Zmiana negocjacji typu uwierzytelniania przez bramę Począwszy od wersji 8.2.2 programu DB2 Connect(TM) (odpowiednik wersji 8.1. z pakietem poprawek 9) brama nie jest już tylko biernym uczestnikiem negocjacji typu uwierzytelniania. Brama pełni teraz rolę aktywną. Typ uwierzytelniania określony we wpisie do katalogu bazy danych na bramie przesłania typ uwierzytelniania wpisany do katalogu po stronie klienta. Na kliencie, na bramie i na serwerze muszą być określone zgodne typy uwierzytelniania. Jeśli w katalogu bazy danych na bramie nie został określony typ uwierzytelniania, domyślnym typem uwierzytelniania żądanym od serwera będzie SERVER. Jeśli jednak serwer nie obsługuje uwierzytelniania typu SERVER, między klientem a serwerem prowadzone będą negocjacje. Ten sposób działania jest inny niż w przypadku klienta, który w wypadku nieokreślenia typu uwierzytelniania domyślnie przyjmuje typ SERVER_ENCRYPT. Typ uwierzytelniania wpisany do katalogu na bramie nie jest używany, jeśli na kliencie ustawiono opcję DB2NODE lub SQL_CONNECT_NODE w wywołaniu API Set Client. W takich przypadkach w negocjacjach uczestniczy wyłącznie klient i serwer. Jeśli w konfiguracji menedżera bazy danych na serwerze jako typ uwierzytelniania określono SERVER_ENCRYPT, to serwer taki nie będzie przyjmował połączeń ani prób przyłączenia od klientów żądających uwierzytelniania SERVER. Nowy scenariusz zabezpieczeń Na potrzeby połączeń APPC dodano nowy scenariusz zabezpieczeń: Uwierzytelnianie GSSPLUGIN Zabezpieczenia Brak Sprawdzenie poprawności Mechanizm modułu dodatkowego zabezpieczeń interfejsu API GSS Poprawki do diagramów W poniższych tematach dotyczących programu DB2 Connect Enterprise Edition zamieszczono niepoprawne diagramy: * Uzyskiwanie dostępu do danych DB2 na hoście lub w systemie iSeries za pomocą programu DB2 Connect Enterprise Edition * Uzyskiwanie dostępu do danych DB2 z sieci WWW przy użyciu języka Java W poniższej tabeli przedstawiono poprawki do diagramów zamieszczonych w temacie "Uzyskiwanie dostępu do danych DB2 na hoście lub w systemie iSeries przy użyciu programu DB2 Connect Enterprise Edition". Tabela 34. Poprawki do diagramów w temacie "Uzyskiwanie dostępu do danych DB2 na hoście lub w systemie iSeries przy użyciu programu DB2 Connect Enterprise Edition". +-------------------+-------------------------------------------------+ | Położenie w | Poprawka | | temacie | | +-------------------+-------------------------------------------------+ | Legenda dla | * W odwołaniach zamiast "DB2 for OS/390, | | wszystkich | wersja V5R1" powinno być "DB2 for OS/390, | | czterech | wersja V6 lub nowsza". | | diagramów | * W odwołaniach zamiast "DB2 for AS/400, | | | wersja V4R2" powinno być "DB2 for iSeries, | | | wersja V5R1 lub nowsza". | +-------------------+-------------------------------------------------+ | Pierwszy diagram | Wszystkie odwołania do "obsługi komunikacji | | (Rysunek 1: DB2 | APPC/SNA" są niepoprawne. Protokół SNA/APPC nie | | Connect | jest obsługiwany jako protokół przychodzący dla | | Enterprise | klienta DB2 Runtime Client przez serwery DB2 w | | Edition) | systemach Linux, Unix i Windows, w tym również | | | przez program DB2 Connect Enterprise Edition. | +-------------------+-------------------------------------------------+ Poniższa tabela zawiera poprawki do diagramów zamieszczonych w temacie "Uzyskiwanie dostępu do danych DB2 z sieci WWW przy użyciu języka Java". Tabela 35. Poprawki do diagramów w temacie "Uzyskiwanie dostępu do danych DB2 z sieci WWW przy użyciu języka Java". +-------------------+-------------------------------------------------+ | Położenie w | Poprawka | | temacie | | +-------------------+-------------------------------------------------+ | Legenda | * W odwołaniach zamiast "DB2 for OS/390, | | | wersja V5R1" powinno być "DB2 for OS/390, | | | wersja V6 lub nowsza". | | | * W odwołaniach zamiast "DB2 for AS/400, | | | wersja V4R2" powinno być "DB2 for iSeries, | | | wersja V5R1 lub nowsza". | +-------------------+-------------------------------------------------+ Centrum projektowania Centrum projektowania DB2, wersja 8.2, wymaga poziomu 9.2.9 produktu Distributed Debugger Centrum projektowania DB2, wersja 8.2, wymaga obecnie wersji 9.2.9 programu IBM Distributed Debugger. Jeśli nie jest zainstalowana wersja 9.2.9 programu Distributed Debugger, to za pomocą Centrum projektowania nie będzie można debugować procedur zapisanych w bazie napisanych w języku Java. Wersja 9.2.9 programu Distributed Debugger nie obsługuje już Środowiska Operacyjnego Solaris. Więcej informacji na temat programu Distributed Debugger zawiera serwis WWW programu Distributed Debugger pod adresem http://www.ibm.com/software/awdtools/debugger. Ograniczenie długości w oknie Zmień zakres zmiennej Centrum projektowania DB2 Podczas zmiany długości zmiennej przy użyciu okna dialogowego Zmień zakres zmiennej w Centrum projektowania DB2 obowiązuje długość maksymalna równa 1024 bajty. To ograniczenie jest obecnie udokumentowane w postaci komunikatu wyłącznie w języku angielskim. Ograniczenia dotyczące sterowników DB2 Universal typu 2 i 4 W wersji 8.2 dodano możliwość łączenia się użytkowników z bazą danych DB2 Universal Database (UDB) z Centrum projektowania przy użyciu sterowników DB2 Universal typu 2 i 4. Jednak próba użycia jednego z tych sterowników do połączenia się z serwerem iSeries lub serwerem DB2 UDB w wersji 8.1 lub wcześniejszej spowoduje wygenerowanie następującego komunikatu o błędzie: Połączenie z nie powiodło się. Nie znaleziono sterownika JCC IBM DB2 Universal. Dodatkowe informacje o tym, którego sterownika użyć, aby uniknąć tego błędu, można znaleźć w temacie "Sterowniki JDBC" w Centrum informacyjnym DB2. Podręcznik graficznych narzędzi administracyjnych i programistycznych Modyfikowanie znaku kończącego instrukcję Począwszy od wersji 8.2, pakiet poprawek 1 (co odpowiada wersji 8.1, pakiet poprawek 8), programu DB2 Universal Database (UDB) można modyfikować znak kończący instrukcję uruchomionego skryptu w procesorze wiersza komend (CLP) lub w Edytorze komend. Ta modyfikacja podczas pracy jest analogiczna do metody aktualnie dostępnej w programie DB2 UDB for OS/390. W poniższych przykładach przedstawiono sposób zmiany znaku kończącego po każdej instrukcji: connect to gilroy user newton using password; select * from newton.department; --#SET TERMINATOR : select * from newton.employee: --#SET TERMINATOR @ select * from newton.department@ --#SET TERMINATOR ; select * from newton.department; --#SET TERMINATOR & terminate& Możliwość zmiany znaku kończącego jest ważna, jeśli skrypt zawiera instrukcje złożone. W poniższym przykładzie dla programu DB2 UDB przyjęto, że pierwszy znak ; napotkany w złożonej instrukcji CREATE TRIGGER jest znakiem kończącym dla całej instrukcji CREATE TRIGGER. Jednak w tym przypadku jest inaczej. Ma on być tylko znakiem kończącym jedną z instrukcji w złożonej instrukcji CREATE TRIGGER. CONNECT TO SAMPLE; DROP TRIGGER newton.NWTTRIGGER; CREATE TRIGGER newton.NWTTRIGGER AFTER DELETE ON newton.NWTTABLE FOR EACH ROW MODE DB2SQL BEGIN ATOMIC insert into newton.nwttable values(0,'0'); insert into newton.nwttable values( -1, '-1'); END; CONNECT RESET; TERMINATE; W poniższym przykładzie przedstawiono sposób modyfikacji znaku kończącego instrukcję w skrypcie w celu osiągnięcia żądanych wyników. CONNECT TO SAMPLE; DROP TRIGGER newton.NWTTRIGGER; --#SET TERMINATOR @ CREATE TRIGGER newton.NWTTRIGGER AFTER DELETE ON newton.NWTTABLE FOR EACH ROW MODE DB2SQL BEGIN ATOMIC insert into newton.nwttable values(0,'0'); insert into newton.nwttable values( -1, '-1'); END@ --#SET TERMINATOR ; CONNECT RESET; Jeśli skrypty nie muszą być uruchamiane lokalnie w programie DB2 for OS/390 lub skrypty programu DB2 UDB nie łączą się z systemem OS/390, korzystanie z komendy --#SET TERMINATOR nie jest zalecaną metodą modyfikowania znaków kończących instrukcje. Zamiast tego należy użyć istniejących opcji -tdX lub ;--. Opcja -tdX umożliwia określenie znaku kończącego podczas wywoływania skryptu przy użyciu komendy CLP. Znak 'X' reprezentuje znak wykorzystywany jako znak kończący instrukcję. Na przykład w komendzie: db2 -tvf test.txt -td& Znak & zostanie użyty jako znak kończący instrukcję w trakcie działania skryptu zapisanego w pliku test.txt. Jeśli ten skrypt zawierał złożoną instrukcję CREATE TRIGGER, zostanie ona zapisana jako: CONNECT TO SAMPLE& DROP TRIGGER newton.NWTTRIGGER& CREATE TRIGGER newton.NWTTRIGGER AFTER DELETE ON newton.NWTTABLE FOR EACH ROW MODE DB2SQL BEGIN ATOMIC insert into newton.nwttable values(0,'0'); insert into newton.nwttable values( -1, '-1'); END& CONNECT RESET& TERMINATE& Uwaga: Opcja -tdX jest niedostępna w Edytorze komend. Skrypt zawierający złożoną instrukcję CREATE TRIGGER można również w następujący sposób przepisać przy użyciu opcji ;--: CONNECT TO SAMPLE; DROP TRIGGER newton.NWTTRIGGER; CREATE TRIGGER newton.NWTTRIGGER AFTER DELETE ON newton.NWTTABLE FOR EACH ROW MODE DB2SQL BEGIN ATOMIC insert into newton.nwttable values(0,'0');-- insert into newton.nwttable values( -1, '-1');-- END; CONNECT RESET; TERMINATE; Niedostępny status bazy danych w panelu szczegółów bazy danych w Centrum sterownia Panel szczegółów w Centrum sterowania służy do wyświetlania szczegółów dotyczących baz danych. Wybranie bazy danych w drzewie obiektów lub panelu zawartości powoduje wyświetlenie podsumowania stanu tej bazy. W pewnych sytuacjach informacje o bazie danych mogą być niedostępne. Niektóre przyczyny tej niedostępności opisano w poniższej tabeli. Tabela 36. Przyczyny niedostępności statusu bazy danych. +--------------------+------------------------------------------------+ | Element statusu | Możliwe przyczyny niedostępności statusu | | bazy danych | | +--------------------+------------------------------------------------+ | Ostatnia kopia | * Dla bazy danych nie utworzono żadnych kopii | | zapasowa | zapasowych. | | | * Użytkownik nie ma wymaganych praw dostępu | | | do tych informacji. | +--------------------+------------------------------------------------+ | Wielkość | * Baza danych jest utworzona w wersji | | | wcześniejszej niż 8.2. | | | * Użytkownik nie ma wymaganych praw dostępu | | | do tych informacji. | +--------------------+------------------------------------------------+ | Wielkość | * Baza danych jest utworzona w wersji | | | wcześniejszej niż 8.2. | | | * Baza danych ma kilka partycji. | | | * Użytkownik nie ma wymaganych praw dostępu | | | do tych informacji. | +--------------------+------------------------------------------------+ | Poprawność | * Monitor poprawności nie jest włączony. | | | * Opóźnienie. Od czasu aktywacji bazy danych | | | do momentu, gdy dostępny jest dla niej status | | | poprawności, występuje opóźnienie wynoszące | | | około 5 minut. | +--------------------+------------------------------------------------+ | Konserwacja | * Baza danych jest utworzona w wersji | | | wcześniejszej niż 8.2. | +--------------------+------------------------------------------------+ Generowanie domyślnej opcji zapisu danych wyjściowych w tabeli (Tworzenie monitora zdarzeń) W oknie dialogowym Opcje danych wyjściowych (otwieranym z okna Tworzenie monitora zdarzeń) dodano przycisk Generuj. Kliknięcie przycisku Generuj powoduje wygenerowanie domyślnej opcji zapisu danych wyjściowych w tabeli. Te dane wyjściowe są równoważne składni generowanej przez komendę db2evtbl. Wygenerowana opcja pokazuje użytkownikowi, które tabele i elementy danych zostaną uwzględnione podczas tworzenia monitora zdarzeń. Użytkownicy mogą modyfikować komendę odpowiednio do swoich potrzeb. Wygenerowana składnia jest oparta na nazwie monitora zdarzeń i typach zdarzeń określonych w oknie Tworzenie monitora zdarzeń. Nazwę monitora zdarzeń i typy zdarzeń należy określić przed wygenerowaniem składni opcji danych wyjściowych. Jeśli nazwa monitora zdarzeń lub typy zdarzeń zmienią się po wygenerowaniu opcji danych wyjściowych, zostanie wyświetlony komunikat przypominający użytkownikowi o konieczności ponownego wygenerowania opcji danych wyjściowych przed utworzeniem monitora zdarzeń. Jeśli opcja danych wyjściowych nie zostanie wygenerowana, tabele zdarzeń zostaną wygenerowane w oparciu o nazwę monitora zdarzeń podaną wcześniej. Centrum katalogu informacyjnego Przykładowy skrypt konfiguracyjny W ramach Centrum katalogu informacyjnego dla sieci WWW na wbudowanym serwerze aplikacji DB2 dostarczane są przykładowe skrypty ICCConfig.jacl i ICCConfig.properties. Przy użyciu tych skryptów można skonfigurować Centrum katalogu informacyjnego do pracy w sieci WWW z serwerem WebSphere Application Server, wersja 5. Skrypty te znajdują się w katalogu sqllib\samples\icweb. Konfiguracja serwera WWW Jeśli podczas konfigurowania Centrum katalogu informacyjnego do pracy w sieci WWW z wbudowanym serwerem aplikacji DB2 metadane zawierają adresy URL plików na serwerze, trzeba odwzorować te adresy na poprawne miejsca, używając aliasów w konfiguracji serwera WWW. Konieczne jest także odwzorowanie odsyłaczy do tekstów pomocy i not o prawach autorskich. Gdy korzysta się z wbudowanego serwera aplikacji DB2, serwer WWW musi być poprawnie skonfigurowany i uruchomiony, aby te odsyłacze działały także wtedy, gdy użytkownik nie będzie potrzebował łączyć się z serwerem WWW. Podręcznik Instalowanie i konfigurowanie - suplement Plik konfiguracyjny węzła DB2 - db2nodes.cfg Parametr resourcesetname jest obsługiwany tylko w systemach AIX, HP-UX, Linux i w Środowisku Operacyjnym Solaris. W systemach operacyjnych Linux kolumna resourcesetname definiuje liczbę odpowiadającą węzłowi NUMA (Non-Uniform Memory Access) w systemie. Oprócz jądra 2.6 z obsługą strategii NUMA musi być dostępny systemowy program narzędziowy numactl. Więcej informacji na temat obsługi architektury NUMA w systemach operacyjnych Linux zawiera strona man zatytułowana numact1. Przykład użycia parametru resourcesetname w systemach operacyjnych Linux W niniejszym przykładzie pokazano, jak skonfigurować komputer NUMA z czterema węzłami, w którym każdy węzeł logiczny jest powiązany z węzłem NUMA. Procedura 1. Upewnij się, że system obsługuje architekturę NUMA. 2. Wydaj następującą komendę: $ numactl --hardware Zostaną wyświetlone wyniki podobne do następujących: available: 4 nodes (0-3) node 0 size: 1901 MB node 0 free: 1457 MB node 1 size: 1910 MB node 1 free: 1841 MB node 2 size: 1910 MB node 2 free: 1851 MB node 3 size: 1905 MB node 3 free: 1796 MB 3. W tym przykładzie system ma cztery węzły NUMA. Zmień plik db2nodes.cfg, nadając mu następującą postać, aby powiązać każdy węzeł MLN (Multiple Logical Node) z węzłem NUMA w systemie: 0 hostname 0 hostname 0 1 hostname 1 hostname 1 2 hostname 2 hostname 2 3 hostname 3 hostname 3 Zmienna rejestru DB2NOLIOAIO zastąpiła zmienną DB2LINUXAIO (Linux) Zmienna rejestru DB2NOLIOAIO programu DB2 Universal Database (UDB) jest począwszy od wersji 8.2.2 (która jest odpowiednikiem wersji 8.1 z pakietem poprawek 9) uznawana za nieaktualną. W produktach dla systemu Linux zmienna rejestru DB2NOLIOAIO została zastąpiona przez zmienną DB2LINUXAIO. * Aby włączyć obsługę asynchronicznego we/wy (AIO) w systemie Linux, należy uruchomić następującą komendę: db2set DB2LINUXAIO=true i zrestartować program DB2 UDB. Uwaga: Aby korzystać z operacji AIO, należy zainstalować pakiet libaio-0.3.98 lub nowszy i mieć w systemie jądro obsługujące operacje AIO. * Aby wyłączyć obsługę asynchronicznego we/wy (AIO) w systemie Linux, należy uruchomić następującą komendę: db2set DB2LINUXAIO=false i zrestartować program DB2 UDB. Serwer aplikacji dla programu DB2 Serwer aplikacji dla programu DB2 Universal Database nie obsługuje już zdalnego administrowania ani procedur zapisanych w bazie. Zaktualizowano następujące tematy: Aktywacja serwera aplikacji dla programu DB2 Aktywacja powoduje wykonanie następujących czynności: * Nawiązuje połączenie z określoną bazą danych. * Tworzy i zapełnia tabele metadanych. * Aktualizuje parametry CFG menedżera bazy danych (DBM), JDK_PATH i JAVA_HEAP_SZ. * Instaluje aplikację usług WWW programu DB2. Wymaganie wstępne W systemie Linux po zainstalowaniu - a przed uaktywnieniem - serwera aplikacji, należy skonfigurować środowisko systemu Linux dla języka Java. Szczegółowe informacje dotyczące konfigurowania środowiska systemu Linux dla języka Java znajdują się w podręczniku Application Development Guide: Building and Running Applications. Procedura Aby włączyć serwer aplikacji dla programu DB2, wykonaj następujące czynności: 1. Zaloguj się na serwerze DB2 jako użytkownik root w systemach operacyjnych Linux lub UNIX lub jako użytkownik z uprawnieniami administratora w systemach operacyjnych Windows. 2. W systemach operacyjnych opartych na systemie Linux- i UNIX- należy uruchomić następującą komendę: . /ścieżka_instancji_db2/sqllib/db2profile gdzie ścieżka_instancji_db2 oznacza miejsce zainstalowania instancji DB2. 3. Uruchom jedną z następujących komend: * W systemach operacyjnych Linux i UNIX: ścieżka_instalacyjna_serwera_aplikacji/bin/enable.sh -db alias_bazy_danych -user użytkownik_bazy_danych -password hasło_bazy_danych -db2path ścieżka_do_sqllib -instance nazwa_instancji -easpath ścieżka_do_eas -fencedid id_użytkownika_chronionego * W systemach operacyjnych Windows: ścieżka_instalacyjna_serwera_aplikacji\bin\enable -db alias_bazy_danych -user użytkownik_bazy_danych -password hasło_bazy_danych -db2path ścieżka_do_sqllib -instance nazwa_instancji -easpath ścieżka_do_eas gdzie: * alias_bazy_danych to alias bazy danych, która ma być aktywowana. * użytkownik_bazy_danych to identyfikator użytkownika, który ma być używany podczas nawiązywania połączenia z bazą danych. * hasło_bazy_danych to hasło, które ma być używane wraz z identyfikatorem użytkownika podczas nawiązywania połączenia z bazą danych. * ścieżka_do_sqllib to ścieżka do katalogu SQLLIB instancji DB2. Ścieżka ta jest wykorzystywana do aktualizacji parametru DB2EAS o wymagane pliki JAR. * nazwa_instancji to nazwa instancji DB2. * ścieżka_do_eas to ścieżka do wbudowanego serwera aplikacji. * id_użytkownika_chronionego to identyfikator użytkownika chronionego. Po włączeniu serwera aplikacji dla programu DB2 serwer ten zostanie automatycznie uruchomiony. Lokalne uruchamianie serwera aplikacji dla programu DB2 UDB Serwer aplikacji powinien być uruchamiany przy użyciu identyfikatora użytkownika chronionego wyłącznie w systemach tworzących usługi WWW w środowisku .NET lub takich, w których działa Rejestr metadanych XML (XMR). Zdalne uruchamianie serwera aplikacji dla programu DB2 UDB Ta sekcja została usunięta. Serwer aplikacji dla programu DB2 nie obsługuje już administrowania zdalnego. Lokalne zatrzymywanie serwera aplikacji dla programu DB2 UDB Serwer aplikacji powinien być zatrzymywany przy użyciu identyfikatora użytkownika chronionego wyłącznie w systemach tworzących usługi WWW w środowisku .NET lub takich, w których działa Rejestr metadanych XML (XMR). Zdalne zatrzymywanie serwera aplikacji dla programu DB2 UDB Ta sekcja została usunięta. Serwer aplikacji dla programu DB2 nie obsługuje już administrowania zdalnego. Deinstalacja serwera aplikacji dla programu DB2 UDB Ta sekcja została usunięta. Serwer aplikacji dla programu DB2 nie obsługuje już administrowania zdalnego. Obsługa wbudowanego serwera aplikacji DB2 Aktywowana baza danych wbudowanego serwera aplikacji DB2 musi znajdować się w instancji 32-bitowej. Natomiast bazy danych, do których uzyskuje się dostęp z wbudowanego serwera aplikacji DB2, mogą znajdować się w instancjach 32-bitowych lub 64-bitowych. Wdrażanie programu Narzędzia DB2 w sieci WWW Serwery aplikacji korzystające z pakietu JDK, wersja 1.4, nie wymagają już modyfikowania zmiennej CLASSPATH podczas wdrażania programu Narzędzia DB2 w sieci WWW. Wszelkie zależności, w tym również obejmujące analizator składni XML i transformator, są obecnie wdrażane wraz z modułem WWW i mają być ładowane z katalogu WEB-INF\lib , zgodnie ze specyfikacją J2EE. Zmiana ta ma wpływ na dwa tematy informacyjne: * Wdrażanie programu Narzędzia DB2 w sieci WWW na serwerach aplikacji WebLogic * Wdrażanie programu Narzędzia DB2 w sieci WWW na innych serwerach aplikacji Zaktualizowano następujące tematy: Wdrażanie programu Narzędzia DB2 w sieci WWW na serwerach aplikacji WebLogic W ramach tego zadania opisano metody instalowania i konfigurowania Narzędzi DB2 w sieci WWW (łącznie z Centrum komend w sieci WWW i Centrum kontroli poprawności w sieci WWW) na serwerze BEA WebLogic 7.0. Narzędzia te są uruchamiane jako aplikacje WWW na serwerze WWW i oferują dostęp do serwerów DB2 przez przeglądarki WWW. Wymagania wstępne Przed zainstalowaniem programu Narzędzia DB2 w sieci WWW na serwerze WebSphere muszą zostać spełnione następujące wymagania: * Zainstalowany serwer aplikacji BEA WebLogic, wersja 7.0. * Zainstalowany klient administracyjny IBM DB2, wersja 8. * Przeglądarka WWW zgodna z HTML, wersja 4.0. Uwaga: Program Narzędzia DB2 w sieci WWW był testowany w przeglądarkach Netscape 4.x, Netscape 6.x, Netscape 7.x, Mozilla 1.x, Internet Explorer 5.x, Opera 6.x, Konqueror 3.x (system Linux) i EudoraWeb 2.x (system Palm OS). Użycie przeglądarek WWW, które nie zostały przetestowane, może wymagać dopisania jawnego odwołania w konfiguracji serwletu. Ograniczenia Operacja wdrażania programu Narzędzia DB2 w sieci WWW podlega następującym ograniczeniom: * Nie są obsługiwane konwersje wielu języków i stron kodowych między warstwą pośrednią a serwerami DB2. Pomimo że język serwera jest taki sam, jak używany do wyświetlania, niektóre znaki mogą być wyświetlane niepoprawnie. * Aby wyświetlić alerty poprawności dla baz danych, obszarów tabel i kontenerów obszarów tabel w Centrum kontroli poprawności w sieci WWW, konieczne jest wpisanie baz danych do katalogu na serwerze aplikacji w sieci WWW. * Przyciski przeglądarki WWW (np. Zatrzymaj, Wstecz, Historia) nie są obsługiwane podczas korzystania z programu Narzędzia DB2 w sieci WWW. * Gdy z programu Narzędzia DB2 w sieci WWW korzysta się w przeglądarce Netscape Navigator, wersja 4, zawartość okna przeglądarki może nie odświeżać się poprawnie. W razie wystąpienia tego problemu można odświeżyć obraz, minimalizując okno, a następnie maksymalizując je. Ekran można także odświeżyć, ukrywając okno przeglądarki pod innym oknem, a potem przenosząc je znów na pierwszy plan. * Aby przypisać własny alias do dowolnego systemu DB2 Universal Database, węzła instancji lub bazy danych, należy jawnie wpisać go do katalogu na serwerze aplikacji, używając Asysty podczas konfigurowania DB2 lub Centrum sterowania DB2. * Podczas pierwszego uruchomienia program Narzędzia DB2 w sieci WWW wymaga znacznie dłuższego czasu niż w kolejnych uruchomieniach. Większość tego czasu zajmuje automatyczny proces wpisywania do katalogu. Aby nie korzystać z funkcji automatycznego wpisywania do katalogu, można ją wyłączyć w konfiguracji serwletu, skracając tym samym czas pierwszego uruchomienia. Uwaga: Parametry konfiguracyjne serwletu są dostępne w pliku deskryptora wdrażania web.xml. Nazwy parametrów i ich wartości domyślne zmieniają się w każdej wersji. Niektóre serwery aplikacji mogą umożliwiać zmiany tych parametrów za pośrednictwem ich interfejsów lub podczas bezpośredniej edycji pliku web.xml. * Podczas korzystania z komputerów laptop lub desktop, bufor danych wyjściowych (wyników) ma bezwzględną wielkość maksymalną wynoszącą 1 MB - nawet wtedy, gdy jest skonfigurowany z większą pojemnością. W przypadku przeglądarek WWW na komputerach kieszonkowych limit ten wynosi 1 kB. * W systemach operacyjnych Linux, UNIX, i Windows program Narzędzia DB2 w sieci WWW automatycznie wykrywa i wpisuje do katalogu wszystkie systemy znajdujące się w tej samej sieci TCP/IP, co serwer aplikacji. Systemy w tej samej sieci TCP/IP mają takie same trzy pierwsze cyfry w swoich adresach IP. Narzędzia DB2 w sieci WWW próbują wpisać do katalogu węzły systemowe DB2 przy użyciu oryginalnych nazw zdalnych hostów TCP/IP. W razie zduplikowania nazw, narzędzia przypisują unikalną nazwę wybraną losowo. Aby możliwy był dostęp do innych serwerów administracyjnych DB2, należy je w sposób jawny wpisać do katalogu. Dotyczy to wszystkich serwerów korzystających z protokołu TCP/IP, które znajdują się w innej sieci TCP/IP niż serwer aplikacji, a także wszystkich serwerów, które nie korzystają z TCP/IP. * W systemach operacyjnych Linux, UNIX, i Windows program Narzędzia DB2 w sieci WWW próbuje automatycznie wykryć i wpisać do katalogu wszystkie węzły instancji DB2 UDB i bazy danych, które znajdują się we wpisanych do katalogu systemach DB2 UDB. Dla zdalnej instancji można skonfigurować obsługę kilku protokołów komunikacyjnych. Wówczas katalog będzie zawierał osobną pozycję węzła dla każdego protokołu obsługiwanego przez instancję automatycznie wpisaną do katalogu. W razie zduplikowania nazw, narzędzia przypisują unikalną nazwę wybraną losowo. Procedura Aby zainstalować Narzędzia DB2 w sieci WWW na serwerach aplikacji WebLogic: 1. Zainstaluj Narzędzia DB2 w sieci WWW za pośrednictwem konsoli administracyjnej WebLogic, wykonując następujące czynności: a. Uruchom konsolę administracyjną WebLogic. b. W lewym panelu okna kliknij kolejno opcje domain (domena) -> deployments (wdrożenia) -> Web Applications (Aplikacje WWW). c. Kliknij odsyłacz Configure a new Web Application (Skonfiguruj nową aplikację WWW), aby zainstalować program Narzędzia DB2 w sieci WWW. d. Przejrzyj listę plików systemu i odszukaj plik Sqllib\tools\web\db2wa.war. e. Kliknij opcję select (wybierz) obok nazwy pliku db2wa.war. f. Z listy dostępnych serwerów wybierz serwer, na którym ma być zainstalowany program Narzędzia DB2 w sieci WWW, i kliknij strzałkę, aby przenieść ten serwer na listę serwerów docelowych. Uwaga: Obowiązkowo należy zachować oryginalną nazwę db2wa, ponieważ w Narzędziach DB2 w sieci WWW jest ona zaszyta na stałe. g. Kliknij przycisk Configure and Deploy (Konfiguruj i wdrażaj). h. Poczekaj, dopóki serwer aplikacji nie odświeży statusu wdrożenia aplikacji WWW na wybranym serwerze. Po pomyślnym zakończeniu powinien zostać wyświetlony status Deployed=true 2. Wywołaj aplikację WWW Narzędzia DB2 w sieci WWW, która znajduje się pod adresem: http://nazwa_serwera:numer_portu_serwera_aplikacji/db2wa Na przykład http://nazwa_serwera:7001/db2wa. Wdrażanie programu Narzędzia DB2 w sieci WWW na innych serwerach aplikacji W ramach tego zadania opisano sposób instalowania i konfigurowania Narzędzi DB2 w sieci WWW (łącznie z Centrum komend w sieci WWW i Centrum kontroli poprawności w sieci WWW) na innych serwerach aplikacji, takich jak Tomcat 4.0 i Macromedia JRun 4.0. Narzędzia te są uruchamiane jako aplikacje WWW na serwerze WWW i oferują dostęp do serwerów DB2 przez przeglądarki WWW. Wymagania wstępne Przed zainstalowaniem programu Narzędzia DB2 w sieci WWW muszą zostać spełnione następujące wymagania: * Zainstalowany serwer aplikacji, na przykład: * Tomcat 4.0 Servlet/JSP Container (http://jakarta.apache.org/tomcat/) * Macromedia JRun 4.0 * Zainstalowany klient administracyjny IBM DB2, wersja 8. * Przeglądarka WWW zgodna z HTML, wersja 4.0. Ograniczenia Operacja wdrażania programu Narzędzia DB2 w sieci WWW podlega następującym ograniczeniom: * Nie są obsługiwane konwersje wielu języków i stron kodowych między warstwą pośrednią a serwerami DB2. Pomimo że język serwera jest taki sam, jak używany do wyświetlania, niektóre znaki mogą być wyświetlane niepoprawnie. * Aby wyświetlić alerty poprawności dla baz danych, obszarów tabel i kontenerów obszarów tabel w Centrum kontroli poprawności w sieci WWW, konieczne jest wpisanie baz danych do katalogu na serwerze aplikacji w sieci WWW. * Przyciski przeglądarki WWW (np. Zatrzymaj, Wstecz, Historia) nie są obsługiwane podczas korzystania z programu Narzędzia DB2 w sieci WWW. * Gdy z programu Narzędzia DB2 w sieci WWW korzysta się w przeglądarce Netscape Navigator, wersja 4, zawartość okna przeglądarki może nie odświeżać się poprawnie. W razie wystąpienia tego problemu można odświeżyć obraz, minimalizując okno, a następnie maksymalizując je. Ekran można także odświeżyć, ukrywając okno przeglądarki pod innym oknem, a potem przenosząc je znów na pierwszy plan. * Aby przypisać własny alias do dowolnego systemu DB2 UDB, węzła instancji lub bazy danych, należy jawnie wpisać go do katalogu na serwerze aplikacji, używając Asysty podczas konfigurowania DB2 lub Centrum sterowania DB2. * Podczas pierwszego uruchomienia program Narzędzia DB2 w sieci WWW wymaga znacznie dłuższego czasu niż w kolejnych uruchomieniach. Większość tego czasu zajmuje automatyczny proces wpisywania do katalogu. Aby nie korzystać z funkcji automatycznego wpisywania do katalogu, można ją wyłączyć w konfiguracji serwletu, skracając tym samym czas pierwszego uruchomienia. Uwaga: Parametry konfiguracyjne serwletu są dostępne w pliku deskryptora wdrażania web.xml. Nazwy parametrów i ich wartości domyślne zmieniają się w każdej wersji. Niektóre serwery aplikacji mogą umożliwiać zmiany tych parametrów za pośrednictwem ich interfejsów lub podczas bezpośredniej edycji pliku web.xml. * Podczas korzystania z komputerów laptop lub desktop, bufor danych wyjściowych (wyników) ma bezwzględną wielkość maksymalną wynoszącą 1 MB, nawet wtedy, gdy jest skonfigurowany z większą pojemnością. W przypadku przeglądarek WWW na komputerach kieszonkowych limit ten wynosi 1 kB. * W systemach operacyjnych Linux, UNIX, i Windows program Narzędzia DB2 w sieci WWW automatycznie wykrywa i wpisuje do katalogu wszystkie systemy znajdujące się w tej samej sieci TCP/IP, co serwer aplikacji. Systemy w tej samej sieci TCP/IP mają takie same trzy pierwsze cyfry w swoich adresach IP. Narzędzia DB2 w sieci WWW próbują wpisać do katalogu węzły systemowe DB2 przy użyciu oryginalnych nazw zdalnych hostów TCP/IP. W razie zduplikowania nazw, narzędzia przypisują unikalną nazwę wybraną losowo. Aby możliwy był dostęp do innych serwerów administracyjnych DB2, należy je w sposób jawny wpisać do katalogu. Dotyczy to wszystkich serwerów korzystających z protokołu TCP/IP, które znajdują się w innej sieci TCP/IP niż serwer aplikacji, a także wszystkich serwerów, które nie korzystają z TCP/IP. * W systemach operacyjnych Linux, UNIX, i Windows program Narzędzia DB2 w sieci WWW próbuje automatycznie wykryć i wpisać do katalogu wszystkie węzły instancji DB2 UDB i bazy danych, które znajdują się we wpisanych do katalogu systemach DB2 UDB. Dla zdalnej instancji można skonfigurować obsługę kilku protokołów komunikacyjnych. Wówczas katalog będzie zawierał osobną pozycję węzła dla każdego protokołu obsługiwanego przez instancję automatycznie wpisaną do katalogu. W razie zduplikowania nazw, narzędzia przypisują unikalną nazwę wybraną losowo. Procedura Poniżej przedstawiono procedury instalowania Narzędzi DB2 w sieci WWW przy użyciu serwerów aplikacji, takich jak Tomcat 4.0 czy Macromedia JRun 4.0: Tomcat 4.0 1. Przygotuj plik konfiguracyjny serwera Tomcat 4.0 (CLASSPATH), wykonując następujące czynności: a. Utwórz nową zmienną środowiskową/systemową CATALINA_HOME, która będzie zawierała ścieżkę (katalog główny) do serwera Tomcat, wersja 4.0. Na przykład D:\jakarta-tomcat-4.0.3. b. Zweryfikuj działanie modułu Tomcat Servlet/JSP Container: 1) Uruchom program Tomcat, wywołując plik startup.bat z katalogu bin serwera Tomcat. 2) W przeglądarce WWW wyświetl stronę główną http://localhost:8080/. 2. Zainstaluj program Narzędzia DB2 w sieci WWW na serwerze Tomcat Servlet/JSP Container: znajdź ścieżkę instalacyjną programu Narzędzia DB2 w sieci WWW (tj. Sqllib\tools\web\db2wa.war) i skopiuj plik db2wa.war do katalogu instalacyjnego serwera Tomcat (tj. katalogu webapps serwera Tomcat). 3. Wywołaj Narzędzia DB2 w sieci WWW na serwerze Tomcat Servlet/JSP Container, wykonując następujące czynności: a. Otwórz okno komend DB2 i przejdź do katalogu bin serwera Tomcat. b. Uruchom serwer Tomcat, używając pliku startup.bat i sprawdź, czy nowy katalog (db2wa) został dodany do katalogu webapps. Uwaga: Uruchomienie pliku startup.bat z okna wiersza komend nie spowoduje ustawienia zmiennej DB2PATH. Aby umożliwić ustawienie zmiennej DB2PATH, należy zmienić wiersz zmiennej CLASSPATH w taki sposób, aby odwoływała się ona bezpośrednio do ścieżki instalacyjnej DB2, a nie do zmiennej środowiskowej %DB2PATH%. c. Aplikacja korporacyjna Narzędzia DB2 w sieci WWW znajduje się pod adresem http://localhost:8080/db2wa i można z niej korzystać przy użyciu przeglądarki WWW zgodnej ze standardem HTML, wersja 4.0. JRun 1. Przygotuj nowy serwer aplikacji do zainstalowania programu Narzędzia DB2 w sieci WWW, wykonując następujące czynności: Zalecenie Utworzenie nowego serwera aplikacji jest zalecane, ale nie obowiązkowe. Do celów próbnych można użyć serwera domyślnego; wymagane jest wówczas jedynie skonfigurowanie ścieżki klasy wirtualnej maszyny Java oraz zainstalowanie programu. a. Uruchom konsolę zarządzania JRun i zaloguj się jako administrator serwera aplikacji. b. Utwórz nowy serwer aplikacji, używając opcji Create New Server (Utwórz nowy serwer), znajdującej się w prawym górnym rogu strony głównej. Nie zmieniaj zaznaczonej nazwy hosta localhost. c. Wprowadź nazwę nowego serwera (DB2WebToolsServer) i kliknij pole JRun Server Directory (Katalog serwera JRun). Wartość zostanie wpisana automatycznie. d. Kliknij przycisk Create Server (Utwórz serwer). e. Zapisz wygenerowane wartości lub wpisz nowe wartości dla: * adresu URL dostawcy JNDI, * numeru portu serwera WWW; będzie to wartość używana w adresach URL dla programu Narzędzia DB2 w sieci WWW (np. http://localhost:numer_portu_serwera_www/db2wa), * numeru portu serwera proxy programu Web Connector. f. W razie potrzeby kliknij przycisk update port numbers (aktualizuj numery portów) i zamknij okno. 2. Zainstaluj program Narzędzia DB2 w sieci WWW na serwerze aplikacji JRun, wykonując następujące zadania: a. Uruchom serwer aplikacji, na którym zainstalowany jest program Narzędzia DB2 w sieci WWW (DB2WebToolsServer, domyślny lub dowolny inny, oprócz administracyjnego). b. Kliknij opcję Web Applications (Aplikacje WWW), a następnie kliknij przycisk Add (Dodaj). c. Przejrzyj sekcję Deployment File (Plik wdrożenia) i wybierz plik Sqllib\tools\web\db2wa.war w ścieżce instalacyjnej programu DB2. d. Kliknij przycisk Deploy (Wdrażaj) i potwierdź, że ścieżka kontekstu to /db2wa. e. Wybierz serwer aplikacji i upewnij się, że aplikacja Narzędzia DB2 w sieci WWW widoczna jest w sekcji Web Applications (Aplikacje WWW). Nie klikaj przycisku Apply (Zastosuj), znajdującego się na tej stronie. f. Wybierz odsyłacz Home (Strona główna) w górnym lewym panelu strony głównej. g. Restartuj serwer aplikacji z widoku Home (Strona główna), który zawiera program Narzędzia DB2 w sieci WWW (DB2WebToolsServer). Aplikacja korporacyjna Narzędzia DB2 w sieci WWW znajduje się pod adresem http://localhost:numer_portu_serwera/db2wa i może być wyświetlana w dowolnej przeglądarce WWW zgodnej ze standardem HTML, wersja 4.0. Bezpośrednie we/wy w urządzeniach blokowych (system Linux) Bezpośrednie we/wy jest obecnie obsługiwane w systemach plików i urządzeniach blokowych dla dystrybucji systemu Linux z jądrem w wersji 2.6. Bezpośrednie we/wy w urządzeniach blokowych to alternatywny sposób określania kontenerów urządzeń dla bezpośredniego dostępu do dysku lub dla surowego we/wy. Wydajność bezpośredniego we/wy jest równoważna metodzie urządzenia znaków surowych. Program DB2 Universal Database (UDB) włącza bezpośrednie we/wy podczas otwierania obszaru tabel, gdy instrukcja CREATE TABLESPACE zawiera nazwę urządzenia blokowego jako ścieżki kontenera. Poprzednio tę samą wydajność osiągano w metodzie surowego we/wy, która wymagała powiązania urządzenia blokowego z urządzeniem znakowym przy użyciu programu narzędziowego raw. Tabela 37. Porównanie bezpośredniego i surowego we/wy. +----------------------------------+----------------------------------+ | Surowe we/wy przy użyciu | Surowe we/wy przy użyciu | | urządzenia blokowego z | sterownika urządzenia znakowego | | bezpośrednim we/wy (nowa metoda) | i programu narzędziowego raw | | | (stara metoda) | +----------------------------------+----------------------------------+ | CREATE TABLESPACE dms1 | CREATE TABLESPACE dms1 | | MANAGED BY DATABASE | MANAGED BY DATABASE | | USING (DEVICE '/dev/sda5' | USING (DEVICE '/dev/raw/raw1' | | 11170736) | 11170736) | +----------------------------------+----------------------------------+ Mimo iż program DB2 UDB nadal obsługuje metodę z użyciem programu narzędziowego raw do surowego we/wy, w ostatnich dystrybucjach opcja ta została uznana za nieaktualną, a w przyszłości może zostać usunięta. Preferowane jest stosowanie nowej metody, polegającej na bezpośrednim podawaniu urządzeń. Zalecenie Aby wykorzystać możliwości bezpośredniego dostępu do dysku, należy utworzyć kontenery urządzenia DMS używając bezpośredniego we/wy, co pozwoli w przyszłości uniknąć problemów podczas migracji. Uwaga: Bezpośrednie we/wy nie jest obsługiwane przez program DB2 UDB w systemie Linux/390. Demon Centrum informacyjnego DB2 (systemy Linux i UNIX) Demon Centrum informacyjnego DB2 jest odpowiedzialny za sterowanie serwerem dokumentacji DB2. Demon ten, który stanowi część instalacji Centrum informacyjnego DB2, składa się z dwóch plików: * db2icd - skrypt inicjowania * db2ic.conf - plik konfiguracyjny Pliki te są instalowane w następujących miejscach: AIX /etc/db2icd /var/db2/v81/db2ic.conf HP /sbin/init.d/db2icd /var/opt/db2/v81/db2ic.conf Środowisko Operacyjne Solaris /etc/init.d/db2icd /var/db2/v81/db2ic.conf Linux /etc/init.d/db2icd /var/db2/v81/db2ic.conf Uruchamianie i zatrzymywanie demona Centrum informacyjnego (systemy AIX, Środowisko Operacyjne Solaris, HP, Linux) Ręczne uruchomienie lub zatrzymanie demona jest wymagane tylko wtedy, gdy trzeba zmienić jego zmienne konfiguracyjne. Normalnie demon jest uruchamiany podczas uruchamiania systemu, zgodnie z poziomami uruchamiania utworzonymi podczas instalacji Centrum informacyjnego DB2. Procedura Aby zatrzymać i uruchomić demona Centrum informacyjnego: 1. Zatrzymaj demona, jeśli już działa. W wierszu komend wpisz: KATALOG_POCZĄTKOWY/db2icd stop gdzie KATALOG_POCZĄTKOWY to katalog instalacyjny pliku db2icd wymieniony wcześniej. 2. Zmień dowolne zmienne demona, edytując plik db2ic.conf. Obecnie można zmodyfikować numer portu TCP, przez który dostępna jest dokumentacja, oraz położenie tymczasowego obszaru roboczego używanego przez działającego demona. 3. Uruchom demona. W wierszu komend wpisz: KATALOG_POCZĄTKOWY/db2icd start gdzie KATALOG_POCZĄTKOWY to katalog instalacyjny pliku db2icd wymieniony wcześniej. Podczas uruchamiania demon wczytuje nowe zmienne środowiskowe. Dostępna jest także opcja natychmiastowego zatrzymania i restartowania demona. W wierszu komend wpisz: KATALOG_POCZĄTKOWY/db2icd restart gdzie KATALOG_POCZĄTKOWY to katalog instalacyjny pliku db2icd wymieniony wcześniej. W dowolnym momencie można sprawdzić status demona. W wierszu komend wpisz: KATALOG_POCZĄTKOWY/db2icd status gdzie KATALOG_POCZĄTKOWY to katalog instalacyjny pliku db2icd wymieniony wcześniej. Demon powróci do bieżącego statusu i wyświetli identyfikator procesu (lub procesów) demona, o ile jest on aktywny. Parametry pliku odpowiedzi i pliki przykładowe Aby zainstalować Centrum informacyjne DB2, wersja 8.2, przy użyciu pliku odpowiedzi, należy skorzystać z następujących informacji: Parametr pliku odpowiedzi (PROD) INFORMATION_CENTER Nazwa pliku odpowiedzi db2doce.rsp Kody błędów podczas instalacji z plikiem odpowiedzi Poniższy kod błędu dotyczy tylko systemu Windows i nie ma zastosowania do systemów operacyjnych Linux i UNIX. 3010 Instalacja powiodła się, jednak w celu jej zakończenia wymagany jest restart systemu. Konta użytkowników wymagane do instalacji serwerów DB2 (system Windows) Zwiększanie limitów pamięci dyskowej Uprawnienie użytkownika Zwiększanie limitów pamięci dyskowej zostało zmienione na Dopasowywanie limitów pamięci dyskowej dla procesu w systemach operacyjnych Windows XP i Windows Server 2003. Uprawnienia użytkownika nadawane przez Instalator DB2 - Debugowanie programów Program instalacyjny DB2 nie nadaje uprawnienia Debugowanie programów. Instalator DB2 nadaje użytkownikom następujące prawa: * Działanie jako część systemu operacyjnego * Tworzenie obiektu znacznika * Blokowanie stron w pamięci * Logowanie w trybie usługi * Zwiększanie limitów pamięci dyskowej * Zamiana znacznika poziomu procesu Obsługa asynchronicznych operacji we/wy (system Linux) W systemie Linux (jądra 2.6 i niektóre 2.4) dostępna jest obecnie obsługa asynchronicznych operacji we/wy (AIO) dla urządzeń surowych i systemów plików typu O_DIRECT. Operacje AIO poprawiają wydajność procesu czyszczącego strony. Obsługę asynchronicznych operacji wejścia/wyjścia (AIO) w systemie Linux można włączyć lub wyłączyć przy użyciu komendy db2set. Aby korzystać z operacji AIO, należy zainstalować pakiet libaio-0.3.98 lub nowszy i mieć w systemie jądro obsługujące operacje AIO. Należy również uruchomić komendę db2set DB2LINUXAIO=true i zrestartować program DB2 Universal Database. Zmodyfikowana komenda db2ln do tworzenia 64-bitowych powiązań bibliotek w programie DB2 UDB (systemy Linux i UNIX) We wcześniejszych wersjach programu DB2 Universal Database (UDB), wersja 8, komenda db2ln tworzyła pewne powiązania DB2 w katalogach /usr/lib i /usr/include. Na platformach obsługujących zarówno 32-bitowe, jak i 64-bitowe instancje DB2 UDB te powiązania domyślnie wskazywały na pliki bibliotek lub pliki włączane w katalogach DB2DIR/lib64 lub DB2DIR/include64, gdzie DB2DIR jest katalogiem, w którym został zainstalowany program DB2 UDB, wersja 8. Jeśli wartość domyślna jest nieodpowiednia, można określić szerokość bitową, uruchamiając komendę db2ln z opcją -w: db2ln -w 32|64 Zapobiega to współistnieniu 32-bitowych i 64-bitowych instancji programu DB2 UDB na niektórych platformach. Poczynając od wersji 8.2 programu DB2 UDB komenda db2ln tworzy 64-bitowe powiązania bibliotek DB2 na tych platformach w odpowiednich katalogach. W tym przypadku opcja -w służy tylko do zapełniania katalogu /usr/include. Jeśli komenda db2ln utworzy dowiązania dla plików bibliotek programu DB2 UDB, na obsługiwanych platformach zostaną utworzone zarówno dowiązania 32-bitowe, jak i 64-bitowe. Umożliwia to współistnienie i jednoczesną pracę instancji 32-bitowych i 64-bitowych. W niektórych dystrybucjach systemu Linux komenda RPM libc development związana z biblioteką /usr/lib/libdb2.so lub /usr/lib64/libdb2.so. Ta biblioteka jest wykorzystywana dla implementacji programu Sleepycat Software's Berkeley DB i nie jest powiązana z programem DB2 UDB firmy IBM. Jednak plik ten uniemożliwia działanie komend db2ln i db2rmln. Komenda db2ln nie nadpisuje pliku, a komenda db2rmln nie usuwa pliku. W tym przypadku w celu skompilowania aplikacji przy użyciu procesów kompilacji i konsolidacji programu DB2 UDB należy udostępnić pełną ścieżkę odpowiednio do nagłówków i bibliotek programu DB2 UDB. Metoda ta jest zalecana, ponieważ umożliwia ona kompilację i konsolidację dla wielu wersji programu DB2 UDB na tym samym komputerze. Szczegółowe informacje o ograniczeniach korzystania z komendy db2ln w programie DB2 UDB, wersja 8.2, zostały podane w podręczniku Installation and Configuration. Query Patroller Zmiana sposobu obsługi klas zapytań Przy próbie wykonania jednego z wymienionych niżej zadań w Centrum Query Patroller lub w wierszu komend programu Query Patroller generowany jest komunikat ostrzegawczy: * Dodawanie klasy zapytania * Usuwanie klasy zapytania * Aktualizacja maksymalnego kosztu zapytania dla danej klasy Komunikat ostrzegawczy brzmi: DQP1024W Utworzenie, zmiana lub usunięcie klasy zapytania odniesie skutek dopiero po zrestartowaniu serwera Query Patroller. Również podręcznik DB2 Query Patroller(TM) Guide: Installation, Administration, and Usage dla wersji 8.2 zawiera informację o konieczności zrestartowania serwera Query Patroller po utworzeniu, zmianie lub usunięciu klas zapytań, aby zmiany te odniosły skutek. Treść komunikatu oraz informacje w podręczniku są nieścisłe. Trzy wymienione wyżej czynności dotyczące klasy zapytań odnoszą skutek natychmiast, chyba że zostaną istnieją zapytania oczekujące w kolejce lub uruchomione. Jeśli istnieją zapytania oczekujące w kolejce lub uruchomione, w tym zapytania nowo wprowadzone, zmiana klasy zapytania odniesie skutek po zrealizowaniu zapytań oczekujących w kolejce lub uruchomionych. Aby uniknąć oczekiwania na zrealizowanie oczekujących lub uruchomionych zapytań, należy zrestartować serwer Query Patroller. Uwaga: Podobnie jak we wcześniejszych wersjach programu Query Patroller zaktualizowanie maksymalnej liczby zapytań dla danej klasy zapytań zawsze odnosi natychmiastowy skutek. Aktualizacje definicji dla stanów zarządzanych zapytań Znaczenia stanów zapytania Anulowane i Gotowe zostały zaktualizowane w następujący sposób: Anulowane Zapytanie zostało anulowane przez administratora, wysyłającego lub operatora, którego profil zawiera uprawnienie MONITORING z prawem do edycji, albo za pośrednictwem Centrum Query Patroller albo wiersza komend programu Query Patroller. Można anulować tylko zapytania działające, wstrzymane, zwolnione i czekające w kolejce. Gotowe Zapytanie zostało zakończone pomyślnie. Uwaga: Chociaż samo zapytanie zostało zakończone bez błędu, aplikacja może odebrać błąd, jeśli zakończenie zostało spowodowane zdarzeniem zewnętrznym, takim jak wymuszenie aplikacji DB2. Tworzenie tabel wyjaśniania przed uruchomieniem generatora danych historycznych dla programu Query Patroller Przy uruchamianiu generatora danych historycznych dla programu Query Patroller utworzone zostaną tabele wyjaśniania, o ile nie zostały utworzone wcześniej. Jednak zdecydowanie zalecane jest utworzenie tabel wyjaśniania przed uruchomieniem generatora danych historycznych. Tworząc tabele wyjaśniania należy zadbać o to, by znalazły się one w tej samej partycji. Samodzielne utworzenie tabel wyjaśniania w tej samej partycji poprawia wydajność działania narzędzia wyjaśniającego. To z kolei korzystnie wpływa na wydajność generatora danych historycznych. Sprawdzanie plików protokołu programu Query Patroller dla Analizy historycznej Jeśli kolumna Explain Run (Uruchomienie wyjaśniania) w raporcie Query Activity over Time (Historical Analysis) (Częstotliwość zapytań - Analiza historyczna) zawiera status zapytania Ran unsuccessfully (Wykonanie niepomyślne), oznacza to, że dla tego zapytania dane historyczne nie zostały wygenerowane. Z tego powodu zapytanie to nie będzie figurować w żadnych raportach ani wykresach dotyczących analizy historycznej. Zgodnie z dokumentacją wersji 8, aby ustalić przyczyny nieudanego wykonania zapytania, należy przeanalizować zawartość pliku qpuser.log. Oprócz pliku qpuser.log należy także przejrzeć zawartość pliku qpdiag.log. Nieprawidłowe zamknięcie generatora danych historycznych Jeśli używany jest generator danych historycznych i jego zamknięcie nastąpi w sposób nieprawidłowy, przy następnej próbie uruchomienia tego generatora zostanie wyświetlony komunikat o błędzie. Poniżej wymieniono przykłady nieprawidłowego zamknięcia generatora danych historycznych: * nieoczekiwane zatrzymanie programu DB2 Universal Database * wywołanie komendy db2stop force * wywołanie komendy killdb2 Gdy generator danych historycznych zostanie zatrzymany w sposób nieprawidłowy, przed podjęciem próby ponownego uruchomienia tego generatora konieczne jest wywołanie następującej komendy: qp -d baza_danych generate historical_data stop gdzie baza_danych określa bazę danych, względem której wykonywana jest ta komenda. Dynamiczne aktualizacje klasy zapytań Po wykonaniu niektórych operacji na klasach zapytań nie jest już wymagane zatrzymanie i zrestartowanie programu Query Patroller w celu uwzględnienia zmian. W poniższej tabeli zapytanie aktywne to zapytanie ze statusem Uruchomione lub W kolejce. Tabela 38. Warunki wymagane do uwzględnienia zmian w zapytaniach określonej klasy. +----------------------------------+----------------------------------+ | Rodzaj zmiany | Warunki uwzględnienia zmiany | +----------------------------------+----------------------------------+ | Dodanie, usunięcie lub | Jeśli nie ma aktywnych zapytań, | | aktualizacja klasy zapytania. | zmiany uwzględniane są | | | natychmiast. | +----------------------------------+----------------------------------+ | Aktualizacja klasy zapytania, w | Uwzględniana jest natychmiast, | | której modyfikowana jest tylko | nawet wówczas, gdy istnieją | | wartość Maksymalna liczba | aktywne zapytania. | | zapytań. | | +----------------------------------+----------------------------------+ | Aktualizacja klasy zapytania, w | Jeśli istnieją aktywne | | której modyfikowana jest tylko | zapytania, aktualizacja jest | | wartość Maksymalny koszt | uwzględniana, gdy: | | wykonania zapytania. | * program Query Patroller | | | zostanie zatrzymany i | | | zrestartowany | | | * nie ma więcej aktywnych | | | zapytań | | | Uwaga: Jeśli zmiana wartości | | | Maksymalny koszt wykonania | | | zapytania jest w toku, żadne | | | kolejne aktualizacje klasy | | | zapytania nie zostaną | | | uwzględnione, dopóki nie będzie | | | spełniony jeden z dwóch wyżej | | | opisanych warunków. | +----------------------------------+----------------------------------+ | Dodanie lub usunięcie klasy | Jeśli istnieją aktywne | | zapytania. | zapytania, dodanie lub usunięcie | | | jest uwzględniane, gdy: | | | * program Query Patroller | | | zostanie zatrzymany i | | | zrestartowany | | | * nie ma więcej aktywnych | | | zapytań | +----------------------------------+----------------------------------+ Działanie zagnieżdżonych zapytań Zagnieżdżone zapytania nie mogą być umieszczane w kolejce. Jeśli nastąpi przekroczenie progu, które zwykle spowodowałoby umieszczenie zapytania w kolejce, zagnieżdżone zapytanie zostanie wykonane natychmiast. Ograniczenia związane z typem instrukcji SQL Inaczej niż w poprzednich wersjach, obecnie można umieszczać w kolejce zapytania zawierające następujące instrukcje: * zapytania zawierające instrukcje statycznego języka SQL ze zmiennymi języka bazowego * zapytania zawierające funkcję wartości identyfikującej (IDENTITY_VAL_LOCAL) lub funkcję wartości sekwencji taką, jak NEXT VALUE FOR lub PREVIOUS VALUE FOR Ograniczenia rozdzielczości podczas korzystania z klienta Terminal Services Client Podczas korzystania z klienta usług terminalowych (Terminal Services Client) z rozdzielczością 640x480 w celu połączenia się z pulpitem zdalnym, na którym działa Centrum Query Patroller, okno Submission Preferences (Preferencje wprowadzania) może wydawać się puste. Aby okno to było wyświetlane poprawnie, należy użyć rozdzielczości większej niż 640x480. Obsługa nowych grup w zakresie wprowadzania zapytań Od wersji 8.2 program DB2 Universal Database (UDB) obsługuje grupy użytkowników inne niż grupy w systemie operacyjnym. Powoduje to niewielką zmianę w rozwijanej liście Submitter Profile to Use (Używany profil wprowadzającego) w oknie Query Submission Preferences (Preferencje wprowadzania zapytań) w Centrum Query Patroller. Użytkownik zalogowany do programu Query Patroller, ale nie posiadający uprawnienia DBADM ani uprawnienia do edycji w zakresie zarządzania innymi użytkownikami programu Query Patroller, może tylko dodawać i aktualizować swoje własne preferencje wprowadzania. W takim wypadku rozwijana lista Submitter Profile to Use (Używany profil wprowadzającego) zawiera istniejące profile dla grup programu DB2 UDB, do których należy dany użytkownik, a nie grup systemu operacyjnego, do których należy ten użytkownik. Użytkownik zalogowany do programu Query Patroller i posiadający uprawnienia DBADM lub uprawnienia do edycji w zakresie zarządzania innymi użytkownikami programu Query Patroller, może dodawać i aktualizować preferencje wprowadzania innych użytkowników. W takim wypadku rozwijana lista Submitter Profile to Use (Używany profil wprowadzającego) zawiera wszystkie istniejące grupowe profile wprowadzającego. Ograniczenia dotyczące harmonogramów w programie Query Patroller Podczas pracy z harmonogramami w Centrum Query Patroller można zapisywać harmonogramy w oknie Schedule (Harmonogram) i później je importować. Harmonogramów zapisanych przy użyciu pakietu poprawek 6 lub starszego nie można zaimportować do wersji 8.2 lub nowszej. Ograniczenie to jest spowodowane zmianą w szeregowaniu między poziomami pakietów JDK wprowadzonymi w programie DB2 UDB, wersja 8.2. Użycie komendy RUN IN BACKGROUND QUERY wymaga autoryzacji Komendę RUN IN BACKGROUND QUERY może uruchomić wyłącznie użytkownik, który pierwotnie wprowadził zapytanie. Tworzenie aliasu dla tabeli wynikowej Od wersji 8.1 z pakietem poprawek 5 program Query Patroller przestał tworzyć tabele wynikowe w schemacie zgodnym z identyfikatorem autoryzowanego użytkownika, który wprowadził zapytanie. Obecnie program Query Patroller tworzy tabele wynikowe we wspólnym schemacie DB2QPRT. Aby umożliwić odwoływanie się do tabel przy użyciu schematu użytkownika wprowadzającego, w programie Query Patroller, wersja 8.2, wprowadzono opcję automatycznego tworzenia aliasu dla każdej nowej tabeli wynikowej tworzonej przez program Query Patroller. Tabela wynikowa jest tworzona w schemacie DB2QPRT, a alias jest tworzony w schemacie zgodnym z identyfikatorem autoryzowanego użytkownika, który wprowadził zapytanie. Aby włączyć lub wyłączyć tę opcję, należy użyć komendy UPDATE QP_SYSTEM z opcją CREATE_RESULT_TABLE_ALIASES: >>-UPDATE QP_SYSTEM USING---------------------------------------> >--+-DEFAULT------------------------------+-------------------->< '-CREATE_RESULT_TABLE_ALIASES--+-'Y'-+-' '-'N'-' Usuwanie osieroconych aliasów tabel wynikowych Aliasy utworzone z opcją CREATE_RESULT_TABLE_ALIASES są automatycznie usuwane podczas usuwania tabeli wynikowej. Mogą się jednak zdarzyć dwie sytuacje, w których tabela wynikowa zostaje usunięta, a odpowiadające jej aliasy - nie. * Tabela wynikowa jest usuwana ręcznie bez użycia wiersza komend qp lub Centrum Query Patroller. * Tabela wynikowa jest usuwana przy użyciu wiersza komend qp lub w Centrum Query Patroller przez operatora, który nie wprowadził zapytania i nie ma uprawnienia DBADM. Aby usunąć aliasy, dla których odpowiadające tabele wynikowe zostały usunięte, wprowadzono nową komendę REMOVE RESULT_TABLE_ALIASES. Jest ona wykonywana automatycznie za każdym razem, gdy tabele wynikowe są usuwane w ramach zaplanowanego w programie Query Patroller procesu usuwania tabel wynikowych. Komenda REMOVE RESULT_TABLE_ALIASES uzyskuje listę aliasów do usunięcia na podstawie następującego zapytania: with a as (select tabschema, tabname from syscat.tables where type = 'A' and tabname like 'QUERY%_RESULTS'), t as (select tabname from syscat.tables where type = 'T' and tabname like 'QUERY%_RESULTS') select all tabschema, tabname from a where not exists (select * from t where t.tabname=a.tabname) Wymagania wstępne Konieczne jest uprawnienie DBADM. Procedura 1. Uruchom komendę REMOVE RESULT_TABLE_ALIASES Komenda ta usuwa wszystkie aliasy, dla których usunięto odpowiadające im tabele wynikowe. Aliasy te zostały pierwotnie utworzone przez program Query Patroller dla tabel wynikowych. Składnia komendy >>-REMOVE RESULT_TABLE_ALIASES--------------------------------->< Uwaga: Informacje na temat wprowadzania komend programu Query Patroller przy użyciu interfejsu wiersza komend oraz ogólnej składni komend programu Query Patroller można znaleźć w dokumentacji interfejsu wiersza komend programu Query Patroller. Identyfikator użytkownika chronionego wymaga dostępu do zapisu do pliku qpdiag.log i ścieżki Program Query Patroller korzysta z pewnych chronionych procedur zapisanych w bazie, które mogą umieszczać wpisy w pliku qpdiag.log. W związku z tym identyfikator chronionego użytkownika musi mieć dostęp do zapisu do pliku qpdiag.log oraz do ścieżki, w której znajduje się plik qpdiag.log. Podręczniki Krótkie wprowadzenie Aktualizacja Centrum informacyjnego DB2 zainstalowanego na danym komputerze lub serwerze intranetowym Aby zaktualizować zainstalowane lokalnie Centrum informacyjne DB2, należy pobrać najnowszy pakiet poprawek dokumentacji DB2 spod adresu http://www.ibm.com/software/data/db2/udb/support/downloadv8_docfix.html. Jednak pakiety poprawek dokumentacji DB2 są wydawane rzadko i mogą nie odzwierciedlać bieżącego poziomu dokumentacji DB2. Najnowsza wersja dokumentacji DB2 zawsze jest udostępniana w Centrum informacyjnym DB2 pod adresem http://publib.boulder.ibm.com/infocenter/db2help/ Wymagania dotyczące pamięci Program DB2 Universal Database (UDB) wymaga co najmniej 256 MB pamięci RAM. W przypadku komputera, na którym działa tylko program DB2 UDB i narzędzia DB2 z interfejsem GUI, wymagane minimum wynosi 512 MB pamięci RAM. Lepszą wydajność można jednak uzyskać przy 1 GB pamięci RAM. Nie obejmuje to żadnych dodatkowych wymagań pamięciowych innego oprogramowania działającego na komputerze. Określając wymagania pamięciowe, należy pamiętać o następujących elementach: * Jeśli chodzi o obsługę klienta DB2, powyższe wymagania pamięciowe zostały określone dla 5 współbieżnych połączeń klienckich. Na każde 5 połączeń klienckich potrzebne będzie dodatkowe 16 MB pamięci RAM. * Na wymagania pamięciowe wpływa wielkość i złożoność systemu bazy danych, jak również zakres aktywności bazy danych i liczba klientów uzyskujących dostęp do systemu. * W systemach operacyjnych Linux obszar SWAP, który jest co najmniej dwa razy większy niż ilość pamięci RAM, jest zalecany, ale nie wymagany. Wyjaśnienie zagadnienia obsługi klientów przez program DB2 UDB Sekcja "Klienci DB2" w podręczniku Klienci DB2 - Krótkie wprowadzenie dla wersji 8.1 zawiera następującą informację: Klienci DB2 mogą łączyć się z serwerami DB2 w wersjach o dwa poziomy wyższych lub jeden poziom niższych od wersji klienta, a także z serwerami o tej samej wersji. Stwierdzenie to wymaga następującej poprawki: Chociaż połączenia klientów w wersji N z serwerami w wersji N + 2 są możliwe w niektórych środowiskach, zespół wsparcia firmy DB2 będzie zapewniał obsługę takiej konfiguracji dopóki wersja N będzie nadal obsługiwana. Po wycofaniu wsparcia wersji N taka konfiguracja przestaje być obsługiwana przez zespół wsparcia DB2. Klienci bazy danych DB2, wersja 7, łączący się z serwerem DB2, wersja 8, nie są już obsługiwani przez zespół wsparcia DB2, ponieważ wsparcie dla wersji 7 zostało wycofane. Modyfikowanie parametrów jądra (Linux) Przed zainstalowaniem programu DB2 UDB należy wziąć pod uwagę konieczność zaktualizowania parametrów jądra. Program DB2 Universal Database (UDB) w razie potrzeby automatycznie podnosi limity IPC. W zależności od indywidualnych potrzeb konieczne może być dodatkowe podwyższenie tych limitów. Wymagania wstępne Do modyfikowania parametrów jądra wymagane jest uprawnienie administratora. Procedura Aby zaktualizować parametry jądra: Red Hat i SuSE W systemach z jądrem z serii 2.4.x obowiązuje wartość domyślna parametru kolejki komunikatów (msgmni), która dopuszcza jedynie kilka jednoczesnych połączeń z serwerem DB2 UDB. Aby możliwe było pomyślne uruchomienie programu DB2 UDB, konieczna jest także zmiana parametrów tablicy semaforów. Aby sprawdzić limity segmentu pamięci współużytkowanej, tablicy semaforów i kolejki komunikatów, należy wydać komendę ipcs -l. Poniżej przedstawiono wyniki działania komendy ipcs -l. # ipcs -l ------ Shared Memory Limits -------- max number of segments = 4096 // SHMMNI max seg size (kbytes) = 262144 // SHMMAX max total shared memory (kbytes) = 8388608 // SHMALL min seg size (bytes) = 1 ------ Semaphore Limits -------- max number of arrays = 1024 // SEMMNI max semaphores per array = 250 max semaphores system wide = 256000 max ops per semop call = 32 semaphore max value = 32767 ------ Messages: Limits -------- max queues system wide = 1024 // MSGMNI max size of message (bytes) = 65535 // MSGMAX default max size of queue (bytes) = 16384 // MSGMNB gdzie max semaphores system wide = max number of arrays x max semaphores/array W przypadku 32-bitowego jądra Linux należy zmodyfikować parametry jądra, dodając następujące wpisy do domyślnego pliku konfiguracyjnego sterowania systemem, /etc/sysctl.conf: kernel.msgmni = 1024 kernel.sem = "250 256000 32 1024" kernel.shmmax=268435456 W przypadku 64-bitowego jądra Linux należy zmodyfikować parametry jądra, dodając następujące wpisy do domyślnego pliku konfiguracyjnego sterowania systemem, /etc/sysctl.conf: kernel.msgmni = 1024 kernel.sem = "250 256000 32 1024" kernel.shmmax=1073741824 Należy uruchomić komendę sysctl z parametrem -p w celu załadowania do programu sysctl ustawień z domyślnego pliku /etc/sysctl.conf: sysctl -p Wpisy z pliku sysctl.conf są odczytywane podczas uruchamiania programu przez skrypt inicjowania sieci. W niektórych dystrybucjach konieczne może być dodanie komendy sysctl -p w jednym z plików inicjalizacji systemu, np. rc.local, co spowoduje ustawianie parametrów jądra po każdym restarcie. Modyfikowanie parametrów jądra (Środowisko Operacyjne Solaris) Poniższe informacje stanowią poprawkę do sekcji "Modyfikacja parametrów jądra (Środowisko Operacyjne Solaris)" w podręczniku Serwery DB2 - Krótkie wprowadzenie: Aby program DB2 Universal Database (UDB) działał poprawnie, zalecane jest zaktualizowanie parametrów konfiguracyjnych jądra systemu. W celu uzyskania zalecanych parametrów jądra należy użyć programu narzędziowego db2osconf. Aby możliwe było użycie komendy db2osconf, należy najpierw zainstalować program DB2 UDB. Program narzędziowy db2osconf może być uruchamiany wyłącznie z katalogu $DB2DIR/bin. Po zmodyfikowaniu parametrów jądra należy zrestartować system. Podręcznik DB2 Universal Database Express Edition Version 8.2 Basics jest dostępny do pobrania Program IBM DB2 Universal Database Express (DB2 UDB Express) to najnowszy produkt z rodziny DB2 Universal Database, wersja 8. Łączy on w sobie wydajność, funkcjonalność i niezawodność znakomitych relacyjnych baz danych IBM DB2 UDB z prostotą dystrybucji, instalowania i wdrażania. Produkt zaspokaja potrzeby małych i średnich firm w zakresie zarządzania danymi, nie zmuszając ich do ponoszenia wysokich kosztów inwestycji. Produkt DB2 UDB Express został opracowany z myślą o firmach, których pracownicy mają tylko minimalne umiejętności w zakresie zarządzania bazami danych, dlatego oczekują łatwej w instalacji bazy danych zapewniającej integrację z używanymi przez nie aplikacjami. Jest to wielodostępna wersja programu DB2 UDB obsługująca aplikacje lokalne i zdalne w środowiskach autonomicznych i sieciach LAN. Więcej informacji na temat programu DB2 UDB Express zawierają podręczniki DB2 Express Edition Krótkie wprowadzenie i DB2 Universal Database Express Edition Version 8.2 Basics, które można pobrać ze strony WWW z podręcznikami do produktów DB2 UDB pod adresem http://www.ibm.com/software/data/db2/udb/support/manualsv8.html Sprawdzanie gotowości bazy danych do migracji Poniższa sekcja wymagań wstępnych została zamieszczona w dokumentacji wersji 8.2, w temacie opisującym weryfikowanie gotowości bazy danych do migracji: Wymagania wstępne Sprawdź, czy plik migration.log, znajdujący się w katalogu osobistym właściciela instancji, zawiera następujący tekst: Version of DB2CKMIG being run: VERSION 8 (Uruchamiana wersja DB2CKMIG: WERSJA 8). To wymaganie wstępne jest w rzeczywistości krokiem do wykonania po migracji, na końcu całej procedury. Certyfikacja Common Criteria dla programu DB2 UDB Autorytatywne informacje o konfiguracjach programu DB2 UDB z certyfikatem Common Criteria można znaleźć pod adresem http://niap.nist.gov/cc-scheme Spatial Extender Weryfikacja instalacji programu Spatial Extender Przykładowy program runGseDemo może posłużyć do poznania zasad programowania aplikacji dla produktu DB2 Spatial Extender. Opis kroków wykonywanych przez ten program w celu utworzenia bazy danych z obsługą operacji przestrzennych oraz przeprowadzenia przestrzennej analizy danych z tej bazy zawiera temat "The DB2 Spatial Extender sample program" (Przykładowy program dla produktu DB2 Spatial Extender). Temat ten znajduje się w Centrum informacyjnym oraz w podręczniku Spatial Extender and Geodetic Extender User's Guide and Reference. Wraz z produktem DB2 Spatial Extender dostępny jest inny program przykładowy: seBankDemoRunBankDemo, który demonstruje sposób dodawania funkcji przestrzennych do istniejącego systemu informacyjnego. Więcej informacji na temat obu programów przykładowych zawierają pliki README w następujących katalogach: Windows ~\sqllib\samples\spatial ~\sqllib\samples\spatial\bank Linux i UNIX ~/sqllib/spatial ~/sqllib/spatial/bank Podręcznik SQL Administrative Routines Błąd w dokumentacji nazwy kolumny tabeli wynikowej funkcji tabelowej SNAP_GET_DYN_SQL W sekcji "Funkcja tabelowa SNAP_GET_DYN_SQL" Centrum informacyjnego DB2 dla wersji 8.2.2 (będącej odpowiednikiem wersji 8.1 z pakietem poprawek 9) nieprawidłowo opisano tabelę wynikową funkcji tabelowej SNAP_GET_DYN_SQL. Jako nazwę jednej z tych kolumn nieprawidłowo podano STMT_TXT. Prawidłowa nazwa kolumny wynikowej to STMT_TEXT. Funkcje tabelowe monitora obrazów stanu mają widoki charakterystyczne dla wersji Dla następujących funkcji tabelowych monitora obrazów stanu zdefiniowano widoki charakterystyczne dla wersji, wprowadzone po raz pierwszy w wersji 8.2.2 (będącej odpowiednikiem wersji 8.1 z pakietem poprawek 9) programu DB2 Universal Database: * SNAP_GET_CONTAINER * SNAP_GET_DB * SNAP_GET_DYN_SQL * SNAP_GET_STO_PATHS * SNAP_GET_TAB * SNAP_GET_TBSP * SNAP_GET_TBSP_PART Te widoki charakterystyczne dla wersji są następujące: * SYSCATV82.SNAPCONT * SYSCATV82.SNAPDB * SYSCATV82.SNAPDYNSQL * SYSCATV82.SNAPSTOPATHS * SYSCATV82.SNAPTAB * SYSCATV82.SNAPTBSPACE * SYSCATV82.SNAPTBSPACEPART Ponieważ nie ma pewności, że tabele wynikowe funkcji tabelowych monitora obrazów stanu nie będą ulegać zmianom w następnych wydaniach produktu, zaleca się używanie widoków charakterystycznych dla wersji w celu uzyskania tabel wynikowych o gwarantowanej strukturze. Każdy widok zawiera wszystkie kolumny tabeli wynikowej odpowiedniej funkcji tabelowej monitora obrazów stanu. Procedura GET_DB_CONFIG wymaga, by rozmiar strony tymczasowego obszaru tabel użytkownika wynosił co najmniej 8 kB Procedura GET_DB_CONFIG wymaga tymczasowego obszaru tabel użytkownika o rozmiarze strony co najmniej 8 kB. Znajdujący się w dokumentacji przykład użycia procedury GET_DB_CONFIG powinien być zastąpiony następującym przykładem. Używając procesora CLP, zmień wartości parametrów konfiguracyjnych bazy danych logretain i userexit. Pobierz oryginalne wartości (z dysku) i wartości zaktualizowane (w pamięci), wywołując procedurę GET_DB_CONFIG. UPDATE DB CFG USING LOGRETAIN RECOVERY USEREXIT YES CALL SYSPROC.GET_DB_CONFIG() Poniżej przedstawiono część przykładowych wyników takiego wywołania procedury. Tabela wynikowa 1 -------------- DBCONFIG_TYPE ... LOGRETAIN ... USEREXIT... ------------- ----------- ----------- 0 1 1 1 0 0 Wybrano 2 rekordy. Status powrotu = 0 Podręcznik SQL Reference Autoryzacje instrukcji CREATE PROCEDURE (SQL) Jeśli identyfikator autoryzacyjny instrukcji posiada uprawnienie SYSADM, ale nie posiada uprawnienia DBADM, identyfikatorowi temu nadawane jest niejawne uprawnienie DBADM w celu utworzenia procedury. Ma to zastosowanie do instrukcji CREATE PROCEDURE (SQL), ale nie do instrukcji CREATE PROCEDURE (External). EXPLAIN_DIAGNOSTIC: nowa tabela wyjaśniania Tabela EXPLAIN_DIAGNOSTIC zawiera wpisy wszystkich komunikatów diagnostycznych wygenerowanych przez daną instancję wyjaśnionej instrukcji w tabeli EXPLAIN_STATEMENT. Funkcja tabelowa EXPLAIN_GET_MSGS odczytuje tabele wyjaśniania EXPLAIN_DIAGNOSTIC oraz EXPLAIN_DIAGNOSTIC_DATA i zwraca sformatowane komunikaty. Tabela 39. Tabela EXPLAIN_DIAGNOSTIC +--------------+----------+-------+----+------------------------------+ | Nazwa | Typ | Dozwo | Klu| Opis | | kolumny | danych | lone | cz | | | | | warto | | | | | | ści | | | | | | puste | | | +--------------+----------+-------+----+------------------------------+ | EXPLAIN_REQU | VARCHAR( | Nie | PK | Identyfikator autoryzowanego | | ESTER | 128) | | | użytkownika, który | | | | | FK | zainicjował to żądanie | | | | | | wyjaśniania. | +--------------+----------+-------+----+------------------------------+ | EXPLAIN_TIME | TIMESTAMP| Nie | PK | Czas zainicjowania żądania | | | | | | wyjaśniania. | | | | | FK | | +--------------+----------+-------+----+------------------------------+ | SOURCE_NAME | VARCHAR( | Nie | PK | Nazwa pakietu uruchomionego | | | 128) | | | w czasie wyjaśniania | | | | | FK | dynamicznej instrukcji SQL | | | | | | lub nazwa pliku źródłowego w | | | | | | przypadku wyjaśniania | | | | | | statycznej instrukcji SQL. | +--------------+----------+-------+----+------------------------------+ | SOURCE_SCHEMA| VARCHAR( | Nie | PK | Schemat lub kwalifikator | | | 128) | | | źródłowego żądania | | | | | FK | wyjaśniania. | +--------------+----------+-------+----+------------------------------+ | SOURCE_VERSI | VARCHAR( | Nie | PK | Wersja źródła żądania | | ON | 64) | | | wyjaśniania. | | | | | FK | | +--------------+----------+-------+----+------------------------------+ | EXPLAIN_LEVEL| CHAR(1) | Nie | PK | Poziom informacji | | | | | | wyjaśnienia, którego dotyczy | | | | | FK | ten wiersz. | | | | | | Poprawne wartości to: | | | | | | * O: Tekst oryginalny | | | | | | (wprowadzony przez | | | | | | użytkownika) | | | | | | * P: PLAN SELECTION | +--------------+----------+-------+----+------------------------------+ | STMTNO | INTEGER | Nie | PK | Numer instrukcji w pakiecie, | | | | | | z którymi związane są te | | | | | FK | informacje wyjaśniania. W | | | | | | przypadku wyjaśniania | | | | | | dynamicznych instrukcji SQL | | | | | | pole to ma wartość 1. W | | | | | | przypadku statycznych | | | | | | instrukcji SQL wartość jest | | | | | | identyczna z wartością | | | | | | używaną dla widoku katalogu | | | | | | SYSCAT.STATEMENTS. | +--------------+----------+-------+----+------------------------------+ | SECTNO | INTEGER | Nie | PK | Numer sekcji pakietu | | | | | | zawierającej tę instrukcję | | | | | FK | SQL. W przypadku wyjaśniania | | | | | | dynamicznych instrukcji SQL | | | | | | jest to numer sekcji tej | | | | | | instrukcji w środowisku | | | | | | wykonawczym. W przypadku | | | | | | statycznych instrukcji SQL | | | | | | wartość jest identyczna z | | | | | | wartością używaną dla widoku | | | | | | katalogu SYSCAT.STATEMENTS. | +--------------+----------+-------+----+------------------------------+ | DIAGNOSTIC_ID| INTEGER | Nie | PK | Identyfikator diagnostyczny | | | | | | konkretnej instancji | | | | | | instrukcji w tabeli | | | | | | EXPLAIN_STATEMENT. | +--------------+----------+-------+----+------------------------------+ | CODE | INTEGER | Nie | Nie| Unikalny numer przypisany do | | | | | | każdego komunikatu | | | | | | diagnostycznego. Numeru tego | | | | | | może używać interfejs API | | | | | | komunikatów w celu pobrania | | | | | | pełnego tekstu komunikatu | | | | | | diagnostycznego. | +--------------+----------+-------+----+------------------------------+ 1. PK oznacza, że kolumna należy do klucza podstawowego; FK oznacza, że kolumna należy do klucza obcego. EXPLAIN_DIAGNOSTIC_DATA: nowa tabela wyjaśniania Tabela EXPLAIN_DIAGNOSTIC_DATA zawiera tokeny konkretnych komunikatów diagnostycznych zarejestrowanych w tabeli EXPLAIN_DIAGNOSTIC. Tokeny komunikatów zawierają dodatkowe informacje dotyczące wykonania instrukcji SQL, która wygenerowała komunikat. Funkcja tabelowa EXPLAIN_GET_MSGS odczytuje tabele wyjaśniania EXPLAIN_DIAGNOSTIC oraz EXPLAIN_DIAGNOSTIC_DATA i zwraca sformatowane komunikaty. Tabela 40. Tabela EXPLAIN_DIAGNOSTIC_DATA +--------------+----------+-------+----+------------------------------+ | Nazwa | Typ | Dozwo | Klu| Opis | | kolumny | danych | lone | cz | | | | | warto | | | | | | ści | | | | | | puste | | | +--------------+----------+-------+----+------------------------------+ | EXPLAIN_REQU | VARCHAR( | Nie | FK | Identyfikator autoryzowanego | | ESTER | 128) | | | użytkownika, który | | | | | | zainicjował to żądanie | | | | | | wyjaśniania. | +--------------+----------+-------+----+------------------------------+ | EXPLAIN_TIME | TIMESTAMP| Nie | FK | Czas zainicjowania żądania | | | | | | wyjaśniania. | +--------------+----------+-------+----+------------------------------+ | SOURCE_NAME | VARCHAR( | Nie | FK | Nazwa pakietu uruchomionego | | | 128) | | | w czasie wyjaśniania | | | | | | dynamicznej instrukcji SQL | | | | | | lub nazwa pliku źródłowego w | | | | | | przypadku wyjaśniania | | | | | | statycznej instrukcji SQL. | +--------------+----------+-------+----+------------------------------+ | SOURCE_SCHEMA| VARCHAR( | Nie | FK | Schemat lub kwalifikator | | | 128) | | | źródłowego żądania | | | | | | wyjaśniania. | +--------------+----------+-------+----+------------------------------+ | SOURCE_VERSI | VARCHAR( | Nie | FK | Wersja źródła żądania | | ON | 64) | | | wyjaśniania. | +--------------+----------+-------+----+------------------------------+ | EXPLAIN_LEVEL| CHAR(1) | Nie | FK | Poziom informacji | | | | | | wyjaśnienia, którego dotyczy | | | | | | ten wiersz. | | | | | | Poprawne wartości to: | | | | | | * O: Tekst oryginalny | | | | | | (wprowadzony przez | | | | | | użytkownika) | | | | | | * P: PLAN SELECTION | +--------------+----------+-------+----+------------------------------+ | STMTNO | INTEGER | Nie | FK | Numer instrukcji w pakiecie, | | | | | | z którymi związane są te | | | | | | informacje wyjaśniania. W | | | | | | przypadku wyjaśniania | | | | | | dynamicznych instrukcji SQL | | | | | | pole to ma wartość 1. W | | | | | | przypadku statycznych | | | | | | instrukcji SQL wartość jest | | | | | | identyczna z wartością | | | | | | używaną dla widoku katalogu | | | | | | SYSCAT.STATEMENTS. | +--------------+----------+-------+----+------------------------------+ | SECTNO | INTEGER | Nie | FK | Numer sekcji pakietu | | | | | | zawierającej tę instrukcję | | | | | | SQL. W przypadku wyjaśniania | | | | | | dynamicznych instrukcji SQL | | | | | | jest to numer sekcji tej | | | | | | instrukcji w środowisku | | | | | | wykonawczym. W przypadku | | | | | | statycznych instrukcji SQL | | | | | | wartość jest identyczna z | | | | | | wartością używaną dla widoku | | | | | | katalogu SYSCAT.STATEMENTS. | +--------------+----------+-------+----+------------------------------+ | DIAGNOSTIC_ID| INTEGER | Nie | PK | Identyfikator diagnostyczny | | | | | | konkretnej instancji | | | | | | instrukcji w tabeli | | | | | | EXPLAIN_STATEMENT. | +--------------+----------+-------+----+------------------------------+ | ORDINAL | INTEGER | Nie | Nie| Pozycja tokenu w pełnym | | | | | | tekście komunikatu. | +--------------+----------+-------+----+------------------------------+ | TOKEN | VARCHAR( | Tak | Nie| Token komunikatu, który ma | | | 1000) | | | być wstawiony do pełnego | | | | | | tekstu komunikatu; może być | | | | | | obcięty. | +--------------+----------+-------+----+------------------------------+ | TOKEN_LONG | BLOB(3M) | Tak | Nie| Bardziej szczegółowe | | | | | | informacje, jeśli są | | | | | | dostępne. | +--------------+----------+-------+----+------------------------------+ 1. PK oznacza, że kolumna należy do klucza podstawowego; FK oznacza, że kolumna należy do klucza obcego. Schemat używany przez narzędzie Explain Narzędzie Explain korzysta z poniższych identyfikatorów jako schematów w celu kwalifikowania zapełnianych tabel wyjaśniania: * Identyfikator autoryzowanego użytkownika sesji dla dynamicznego SQL. * Identyfikator autoryzowanego użytkownika instrukcji dla statycznego SQL. Schemat może być powiązany z zestawem tabel wyjaśniania lub aliasów wskazujących zestaw tabel wyjaśniania w ramach innego schematu. Jeśli w danym schemacie nie zostaną znalezione żadne tabele wyjaśniania, narzędzie Explain poszuka ich w schemacie SYSTOOLS i spróbuje je wykorzystać. Reprezentacje wartości daty-godziny w postaci łańcuchów Łańcuchy godziny Reprezentacja godziny w postaci łańcucha zaczyna się od cyfry i ma co najmniej 4 znaki długości. Łańcuch taki może zawierać zamykające znaki odstępu; zero wiodące w liczbie godzin może być pominięte, a liczba sekund może być pominięta w całości. Gdy sekundy zostaną pominięte, przyjmowana jest niejawna specyfikacja 0 sekund. Tym samym zapis 13:30 jest równoważny zapisowi 13:30:00. Poprawne formaty łańcuchów dla godzin wymieniono w poniższej tabeli. Każdy format jest identyfikowany nazwą i powiązanym z nią skrótem. Tabela 41. Formaty reprezentacji godzin w postaci łańcucha. +---------------------------+-------------+-------------+-------------+ | Nazwa formatu | Skrót | Format | Przykład | | | | godziny | | +---------------------------+-------------+-------------+-------------+ | International Standards | ISO | gg.mm.ss | 13.30.05 | | Organization | | | | +---------------------------+-------------+-------------+-------------+ | Standard amerykański IBM | USA | gg:mm AM | 1:30 PM | | | | lub PM | | +---------------------------+-------------+-------------+-------------+ | Standard europejski IBM | EUR | gg.mm.ss | 13.30.05 | +---------------------------+-------------+-------------+-------------+ | Japanese Industrial | JIS | gg:mm:ss | 13:30:05 | | Standard Christian Era | | | | +---------------------------+-------------+-------------+-------------+ | Definiowany lokalnie | LOC | Zależy od | - | | | | kodu | | | | | terytorium | | | | | aplikacji | | +---------------------------+-------------+-------------+-------------+ Od wersji 8.2 oznaczenia "AM" i "PM" mogą być pisane małymi lub wielkimi literami. Podręcznik System Monitor Guide and Reference Indykatory poprawności - podsumowanie W temacie "Indykatory poprawności - podsumowanie" Centrum informacyjnego DB2 w wersji 8.2.2 (odpowiednik wersji 8.1 z pakietem poprawek 9) podany został błędny identyfikator indykatora poprawności użycia pamięci automatycznej przez bazę danych: db.db_auto_storage_util. Prawidłowy identyfikator indykatora poprawności automatycznego wykorzystania pamięci bazy danych to db.auto_storage_util. Wyświetlanie listy rozsprzęgniętych aplikacji bez włączonego koncentratora połączeń Uruchomienie komendy list applications umożliwia wyświetlenie informacji o rozsprzęgniętych aplikacjach nawet wtedy, gdy koncentrator połączeń jest wyłączony. Monitorowanie postępu procesu wycofywania zmian w czasie wykonywania Monitorowanie postępu wycofywania zmian w czasie wykonywania dostarcza informacji o postępie zdarzeń wycofywania zmian przy użyciu obrazów stanu aplikacji. Wyróżnia się dwa typy zdarzeń wycofywania zmian: Wycofywanie zmian w ramach jednostki pracy Obejmuje jawne (wywoływane przez użytkownika) i niejawne (wymuszone) wycofanie całej transakcji. Wycofanie zmian do punktu zapisu Obejmuje punkty zapisu na poziomie instrukcji i aplikacji. Zagnieżdżone punkty zapisu są uznawane za jednostkę w ramach najbardziej zewnętrznego punktu zapisu. Dostarczane są informacje o godzinie rozpoczęcia zdarzenia wycofywania, łącznej pracy do wykonania i pracy wykonanej. Praca jest mierzona w bajtach. Jednostki pracy łącznie to zakres w strumieniu protokołu, który musi być wycofany z transakcji lub z punktu zapisu. Jednostki pracy ukończonej pokazują względną pozycję w strumieniu protokołu, która została wycofana. Liczba jednostek pracy ukończonej jest aktualizowana po przetworzeniu każdego zapisu w protokole. Aktualizacje te nie są równomierne, ponieważ każdy zapis w protokole ma inną wielkość. Przykładowe dane wyjściowe komendy GET SNAPSHOT FOR ALL APPLICATIONS Obraz stanu aplikacji Uchwyt aplikacji = 6 Status aplikacji = Aktywne wycofywanie zmian Czas rozpoczęcia = 02/20/2004 12:49:27.713720 Praca ukończona = 1024000 bajtów Praca łącznie = 4084000 bajtów Obraz stanu aplikacji Uchwyt aplikacji = 10 Status aplikacji = Wycofywanie zmian do punktu zapisu Czas rozpoczęcia = 02/20/2004 12:49:32.832410 Praca ukończona = 102400 bajtów Praca łącznie = 2048000 bajtów Uwaga: Jeśli wycofywanie zmian nie jest aktywne podczas zapisywania obrazu stanu, elementy wycofywania zmian nie będą wyświetlane. XML Extender Zmiana parametrów procedur zapisanych w bazie dxxGenXML, dxxGenXMLClob, dxxRetrieveXML i dxxRetrieveXMLClob Zmieniono opis parametru override dla następujących procedur zapisanych w bazie: * dxxGenXML() * dxxGenXMLClob() * dxxRetrieveXML() * dxxRetrieveXMLClob() Aktualizacja jest następująca: Parametry Tabela 42. Parametr override dla procedur zapisanych w bazie dxxGenXML, dxxGenXMLClob, dxxRetrieveXML i dxxRetrieveXMLClob. +-----------+--------------------------------------------+------------+ | Parametr | Opis | Parametr | | | | we/wy | +-----------+--------------------------------------------+------------+ | override | Przesłania warunek w pliku DAD. Wartość | we | | | wejściowa jest oparta na typie | | | | overrideType. | | | | * NO_OVERRIDE: Łańcuch pusty. | | | | * SQL_OVERRIDE: Poprawna instrukcja SQL. | | | | Zastosowanie tego typu overrideType wymaga | | | | użycia odwzorowania SQL w pliku DAD. | | | | Wejściowa instrukcja SQL przesłania | | | | element SQL_stmt w pliku DAD. | | | | * XML_OVERRIDE: Łańcuch zawierający jedno | | | | lub więcej wyrażeń oddzielonych słowem | | | | AND. Zastosowanie tego typu overrideType | | | | wymaga użycia odwzorowania RDB_node w | | | | pliku DAD. | | +-----------+--------------------------------------------+------------+ Dekomponowanie dokumentów XML na dane programu DB2 UDB Ograniczenia wielkości tabel dekompozycji Dekompozycja polega na określeniu - przy użyciu odwzorowania RDB_node - sposobu rozłożenia dokumentu XML na tabele programu DB2 UDB przez wyodrębnienie wartości elementów i atrybutów i zapisanie ich w wierszach tabel. Wartości z każdego dokumentu XML są zapisywane w jednej lub wielu tabelach DB2 UDB. Każda tabela może mieć maksymalnie 10240 wiersze, pochodzące z dekompozycji każdego dokumentu. Jeśli na przykład jakiś dokument XML zostanie zdekomponowany na pięć tabel, każda z pięciu tabel może mieć do 10240 wierszy dla tego konkretnego dokumentu. Jeśli tabela zawiera wiersze z wielu dokumentów, może mieć do 10240 wierszy z każdego. Na liczbę wierszy wpływa używanie elementów wielokrotnych (elementów ze ścieżkami lokalizacji, które mogą wystąpić w strukturze XML więcej niż jeden raz). Na przykład dokument zawierający element występujący 20 razy może zostać zdekomponowany na 20 wierszy w tabeli. Używając elementów wielokrotnych, należy pamiętać, że z jednego dokumentu do jednej tabeli może zostać zdekomponowanych maksymalnie 10240 wierszy. Dekompozycja dokumentów większych niż 1 MB Nie ma potrzeby usuwania i odtwarzania zapisanej w bazie procedury dxxShredXML w celu dekompozycji dokumentów większych niż 1 MB. Aby dokonać dekompozycji dokumentów większych niż 1 MB, należy wywołać zapisaną w bazie procedurę dxxShredXML100MB, która może podzielić nawet dokumenty o wielkości do 100 MB. Chociaż procedura dxxShredXML100MB może obsłużyć duże dokumenty, może się okazać konieczne zwiększenie innych zasobów w celu zapewnienia pomyślnego wykonania procedury zapisanej w bazie. Aby wywołać procedurę zapisaną w bazie za pośrednictwem przykładowego programu dxxshrd, należy użyć nowej opcji "-large". Na przykład: dxxshrd -large mydb xxx.xml Jeśli posiadana wersja programu DB2 Universal Database jest wcześniejsza niż wersja 8, pakiet poprawek 6, należy uruchomić procedurę dxxMigv w celu przeprowadzenia migracji programu XML Extender do bieżącego poziomu i uruchomienia nowej procedury zapisanej w bazie. Konfigurowanie funkcji UDF MQ XML z modułem XML Extender Aby można było korzystać ze zdefiniowanych przez użytkownika funkcji MQ XML, należy je najpierw skonfigurować. Wymagania wstępne Należy zainstalować funkcje UDF zgodnie z procedurą opisaną w temacie "Installing DB2 WebSphere MQ functions" (Instalowanie funkcji DB2 WebSphere MQ) dostępnym w Centrum informacyjnym lub w podręczniku IBM DB2 Information Integrator Application Developer's Guide. Procedura Aby skonfigurować i aktywować funkcje UDF MQ XML z modułem XML Extender: 1. Otwórz okno wiersza komend DB2. 2. Połącz się z bazą danych, która będzie korzystała z funkcji UDF MQ XML, wpisując następującą komendę: db2 connect to 3. Przejdź do katalogu bnd w ścieżce instalacyjnej programu DB2 Universal Database, na przykład: * SQLLIB/bnd (systemy Linux i UNIX) * C:\Program Files\IBM\SQLLIB\bnd (system Windows) 4. Powiąż bazę danych z modułem XML Extender, używając następującej komendy: db2 bind @dbxxbind.lst 5. Powiąż bazę danych z modułem XML Extender, aby korzystała z funkcji UDF MQ XML, używając następującej komendy: db2 bind mqxml.bnd 6. Powiąż bazę danych z interfejsem CLI, używając następującej komendy: db2 bind @db2cli.lst Zmienna środowiskowa modułu XML Extender DB2DXX_MIN_TMPFILE_SIZE Program DB2 XML Extender może umieszczać duże dokumenty w plikach tymczasowych, aby nie zajmować zbyt wielkiego obszaru pamięci podczas przetwarzania. W systemach z dużą pamięcią fizyczną można uniknąć przenoszenia dokumentów do plików tymczasowych, a tym samym zmniejszyć liczbę operacji we/wy. Zmienna środowiskowa DB2DXX_MIN_TMPFILE_SIZE instruuje moduł XML Extender o możliwości użycia buforów pamięci zamiast plików tymczasowych w celu przetwarzania dokumentów o wielkości mniejszej niż określona. Zmienna ta dotyczy wyłącznie serwera. Jeśli w środowisku partycjonowanym występuje wiele węzłów fizycznych, zmienna może mieć inną wartość w każdym węźle, aby dokładnie oddać wielkość pamięci zainstalowanej w każdym komputerze. Jeśli ta zmienna środowiskowa nie zostanie ustawiona, przetwarzane dokumenty o wielkości przekraczającej 128 kB będą automatycznie umieszczane w plikach tymczasowych. Dokumenty mniejsze niż 128 kB będą przetwarzane w pamięci. Zmiana definicji typu definiowanego przez użytkownika DB2XML.XMLVarchar Wielkość typu definiowanego przez użytkownika (UDT) DB2XML.XMLVarchar można zmienić maksymalnie do 32 kB. Aby zmienić wielkość typu UDT XMLVarchar, należy go utworzyć przed włączeniem w bazie danych obsługi modułu XML Extender. Więcej informacji na ten temat można znaleźć w podręczniku DB2 XML Extender Administration and Programming. Dodatek A. Struktura katalogów na dysku CD-ROM z pakietem poprawek do programu DB2 UDB Systemy operacyjne Windows Pliki na dysku CD-ROM z pakietem poprawek są rozmieszczone w następujący sposób: Tabela 43. Pliki systemu Windows +------------------+--------------------------------------------------+ | Pliki | Położenie | +------------------+--------------------------------------------------+ | Pliki produktów | x:\db2 | | DB2: | | +------------------+--------------------------------------------------+ | Wymagania | x:\doc\\install.txt | | wstępne | | | instalacji: | | +------------------+--------------------------------------------------+ | Wymagania | x:\doc\\install.htm | | wstępne | | | instalacji | | | (HTML): | | +------------------+--------------------------------------------------+ | Pliki licencji: | x:\db2\license | +------------------+--------------------------------------------------+ | Uwagi do | x:\doc\\release.txt | | wydania: | | +------------------+--------------------------------------------------+ | Uwagi do wydania | x:\doc\\db2ir\index.htm | | (HTML): | | +------------------+--------------------------------------------------+ gdzie: * x: określa literę napędu CD * /install.txt | | wstępne | | | instalacji: | | +------------------+--------------------------------------------------+ | Wymagania | /cdrom/doc//install.htm | | wstępne | | | instalacji | | | (HTML): | | +------------------+--------------------------------------------------+ | Pliki licencji: | /cdrom/db2/license | +------------------+--------------------------------------------------+ | Uwagi do | /cdrom/doc//release.txt | | wydania: | | +------------------+--------------------------------------------------+ | Uwagi do wydania | /cdrom/doc//db2ir/index.htm | | (HTML): | | +------------------+--------------------------------------------------+ gdzie: * /cdrom jest punktem podłączenia *