suport curs 9i v1.0 - casmb.ro erp/administrare … · introducere oracle server 9i versiune: 1.0...

34
DBA ORACLE ADMINISTRAREA BAZELOR DE DATE ORACLE SERVER 9I/10G Versiune Document 1.0 Data Creare: 08-10-2004 Ultima Modificare: 08-10-2004 SIVECO Romania SA 14-10-2004

Upload: phungdat

Post on 10-Apr-2018

233 views

Category:

Documents


3 download

TRANSCRIPT

DBA ORACLE ADMINISTRAREA BAZELOR DE DATE

ORACLE SERVER 9I/10G

Versiune Document 1.0 Data Creare: 08-10-2004

Ultima Modificare: 08-10-2004

SIVECO Romania SA 14-10-2004

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 2 of 34

CONTROLUL DISTRIBUŢIEI

Nr. Copie Distribuţie

1. Copie Internă SIVECO Romania S.A.

2. Copie Externă

ISTORIA MODIFICĂRILOR

Versiune Data Comentarii

1.0 08.10.2004 Versiune Iniţială

APROBĂRI

Nume Funcţie Dept. Semnătura Data

ÎNTOCMIT LIVIU NEDOV P.M. SIVECO Romania

08-10-2004

APROBAT

DOCUMENTE REFERITE

Titlu Data Versiune Autor(i)

Documentaţia Produs Oracle 06.2000 2.0 Oracle

Cursuri Oracle DBA 02.2001 1.1 Oracle

FORMULARE REFERITE

Titlu Data Versiune Autor(i)

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 3 of 34

CUPRINS

CONTROLUL DISTRIBUŢIEI ....................................................................................................................2 ISTORIA MODIFICĂRILOR ......................................................................................................................2 APROBĂRI .............................................................................................................................................2 DOCUMENTE REFERITE .........................................................................................................................2 FORMULARE REFERITE..........................................................................................................................2

CUPRINS 3

1. DOMENIUL DOCUMENTULUI ..................................................................................................... 5

2. ARHITECTURA ORACLE SERVER............................................................................................. 6

2.1. INTRODUCERE ................................................................................................................................6 2.1.1. Arhitectură calcul ...................................................................................................................7 2.1.2. Sesiune Oracle........................................................................................................................8

2.2. STRUCTURI MEMORIE ....................................................................................................................8 2.3. SGA...............................................................................................................................................9 2.3.1. Shared Pool Memory ..............................................................................................................9 2.3.2. Buffer Cache.........................................................................................................................10 2.3.3. Redo Log Buffer....................................................................................................................11 2.3.4. Large Pool ............................................................................................................................11 2.3.5. Java Pool ..............................................................................................................................11

2.4. PGA.............................................................................................................................................12 2.5. PROCESE ORACLE ........................................................................................................................12 2.5.1. SMON ...................................................................................................................................14 2.5.2. PMON...................................................................................................................................14 2.5.3. DBWR...................................................................................................................................15 2.5.4. LGWR ...................................................................................................................................15 2.5.5. CKPT ....................................................................................................................................15

3. INSTALARE ORACLE SERVER.................................................................................................. 16

4. CONFIGURAREA INSTANŢEI ORACLE .................................................................................. 18

4.1. FIŞIERE DE PARAMETRII ...............................................................................................................18 4.1.1. Tipuri de Parametrii .............................................................................................................19 4.1.2. Modificare Parametrii ..........................................................................................................20 4.1.3. Vizualizare Parametrii .........................................................................................................20 4.1.4. Creare Fişier de Parametrii .................................................................................................20

4.2. PORNIRE ŞI OPRIRE INSTANŢA ORACLE........................................................................................21 4.2.1. Pornirea Bazei de Date ........................................................................................................21 4.2.2. Oprirea Bazei de Date..........................................................................................................22

5. FIŞIERELE BAZEI DE DATE....................................................................................................... 24

5.1. FIŞIERE DE CONTROL ...................................................................................................................24 5.1.1. Operarea cu Fişiere de Control ...........................................................................................24

5.2. FIŞIERE DE REDOLOG ...................................................................................................................25

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 4 of 34

5.2.1. Operarea cu Fişiere de RedoLog .........................................................................................26 5.3. ARHIVARE BAZA DE DATE ...........................................................................................................27 5.4. FIŞIERE DE DATE ..........................................................................................................................28 5.4.1. Managementul Spaţiului.......................................................................................................29 5.4.2. Operarea cu Fişiere de Date ................................................................................................30 5.4.3. Mutare Bază de date.............................................................................................................30

