Menu
Zamknij menu
Zaloguj się
  • Opis szkolenia
  • Zakres
  • Gwarancje

Opis szkolenia

Szkolenie jest przeznaczone dla programistów chcących opanować zaawansowane techniki tworzenia kodu PL/SQL w środowisku Oracle Database. Materiał szkoleniowy jest adekwatny dla Oracle Database od wersji 19c, obejmując bazy danych Oracle powszechnie stosowane w środowiskach produkcyjnych.

Uczestnicy pogłębiają znajomość kolekcji PL/SQL (tablice asocjacyjne, tabele zagnieżdżone, VARRAY) oraz uczą się efektywnie zarządzać obiektami LOB — w tym BFILE, CLOB i SecureFile LOB. Szkolenie obejmuje pracę z danymi JSON w bazie Oracle: tworzenie kolumn JSON, stosowanie funkcji SQL/JSON oraz obsługę danych JSON z poziomu PL/SQL. Uczestnicy poznają również zaawansowane metody interfejsu: wywoływanie zewnętrznych procedur C oraz uruchamianie programów Java z PL/SQL.

Istotną część szkolenia stanowią zagadnienia wydajnościowe: optymalizacja kompilacji natywnej, stosowanie techniki inline’owania podprogramów, przetwarzanie zbiorcze (BULK COLLECT i FORALL) oraz mechanizmy buforowania wyników (SQL Query Result Cache, PL/SQL Function Result Cache). Osobne moduły poświęcono analizie i profilowaniu kodu PL/SQL z wykorzystaniem narzędzi Data Dictionary, PL/Scope, DBMS_HPROF i plshprof.

Szkolenie kładzie duży nacisk na bezpieczeństwo: uczestnicy uczą się kontrolować prawa dostępu do kodu (prawa wywołującego i definiującego), implementować polityki bezpieczeństwa na poziomie wierszy (Virtual Private Database, DBMS_RLS), a także chronić aplikacje przed atakami SQL Injection przy użyciu pakietu DBMS_ASSERT. Całość zamykają zagadnienia z obszaru zaawansowanych mechanizmów bezpieczeństwa: Real Application Security, Transparent Data Encryption i Oracle Data Redaction.

 

W trakcie szkolenia:

  • poznasz zaawansowane typy kolekcji PL/SQL i techniki ich efektywnego stosowania w aplikacjach bazodanowych;
  • nauczysz się zarządzać obiektami LOB oraz pracować z danymi JSON w bazie Oracle Database;
  • zrozumiesz, jak integrować PL/SQL z zewnętrznymi procedurami C i programami Java;
  • poznasz techniki optymalizacji wydajności kodu PL/SQL: kompilację natywną, inline’owanie, przetwarzanie zbiorcze i buforowanie wyników;
  • nauczysz się analizować i profilować kod PL/SQL przy użyciu narzędzi wbudowanych w Oracle Database;
  • opanujesz mechanizmy zabezpieczania aplikacji przed SQL Injection oraz implementowania zaawansowanych polityk bezpieczeństwa.

 

Adresaci szkolenia:

Szkolenie jest skierowane do programistów aplikacji i programistów baz danych, którzy posiadają praktyczną znajomość języka PL/SQL i chcą poszerzyć kompetencje w zakresie zaawansowanych technik programowania, optymalizacji wydajności oraz zabezpieczania kodu w środowisku Oracle Database.

 

Wymagania wstępne:

Wymagana jest praktyczna znajomość języka SQL oraz PL/SQL na poziomie umożliwiającym samodzielne tworzenie bloków anonimowych, procedur składowanych, funkcji i pakietów. Dobrą podstawę stanowią autoryzowane szkolenia Oracle AI Database: SQL Workshop oraz Oracle AI Database: PL/SQL Fundamentals dostępne w ofercie Asseco Academy.

