Administracja bazy danych Oracle 10g

Podobne dokumenty
System Oracle podstawowe czynności administracyjne

Architektura Systemu Zarządzania Bazą Danych Oracle

Zarządzanie wolną przestrzenią w bloku. Rozszerzenia

Zadania do wykonania na laboratorium

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

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

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

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

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

Administracja bazy danych Oracle 10g

(c) Politechnika Poznańska, Instytut Informatyki

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

Zarządzanie kontami użytkowników w i uprawnieniami

Wydajność hurtowni danych opartej o Oracle10g Database

Administracja bazy danych Oracle 10g

Zarządzanie strukturą bazy danych Oracle11g

Instalacja Oracle Designera ( )

Uprawnienia, role, synonimy

Wykład 4. SQL praca z tabelami 1

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych

Wykład 8. SQL praca z tabelami 5

SQL w języku PL/SQL. 2) Instrukcje języka definicji danych DDL DROP, CREATE, ALTER, GRANT, REVOKE

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

CREATE USER

dr inż. Jarosław Forenc

Ref. 7 - Język SQL - polecenia DDL i DML

Tabela wewnętrzna - definicja

Ustawienie na poziomie sesji (działa do zmiany lub zakończenia sesji zamknięcia połączenia).

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

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

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

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Wykład 2. SQL 1 Structured Query Lenguage

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Partycjonowanie tabel (1)

Język SQL, zajęcia nr 1

Krzysztof Kadowski. PL-E3579, PL-EA0312,

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

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

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

2017/2018 WGGiOS AGH. LibreOffice Base

Archiwizacja i odtwarzanie bazy danych

Administracja i programowanie pod Microsoft SQL Server 2000

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

1 Instalowanie i uaktualnianie serwera SQL Server

Business Intelligence Beans + Oracle JDeveloper

Autor: Joanna Karwowska

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

Instrukcjaaktualizacji

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Szkolenie obejmuje zagadnienia związane z tworzeniem i zarządzaniem bazą danych Oracle, jej zasobami i dostępem do danych.

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

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Import danych z plików Excel. (pracownicy, limity urlopowe i inne)

Typy tabel serwera MySQL

SQL (ang. Structured Query Language)

Bazy danych - Materiały do laboratoriów VIII

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Część 3 - Konfiguracja

Wdrożenie modułu płatności eservice. dla systemu Magento

Oracle Label Security

PCSHEMATIC AUTOMATION Instalacja aktualizacji baz aparatury

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

1. Połączenie z bazą danych. W wybranym edytorze tworzymy plik sqltest.py i umieszczamy w nim poniższy kod. #!/usr/bin/python3 import sqlite3

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

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

(a) T (b) N (c) N (d) T

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

Fizyczna struktura bazy danych w SQL Serwerze

Baza danych. Program: Access 2007

WPROWADZENIE DO BAZ DANYCH