6. BACKUP ŞI RECOVERY............................................................................................................... 32

6.1. MODURI DE BACKUP ....................................................................................................................32

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 5 of 34

1. DOMENIUL DOCUMENTULUI

Acest document se adresează tuturor specialiştilor în Informatică interesaţi în administrarea bazelor de date Oracle.

Structura prezentului document cuprinde noţiuni teoretice şi practice despre activitatea de zi cu zi a administratorului de baze de date Oracle. În acest support de curs face referire la versiunile Oracle RDBMS Server 9i (9.2.0.1) şi Oracle RDBMS Server 10g (10.0.2.0).

Acest document nu cere cunoştinţe IT altele decât cele necesare în activitatea zilnică a beneficiarului.

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 6 of 34

2. ARHITECTURA ORACLE SERVER

2.1. INTRODUCERE

Oracle Server este o structură complexă de procese în memorie şi fişiere.

Oracle Server = Instanţa Oracle + Baza de Date Oracle

Instanţa Oracle – este compusă din structuri de memorie comune şi procese Oracle.

- Structuri de memorie comună (Shared) gestionată de toate procesele Oracle

- Procese de fundal (background) care asigură funcţionalitatea serverului.

- Procese Utilizator şi Server.

- Este asignată (poate deschide) numai o singură bază de date Oracle.

- Este configurată printr-un set de parametrii la pornire.

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 7 of 34

Baza de Date Oracle - este compusă din mai multe structuri de date.

– Poate fi o structură de fişiere la nivelul sistemului de operare (File System) sau pe o structură neformatată de partiţii pe disk (RAW format).

2.1.1. Arhitectură calcul

Există mai multe tipuri de arhitecturi pentru rularea aplicaţiilor:

� Host Based – toţi utilizatorii sunt conectaţi direct la calculatorul pe care rulează serverul de baze de date.

� Client-Server – Programul clinet se conectează cu programul server prin reţea.

� Three-Tier – Folosirea de două servere. Un server de baze de date şi un server de aplicaţii ( clinet – server – server).

Din punct de vedere al serverului de baze de date Oracle server acesta poate să fie în următoarele configuraţii:

- StandAlone Server – Există un singur server de baze de date.

- O.S. Cluster – Asigură Fail-Over prin folosirea a două servere. Instanţa Oracle poate să ruleze pe unul din servere la un moment dat.

- Oracle Cluster (RAC Real Application Cluster) – Acest sistem asigură atât Load Balancing între servere cât şi Fail-Over dacă unul din servere nu funcţionează. Există câte o instanţă Oracle pe fiecare nod, toate pe aceiaşi bază de date.

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 8 of 34

2.1.2. Sesiune Oracle

Înainte de a executa comenzi SQL un program client (ex. SqlPlus) trebuie să stabilească o conexiune cu o Instanţă Oracle.

Această conexiune nu se stabileşte direct cu instaţa Oracle ci prin intermediul unui proces server. Conexiunea se stabileşte prin IPC (Inter Process Communication) dacă procesul client şi procesul server sunt pe acelaşi calculator sau prin reţea TCP/TCPS dacă procesele sunt pe calculatoare diferite.

După acceptarea conexiuni de către server se deschide o sesiune Oracle.

2.2. STRUCTURI MEMORIE

Există două structuri principale de memorie pentru instanţa Oracle.

SGA – Shared Global Area

� Este o structură de memorie care se alocă la pornirea instanţei şi este prezentă pâna la oprirea instanţei.

� Este folosită de toate procesele Oracle în mod partajat (share).

PGA – Private Global Area

� Este o structură de memorie care se alocă pentru fiecare sesiune în parte. (privată).

� Acestă memorie este dealocată atunci când sesiunea se termină.

Instanţa Oracle

SGA – Shared Global Area

Procese Background

Proces Utilizator

Proces Server

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 9 of 34

2.3. SGA

SGA (Shared Pool Memeory) este compusă din următoarele componente:

- Shared Pool

- Buffer Cache

- Redo Log Buffer

- Large Pool – această componentă este opţională.

- Java Pool – această componentă este opţională.

Memoria SGA reprezintă o zonă continuă din memoria virtuală a calculatorului. Această memorie se alocă în granule – tranşe de alocare memorie RAM.

