wyklad3

March 20, 2018 | Author: Anonymous | Category: Inżynieria, Informatyka, Databases
Share Embed


Short Description

Download wyklad3...

Description

Wykład 3 – Programowanie procedur wbudowanych w języku PL/SQL Bezpieczeństwo Odtwarzanie bazy danych po awarii Hurtownie danych

1

 

  

instrukcje warunkowe pętle zmienne dynamiczne tworzenie obiektów (kursorów) obsługa wyjątków

2

create procedure procedura([lista parametrow]) as [atrybut typ] -- dwie kreski to komentarz [atrybut typ] ... [kod funkcji] / 3

SQL> execute nazwa_schematu. nazwa_procedury(parametry); SQL> execute nazwa_schematu.nazwa_pakietu. nazwa_procedury_w_pakiecie(parametry);

4

create or replace package NAZWA_PAKIETU [lista funkcji (same deklaracje)]; / create or replace package body NAZWA_PAKIETU [definicja funkcji 1 / definicja funkcji 2 / definicja funkcji 3 /]; 5

funkcje samo-wyzwalające się, „uruchamiane zdarzeniem”, np. na tabeli przy wstawianiu create trigger NAZWA_TRIGERA before insert on NAZWA_TABELI begin ... end; 6

CREATE OR REPLACE PACKAGE mojpakiet AS x NUMBER(1); slowo CHAR(100); CURSOR kur IS SELECT * FROM tabela; PROCEDURE mojaprocedura1; PROCEDURE mojaprocedura2; TYPE typwiersz IS RECORD (imie tabela.imie%TYPE, nazwisko nazwisko.imie%TYPE, pesel pesel.imie%TYPE); wiersz typwiersz; END mojpakiet; / 7

CREATE OR REPLACE PACKAGE BODY mojpakiet AS PROCEDURE mojaprocedura1 AS BEGIN OPEN kur; LOOP FETCH kur INTO wiersz.imie, wiersz.nazwisko, wiersz.pesel; EXIT WHEN kur%NOTFOUND; mojpakiet.mojaprocedura2(wiersz); END LOOP; CLOSE kur; EXCEPTION WHEN OTHERS THEN ........ END; 8

PROCEDURE mojaprocedura2(w typwiersz) AS BEGIN ... END; END; /

9

Dwa aspekty: 



ochrona przed niepowołanym dostępem utrata danych, lub utrata ich spójności

10

Utworzenie nowego użytkownika create user ANTEK identified by HASLO;

Informacje o użytkownikach – patrz perspektywy: DBA_USERS ALL_USERS

11

nadawanie grant connect, resource to ANTEK; odbieranie revoke selectanytable from ANTEK; zmiana hasła alter user ANTEK identified by NOWEHASLO; 12

Rola jest zbiorem uprawnień create role sprzedawca; grant [nazwauprawnienia_1] to sprzedawca; grant [nazwauprawnienia_2] to sprzedawca; ... grant [nazwauprawnienia_n] to sprzedawca; create role kierowca; grant [nazwauprawnienia_1] to kierowca; grant [nazwauprawnienia_2] to kierowca; ... grant [nazwauprawnienia_m] to kierowca;

13

przydzielenie/odebranie roli użytkownikowi

grant sprzedawca to ANTEK; revoke kierowca from ADAM;

14

profile są ograniczeniami uprawnień nakładanymi na użytkowników create profile NAZWA_PROFILU limit session_per_user 2 connect_time 10 ...; nadanie profilu alter user ANTEK profile NAZWA_PROFILU; 15

Podział blokad ze względu na blokowany obszar  na tabeli  na rekordzie

Typy blokad  S (shareable) współdzielone  X (exclusive) na wyłączność

16

określenie położenia plików select status, enabled, name from v$datafile; select * from v$logfile; select * from v$controlfile;  kolejność czynności shutdown [normal] kopiowanie wszystkich plików b.d. + pliku parametrów  startup 

