Performance Tuning. w środowisku RAC/WebLogic na maszynach Sun T5220

Wielkość: px
Rozpocząć pokaz od strony:

Download "Performance Tuning. w środowisku RAC/WebLogic na maszynach Sun T5220"

Transkrypt

1 Performance Tuning w środowisku RAC/WebLogic na maszynach Sun T5220 OPITZ CONSULTING Kraków Nowoczesne techniki konsolidacji i optymalizacji środowisk opartych o rozwiązania Oracle (2011) Piotr Sajda (kierownik Service Engineering) OPITZ CONSULTING Kraków 2011 Strona 1

2 Agenda 1. Wprowadzenie do środowiska testowego 2. Opis problemu 3. Krok po kroku - analiza problemu 4. Metody optymalizacji 5. Podsumowanie OPITZ CONSULTING Kraków 2011 Strona 2

3 1 Wprowadzenie do środowiska testowego OPITZ CONSULTING Kraków 2011 Strona 3

4 Środowisko testowe Middleware Database Storage Clustered (2 node) Weblogic Server 10.3 initial/maximal connection pool of 200 connections/database (100 physical connections per database instance) Oracle 10GR2 RAC database, OS: Solaris 10, Hardware: 2 x Sun T5220. Storage: High-end class storage Application for generating of the load DVD Store - JEE compliant application deployed on the clustered WLS servers OPITZ CONSULTING Kraków 2011 Strona 4

5 Profil obciążenia select INST_ID, decode(command_type,2,'insert',3,'select',6,'update') type, sum(fetches), sum(executions), sum(cpu_time), sum(rows_processed) from gv$sqlarea where PARSING_SCHEMA_NAME='DS2' and command_type in (2,3,6,7) group by INST_ID, command_type order by INST_ID,command_type INST_ID TYPE SUM(FETCHES) SUM(EXECUTIONS) SUM(CPU_TIME) SUM(ROWS_PROCESSED) INSERT SELECT UPDATE INSERT SELECT UPDATE [rows processed] / [executions of "select query"] = 8.47 [rows per select] Średnio 8.47 [wierszy na operację select] - mamy do czynienia z typową aplikacją typu OLTP OPITZ CONSULTING Kraków 2011 Strona 5

6 2 Opis problemu OPITZ CONSULTING Kraków 2011 Strona 6

7 Opis problemu Czas trwania testu: ok. 30 minut. W okolicach (chwilę po) 5:00 mamy wyraźny peak oczekiwań klasy CLUSTER. Analiza migawki AWR sekcji zapytań SQL wykazała, że odpowiedzialne za to jest zapytanie... OPITZ CONSULTING Kraków 2011 Strona 7

8 Winowajcą jest.. select count(*) from ds2.orders ; Krótka analiza: Tego typu zapytanie powinno skorzystać z indeksu na kluczu PRIMARY. Nie powinna zatem istnieć potrzeba sięgnięcia do bloków tabeli ORDERS (FAST FULL INDEX SCAN). Tak więc... zapytanie powinno zwrócić wynik prawie natychmiast! OPITZ CONSULTING Kraków 2011 Strona 8

9 Analiza problemu pierwsze spojrzenie SQL> select count(*) from ds2.orders ; Elapsed: 00:00:34.42 Execution Plan Id Operation Name Rows Cost (%CPU) Time Pstart Pstop TQ IN-OUT PQ Distrib SELECT STATEMENT 1 6 (0) 00:00:01 1 SORT AGGREGATE 1 2 PX COORDINATOR 3 PX SEND QC (RANDOM) :TQ Q1,00 P->S QC (RAND) 4 SORT AGGREGATE 1 Q1,00 PCWP 5 PX BLOCK ITERATOR 1207K 6 (0) 00:00: Q1,00 PCWC 6 TABLE ACCESS FULL ORDERS 1207K 6 (0) 00:00: Q1,00 PCWP Statistics recursive calls 3 db block gets consistent gets 0 physical reads 3740 redo size 518 bytes sent via SQL*Net to client 488 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 88 sorts (memory) 0 sorts (disk) 1 rows processed OPITZ CONSULTING Kraków 2011 Strona 9

10 3 Analiza problemu OPITZ CONSULTING Kraków 2011 Strona 10