O granulă = 4MB dacă memoria < 128MB şi 16MB în rest. În majoritatea cazurilor memoria SGA se alocă în granule de 16MB.

Parametru instanţă: SGA_MAX_SIZE – reprezintă valoarea maximă a SGA care poate fi atinsă în timpul rulării instanţei.

Componentele de memorie SGA pot fi modificate ulterior, în limita lui SGA_MAX_SIZE folosind comanda:

ALTER SYSTEM SET ...

2.3.1. Shared Pool Memory

Memoria Shared Pool este cea mai importantă zonă de memorie din SGA.

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 10 of 34

Memoria Shared Pool este împărţită în:

- Library Cache

- Data Dictionary Cache.

Mărimea memoriei Shared Pool este determinată la pornirea instanţei prin parametrul instanţei SHARED_POOL_SIZE care nu poate fi zero. Valoarea implicită pentru mărimea memoriei Shared Pool diferă în funcţie de sistemul de operare. (64MB pentru sistemele de 64 bits).

Observaţie: Mărimea componentelor Library Cache şi Data Dictionary Cache este stabilită de Oracle şi nu poate fi configurată prin parametrii instanţei.

Library Cache

� Păstrază cele mai recente instrucţiuni executate (lista LRU).

� Două zone : SQL şi PL/SQL executate şi de către serverul Oracle.

Data Dictionary Cache

� Păstrază definiţia obiectelor din baza de date: fişiere, tabele, indecsi, alte obiecte din dicţionar.

� Păstrează locks ( resurse blocate) în baza de date atunci când se execută operaţii de modificare a datelor.

2.3.2. Buffer Cache

Datele în baza de date se păstrază în blocuri de date. Mărimea unui astfel de block este între 2KB şi 32KB.

O bază de date Oracle 9i-10g are un bloc primar – care a fost folosit la crearea bazei de date şi unul sau mai multe blocuri secundare. Blocul primar nu poate fi schimat după crearea bazei de date.

Buffer Cache păstrază o copie a blocurilor de date din baza de date pentru a reduce accesul la disk.

� Copie ale blocurilor din baza de date.

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 11 of 34

� Metoda păstrării celor mai folosite blocuri (LRU).

� DB_CACHE_SIZE determină mărimea memoriei buffer cache.

2.3.3. Redo Log Buffer

Redo Log Buffer reprezintă o zonă mică de memorie din memoria SGA folosită pentru salvarea tuturor modificărilor în baza de date Oracle.

Redo Log

� Salvarea tuturor modificărilor asupra blocurilor de date.

� Zona de memorie este citită şi scrisă în mod circular.

� Scopul este refacerea (recovery) pentru baza de date.

� Parametrul instanţei LOG_BUFFER determină mărimea memoriei Redo log.

2.3.4. Large Pool

Este o componentă opţională pentru memoria SGA.

� Este folosită pentru moduri mai deosebite de lucru cu serverul Oracle: Shared Server, Procese paralele, Slave IO, etc

� Nu este folosită pe baza unei liste (LRU – last recent use).

� Mărimea memoriei Large Pool este determinată prin parametrul instanţei LARGE_POOL_SIZE.

2.3.5. Java Pool

Este o componentă opţională pentru memoria SGA.

� Este folosită atunci când serverul Oracle este configurat cu Java VM.

� Păstrază ultimele instrucţiuni (proceduri java) parsate. LRU

� Mărimea memoriei Java Pool este determinată prin parametrul instanţei JAVA_POOL_SIZE

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 12 of 34

2.4. PGA

Memoria PGA (Private Global Area) este o structură care conţine date şi informaţii necesare unui singur proces server. Procesul server poate fi atât proces server dedicat care serveşte un proces client cât şi un proces server background.

Memoria PGA conţine:

� Stack Space: variabile de sesiune.

� Session Information: informaţii despre utilizator şi permisiuni.

� Cursor information: informaţii despre procesarea instrucţiunilor SQL.

� Sort Area: spaţiu de sortare folosit pentru procesul.

2.5. PROCESE ORACLE

Există mai multe tipuri de procese Oracle:

- Procese utilizator – se pornesc atunci când un utilizator lansează o aplicaţie care foloseşte clientul de Oracle Server (ex. Sqlpplus).

- Procese Server – se pornesc atunci când un utilizator (proces utilizator) stabileşte o conexiune.

- Procese de fundal (background) – se pornesc la pornirea instanţei Oracle.

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 13 of 34

Procesele de Background asigură funcţionalitatea bazei de date Oracle Server.