Dr Michał Tanaś(

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Administracja i programowanie pod Microsoft SQL Server 2000

Praca w programie dodawanie pisma.

ECDL/ICDL Zarządzanie projektami Moduł S5 Sylabus - wersja 1.0

Wykład 5. SQL praca z tabelami 2

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

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

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

Partycjonowanie. Partycjonowanie tabel (1)

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

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

Zastosowania tabel o strukturze indeksu - IOT (Index Organized Table)

Przygotowanie bazy do wykonywania kopii bezpieczeństwa

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

Oracle PL/SQL. Paweł Rajba.

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

Oracle ³atwiejszy ni przypuszczasz. Wydanie III

SQL 4 Structured Query Lenguage

INSTRUKCJA I WSKAZÓWKI

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

PRZYGOTOWANIE HARMONOGRAMU WEWNĘTRZNEGO EGZAMINÓW PISEMNYCH W OŚRODKU.

Tytuły Wykonawcze. Opis systemu tworzenia dokumentacji TW-1

Transkrypt:

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 TEMPOR_NAME jest nazwa użytkownika oraz jest nazwa przestrzeni tymczasowej (domyślne TEMP)

Zmiana ustawień użytkownika - zakładka Security Users Zmiana ustawień użytkownika - zakładka Security Users

Zmiana ustawień użytkownika - zakładka Security Users Zmiana ustawień użytkownika - zakładka Security Users

Informacja o parametrach SGA W SQL*Plus SQL>show sga Składowanie danych System zarządzania bazą danych Oracle przydziela logiczne miejsce dla wszystkich danych w bazie. Jednostki w których są rozmieszczane obiekty to bloki danych (logiczne bloki danych), rozszerzenia oraz segmenty. Rozszerzenie - liczba sąsiednich bloków. Segment - zbiór rozszerzeń, który jest przydzielony do określonych struktur danych. Dane każdej tabeli są przechowywane w jej segmencie danych. Dane każdego indeksu są przechowywane w jego segmencie danych. Jeżeli tabela jest partycjonowana, każda partycja jest przechowywana w osobnym segmencie.

Składowanie danych Oracle przydziela miejsca dla każdego segmentu w jednostkach jednego rozszerzenia. Kiedy rozszerzenie danego segmentu jest zapełnione, Oracle przydziela następne nowe rozszerzenie. Z tego wynika, że rozszerzenia nie konieczne muszą być na tym samym dysku. Segment i wszystkie jego rozszerzenia są przechowywane w jednej przestrzeni tabel (ang. tablespace). Wewnątrz przestrzeni tabel segment może zawierać rozszerzenia, które są przydzielone w kilku plikach danych. Każde rozszerzenie może zawierać dane tylko z jednego pliku danych, tj. może być rozmieszczone tylko na jednym pliku danych. Składowanie danych Wszystkie wiersze dla danego indeksu są przechowywane w jednym segmencie indeksu. Jeżeli tabela posiada kilku indeksów, każdy indeks posiada swój segment indeksu. Celem tego segmentu jest sprawdzenie miejsce wiersza w tabeli na podstawie specyficznego klucza.

Tablespace Datafile Datafile Table Table Table Index Table Index Table Table Index Index Index Segmenty W bazie danych Oracle są stosowane następujące typy segmentów: Tabela (ang. table) Tabela partycjonowana (ang. table partition) Indeks (ang. index) Segment wycofania (ang. Rollback) Tymczasowy (ang. temporary) Duży obiekt (ang. Large Object) W bazie danych Oracle dane mogą być przechowywane tylko w tabelach.

Segmenty W segmencie dane nie są przechowywane w określonym porządku. Użytkownik nie ma możliwości kontroli nad tym jak dane są przechowywane w blokach wewnątrz segmentu. Wszystkie dane w segmencie tabeli muszą być przechowywane w jednej przestrzeni tabeli (ang. tablespace) Tabela może być podzielona na partycje. Każda z partycji może być w innej przestrzeni tabeli (ang. tablespace) Jeżeli tabela jest podzielona na partycje, to każda partycja jest segmentem ze swoimi własnymi parametrami przechowywania. W celu korzystania z podzielonej na partycje tabeli musi być zainstalowana ta opcja bazy danych. Segmenty SQL*Plus: Release 9.2.0.1.0 - Production on Pon Kwi 11 16:57:21 2005 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Połączenie z: Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Production With the Partitioning, OLAP and Data Mining Scoring Engine options

Klauzula składowania (ang. storage clause) Określa jakie rozszerzenia są przydzielane na poziomie segmentu. Parametry składowania (ang. storage clause) - przechowywania na dysku, jeżeli są określone na poziomie segmentu unieważniają te parametry określone dla przestrzeni tabel (ang. tablespace). Jeżeli parametry przechowywania, składowania na dysku nie są określone na poziomie segmentu, wówczas są brane parametry dla przestrzeni tabel (ang. tablespace). Jeżeli parametry przechowywania, składowania na dysku nie są określone na poziomie przestrzeni tabel (ang. tablespace) Oracle używa domyślne ich wartości dla tych parametrów. Klauzula składowania (ang. storage clause) Storage ( initial bytes, next bytes, minextents integer, maxextents integer, pctincrease integer) Klauzula składowania ( początkowy bytes, następny bytes, minimalna liczba rozszerzeń liczba całkowita, maksymalna liczba rozszerzeń liczba całkowita, procent narastania liczba całkowita)

Klauzula składowania (ang. storage clause) Jeżeli parametry składowania zostaną zmienione po utworzeniu segmentu, nowe parametry będą obowiązywać tylko dla nowych rozszerzeń, a dla istniejących rozszerzeń zostaną zastosowane stare parametry. Niektóre parametry mogą być określone tylko na poziomie segmentu, one nie mogą być ustawiane na poziomie przestrzeni tabel (ang. tablespace). Minimalna wielkość rozszerzenia jest ustawiana na poziomie przestrzeni tabel (ang. tablespace). Można ją zastosować dla wszystkich rozszerzeń segmentów w tej przestrzeni tabel. Klauzula składowania (ang. storage clause) Rozszerzenia mają przydział (ang. are allocated) kiedy segment jest: tworzony (ang. created); rozszerzany (ang. extended) zmieniany (ang. altered). Przydział zajmowany przez segment jest zwalniany (ang. deallocated) wtedy, gdy segment jest: usuwany (ang. dropped); zmieniany (ang. altered); wyczyszczany (ang. truncated); przy segmentach wycofania - (ang. rollback segments) zmienia się automatycznie tylko wielkość (ang. resized)

Klauzula składowania (ang. storage clause) W momencie tworzenia przestrzeni tabel (ang. tablespace) pliki danych zawierają: nagłówek bloku (ang. header block) - pierwszy blok w pliku; jedno rozszerzenie z pozostałą części pliku. Kiedy segment jest utworzony otrzymuje on przydział z wolnego miejsca w pliku. Kiedy segment zwolni swój przydział miejsca to rozszerzenia z powrotem są dodawane do wolnego miejsca w pliku. Częste dodawanie i usuwanie przydziału miejsca w segmentach prowadzi do fragmentacji przestrzeni w plikach danych, które należą do danej przestrzeni tabel (ang. tablespace). Eksport / import lub przeniesienie danych do nowej przestrzeni tabel (ang. tablespace) rozwiązuje ten problem. Format bloku danych Blok danych (ang. data block) zawiera następujące sekcje: nagłówek bloku (ang. header) - adres bloku, do którego segmentu należy dany blok; katalog tabeli (ang. table directory); katalog wiersza (ang. row directory) - adres wiersza, liczba wierszy, liczba kolumn w wierszach, status wiersza (ang. lock status), informację, w którym bloku kontynuuje dany wiersz; wolną przestrzeń w bloku; dane. Wiersze z tabeli mogą zajmować więcej niż jeden blok danych. To zjawisko jest nazywane łańcuchowaniem (ang. chaining).

Format bloku danych Wolna przestrzeń w bloku danych jest używana do aktualizacji (ang. update) istniejących wierszy i do dodania nowych wierszy. W celu zarządzania wolnego miejsca w bloku są używane parametry PCTFREE oraz PCTUSED. Wartości tych parametrów są podstawa do podejmowania decyzji przez Oracle czy wiersz może być aktualizowany w danym bloku lub aktualizacja tego wiersza będzie przechowywana w nowym bloku. Parametry PCTFREE oraz PCTUSED są określane w momencie tworzenia tabeli. Format bloku danych Parametr PCTFREE również może być podawany przy tworzeniu lub zmianie (ang. altering) indeksów. Parametr PCTFREE określa jaki minimalny procent z rozmiaru bloku danych ma być zostawiony jako wolny dla przyszłych aktualizacji. Ten parametr również decyduje czy można dodać wiersz w danym bloku. Domyślna wartość dla parametru PCTFREE jest 10. W momencie, kiedy rozmiar bloku osiąga limit podany przez parametr PCTFREE, Oracle traktuje blok danych jako niedostępny dla dodawania nowych wierszy. Parametr PCTUSED określa jaki minimalny procent rozmiaru bloku może być używany dla nagłówką bloku + katalog tabeli + katalog wierszy + danych.

Format bloku danych Nowe wiersze nie będą dodane do bloku jeżeli procent wolnego miejsca w bloku jest poniżej parametru PCTUSED. Do tego czasu wolna przestrzeń jest używana tylko do aktualizacji istniejących wierszy. Parametr PCTUSED jest określany w momencie tworzenia tabeli. Kolumny z wiersza tabeli są przechowywane w bloku w porządku w jakim zostały zdefiniowane przy tworzeniu tabeli. Konkurencyjny dostęp do bloku danych Parametry, które są używane do kontroli konkurencyjnego (jednoczesnego) dostępu do bloku danych są INITRANS oraz MAXTRANS. One określają początkową i maksymalną liczbę jednoczesnego dostępu do bloku przy transakcji. Transakcja używa tylko jednego dostępu do bloku podczas transakcji, nawet jeżeli jest zmienianych kilka wierszy w bloku. Parametr INITRANS ma domyślną wartością 1 dla segmentów danych i 2 dla segmentów indeksów. Jeżeli dla danego bloku danych mamy wartość parametru INITRANS 4 to oznacza, że jednocześnie 4 transakcje mogą zmieniać blok danych. Parametr MAXTRANS ma domyślną wartość 255 i określa liczby górnej granicy jednoczesnych transakcji, które mogą zmieniać blok danych lub blok indeksu.

Lokalne zarządzane przestrzeni tabel (ang. tablespace) Oracle zarządza rozszerzeniem przestrzeni tabel (ang. tablespace) lokalnie lub słownikowo. Słownikowo, oznacza że przestrzenie tabel są zarządzane na podstawie tabeli słownikowych (ang. dictionary tables). Lokalnie oznacza, że informacja potrzebna do zarządzania przestrzeni jest przechowywana w niej. W Oracle 10g to jest domyślny typ zarządzania przestrzeni tabel (ang. tablespace). W lokalnie zarządzanej przestrzeni tabel w każdym pliku danych, należących do przestrzeni tabel jest tworzona mapa bitowa. W mapie bitowej w 1 bajcie są przechowywane informację o 1 bloku lub grupie bloków w tym pliku. Kiedy jest przydzielana lub zwalniana przestrzeń, są dokonywane odpowiednie zmiany w mapie bitowej. Lokalne zarządzanie przestrzeni tabel (ang. tablespace) Parametry składowania NEXT, PCTINCREASE, MINEXTENTS, MAXEXTENTS, oraz DEFAULT STORAGE nie obowiązują przy przestrzeni tabel (ang. tablespace) które są zarządzane lokalnie.

Typy danych W bazie danych rozróżniamy następujące typy danych: liczbowe (ang. numeric); alfanumeryczne (ang. Character); typ data (ang. data). Dane alfanumeryczne mogą być przechowywane w zmiennej lub stałej długości ciągu. Dane o stałej długości typu CHAR (alfanumeryczne) są przechowywane z pustymi symbolami. Dane o zmiennej długości (na przykład VARCHAR2) potrzebują tylko miejsca niezbędnego do zapisania aktualnej wartości kolumny. Długość danych typu VARCHAR2 jest ograniczona do 4000 bajtów. Typy danych Liczby zawsze są zapisywane, przechowywane jako dane ze zmienną długością. Mogą posiadać do 38 znaczących liczb. Dane liczbowe wymagają: 1 bajta dla części wykładnika (ang. exponent); 1 bajta dla każdych 2 znaczących liczb logarytmu; 1 bajta dla liczb ujemnych, pod warunkiem, że liczba znaczących liczb jest mniejsza niż 38. Data jest przechowywana w formacie o stałej długości - 7 bajtów. W bazie Oracle data zawsze zawiera i czas 'YYYY-MM-DD HH:MI:SS'

ROWID ROWID jest pseudo kolumną, która może być używana w zapytaniach, tak jak inne pola w tabeli. ROWID jest unikalnym identyfikatorem każdego wiersza w tabeli. ROWID nie zawiera fizycznego adresu wiersza, ale może być użyty do jego lokalizacji. Najszybszy metod lokalizacji wiersza w tabeli. Informacja o ROWID wymaga 10 bajtów i jest pokazywana jako 18 symboli. ROWID zawiera: Numer obiektu (ang. data object number) - 6 liczb; względny numer pliku (ang. relative file number) - 3 liczby; numer bloku (ang. block number) - 6 liczb; numer wiersza (ang. row number) - 3 liczby. ROWID SELECT ROWID, SUBSTR(ROWID,1,6) "OBIEKT", SUBSTR(ROWID,7,3) "PLIK", SUBSTR(ROWID,10,6) "BLOK", SUBSTR(ROWID,16,3) "WIERSZ" FROM NAZWA_TABELI; Oracle używa ROWID przy tworzeniu indeksów. Przy Imporcie / Eksporcie danych następuje zmiana ROWID. Przy usuwaniu wierszy ROWID jest również usuwany. Przy dodawaniu wierszy ROWID usuniętego wiersza jest ponowne używany.

koniec tej części Otwórz następną część kursu