Zakres

  • Wprowadzenie
    • Środowiska programistyczne PL/SQL: Oracle SQL Developer, SQL*Plus
    • Schematy szkoleniowe: Order Entry (OE) i Human Resources (HR)
    • Obszary funkcjonalne Oracle Database 19c
    • Usługi Oracle Cloud: przegląd i modele wdrożenia
    • Dokumentacja Oracle SQL i PL/SQL
    • Nowe funkcje w wersjach 18c i 19c: polimorficzne funkcje tabelaryczne, wyrażenia kwalifikowane (Qualified Expressions), makra SQL, obsługa typów obiektowych bez utrwalania (Non-Persistance Support for Object Types)
  • Fakultatywnie: Praca z Exadata Express Cloud Service
    • Przejście z środowiska lokalnego na Exadata Express
    • Exadata Express dla użytkowników i programistów
    • Pierwsze kroki z Exadata Express; zarządzanie usługą
    • Service Console: dostęp przez przeglądarkę, konfiguracja dostępu klientów, administracja bazą danych
    • SQL Workshop w środowisku Exadata Express
    • Łączenie się z bazą danych przy użyciu klientów: SQL Developer, SQLcl; pobieranie poświadczeń klienta
  • Przegląd kolekcji
    • Kolekcje PL/SQL: zastosowania i typy
    • Tablice asocjacyjne (Associative Arrays): tworzenie, przeglądanie, metody kolekcji
    • Tabele zagnieżdżone (Nested Tables): tworzenie typów, konstruktory, deklarowanie i używanie
    • Odwoływanie się do elementów kolekcji
    • Tablice VARRAY: deklarowanie i używanie
  • Używanie kolekcji
    • Stosowanie kolekcji w aplikacjach PL/SQL
    • Przypisywanie wartości do zmiennych kolekcji; odczytywanie wartości
    • Metody kolekcji: praca i zastosowania
    • Manipulowanie poszczególnymi elementami
    • Zapytania do kolekcji przy użyciu operatora TABLE
    • Wyjątki kolekcji i ich obsługa
    • Zestawienie cech kolekcji
    • Typy wiążące PL/SQL (PL/SQL Bind Types); podprogramy z parametrem BOOLEAN
  • Obsługa obiektów LOB
    • Typy LOB: BFILE, CLOB, BLOB, NCLOB; lokatory i wartości LOB
    • Pakiet DBMS_LOB: model bezpieczeństwa; obiekt DIRECTORY
    • Zarządzanie plikami BFILE: rola DBA i programisty
    • Praca z BFILE: tworzenie kolumn, wypełnianie i odczytywanie danych
    • Praca z CLOB: inicjalizacja kolumn, ładowanie, zapisywanie i odczytywanie danych; usuwanie LOB
    • Tymczasowe obiekty LOB: tworzenie i zastosowanie
    • SecureFile LOB: przechowywanie i tworzenie
  • Dane JSON w bazie danych
    • Struktura i zastosowania formatu JSON
    • Dane JSON w Oracle Database: tworzenie tabel z kolumnami JSON; wstawianie danych
    • Funkcje generowania SQL/JSON: JSON_OBJECT, JSON_ARRAY, JSON_OBJECTAGG, JSON_ARRAYAGG
    • Pobieranie danych SQL z obiektów JSON: dostęp do danych, funkcja JSON_VALUE
    • Obiekty PL/SQL dla JSON: typy obiektów JSON w PL/SQL, metody getter i setter
  • Zaawansowane metody interfejsu
    • Zewnętrzne procedury PL/SQL: architektura wykonania, komponenty dla procedur C
    • Definiowanie zewnętrznej procedury C; tworzenie biblioteki alias; specyfikacja wywołania (Call Specification); uruchamianie zewnętrznej procedury C
    • Uruchamianie programów Java z PL/SQL: architektura, ładowanie metod klas Java, publikowanie i wykonywanie; tworzenie specyfikacji wywołania w pakietach
  • Wydajność i strojenie
    • Kompilacja jednostki PL/SQL: tryby kompilacji, konfiguracja kompilatora, kompilacja natywna
    • Optymalizator PL/SQL; inline’owanie podprogramów (Subprogram Inlining): koncepcja, włączanie, PRAGMA INLINE
    • Strojenie kodu PL/SQL: unikanie niejawnej konwersji typów, typ PLS_INTEGER i SIMPLE_INTEGER, modularyzacja kodu
    • Przetwarzanie zbiorcze: FORALL zamiast FOR, BULK COLLECT; obsługa wyjątków w trakcie BULK COLLECT i FORALL
    • Strojenie instrukcji warunkowych; przekazywanie danych między programami PL/SQL
  • Zwiększanie wydajności za pomocą pamięci podręcznej
    • Koncepcja buforowania; architektura pamięci; buforowanie w instancji bazy danych
    • Konfiguracja serwera pamięci podręcznej wyników (Server Result Cache); pakiet DBMS_RESULT_CACHE
    • Pamięć podręczna wyników zapytań SQL (SQL Query Result Cache): analiza planów wykonania, przeglądanie wyników
    • Pamięć podręczna wyników funkcji PL/SQL (PL/SQL Function Result Cache): klauzula RESULT_CACHE, weryfikacja użycia pamięci podręcznej
    • Oracle Database In-Memory: przegląd
  • Analiza kodu PL/SQL
    • Analiza kodu PL/SQL: widoki słownika danych, narzędzia SQL Developer
    • Widok ALL_ARGUMENTS: przeglądanie argumentów podprogramów
    • PL/Scope: zbieranie informacji o identyfikatorach, widok USER_IDENTIFIERS, wyszukiwanie identyfikatorów
    • Pakiety Oracle do analizy kodu: DBMS_DESCRIBE, DBMS_UTILITY (FORMAT_CALL_STACK), DBMS_METADATA (pobieranie metadanych, filtrowanie)
    • Pakiet UTL_CALL_STACK; pragma DEPRECATE
  • Profilowanie i śledzenie kodu PL/SQL
    • Śledzenie wykonania PL/SQL: włączanie śledzenia, poziomy śledzenia, odczytywanie danych śledzenia; widoki plsql_trace_runs i plsql_trace_events
    • Profilowanie kodu PL/SQL: profilowanie hierarchiczne (Hierarchical Profiling), koncepcje i zastosowania
    • Użycie profilera PL/SQL: DBMS_HPROF.ANALYZE, tabele profilera hierarchicznego, analiza surowych danych
    • plshprof: generowanie raportów HTML z danych profilowania
  • Zabezpieczanie aplikacji za pomocą PL/SQL
    • Prawa wywołującego i prawa definiującego (AUTHID): koncepcja i zastosowania
    • Biała lista dostępu: klauzula ACCESSIBLE BY w podprogramach i pakietach
    • Polityka bezpieczeństwa aplikacji: implementacja, pakiet DBMS_RLS; definiowanie funkcji polityki
    • Kontekst aplikacji: koncepcja i implementacja; USERENV Application Context; tworzenie i ustawianie kontekstu
    • Virtual Private Database (VPD): implementacja, konfiguracja kontekstu, tworzenie pakietu bezpieczeństwa, definiowanie polityki, wyzwalacz logowania; widoki słownika danych; grupy polityk
  • Ochrona kodu przed atakami SQL Injection
    • SQL Injection: rodzaje ataków, strategie ochrony
    • Redukcja powierzchni ataku: udostępnianie bazy danych wyłącznie przez API PL/SQL, stosowanie praw wywołującego, wzmacnianie bezpieczeństwa bazy
    • Statyczny i dynamiczny SQL w kontekście SQL Injection
    • Argumenty wiążące w dynamicznym SQL i dynamicznym PL/SQL
    • Pakiet DBMS_ASSERT: weryfikacja identyfikatorów Oracle, walidacja danych wejściowych, unikanie wstrzyknięcia za pomocą DBMS_ASSERT.SIMPLE_SQL_NAME; wytyczne stosowania
  • Zaawansowane mechanizmy bezpieczeństwa
    • Real Application Security (RAS): architektura, komponenty, implementacja polityki bezpieczeństwa danych RAS; sesje aplikacji RAS
    • Transparent Data Encryption (TDE): szyfrowanie kolumn i przestrzeni tabel; magazyny kluczy (Keystores)
    • Oracle Data Redaction: metody maskowania danych, korzyści