17

kopia zawartości przestrzeni tabel (bez plików dziennika powtórzeń), użyteczne gdy baza danych musi być dostępna 24 h na dobę i przez 7 dni w tygodniu, punkty kontrolne nie są w czasie kopiowanie zapisywane do plików przestrzeni alter tablespace NAZWA_TBS begin backup; przerwanie kopiowania alter tablespace NAZWA_TBS end backup; 18

tryby pracy programu EXPORT  table mode  user mode  database mode (incremental, cumulative, complete) rodzaje eksportu  dane i strukura  tylko struktura 19

parametry programu exp.exe USERID FILE (*.dmp) FULL (Y/N) (konieczne uprawnienie sysoper, lub sysdba) OWNER TABLES INCTYPE  otwarcie bazy danych w trybie restricted;  narzędzie IMPORT – przenoszenie danych pomiędzy serwerami pracującymi na różnych systemachoperacyjnych 

20

TNSNAMES.ORA – plik definiujący aliasy, zawierający nazwy i adresy baz danych BAZA=(ADDRESS=(PROTOCOL=TCP)(HOST=156.17.40 .40)(PORT=1521))CONNECT_DATA=(SOURCE_NAME =baza)

Połączenie klienta SQLPlus> connect antek@baza;

21

Narzędzie SQLLoader sqlldr.exe ctl=’plik_sterujący’ log=’plik_raportu’ userid=scott/tiger] Przykładowa postać pliku sterującego LOAD DATA INFILE * INTO TABLE NAZWA_TABELI FIELD TERMINATED BY ‘|’ OPTIONALLY ENCLOSED BY ‘”’ (kolumna1,kolumna2,kolumna3,kolumna4 DATE „DD-MonthYYYY”) 1|”Kowalski”|Jan|21-January-2001 2|Nowak|”Wojciech”|01-December-1999 ... 22

Tryby pracy NOARCHIVELOG – szybki, ale bez zapisywania śladów transakcji

ARCHIVELOG – wolniejszy (serwer zapisuje wszystkie zatwierdzone transakcje w plikachv*.log i okresowo je archiwizuje do *.arc, katalog docelowy plików śladu transakcji zawiera ustawienie LOG_ARCHIVE_DEST)

23

Wybrane elementy/techniki  

serwery lustrzane partycjonowanie obiektów

24

Cel Umożliwienie odtworzenia danych  z momentu przed awarią  bez przestoju (minimalizacja czasu niedostępności bazy danych) Postulaty  dwa identyczne, w miarę niezależnie pracujące komputery (production database, standby database)  te same systemy operacyjne  te same wersje Oracle Server 25

  

Każda partycja jest oddzielnym segmentem i może być przechowywana w oddzielnym TBS-ie (nawet na innym dysku). Zalety łatwiejsze archiwizowanie i reorganizacja lepsza efektywność dostępu możliwość równoległych procesów DML (współbieżność) – skrócenie czasu przetwarzania 26

  

Każda partycja jest oddzielnym segmentem i może być przechowywana w oddzielnym TBS-ie (nawet na innym dysku). Zalety łatwiejsze archiwizowanie i reorganizacja lepsza efektywność dostępu możliwość równoległych procesów DML (współbieżność) – skrócenie czasu przetwarzania 27

create table OSOBY (nr_id number(10), imie varchar2(15), nazwisko verchar2(15), data_ur date, kod_pocztowy number(5)) partition by range(kod_pocztowy) (partition f1 values less than 10000 tablespace TBS1, partition f2 values less than 20000 tablespace TBS2, partition f3 values less than 30000 tablespace TBS); 28

Odwołanie do całej tabeli select * from osoby;

Odwołanie do partycji select * from osoby partition(f1); Usunięcie partycji alter table osoby drop partition f2;

29

View more...

Comments

Copyright © 2017 DOCUMEN Inc.