Există câteva procese de background care sunt esenţiale pentru baza de date şi fără de care instanţa Oracle nu funcţionează.

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 14 of 34

- DBWR – Database Writer

- PMON – Process Monitor

- SMON – Sistem Monitor

- LGWR – Log Writer

- CKPT - Checkpoint

Şi mai multe procese de background opţionale – care pot fi configurate de către DBA.

- ARC – procese arhivare

- Snnn – procese server nededicate

- Dnnn – Dispatcher

- Pnnn – Parallel Querry

- CJQ0 – Advance Queueing (Cozi de mesaje).

- LMON – RAC DLM Monitorizează resursele lock.

2.5.1. SMON

Procesul SMON – System Monitor are următoarele atribuţii:

� Instance Recovery

� Instance RollBack

� Deschide baza de date pentru utilizatori

� Compactare Segmente (Manual Mode)

� Dealocă spaţiu segmente temporare.

2.5.2. PMON

Procesul PMON – Process Monitor are următoarele atribuţii:

� Monitorizează toate celelalte procese

� Dealocă Memorie (curăţă) proces blocat.

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 15 of 34

� Dealocă locks şi alte resurse ocupate.

2.5.3. DBWR

Procesul DBWR – Database Writer scrie blocuri Oracle în fişierele bazei de date la următoarele evenimente:

� Checkpoint

� Prea multe blocuri modificate (Dirty buffer).

� Nu mai sunt blocuri libere

� Timeout interval

� RAC ping

� Tablespace RO sau Offline

2.5.4. LGWR

Procesul LGWR – LOG Writer scrie modificările blocurilor din baza de date Oracle, din RedoLog Buffer (SGA) în fişierele redolog pe disk, la următoarele evenimente:

� La fiecare commit SQL

� Dacă RedoLog buffer este 1/3 plin.

� 1MB RedoLog Buffer

� maxim 3 secunde.

2.5.5. CKPT

Procesul CKPT – CheckPoint are următoarele atribuţii:

� semnalizează DBWR să scrie pe disk cele mai vechi blocuri modificate (checkpoint)

� actualizează headere fişiere de control.

� actualizează headere fişiere de date.

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 16 of 34

3. INSTALARE ORACLE SERVER

Instalarea unei baze de date presupune:

-Alegerea unui ORACLE_HOME

-Instalare executabilelelor Oracle (binary) din kit-ul de oracle pentru platforma respectiva.

-Crearea unei baze de date Oracle.( sau mai multe)

-Configurarea serverului Oracle.

Cerinţe Sistem

Sisteme de Operare:

-Windows 2000 Server si Professional

-Windows NT Server

-Windows XP Professional

-Windows 2003 Server

-UNIX 32 si 64 bit: AIX, HPUX, Solaris, Tru64 si LINUX*

Memorie:

Minim 512MB RAM, 1GB recomandat (32bit)

Minim 1GB RAM, 2GB recomandat (64 bit)

Disk:

Minim 2.8GB Disk ( fara baza de date Oracle)

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 17 of 34

După instalarea executabilelor Oracle se crează o bază de date folosind wizardul Oracle DBCA (Database Configuration Assistant).

Pentru instalarea si configurarea unei baze de date Oracle, astfel incat sa ruleze Siveco Applications, este nevoie de minim 10 GB spatiu pe hard disk. Se alege:

-“Create Database”

-“General Purpose” Database.

-Se introduce numele bazei de date SID=PROD sau SID=TEST in ecranul din figura.

-La restul optiunilor se apasa “NEXT>”

-La optiunea “Create Database” se apasa “FINISH”

-Se asteapta ca oracle sa creze o baza de date noua.

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 18 of 34

4. CONFIGURAREA INSTANŢEI ORACLE

4.1. FIŞIERE DE PARAMETRII

Există două tipuri de fişiere de parametrii:

Pfile – fişier de iniţializare static de tip text.

� Aceste fişiere pot fi editate cu un editor de text (ex. Notepad).

� Numele sunt de tipul init.ora sau init$SID.ora

� La pornirea instanţei sunt citite de Oracle. După pornirea instanţei fişierele nu mai sunt accesate de către Oracle server pâna la următoarea repornire.

SPfile – fişier de iniţializare persistent de tip binar.

� Aceste fişiere NU pot fi editate cu un editor de text (ex. Notepad)

� Numele sunt de tipul spfile.ora sau spfile$SID.ora