Gwarancje

  • Gwarancja terminu szkolenia

    Program Gwarancja terminu szkolenia daje Klientom pewność iż szkolenie, w którym rozważają swój udział odbędzie się w planowanym terminie i lokalizacji. Gwarancja terminu szkolenia to program obejmujący kursy, które odbędą się w planowanym terminie bez względu na ostateczną liczbę uczestników. Wszystkie szkolenia objęte programem są wyróżnione w katalogu szkoleń dedykowaną ikoną

    Warunki programu

    1. Planowane terminy kursów objętych programem mogą zostać zmienione wyłącznie w przypadku wystąpienia problemów natury organizacyjnej lub technicznej niezależnych od Asseco Data Systems powodujących, że przeprowadzenie kursu nie jest możliwe, a których nie można było przewidzieć. Wówczas Klient zostanie pisemnie poinformowany o okolicznościach oraz otrzyma propozycję kolejnego możliwego terminu.
    2. W przypadku wystąpienia okoliczności, o których mowa w pkt. 1 oraz zmiany terminu kursu objętego programem, Klient zostanie poinformowany o ww. okolicznościach, nowych terminach kursu oraz w ramach rekompensaty otrzyma dodatkowy rabat w wysokości 10% bez względu na wysokość wcześniej uzyskanych rabatów.
  • Gwarancja dopasowania zakresu szkolenia

    Warunki programu

    1. Warunkiem skorzystania z programu jest zgłoszenie na wybrane szkolenie minimum 7 uczestników o zbieżnych potrzebach rozwojowych i oczekiwaniach wobec zakresu szkolenia.
  • Gwarancja szkolenia w siedzibie klienta

    Program Gwarancja szkolenia w siedzibie Klienta daje możliwość zorganizowania dowolnego kursu w siedzibie Klienta bądź w innym uzgodnionym pomiędzy Klientem a Asseco Data Systems miejscu na terenie Polski. Program pozwala Klientom ograniczyć wydatki związane z podróżami oraz czasem spędzonym poza biurem przez pracowników. Dodatkową korzyścią jest fakt dyspozycyjności osób biorących udział w szkoleniu w nagłych sytuacjach wtedy, gdy pilnie wymagana jest ich obecność na stanowisku pracy. W przypadku skorzystania z programu Klient zapewnia jedynie salę szkoleniową lub konferencyjną niezbędną do przeprowadzenia szkolenia wraz z podłączeniem do Internetu. Wszystkie pozostałe elementy usługi są zapewniane przez Asseco Data Systems, w tym wszystkie wymagane urządzenia, takie jak notebooki, sieć bezprzewodowa, zdalne laboratoria, oprogramowanie oraz catering.

    Warunki programu

    1. Warunkiem skorzystania z programu jest zgłoszenie na wybrane szkolenie minimum 7 uczestników.
    2. Klient jest odpowiedzialny za zapewnienie Sali szkoleniowej lub konferencyjnej niezbędnej do przeprowadzenia szkolenia wraz z podłączeniem do Internetu.