11 Analiza problemu istnieje INDEX na kluczu gł. SQL> exec dbms_metadata.get_ddl(.) ; CREATE TABLE "DS2"."ORDERS" ( "ORDERID" NUMBER NOT NULL ENABLE, "ORDERDATE" DATE NOT NULL ENABLE, "CUSTOMERID" NUMBER, "NETAMOUNT" NUMBER(12,2) NOT NULL ENABLE, "TAX" NUMBER(12,2) NOT NULL ENABLE, "TOTALAMOUNT" NUMBER(12,2) NOT NULL ENABLE, CONSTRAINT "PK_ORDERS" PRIMARY KEY ("ORDERID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL NEXT MINEXTENTS 1 MAXEXTENTS PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "INDXTBS" ENABLE, CONSTRAINT "FK_CUSTOMERID" FOREIGN KEY ("CUSTOMERID") REFERENCES "DS2"."CUSTOMERS" ("CUSTOMERID") ON DELETE SET NULL DISABLE ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE( BUFFER_POOL DEFAULT) TABLESPACE "ORDERTBS" PARTITION BY RANGE ("ORDERDATE") (PARTITION "JAN2004" VALUES LESS THAN (TO_DATE(' :00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) ( ) TABLESPACE "ORDERS_JAN2004" NOCOMPRESS, PARTITION "FEB2004" VALUES LESS THAN (TO_DATE(' :00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) ( ) ( ) (other partitions ) ( ) PARTITION "MAXVAL" VALUES LESS THAN (MAXVALUE) OPITZ CONSULTING Kraków 2011 Strona 11

12 Analiza problemu użyjmy podowiedzi (hint) i wymuśmy INDEX (FAST) FULL SCAN SQL> select /*+ index(orders PK_ORDERS) */ count(*) from ds2.orders; Elapsed: 00:00:02.86 Execution Plan Id Operation Name Rows Cost (%CPU) Time SELECT STATEMENT (3) 00:00:54 1 SORT AGGREGATE 1 2 INDEX FULL SCAN PK_ORDERS 1423K 3420 (3) 00:00: Statistics recursive calls 0 db block gets 4335 consistent gets 4480 physical reads 0 redo size 518 bytes sent via SQL*Net to client 488 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processed Rzeczywiście... Z hintem: Elapsed: 00:00:02.86 Bez hintu: Elapsed: 00:00:34.42 OPITZ CONSULTING Kraków 2011 Strona 12

13 Analiza problemu dlaczego optymalizator wybiera tak nieefektywny plan??? is your friend.. SQL> alter session set events '10053 trace name context forever, level 2 Tutaj: old school - alter session set events '10053 trace name context forever, level 2. Alternatywnie: dbms_system.set_ev() Dobry artykuł: OPITZ CONSULTING Kraków 2011 Strona 13

14 Analiza problemu SINGLE TABLE ACCESS PATH Table: ORDERS Alias: ORDERS Card: Original: Rounded: Computed: Non Adjusted: Q: dlaczego optymalizator preferuje FTS z użyciem opcji PARALLEL (i koszcie: 6,39)? Access Path: TableScan Cost: Resp: 6.39 Degree: 0 Cost_io: Cost_cpu: Resp_io: 6.12 Resp_cpu: Access Path: index (index (FFS)) Index: PK_ORDERS resc_io: resc_cpu: ix_sel: e+00 ix_sel_with_filters: 1 Access Path: index (FFS) Cost: Resp: Degree: 1 Cost_io: Cost_cpu: Resp_io: Resp_cpu: Access Path: index (FullScan) Index: PK_ORDERS resc_io: resc_cpu: ix_sel: 1 ix_sel_with_filters: 1 Cost: Resp: Degree: 1 Best:: AccessPath: TableScan Cost: 6.39 Degree: 256 Resp: 6.39 Card: Bytes: 0 Dlaczego koszt Resp_cpu (użycia CPU z dostępem PARALLEL) jest około 230 razy niższy niż Cost_cpu (z dostępem SERIAL)? / = ~230 Obliczone DEGREE (of parallelism) = 256 OPITZ CONSULTING Kraków 2011 Strona 14

15 Analiza problemu parametry odpowiedzialne za przetwarzanie równoległe SQL> select OWNER, TABLE_NAME, DEGREE from dba_tables where owner = 'DS2' and TABLE_NAME = 'ORDERS'; OWNER TABLE_NAME DEGREE DS2 ORDERS DEFAULT SQL> show parameter parallel NAME TYPE VALUE parallel_adaptive_multi_user boolean TRUE parallel_automatic_tuning boolean TRUE parallel_execution_message_size integer 2152 parallel_max_servers integer 1280 parallel_server boolean TRUE Ponieważ DEGREE = DEFAULT obowiązują ustawienia na poziomie 1. sesji (u nas nie istnieją) 2. instancji SQL> show parameter cpu NAME TYPE VALUE cpu_count integer 64 parallel_threads_per_cpu integer 2 Max. # of Parallel Servers = min ( parallel_max_servers, (cpu_count * parallel_threads_per_cpu) ) = nodowy klaster, zatem: 256 OPITZ CONSULTING Kraków 2011 Strona 15

16 Analiza problemu gv$px_session podczas wykonywania analizowanego zapytania SQL> select inst_id, sid, qcsid, server#, degree, req_degree from gv$px_session where QCSID = 2503 order by INST_ID, SERVER# ; INST_ID SID QCSID SERVER# DEGREE REQ_DEGREE ( ) ( ) rows selected. Mechanizm zapytania równoległego na RAC: QC (query coordinator, SID 2503) otrzymuje dane do scalenia przez interconnect od 128 serwerów zapytania równoległego pracujących na instancji #1 OPITZ CONSULTING Kraków 2011 Strona 16

17 Analiza problemu coraz bliżej... Zaraz, zaraz... zapytanie uruchamiamy na maszynach SUN T5220 opartych o technologię Chip Multi-Threading (MTS), tzn. 64 sprzętowych wątkach w obrębie jednego fizycznego CPU! I tak też został ustawiony parametr cpu_count (cpu_count = 64) finalnie odpowiedzialny za stopień równoległości zapytań opartych na obiektach, dla których DEGREE = DEFAULT. OPITZ CONSULTING Kraków 2011 Strona 17

18 4 Tuning OPITZ CONSULTING Kraków 2011 Strona 18

19 Możliwości optymalizacji 1. Wbudować hint na stałe 2. Zmienić parametr DEGREE dla tabeli ORDERS 3. Skierować zapytanie do jednego (wybranego) węzła klastra 4. Połączyć (2) i (3) 5. Ustawić OPTIMIZER_INDEX_COST_ADJ ( = 100?) Żadne (poza ostatnim) z powyższych nie uzdrowi sytuacji globalnie. Na początek należy dać znać optymalizatorowi, że nie ma do dyspozycji 64 jednostek, które mogą przetwarzać podobne zapytania równolegle: SQL> alter system set parallel_max_servers=8 scope=both sid='*' ; SQL> alter system set parallel_threads_per_cpu=1 scope=both sid='*' ; OPITZ CONSULTING Kraków 2011 Strona 19

20 Wyniki po zmianie parallel_max_servers=8 i parallel_threads_per_cpu=1 (Tuning) SQL> select count(*) from orders; COUNT(*) Elapsed: 00:00:03.21 Execution Plan Id Operation Name Rows Cost (%CPU) Time Pstart Pstop TQ IN-OUT PQ Distrib SELECT STATEMENT 1 18 (6) 00:00:01 1 SORT AGGREGATE 1 2 PX COORDINATOR 3 PX SEND QC (RANDOM) :TQ Q1,00 P->S QC (RAND) 4 SORT AGGREGATE 1 Q1,00 PCWP 5 PX BLOCK ITERATOR 1423K 18 (6) 00:00: Q1,00 PCWC 6 TABLE ACCESS FULL ORDERS 1423K 18 (6) 00:00: Q1,00 PCWP Statistics recursive calls 4 db block gets consistent gets 8755 physical reads 672 redo size 518 bytes sent via SQL*Net to client 488 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 120 sorts (memory) 0 sorts (disk) 1 rows processed Znacznie lepiej, Elapsed = ~ 3 sec. W dalszym ciągu jednak FTS. OPITZ CONSULTING Kraków 2011 Strona 20

21 gv$px_session podczas wykonywania analizowanego zapytania po zmianie parametrów SQL> r 1 select QCINST_ID, INST_ID, SID, QCSID, SERVER#, DEGREE from gv$px_session where QCSID = 3239 order by INST_ID, SERVER#; INST_ID SID QCSID SERVER# DEGREE rows selected. gv$px_session potwierdza, tym razem tylko 8 slaves/node (wcześniej 128!) OPITZ CONSULTING Kraków 2011 Strona 21

22 Bloki w tabeli I indeksie Można jeszcze raz 10053, ale sprawdźmy najpierw ilość bloków w obu segmentach... SQL> select owner, blocks from dba_tables where owner = 'DS2' and TABLE_NAME like 'ORDERS'; OWNER BLOCKS DS SQL> select OWNER,INDEX_NAME, LEAF_BLOCKS from dba_indexes where owner = 'DS2' and INDEX_NAME ='PK_ORDERS'; OWNER INDEX_NAME LEAF_BLOCKS DS2 PK_ORDERS 4401 Różnica nie powala na kolana, a więc... OPITZ CONSULTING Kraków 2011 Strona 22

23 Tuning Równoległy dostęp do indeksu...a więc pozwólmy skorzystać optymalizatorowi również z indeksu w sposób równoległy: SQL> alter index ds2.pk_orders parallel (degree default) ; Index altered. SQL> alter system flush buffer_cache ; System altered....i wykonajmy zapytanie raz jeszcze: OPITZ CONSULTING Kraków 2011 Strona 23

24 Plan wykonania po ostatnich zmianach SQL> select count(*) from orders; COUNT(*) Znowu postęp: 1. Plan wykonania optymalny 2. Response time zadawalający (?) Elapsed: 00:00:02.05 Execution Plan Id Operation Name Rows Cost (%CPU) Time TQ IN-OUT PQ Distrib SELECT STATEMENT 1 9 (12) 00:00:01 1 SORT AGGREGATE 1 2 PX COORDINATOR 3 PX SEND QC (RANDOM) :TQ Q1,00 P->S QC (RAND) 4 SORT AGGREGATE 1 Q1,00 PCWP 5 PX BLOCK ITERATOR 1423K 9 (12) 00:00:01 Q1,00 PCWC 6 INDEX FAST FULL SCAN PK_ORDERS 1423K 9 (12) 00:00:01 Q1,00 PCWP Statistics recursive calls 0 db block gets 6817 consistent gets 4404 physical reads 0 redo size 518 bytes sent via SQL*Net to client 488 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 1 sorts (memory) 0 sorts (disk) 1 rows processed OPITZ CONSULTING Kraków 2011 Strona 24

25 5 Podsumowanie OPITZ CONSULTING Kraków 2011 Strona 25

26 Podsumowanie Czy wynik można uznać za zadawalający? Raczej nie... To samo zapytanie pod znaczącym obciążeniem: SQL> select count(*) from orders; COUNT(*) Elapsed: 00:00:04.08 Execution Plan Id Operation Name Rows Cost (%CPU) Time TQ IN-OUT PQ Distrib SELECT STATEMENT 1 9 (12) 00:00:01 1 SORT AGGREGATE 1 2 PX COORDINATOR 3 PX SEND QC (RANDOM) :TQ Q1,00 P->S QC (RAND) 4 SORT AGGREGATE 1 Q1,00 PCWP 5 PX BLOCK ITERATOR 1423K 9 (12) 00:00:01 Q1,00 PCWC 6 INDEX FAST FULL SCAN PK_ORDERS 1423K 9 (12) 00:00:01 Q1,00 PCWP Całość z interpretacją (ang.) lub OPITZ CONSULTING Kraków 2011 Strona 26

27 Kontakt Piotr Sajda Kierownik Service Engineering OPITZ CONSULTING Kraków tel tel. kom OPITZ CONSULTING Kraków 2011 Strona 27

28 Pytania/Odpowiedzi OPITZ CONSULTING Kraków 2011 Strona 28

Wydajność hurtowni danych opartej o Oracle10g Database

Wydajność hurtowni danych opartej o Oracle10g Database Wydajność hurtowni danych opartej o Oracle10g Database 123 Plan rozdziału 124 Transformacja gwiaździsta Rozpraszanie przestrzeni tabel Buforowanie tabel Różnicowanie wielkości bloków bazy danych Zarządzanie

Bardziej szczegółowo

Optymalizacja poleceń SQL

Optymalizacja poleceń SQL Optymalizacja poleceń SQL Optymalizacja kosztowa i regułowa, dyrektywa AUTOTRACE w SQL*Plus, statystyki i histogramy, metody dostępu i sortowania, indeksy typu B* drzewo, indeksy bitmapowe i funkcyjne,

Bardziej szczegółowo

Block Change Tracking

Block Change Tracking Czym jest i czy warto stosować? OPITZ CONSULTING Kraków Przybliżenie technologii i analiza testów Jakub Szepietowski (Młodszy konsultant SE) OPITZ CONSULTING Kraków 2011 Strona 1 Agenda 1. Plik BCT 2.

Bardziej szczegółowo

Optymalizacja. Plan wykonania polecenia SQL (1) Plan wykonania polecenia SQL (2) Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL

Optymalizacja. Plan wykonania polecenia SQL (1) Plan wykonania polecenia SQL (2) Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL Optymalizacja Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL Pojęcie i cel optymalizacji, schemat optymalizacji, plan wykonania polecenia SQL, polecenie EXPLAIN PLAN, dyrektywa AUTOTRACE, wybór

Bardziej szczegółowo

Cwiczenie 2. Metody dostępu do danych

Cwiczenie 2. Metody dostępu do danych Optymalizacja poleceń SQL 1 Cwiczenie 2. Metody dostępu do danych W niniejszym ćwiczeniu przyjrzymy się metodom dostępu do tabel i indeksów używanych w planach wykonywania zapytań. Uwaga! Przed rozpoczęciem

Bardziej szczegółowo

Zadania do wykonania na laboratorium

Zadania do wykonania na laboratorium Lab Oracle Katowice 2013v1 Fizyczna i logiczna struktura bazy danych 1 http://platforma.polsl.pl/rau2/mod/folder/view.php?id=9975 RB_lab2_v04st Przykładowe pomocne strony www: Zadania do wykonania na laboratorium

Bardziej szczegółowo

Konsolidacja. OPITZ CONSULTING Kraków

Konsolidacja. OPITZ CONSULTING Kraków Konsolidacja OPITZ CONSULTING Kraków Jacek Sapiński KRK Event OPITZ CONSULTING Kraków 211 Strona 1 1 Konsolidacja OPITZ CONSULTING Kraków 211 Strona 2 Sytuacja uwarunkowana historycznie A 1 5 Application

Bardziej szczegółowo

Cwiczenie 4. Połączenia, struktury dodatkowe

Cwiczenie 4. Połączenia, struktury dodatkowe Cwiczenie 4. Połączenia, struktury dodatkowe Optymalizacja poleceń SQL 1 W niniejszym ćwiczeniu przyjrzymy się, w jaki sposób realizowane są operacje połączeń w poleceniach SQL. Poznamy również dodatkowe

Bardziej szczegółowo

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych Plan wykładu Bazy danych Cechy rozproszonej bazy danych Implementacja rozproszonej bazy Wykład 15: Rozproszone bazy danych Małgorzata Krętowska, Agnieszka Oniśko Wydział Informatyki PB Bazy danych (studia

Bardziej szczegółowo

Język SQL, zajęcia nr 1

Język SQL, zajęcia nr 1 Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze

Bardziej szczegółowo

Optymalizacja poleceń SQL

Optymalizacja poleceń SQL Optymalizacja poleceń SQL Przetwarzanie polecenia SQL użytkownik polecenie PARSER słownik REGUŁOWY RBO plan zapytania RODZAJ OPTYMALIZATORA? GENERATOR KROTEK plan wykonania statystyki KOSZTOWY CBO plan

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2011 1 / 15 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z

Bardziej szczegółowo

startup pfile= '$HOME/admin/pfile/initDBx.ora'; create spfile from pfile= '$HOME/admin/pfile/initDBx.ora';

startup pfile= '$HOME/admin/pfile/initDBx.ora'; create spfile from pfile= '$HOME/admin/pfile/initDBx.ora'; Administrowanie systemami baz danych Ćwiczenia laboratoryjne (1) Podstawy uruchamiania serwera bazy danych 1. Przy pomocy programu Putty, połącz się z serwerem miner.cs.put.poznan.pl. Dla wygody otwórz

Bardziej szczegółowo

Tuning SQL Server dla serwerów WWW

Tuning SQL Server dla serwerów WWW Tuning SQL Server dla serwerów WWW Prowadzący: Cezary Ołtuszyk Zapraszamy do współpracy! Plan szkolenia I. Wprowadzenie do tematu II. Nawiązywanie połączenia z SQL Server III. Parametryzacja i przygotowanie

Bardziej szczegółowo

Wykład 05 Bazy danych

Wykład 05 Bazy danych Wykład 05 Bazy danych Tabela składa się z: Kolumn Wierszy Wartości Nazwa Wartości Opis INT [UNSIGNED] -2^31..2^31-1 lub 0..2^32-1 Zwykłe liczby całkowite VARCHAR(n) n = długość [1-255] Łańcuch znaków o

Bardziej szczegółowo

1 Projekt fizyczny 1. 3 Perspektywy słownika danych Źródła 12

1 Projekt fizyczny 1. 3 Perspektywy słownika danych Źródła 12 Plan wykładu Spis treści 1 Projekt fizyczny 1 2 Transformacja ML do PF 2 2.1 Definiowanie tabel............................... 2 2.2 Więzy integralności............................... 4 2.3 Modyfikacja

Bardziej szczegółowo

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678'); polecenie UPDATE służy do aktualizacji zawartości wierszy tabel lub perspektyw składnia: UPDATE { } SET { { = DEFAULT NULL}, {

Bardziej szczegółowo

Partycjonowanie. Partycjonowanie tabel (1)

Partycjonowanie. Partycjonowanie tabel (1) Partycjonowanie Robert Wrembel Politechnika Poznaoska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel Partycjonowanie tabel (1) Podział tabeli na mniejsze fragmenty operacje

Bardziej szczegółowo

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota Laboratorium nr 3 1 Bazy Danych Instrukcja laboratoryjna Temat: Wprowadzenie do języka SQL, tworzenie, modyfikacja, wypełnianie tabel 3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota 1)

Bardziej szczegółowo

Bazy danych - Materiały do laboratoriów VIII

Bazy danych - Materiały do laboratoriów VIII Bazy danych - Materiały do laboratoriów VIII dr inż. Olga Siedlecka-Lamch Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 23 kwietnia 2011 roku Polecenie COMMIT i ROLLBACK Polecenie

Bardziej szczegółowo

Administracja bazy danych Oracle 10g

Administracja bazy danych Oracle 10g Administracja bazy danych Oracle 10g Oracle Database Administration część 5 Zmiana przestrzeni tabel użytkownika Za pomocą SQL*Plus alter user USER_NAME temporary tablespace TEMPOR_NAME; gdzie: USER_NAME

Bardziej szczegółowo

Optymalizacja poleceń SQL Wprowadzenie

Optymalizacja poleceń SQL Wprowadzenie Optymalizacja poleceń SQL Wprowadzenie 1 Fazy przetwarzania polecenia SQL 2 Faza parsingu (1) Krok 1. Test składniowy weryfikacja poprawności składniowej polecenia SQL. Krok 2. Test semantyczny m.in. weryfikacja

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2014 1 / 16 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_danych_i_usługi_sieciowe_-_2014z

Bardziej szczegółowo

Przed modyfikacją buforów danych proces serwera zapisuje w buforze dziennika powtórzeń wszystkie zmiany dokonane w bazie danych.

Przed modyfikacją buforów danych proces serwera zapisuje w buforze dziennika powtórzeń wszystkie zmiany dokonane w bazie danych. Zapewnianie spójności i współbieżności transakcji Treść wykładu Rola procesu sekretarza dziennika (LGWR) w rejestrowaniu i zatwierdzaniu transakcji w plikach dziennika powtórzeń. Identyfikowanie i składników

Bardziej szczegółowo

Oracle Automatic Workload Repository (AWR) 12c

Oracle Automatic Workload Repository (AWR) 12c XVIII KONFERENCJA STOWARZYSZENIA POLSKIEJ GRUPY UŻYTKOWNIKÓW SYSTEMU ORACLE Oracle Automatic Workload Repository (AWR) 12c Marcin Przepiórowski Principal Oracle DBA Geek Blogger RAC Attack Ninja AWR -

Bardziej szczegółowo

PODSTAWY BAZ DANYCH. 10. Partycjonowanie tabel i indeksów. 2009/ Notatki do wykładu "Podstawy baz danych"

PODSTAWY BAZ DANYCH. 10. Partycjonowanie tabel i indeksów. 2009/ Notatki do wykładu Podstawy baz danych PODSTAWY BAZ DANYCH 10. Partycjonowanie tabel i indeksów 1 Partycjonowanie tabel i indeksów w Oracle W celu poprawienia efektywności dostępu do danych oraz ułatwieniu zarządzania bardzo dużymi zbiorami

Bardziej szczegółowo

Rozproszone bazy danych 3

Rozproszone bazy danych 3 Rozproszone bazy danych 3 Optymalizacja zapytań rozproszonych Laboratorium przygotował: Robert Wrembel ZSBD laboratorium 3 (1) 1 Plan laboratorium Zapytanie rozproszone i jego plan wykonania Narzędzia

Bardziej szczegółowo

Kosztowy optymalizator zapytań

Kosztowy optymalizator zapytań Kosztowy optymalizator zapytań Marek Wojciechowski, Maciej Zakrzewicz Politechnika Poznańska, Instytut Informatyki marek.wojciechowski@cs.put.poznan.pl maciej.zakrzewicz@cs.put.poznan.pl Streszczenie Praktycznie

Bardziej szczegółowo

Zarządzanie obiektami bazy danych Oracle11g

Zarządzanie obiektami bazy danych Oracle11g Zarządzanie obiektami bazy danych Oracle11g Wstęp Obiekty to struktury przechowujące, porządkujące lub operujące na danych takie jak: Tabele Więzy integralności Indeksy Widoki Sekwencje Procedury Linki

Bardziej szczegółowo

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2. Bazy Danych i Systemy informacyjne Wykład 2 Piotr Syga 16.10.2017 Dodawanie, usuwanie i zmienianie rekordów Wstawianie rekordu wstawianie do tabeli INSERT INTO A VALUES ( fioletowy, okrągły, słodko-kwaśny

Bardziej szczegółowo

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw

Bardziej szczegółowo

PODSTAWY BAZ DANYCH Wykład Partycjonowanie tabel i indeksów

PODSTAWY BAZ DANYCH Wykład Partycjonowanie tabel i indeksów PODSTAWY BAZ DANYCH Wykład 10 8. Partycjonowanie tabel i indeksów 2005/2006 Wykład "Podstawy baz danych" 1 Partycjonowanie tabel i indeksów w Oracle W celu poprawienia efektywności dostępu do danych oraz

Bardziej szczegółowo

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych SQL SQL (ang. Structured Query Language): strukturalny język zapytań używany do tworzenia strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych

Bardziej szczegółowo

Zastosowania technologii Oracle do integracji heterogenicznych Ÿróde³ danych

Zastosowania technologii Oracle do integracji heterogenicznych Ÿróde³ danych VII Seminarium PLOUG Warszawa Marzec 2003 Zastosowania technologii Oracle do integracji heterogenicznych Ÿróde³ danych Sebastian Figas Altkom Akademia Streszczenie Referat omawia kwestie integracji baz

Bardziej szczegółowo

ACESS- zadania z wykorzystaniem poleceń SQL

ACESS- zadania z wykorzystaniem poleceń SQL ACESS- zadania z wykorzystaniem poleceń SQL Dane są relacje o schematach: Pracownik ( (nr integer, nazwisko text(12), etat text(10), szef integer, pracuje_od date, placa_pod Currency, placa_dod Currency,

Bardziej szczegółowo

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Historia i standardy Podstawy relacyjności Typy danych DDL tabele, widoki, sekwencje zmiana struktury DML DQL Podstawy, złączenia,

Bardziej szczegółowo

Hurtownia Świętego Mikołaja projekt bazy danych

Hurtownia Świętego Mikołaja projekt bazy danych Aleksandra Kobusińska nr indeksu: 218366 Hurtownia Świętego Mikołaja projekt bazy danych Zaprezentowana poniżej baza jest częścią większego projektu bazy danych wykorzystywanej w krajowych oddziałach wiosek

Bardziej szczegółowo

Wykład 2. SQL 1 Structured Query Lenguage

Wykład 2. SQL 1 Structured Query Lenguage Wykład 2 SQL 1 Structured Query Lenguage SQL (Structured Query Language) Język zapytań do bazy danych. IBM lata osiemdziesiąte. Stosowany w systemach zarządzania bazami danych (DBMS); Oracle, Paradox,Access,

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Cwiczenie 7. Retrospekcja

Cwiczenie 7. Retrospekcja Cwiczenie 7. Retrospekcja 1. Sprawdzenie środowiska Czas trwania: 15 minut Mechanizmy związane z retrospekcją wymagają spełnienia kilku warunków. W pierwszym ćwiczeniu dokonamy ich weryfikacji. Zakłada

Bardziej szczegółowo

Wykład 8. SQL praca z tabelami 5

Wykład 8. SQL praca z tabelami 5 Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu

Bardziej szczegółowo

Architektura Systemu Zarządzania Bazą Danych Oracle

Architektura Systemu Zarządzania Bazą Danych Oracle Architektura Systemu Zarządzania Bazą Danych Oracle Dane są przechowywane w plikach (miejsce na dysku wraz z przypisaną mu nazwą), których rozmiar z reguły nie jest stały jeśli zostaną wprowadzone jakieś

Bardziej szczegółowo

Język SQL, zajęcia nr 2

Język SQL, zajęcia nr 2 Język SQL, zajęcia nr 2 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Funkcja agregująca

Bardziej szczegółowo

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach Modelowanie danych, projektowanie systemu informatycznego Modelowanie odwzorowanie rzeczywistych obiektów świata rzeczywistego w systemie informatycznym. Modele - konceptualne reprezentacja obiektów w

Bardziej szczegółowo

Zarządzanie obiektami bazy danych Oracle11g

Zarządzanie obiektami bazy danych Oracle11g Zarządzanie obiektami bazy danych Oracle11g Wstęp Kontynuując ćwiczenia dotyczące obiektów w bazie Oracle, na dzisiejszych zajęciach zajmiemy sie: Indeksami Technologią Flashback Indeksy Indeksy to struktury,

Bardziej szczegółowo

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek SELECT SELECT kolumna1, kolumna2,, kolumnan FROM tabela wybrane kolumny SELECT * FROM tabela wszystkie kolumny select * from Orders select CustomerID, CompanyName, Country from Customers WHERE SELECT *

Bardziej szczegółowo

Oracle RAC/Weblogic Load Balancing i Failover

Oracle RAC/Weblogic Load Balancing i Failover Oracle RAC/WebLogic Load Balancing OPITZ CONSULTING Kraków Nowoczesne techniki konsolidacji i optymalizacji środowisk opartych o rozwiązania Oracle (2011) Piotr Sajda (kierownik Service Engineering) OPITZ

Bardziej szczegółowo

Bazy danych 7. SQL podstawy

Bazy danych 7. SQL podstawy Bazy danych 7. SQL podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Structured Query Language Używane standardy: SQL92 SQL99 SQL:2003 Żaden dostawca nie jest w pełni zgodny

Bardziej szczegółowo

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. Ograniczenia integralnościowe, modyfikowanie struktury relacji, zarządzanie ograniczeniami. 1 Ograniczenia integralnościowe Służą do weryfikacji

Bardziej szczegółowo

MS Visual Studio 2005 Team Suite - Performance Tool

MS Visual Studio 2005 Team Suite - Performance Tool MS Visual Studio 2005 Team Suite - Performance Tool przygotował: Krzysztof Jurczuk Politechnika Białostocka Wydział Informatyki Katedra Oprogramowania ul. Wiejska 45A 15-351 Białystok Streszczenie: Dokument

Bardziej szczegółowo

Oracle 12.2 Database Sharding

Oracle 12.2 Database Sharding Oracle 12.2 Database Sharding Maciej Zakrzewicz XVII Konferencja PLOUG, 8.06.2017, Warszawa PLAN PREZENTACJI Oracle 12.2 Database Sharding Wprowadzenie do Database Sharding Mechanizmy Database Sharding

Bardziej szczegółowo

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 9 Optymalizacja zapytań Pobieranie planu wykonania Indeksy i wydajność - 1 - Zadania optymalizatora

Bardziej szczegółowo

Zbiór pytań nr 2. 1 Tabela DEPARTMENTS ma następującą strukturę:

Zbiór pytań nr 2. 1 Tabela DEPARTMENTS ma następującą strukturę: Zbiór pytań nr 2 1 Tabela DEPARTMENTS ma następującą strukturę: Nazwa kolumny Typ danych Uwagi dept_id NUMBER(4) NOT NULL, PRIMARY KEY dept_name VARCHAR2(30) mgr_id NUMBER(6) location_id NUMBER(4) Które

Bardziej szczegółowo

Fazy przetwarzania polecenia SQL. Faza parsingu (2) Faza parsingu (1) Optymalizacja poleceń SQL Część 1.

Fazy przetwarzania polecenia SQL. Faza parsingu (2) Faza parsingu (1) Optymalizacja poleceń SQL Część 1. Fazy przetwarzania polecenia SQL Optymalizacja poleceń SQL Część 1. Fazy przetwarzania polecenia SQL, pojęcie i cel optymalizacji, schemat optymalizacji, plan wykonania polecenia SQL, polecenie EXPLAIN

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

"Kilka słów" o strojeniu poleceń SQL w kontekście Hurtowni Danych wprowadzenie. Krzysztof Jankiewicz

Kilka słów o strojeniu poleceń SQL w kontekście Hurtowni Danych wprowadzenie. Krzysztof Jankiewicz "Kilka słów" o strojeniu poleceń SQL w kontekście Hurtowni Danych wprowadzenie Krzysztof Jankiewicz Plan Opis schematu dla "kilku słów" Postać polecenia SQL Sposoby dostępu do tabel Indeksy B*-drzewo Indeksy

Bardziej szczegółowo

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 6 Wyzwalacze Wprowadzenie Tworzenie wyzwalacza Wyzwalacze typu,,po'' Wyzwalacze typu,,zamiast''

Bardziej szczegółowo

PODSTAWY BAZ DANYCH 13. PL/SQL

PODSTAWY BAZ DANYCH 13. PL/SQL PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących

Bardziej szczegółowo

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Składowe wyzwalacza ( ECA ): określenie zdarzenia ( Event ) określenie

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie

Bardziej szczegółowo

Nowe technologie baz danych

Nowe technologie baz danych Nowe technologie baz danych Partycjonowanie Partycjonowanie jest fizycznym podziałem danych pomiędzy różne pliki bazy danych Partycjonować można tabele i indeksy bazy danych Użytkownik bazy danych nie

Bardziej szczegółowo

060 SQL FIZYCZNA STRUKTURA BAZY DANYCH. Prof. dr hab. Marek Wisła

060 SQL FIZYCZNA STRUKTURA BAZY DANYCH. Prof. dr hab. Marek Wisła 060 SQL FIZYCZNA STRUKTURA BAZY DANYCH Prof. dr hab. Marek Wisła Struktura tabeli Data dane LOB - Large Objects (bitmapy, teksty) Row-Overflow zawiera dane typu varchar, varbinary http://msdn.microsoft.com/en-us/library/ms189051(v=sql.105).aspx

Bardziej szczegółowo

Modelowanie wymiarów

Modelowanie wymiarów Wymiar Modelowanie wymiarów struktura umożliwiająca grupowanie danych z tabeli faktów implementowana jako obiekt bazy danych DIMENSION wykorzystanie DIMENSION zaawansowane przepisywanie zapytań (ang. query

Bardziej szczegółowo

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro Informatyka (5) SQL dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro katpalik@pg.gda.pl katarzyna.palikowska@wilis.pg.gda.pl Język zapytań SQL Język deklaratywny (regułowy) - SQL, ProLog,

Bardziej szczegółowo

Bazy danych 6. Klucze obce. P. F. Góra

Bazy danych 6. Klucze obce. P. F. Góra Bazy danych 6. Klucze obce P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2018 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób ten (żargonowo:

Bardziej szczegółowo

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z Tworzenie tabeli Np. create table nazwa_tab( \\stworzenie tabeli Id numer(4) constraint PRAC_PK primary key, \\ustawiamy klucz podst. Nazwisko varchar2(30), \\typ tekstowy 30 znaków Kwota number(10,2)

Bardziej szczegółowo

Ć wiczenie 3. Statystyki, wskazó wki

Ć wiczenie 3. Statystyki, wskazó wki Optymalizacja poleceń SQL 1 Ć wiczenie 3. Statystyki, wskazó wki W niniejszym ćwiczeniu zapoznamy się z problematyką zarządzania statystykami oraz stosowaniem wskazówek dla optymalizatora. Podstawowe statystyki

Bardziej szczegółowo

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi 1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) Tworząc tabelę nie możemy określić, do którego pliku trafi, lecz możemy określić do której grupy plików trafi Zawsze istnieje grupa zawierająca

Bardziej szczegółowo

Widok Connections po utworzeniu połączenia. Obszar roboczy

Widok Connections po utworzeniu połączenia. Obszar roboczy Środowisko pracy 1. Baza danych: Oracle 12c - Serwer ELARA - Konta studenckie, dostęp także spoza uczelni - Konfiguracja: https://e.piotrowska.po.opole.pl/index.php?option=conf 2. Środowisko: SQL Developer

Bardziej szczegółowo

Wykład 5. SQL praca z tabelami 2

Wykład 5. SQL praca z tabelami 2 Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,

Bardziej szczegółowo

Oracle10g Database: struktury fizyczne dla hurtowni danych

Oracle10g Database: struktury fizyczne dla hurtowni danych Oracle1g Database: struktury fizyczne dla hurtowni danych 86 Plan rozdziału 87 Obiekty DIMENSION Materializowane perspektywy Przepisywanie zapytań Partycjonowanie tabel i indeksów Indeksy bitmapowe Obiekty

Bardziej szczegółowo

Tworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy];

Tworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy]; Widoki/Perspektywy Podstawy Tworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy]; Usuwanie widoku DROP VIEW [nazwa_widoku]; Przykład 1 Przykład najprostszego

Bardziej szczegółowo

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność

Bardziej szczegółowo

BAZA DANYCH SIECI HOTELI

BAZA DANYCH SIECI HOTELI Paulina Gogół s241906 BAZA DANYCH SIECI HOTELI Baza jest częścią systemu zarządzającego pewną siecią hoteli. Składa się z tabeli powiązanych ze sobą różnymi relacjami. Służy ona lepszemu zorganizowaniu

Bardziej szczegółowo

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia

Bardziej szczegółowo

Jerzy Nawrocki, Wprowadzenie do informatyki

Jerzy Nawrocki, Wprowadzenie do informatyki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Baza danych Bazy danych = zorganizowana kolekcja danych Bazy danych (2) Cel Agenda Przedstawić relacyjny model baz danych Era przed-relacyjna

Bardziej szczegółowo

Bazy Danych II. Ćwiczenia

Bazy Danych II. Ćwiczenia Bazy Danych II. Ćwiczenia Bartosz Zieliński 16 kwietnia 2011 Spis treści 1 Powtórzenie SQL 3 1.1 Tworzenie i usuwanie tabel........................ 3 1.2 Wstawianie danych do tabel........................

Bardziej szczegółowo

Bazy danych Ćwiczenia projektowe

Bazy danych Ćwiczenia projektowe Bazy danych Ćwiczenia projektowe Przygotował: Piotr Hajder Katedra Informatyki Stosowanej i Modelowania Wydział Inżynierii Metali i Informatyki Przemysłowej, AGH Agenda 01. Powtórka 02. Interfejs CRUD

Bardziej szczegółowo

PODSTAWY BAZ DANYCH. 7. Metody Implementacji Baz Danych. 2009/ Notatki do wykładu "Podstawy baz danych" 1

PODSTAWY BAZ DANYCH. 7. Metody Implementacji Baz Danych. 2009/ Notatki do wykładu Podstawy baz danych 1 PODSTAWY BAZ DANYCH 7. Metody Implementacji Baz Danych 2009/2010 - Notatki do wykładu "Podstawy baz danych" 1 Przechowywanie danych w bazie 1. Dane przechowywane są w pamięci zewnętrznej podzielonej logicznie

Bardziej szczegółowo

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Wprowadzenie do projektowania i wykorzystania baz danych Relacje Wprowadzenie do projektowania i wykorzystania baz danych Relacje Katarzyna Klessa Dygresja nt. operatorów SELECT 2^2 SELECT 2^30 SELECT 50^50 2 Dygresja nt. operatorów SELECT 2^30 --Bitwise exclusive OR

Bardziej szczegółowo

(c) Politechnika Poznańska, Instytut Informatyki

(c) Politechnika Poznańska, Instytut Informatyki Struktura bazy danych Oracle (c) Politechnika Poznańska, Instytut Informatyki 28 Organizacja przestrzeni danych struktury logiczne - przestrzenie tabel (ang. tablespaces), schematy, obiekty (relacje, indeksy,

Bardziej szczegółowo

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 (a) T (b) N (c) N (d) T

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 (a) T (b) N (c) N (d) T PRZYKŁADOWE PYTANIA NA EGZAMIN Z PRZEDMIOTU ADMINISTRACJA BAZAMI DANYCH - 2005/2006-1- A Nazwisko i imię: Kierunek: Rok studiów: Pytanie 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Punkty 5 5 5

Bardziej szczegółowo

Oracle Label Security

Oracle Label Security VIII Seminarium PLOUG Warszawa Kwiecieñ 2003 Oracle Label Security Pawe³ Chomicz (chomicz@altkom.com.pl) Altkom Akademia S.A. Oracle Label Security 31 1. Wstęp Artykuł został opracowany na podstawie materiału

Bardziej szczegółowo

W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP).

W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP). Procedury składowane c.d. Parametry tablicowe w Transact-SQL. W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP). Zadanie 1. Proszę napisad procedurę składowaną, która

Bardziej szczegółowo

System Oracle podstawowe czynności administracyjne

System Oracle podstawowe czynności administracyjne 6 System Oracle podstawowe czynności administracyjne Stany bazy danych IDLE nieczynna, pliki zamknięte, procesy tła niedziałaja NOMOUNT stan po odczytaniu pfile-a, zainicjowaniu SGA i uruchomieniu procesów

Bardziej szczegółowo

Zapytania, złączenia, optymalizacja zapytań, planowanie zapytań, optymalizacja indeksów.

Zapytania, złączenia, optymalizacja zapytań, planowanie zapytań, optymalizacja indeksów. Dr inŝ. Dziwiński Piotr Katedra InŜynierii Komputerowej Zapytania, złączenia, optymalizacja zapytań, planowanie zapytań, optymalizacja indeksów. Kontakt: piotr.dziwinski@kik.pcz.pl 2 SQLQuery4_1.sql 3

Bardziej szczegółowo

Optymalizacja poleceń SQL Metody dostępu do danych

Optymalizacja poleceń SQL Metody dostępu do danych Optymalizacja poleceń SQL Metody dostępu do danych 1 Metody dostępu do danych Określają, w jaki sposób dane polecenia SQL są odczytywane z miejsca ich fizycznej lokalizacji. Dostęp do tabeli: pełne przeglądnięcie,

Bardziej szczegółowo

Organizacja przestrzeni danych (2) Struktura bazy danych Oracle. Przestrzenie tabel. baza danych. tabel. tabel. struktury. (relacje, schematy,

Organizacja przestrzeni danych (2) Struktura bazy danych Oracle. Przestrzenie tabel. baza danych. tabel. tabel. struktury. (relacje, schematy, Organizacja przestrzeni danych Struktura bazy danych Oracle struktury logiczne - przestrzenie tabel (ang. tablespaces), schematy, obiekty (relacje, indeksy, klastry, klastry haszowe (ang. hash cluster),

Bardziej szczegółowo

SQL SERVER 2016 IN MEMORY

SQL SERVER 2016 IN MEMORY SQL SERVER 2016 IN MEMORY 4 Pytania, które boimy się zadać Cezary Ołtuszyk Blog: coltuszyk.wordpress.com Kilka słów o mnie Kierownik Działu Administracji Systemami w firmie BEST S.A. (warstwa bazodanowa

Bardziej szczegółowo

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1 Procedury wyzwalane procedury wyzwalane, cel stosowania, typy wyzwalaczy, wyzwalacze na poleceniach DML i DDL, wyzwalacze typu INSTEAD OF, przykłady zastosowania, zarządzanie wyzwalaczami 1 Procedury wyzwalane

Bardziej szczegółowo

Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD

Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD Optymalizacja zapytań Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD Elementy optymalizacji Analiza zapytania i przekształcenie go do lepszej postaci. Oszacowanie

Bardziej szczegółowo

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. Użytkownicy i schematy (1) Użytkownicy i schematy (2) baza danych: ZESP99

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. Użytkownicy i schematy (1) Użytkownicy i schematy (2) baza danych: ZESP99 Plan ćwiczenia Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych Użytkownicy i schematy bazy danych. Uwierzytelnianie i autoryzacja. Przywileje systemowe i obiektowe. Role. Synonimy. Uprawnienia,

Bardziej szczegółowo

Zbiór pytań nr 5. 2 Które stwierdzenie opisuje najlepiej zbiór uprawnień dostępny po wykonaniu

Zbiór pytań nr 5. 2 Które stwierdzenie opisuje najlepiej zbiór uprawnień dostępny po wykonaniu Zbiór pytań nr 5 1 Które stwierdzenie opisuje najlepiej zbiór uprawnień dostępny po wykonaniu connect athos/musketeer grant select,insert,update,delete on athos.services to porthos with grant option; grant

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Zapytania SELECT Dr inż. Paweł Kasprowski pawel@kasprowski.pl Przykład HAVING Podaj liczebność zespołów dla których najstarszy pracownik urodził się po 1940 select idz, count(*) from prac p

Bardziej szczegółowo

Partycjonowanie tabel (1)

Partycjonowanie tabel (1) Partycjonowanie tabel (1) Podział tabeli na mniejsze fragmenty operacje dostępu do dysków mogą być wykonywane równolegle; jest równoważone obciążenie dysków; polecenia SQL adresujące różne partycje mogą

Bardziej szczegółowo

Struktura bazy danych

Struktura bazy danych Procedury składowane, funkcje i wyzwalacze Struktura bazy danych Tabela Oddziały ID Nazwa Adres 10 POZNAN Kwiatowa 3 20 WARSZAWA al. Jerozolimskie 22 30 KRAKOW Planty 14 40 WROCLAW Nad Odra 16 50 GDANSK

Bardziej szczegółowo

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe -- Definicje relacji i utworzenie stanu początkowego dla ćwiczeń z synchronizacji transakcji DROP TABLE Konta cascade constraints; DROP TABLE

Bardziej szczegółowo

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia

Bardziej szczegółowo