� La pornirea instanţei sunt citite de Oracle. După pornirea instanţei fişierele sunt accesate de Oracle server. Fişierele spfile pot fi modificate prin comenzi de tipul ALTER SYSTEM.....scope=SPFILE.

Locaţia implicită pentru fişierele de parametrii este:

$ORACLE_HOME/dbs - în sistemele de operare UNIX

%ORACLE_HOME%/database – în sistemele de operare WINDOWS

Locaţia implicită poate fi schimbată dacă în fişierele de configurare, de tip pfile sau spfile se includ următoarele clauze:

IFILE = ‘…….’ Include un alt fişier de parametrii pfile, posibil din altă locaţie.

SPFILE = ‘……..’ Include un alt fişier de parametrii spfile, posibil din altă locaţie.

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 19 of 34

Ordinea în care Oracle caută fişierele cu parametrii este următoarea:

1. spfile$SID.ora

2. spfile.ora

3. init$SID.ora

4. init.ora

5. Eroare …nu există fişier de parametrii...

4.1.1. Tipuri de Parametrii

Parametrii Expliciţii

– care sunt specificaţi în fişierul de iniţializare pfile sau spfile.

Parametrii Impliciţi

– care nu sunt specificaţi în fişierul de iniţializare pfile sau spfile, dar pentru care Oracle are o valoare default (implicită). Oracle are o valoare default pentru aproape toţi parametrii instanţei.

De ex: SORT_AREA_SIZE are valoarea implicită (dacă nu este specificată) de 512KB.

Parametrii Statici

– care sunt specificaţi în fişierul de iniţializare pfile sau spfile şi care nu mai pot fi schimbaţi în timpul funcţionării instanţei Oracle. Pentru specificarea unei noi valori este necesară salvarea modificărilot în fişierul de parametrii spfile sau pfile şi restartarea instanţei Oracle.

Ex. LOG_BUFFER este un parametru static.

Parametrii Dinamici

– care sunt specificaţi în fişierul de iniţializare pfile sau spfile şi care pot fi schimbaţi în timpul funcţionării instanţei Oracle. Pentru specificarea unei noi valori se folosesc comenzi de tipul ALTER SISTEM SET...

Ex. TIME_STATISTICS este un parametru dinamic

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 20 of 34

4.1.2. Modificare Parametrii

Fişier pfile init$SID.ora

� Se editează cu un editor de text

� Parametrii dinamici se pot modifica cu ALTER SYSTEM SET..

Fişier spfile spfile$SID.ora

� Parametrii dinamici se pot modifica cu ALTER SYSTEM SET..

� Parametrii statici se pot modifica cu comenzi de tipul ALTER SYSTEM SET parametru=valoare scope=SPFILE;

4.1.3. Vizualizare Parametrii

Din utilitarul SqlPlus, conectat cu utilizatorul SYS

show parameter spfile

Se poate vedea dacă instanţa a fost pornită cu un parametru pfile sau spfile.

Show parameter cache

Afişează toţi parametrii care au în componenţa numelui cuvântul “cache”.

Select * from v$parameter

4.1.4. Creare Fişier de Parametrii

Fişierul de tip pfile (init.ora) poate fi creat manual cu ajutorul unui editor de text.

Din utilitarul SqlPlus, conectat cu utilizatorul SYS, se poate crea un fişier spfile dintr-un fişier pfile sau invers.

create spfile from pfile;

create pfile=’/ora1/oracle/initPROD.ora’ from spfile;

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 21 of 34

4.2. PORNIRE ŞI OPRIRE INSTANŢA ORACLE

4.2.1. Pornirea Bazei de Date

Procesul de pornire a bazelor de date Oracle este în mai multe etape intermediare.

Startup NoMount

Startup Mount

Alter Database Mount

Startup

Alter Database Open

NoMount

– Este citit fişierul de iniţializare pfile sau spfile din locaţia implicită.

– Este pornită instanţa şi procesele de background.

– Nu sunt deschise alte fişiere din baza de date.

Mount

– sunt dechise fişierele de control şi sunt verificate.

– Se identifică structura pentru restul fişierelor.

Open

– sunt dechise şi restul fişierelor de date şi sunt verificate.

Bază Oprită

NoMount

Mount

Bază Deschisă

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 22 of 34

– Se deschide baza de date pentru utilizatori.

Dacă se constată că baza de date a fost închisă necorespunzător (bază inconsistentă) atunci procesul SMON realizează operaţia de Instance Recovery înainte de deschiderea bazei de date.