Terminarz Szkoleń

Zdalnie

… jeśli cenisz sobie możliwość nauki z trenerem i innymi uczestnikami, z dowolnego miejsca bez konieczności dojazdu.

Stacjonarnie

… jeśli chesz się uczyć, siedząc w jednej sali z trenerem i innymi uczestnikami.

Online

… jeśli chcesz uczyć się z materiałów dostępnych przez interenet w dowolnym miejscu o dowolnym czasie

Filtry:

Szkolenie: OR_19C_APLSQL

Oracle Database 19c: Advanced PL/SQL

Data
Forma
Język
Dodatkowe informacje
Cena
05.08 – 07.08
Wirtualna klasa
polski
6 460,00 zł netto
Dodaj do koszyka
25.11 – 27.11
Wirtualna klasa
polski
6 460,00 zł netto
Dodaj do koszyka

Filtry:

Szkolenie: OR_19C_APLSQL

Oracle Database 19c: Advanced PL/SQL

Data
Lokalizacja
Język
Dodatkowe informacje
Cena

Currently, there is no trainings in the selected form.

Filtry:

Szkolenie: OR_19C_APLSQL

Oracle Database 19c: Advanced PL/SQL

Dostęp do szkolenia
Forma
Język
Dodatkowe informacje
Cena

Currently, there is no trainings in the selected form.

Szukasz szkolenia w innym terminie?

Co nowego?

  • Najnowsze
  • Baza wiedzy
  • Marketing

Chcesz z nami porozmawiać?

Zadzwoń do nas: tel. 801 30 30 30