Pentru pornirea bazei de date cu alt fişier de iniţializare decât cel implicit se va utiliza comanda:

startup pfile=’D:\oracle\ora92\init.ora’

4.2.2. Oprirea Bazei de Date

Procesul de oprire a bazelor de date Oracle nu este este în etape intermediare.

Există mai multe moduri de oprire a bazei de date:

� Shutdown Normal Aşteaptă ca toţi utilizatorii să închidă conexiunile la baza de date. Alţi utilizatori nu se mai pot conecta. Opreşte baza de date cu checkpoint full (salvare completă) şi sincronizarea fişierelor.

� Shutdown Transactional Aşteaptă ca toţi utilizatorii să termine tranzacţiile curente. Alţi utilizatori nu se mai pot conecta. Opreşte baza de date cu checkpoint full (salvare completă) şi sincronizarea fişierelor.

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 23 of 34

� Shutdown immediate Opreşte tranzacţiile curente şi iniţiază Rollback pentru aceste tranzacţii. Alţi utilizatori nu se mai pot conecta. Opreşte baza de date cu checkpoint full (salvare completă) şi sincronizarea fişierelor.

� Shutdown Abort Opreşte instanţa Oracle şi procesele de background fără checkpoint şi sincronizarea fişierelor. Acestă opţiune este pentru cazuri speciale sau atunci când nici o altă opţiune de shutdown nu funcţionează un timp indelungat.

Shutdown Abort – echivalează cu oprirea intempestivă a sistemului. După repornirea instaţei este necesară recuperarea informaţiilor (Instance Recovery).

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 24 of 34

5. FIŞIERELE BAZEI DE DATE

5.1. FIŞIERE DE CONTROL

Fişierele de control sunt fişiere de dimensiune mică şi fixă în baza de date şi conţin informaţii de control.

Fişierele de control sunt foarte importante. Din acest motiv aceste fişiere se păstrază şi se actualizează multiplexat (mirror) pâna la 8 fişiere identice. Pierderea tuturor fişierelor de control poate duce la pierderea bazei de date.

Tiputi de informaţii:

- Numele bazei de date (SID)

- DBID – identificatorul bazei de date

- Timestamp creare bază de date.

- Locaţia şi dimensiunea tuturor celorlalte fişiere din baza de date.

- Numărul şi destinaţia fişierelor de archivare.

- SCN si TIMESTAMP pentru ultimul checkpoint (partial sau total).

- Altele

5.1.1. Operarea cu Fişiere de Control

Fişierele de control şi locaţia acestora este descrisă în fişierul de iniţializare pfile sau spfile. Instanţa citeste fişierul de iniţializare şi caută fişierele de control. În cazul în care la pornirea instanţei nu sunt toate fişierele de control, descrise în fişierul de iniţializare, sau fişierele de control nu sunt identice, Oracle raportează o eroare.

Dacă se pierde un fişier de control sau se doreşte adăugarea unui fişier de control suplimentar se pot face următoarele:

1) oprire bază de date – shutdown immediate

2) modificare fişier de iniţializare

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 25 of 34

3) copiere fişiere de control conform cu fişierul de iniţializare.

4) Pornire bază de date cu noile fişiere de control.

Observaţie: Fişierele de control mai vechi nu pot fi folosite pentru pornirea instanţei Oracle deoarece sunt desicronizate faţă de noile fişiere.

Informaţii despre fişierele de control pot fi obţinute din

Select * from v$controlfile;

5.2. FIŞIERE DE REDOLOG

Fişierele de RedoLog sunt folosite pentru salvarea modificărilor în baza de date Oracle cu scopul de refacere a instanţei în caz de incident.

Procesul LGWR scrie în aceste fişiere din memoria LOG_BUFFER (SGA). LGWR scrie în aceste fişiere în mod secvenţial. După ce termină de scris un fişier de RedoLog (sau un grup de fişiere aflate în mirror) trece la următorul grup.

Fiecare Grup conţine unul sau mai mulţi membrii ( fisiere) care sunt scrise în paralel. După ce se termină şi ultimul grup proesul LGWR rescrie primul grup în mod ciclic. Fiecare rescriere incrementează numărul de secvenţă redolog.

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 26 of 34

Este necesar să existe un număr de minim 2 grupuri pentru ca instanţa să funcţioneze corespunzător.

Informaţii despre situaţia fişierelor de RedoLog, precum şi despre numărul curent al secvenţei de RedoLog se poate obţine din:

Select * from v$log;

Select * from v$logfile;

5.2.1. Operarea cu Fişiere de RedoLog

Operarea cu Fişiere de Redolog implică:

� Adăugarea sau Stergerea unui nou grup.

� Adăugarea sau Stergerea unui membru la un grup.

Aceste operaţii se pot face cu comenzi SQL sau din Enterprise Manager Console -> Storage -> RedoLog.

Exemple de comenzi SQL:

Alter database add logfile group 4(‘/… /..’,’/…/.’) size 100M;

Alter database add logfile member ‘……’ to group 2;

Alter database drop logfile group 4;

Alter database drop logfile member ‘/../….’

Administratorul poate forţa un log switch printr-o comandă

Alter system switch logfile

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 27 of 34

5.3. ARHIVARE BAZA DE DATE

Arhivarea bazei de date Oracle are scopul salvării fişierelor RedoLog, în altă locaţie, cu scopul de a asigura recuperarea (recovery) bazei de date şi evitarea pierderii de informaţii în cazul unui incident.

Arhivare manuală – realizată de către administrator cu comenzi SQL

Arhivare automată – realizată automat cu procese Oracle ARC.

Pentru arhivarea automată este necesară configurarea instanţei Oracle.

Procedură de comutare a bazei de date în mod ARCHIVELOG.

1) se opreşte baza de date – shutdown immediate

2) se pregăteşte instanţa Oracle prin editarea parametriilor in fişierul de iniţializare:

LOG_ARCHIVE_START=TRUE

LOG_ARCHIVE_MAX_PROCESSES=2 sau mai multe

LOG_ARCHIVE_DEST=’D:\oracle\arc’ directorul unde se salveaza arhivele

LOG_ARCHIVE_FORMAT=PROD_%s.arc

3) se porneşte instanţa în modul mount – startup mount

4) se lansează comanda ALTER DATABASE ARCHIVELOG

5) se deschide baza de date – ALTER DATABASE OPEN

6) se verifică – ARCHIVE LOG LIST

7) ALTER SYSTEM SWITCH LOGFILE – dacă se generează fişiere de arhivă

După trecerea bazei de date în mod arhivare se va face un backup fizic al bazei de date Oracle.

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 28 of 34

5.4. FIŞIERE DE DATE

Fişierele de date au o structură compexă

Segmente care sunt asociate unor obiecte din baza de date ( ex. Tabelă).

Un segment este format din mai multe extenturi.

Un extent este o succesiune continuă de blocuri de date Oracle.

Un block de date este unitatea minimă de alocare în fişiere şi de operare.

Operarea din punct de vedere logic SQL se bazează pe obiecte. Aceste obiecte sunt grupate pe scheme. O schemă are acelaşi nume cu numele utilizatorului.

User Oracle

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 29 of 34

Din punct de vedere fizic obiectele se află în tablespaceuri Oracle. Fiecare tablespace este format din unul sau mai multe fişiere la nivelul sistemului de operare.

5.4.1. Managementul Spaţiului

Managementul spaţiului înseamnă managementul pentru alocarea şi stergerea extenturilor şi segmentelor în interiorul tablespaceurilor.

Alocarea spaţiului în interiorul tablespaceurilor se poate face în două moduri:

� Dictionary – folosind dicţionarul bazei de date

� Local – folosind mape de biţi la nivelul fişierelor de date.

Modul de gestiune a spaţiului bazat pe dicţionar este modul tradiţional de lucru pentru versiunile mai vechi ale lui Oracle server 6 , 7 şi 8. La versiunile 9 si 10 s-a introdus varianta de management local.

Dacă tablespaceul SYSTEM este cu local management atunci toate celelelate tablespaceuri trebuie să fie local management.

Extent Management Local:

- Autoallocate – Oracle decide cum se vor aloca extenturile şi care va fi mărimea lor.

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 30 of 34

- Uniform size – Toate extenturile vor avea aceiaşi mărime specificată.

5.4.2. Operarea cu Fişiere de Date

Operarea cu tablespaceuri poate fi făcută prin comenzi SQL sau folosind Enterprise Manager Console.

5.4.2.1 Creare Tablespace

Create tablespace ARDE

Datafile ‘/…/…data01.dbf’ size 50M,

Datafile ‘/../…data02.dbf’ size 50M autoextend on next 50M maxsize 1024M

Extent Management Local Autoallocate

Logging/Nologging

5.4.2.2 Stergere Tablespace

Drop tablespace ARDE [cascade constraints]

5.4.2.3 Adăugare Fişier

Alter tablespace ARDE add databafile ‘/../…data03.dbf’ size 50M

5.4.3. Mutare Bază de date

Baza de date poate fi mutată pe alte diskuri prin comenzi SQL.

� Mutare bază de date cu instanţa oprită. Acestă opţiune este obligatorie pentru mutarea tablespaceurilor SYSTEM si UNDO, care nu pot fi trecute în starea OFFLINE.

� Mutare fişiere cu baza de date pornită (open). În acest caz tablespaceul ce urmează să fie multat este trecut în starea OFFLINE.

Procedură mutare fişiere cu baza de date oprită. Această procedură nu este periculoasă dacă nu se pier fişiere.

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 31 of 34

1) oprire baza de date – shutdown immediate

2) copiere sau mutare fişiere ale bazei de date la nivelul sistemului de operare

3) startup mount – pornire bază de date în starea mount.

4) Comenzi sql: alter database rename file ‘…’ to ‘….’;

5) Alter database open – deschiderea bazei de date

Procedură mutare fişiere cu baza de date pornită (open). Tablespaceul care conţine aceste fişiere nu va fi disponibil. Celelalte aplicaţii vor funcţiona corespunzător.

1) Alter tablespace ARDE offline normal – trecere tablespace offline cu salvarea datelor din acel tablespace.

2) copiere sau mutare fişiere ale bazei de date la nivelul sistemului de operare.

3) Alter tablespace ARDE online.

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 32 of 34

6. BACKUP ŞI RECOVERY

6.1. PROBLEME ŞI INCIDENTE

Tipuri de erori :

� Eroare de Instanta

Exemplu : o eroare de instanta poate rezulta dintr-o problema hardware cum ar fi caderea de tensiune sau dintr-o problema software cum ar fi un crash de sistem de operare => datele din buffer-ele ariei globale sistem nu sunt inscrise in fisierele de date

Refacerea instantei se realizeaza automat de Oracle cand instanta este restartata

� Eroare utilizator

Exemplu : un utilizator poate sterge accidental o tabela

= > baza de date poate fi restaurata la momentul de timp dinainte de stergerea tabelei

� Eroare de procesare si de instructiune

Exemplu: instructiunea nu este o constructie valida SQL => efectele (daca exista) instructiunii sunt automat anihilate de Oracle, care reda controlul utilizatorului

Exemplu : o deconectare anormala sau terminare anomala de proces

� Eroare de disc

Exemplu : este o problema fizica in citirea sau scrierea fisierelor fizice pe disc => pentru o restaurare completa dupa o eroare de disc, sunt necesare: salvarile fisirelor de date si toate fisierele redo log online si arhivate

6.2. STRUCTURI UTILIZATE PENTRU RESTAURARE

� Redo Log (online si arhivat)

� Fisierele de control

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 33 of 34

� Segmentele de rollback sau UNDO tablespace

� Salvarile bazei de date

6.3. MODURI DE BACKUP

Backupuri le sunt de mai multe feluri:

Backup Logic de tip EXPORT

� Se salvează obiectele din baza de date din punct de vedere logic

� Salvarea poate fi transportată pe o altă bază de date

Exemplu: exp szstem/sys@PROD owner=CW4ORA file=cw4ora.dmp

Salvează toate obiectele utilizatorului CW4ORA (schema).

Backup Fizic

Se salvează fişierele bazei de date.

Backup fizic utilizator – folosind comenzi de copiere la nivelul sistemului de operare.

Backup fizic Oracle – folosind RMAN (Recovery Manager) se copiază fizic blocurile bazei de date.

Backup fizic

� consistent – cu baza de date oprită

� inconsistent – cu baza de date pornită (open). Acestă salvare este posibilă doar în cazul când baza de date este în mod arhivare.

RMAN

Connect target sys/sys@prod

Backup database;

exit

DBA Oracle

Introducere Oracle Server 9i Versiune: 1.0 Page 34 of 34

6.4. MODURI DE RESTAURARE

Restaurarea bazei de date în caz de incident:

Restaurare logică

� se crează o bază de date nouă cu DBCA şi se importă datele cu utilitarul import

Restaurare fizică

Cu ajutorul RMAN

RMAN

Connect target sys/sys@prod

RUN

{

restore database

}