Oracle Database
Oracle Database | |
---|---|
Jatorria | |
Azken bertsioa | 23ai |
Ezaugarriak | |
Programazio-lengoaia | Java (mul) , C eta C++ |
Sistema eragilea | Oracle Trace Metadata (en) |
Irakur dezake | Plataforma-anitz |
Idatz dezake | Oracle Trace Metadata (en) |
Lizentzia | end-user license agreement (en) |
Ekoizpena | |
Garatzailea | Oracle Corporation |
oracle.com… | |
Oracle Database (normalean Oracle DBMS edo Oracle deitua) software tresneri multzoa da, Oracle Corporationek garatutako datu-baseak kudeatzeko sistema. Grid arkitektura berrian oinarrituta dago. Arkitektura berri honek zerbitzarien aniztasuna eta biltegiratzearen errekurtsoak eta prozesamendua lotzen ditu modu eraginkor batean.
Oracle Grid Computing hiru elementu dira:
1. Oracle Database 10g: Datu baseen ardatz-eragilea da. Beharrezkoak diren trenak dauzka funtzio ezberdinak lortzeko: informazioaren biltegiratzea antolatu, aurkezten diren zerbitzuen artean arreta handiagoa eduki,...eta abar. Era eraginkorrean antolatzen du informazioa, korreo elektronikoa, dokumentuak, multimedia fitxategiak eta XML.
2. Oracle Application Server 10g: Oracle-k daukan aplikazioen zerbitzaria. Zerbitzuen multzo bat da, ahalbidetzen du web-nabigatzaileari aldi berean parte hartzea datu-baseekin.
3. Oracle Enterprise Manager 10g: Ahalbidetzen dio datu-base kudeatzaileari bere eginkizunak. Web-nabigatzailea erabilita sartzen da: http://host_izena:5500/em[Betiko hautsitako esteka]. Ondoren, agertuko da orri bat erabiltzaile izena, pasahitza eta rolak eskatzen.
Datu basea kudeatzen duenari, Data Base Administrator (DBA) deritzogu, edo Datu-Base Kudeatzailea. Bere eginkizunak: Oracle instalatzea, datu-basea diseinatzea, sortzea, abiatzea, gelditzea, erabiltzaileak sortzea, lehentasunak ezartzea, segurtasun kopiak egitea eta datu basea berreskuratzea dira.
Oracle Arkitektura
[aldatu | aldatu iturburu kodea]Datu-base bat ez da bakarrik bere datu-fisikoak, baita ere objektu-fisikoak, memoriakoan eta prozesukoak diren datuen konbinazioak ezagutu behar du.
Datu-Basearen Osagaiak
[aldatu | aldatu iturburu kodea]Oracle datu-base baten osagaiak dira: Datuen fitxategiak (database files), Transakzio fitxategiak (log files) eta Kontrol fitxategiak (control files).
Datuen fitxategiak
[aldatu | aldatu iturburu kodea]Adibidea:
SQL> SELECT SEGMENT_NAME, OWNER, TABLESPACE_NAME FROM DBA_ROLLBACK_SEGS;
Transakzio fitxategiak
[aldatu | aldatu iturburu kodea]Kontrol fitxategiak
[aldatu | aldatu iturburu kodea]Memoriaren Egitura
[aldatu | aldatu iturburu kodea]Erabiltzailearen (client) eta zerbitzariaren (server) prozesuak haien artean komunikatzeko erabiltzen dira memoria egiturak. Oracle-k bi memoria-egiturak erabiltzen ditu: SGA (System Glbal Area) eta PGA (Program Global Area).
System Global Area, SGA
[aldatu | aldatu iturburu kodea]Program Global Area, PGA
[aldatu | aldatu iturburu kodea]Background Prozesuak
[aldatu | aldatu iturburu kodea]Datu basearen egitura fisikoak eta memoria egiturak mantentzen eta aplikatzen dira background prozesu batzuk erabiliz. Prozesuen zenbakia aldakorra da eta datu basearen konfiguratzearen menpe dago. Datu-base berak kudeatzen ditu prozesu hauek. Zerbitzari prozesu multzo bat dago, datu-baseari funtzionatzen laguntzen diona: hauek background prozesuak dira.
Background prozesuak hurrengoak dira:
DBWR prozesua (DataBase WRiter):
[aldatu | aldatu iturburu kodea]SGAko datuen bufferra kudeatzeko erabiltzen den prozesua da. idazketa diferitua egiten duen prozesua da. Redolog-en fitxategiak irauliko ditu DB-aren gainean beteta daudenean, eta lehenen aldarazitako blokeak grabatuko ditu SGAren datu-buffer-etik, baldin eta beste datu batzuk prozesatzeko bloke libreak behar baditu. DB-aren gainean idazten duen prozesu bakarra da.
CKPT prozesuak (CheckPoint):
[aldatu | aldatu iturburu kodea]Modu bat da datu-basearen bufferra sinkronizatzeko datuen fitxategiekin. Chekpoint-a gertatzen da era automatikoan RedoLog erregistro moduko fitxategi bat betetzen denean eta instantzia bat ixtean (SHUTDOWN) .
LGWR prozesuak (LogWriter):
[aldatu | aldatu iturburu kodea]Redolog-buffer-ean erregistratzen diren aldaketak grabatuko ditu redolog-fitxategien gainean.
SMON prozesuak (System MONitor):
[aldatu | aldatu iturburu kodea]SMON prozesuak (sistemaren monitorea), SELECT-en bat gauzatzeko beharrezkoak diren kalkulu konplexuen emaitza izanik, baliorik ez duten datuak desagerrarazi egingo ditu, eta espazioa askatu egingo du. Gainera, instantzia berreskuratzeari ekingo dio datu basea abaian jartzean, eta tablespace-etan aldamenean dauden tarte hutsak trinkotuko ditu. PMON-en bezala, prozesu hau “itzarri” egiten da aldian behin, esku hartu behar ote duen egiaztatzeko.
PMON prozesuak (Process MONitor):
[aldatu | aldatu iturburu kodea]PMON prozesuak (prozesuen monitorea) era anormalean bukatu diren konexioek blokeatuta dauzkaten baliabideak askatuko ditu.
ARCH prozesuak (ARCHiver):
[aldatu | aldatu iturburu kodea]RedoLog-en kopiak egiten ditu akatsen bat izanez gero datuak berreskuratu ahal izateko eta aukerakoa da.
RECO prozesuak (RECOverer):
[aldatu | aldatu iturburu kodea]LCKn, Pnnn eta SNPn prozesuei aukera jakin batzuk erabiltzen direnean baino ez zaie eragingo. Adibidez, aukera banatua (RECO), parallel server (LKCn), parallel query (Pnnn) eta erreplika aukera (SNPn) erabiltzen direnean.
Errendimenduaren ikuspegi dinamikoak
[aldatu | aldatu iturburu kodea]Kontrol fitxategien informazioa biltzen dute. Diskoaren eta memoriaren egituran datuak ematen dizkigute eta errendimenduarekin erlazionatuta daude. Bakarrik DBA (Datu basearen administratzailea) dauzka baimenak fitxategien informazioak ikusteko.
Zer da oracle instantzia?
[aldatu | aldatu iturburu kodea]Memoriaren egitura eta background-eko prozesu multzo bat da, datu basea kudeatzeko erabiltzen dena.
Biltegiratze-egiturak
[aldatu | aldatu iturburu kodea]Datu basearen datu guztiak maila logikoko tablespace-etan daude biltegiratuta.Tablespace bat maila fisikoan fitxategi bat edo gehiagotan biltegiratu daiteke.
Segmentuak: Datu-base batean objektuan okupatzen duten lekuak (spaces) dira. Objektu sortzerakoan, adibidez, taula bat, automatikoki sortzen eta esleitzen zaio segmentu bat gutxienez.
Luzapenak: Segidan dauden Oracle sententziak dira. Tablespace bat sortzerakoan, dagokion datu-.fitxategia goiburuko bloke bat edukiko du eta gainera luzapena aske bat soberan geratzen den fitxategiarekin osatuta.
Oracle Blokeak: irteera/sarrerako gutxienezko unitateak dira. Sistema eragileen bloke bat edo gehiagoz osatuta daude. Oracle blokea definitzen da datu basea sortzerakoan, honako parametroan, DB_BLOCK_SIZE.
Segmentuak
[aldatu | aldatu iturburu kodea]Ikusi dugunez, objektu bat sortzerakoan segmentu bat sortzen da. Segmentuak tablespace barruan biltzen dira. Esan dezakegu segmentu bat tablespace baten fitxategi ezberdinetan egon dezakeen Oracle-bloke bat dela. Segmentu bat ezabatzean, okupatuta zegoen espazioa tablespace-ra itzultzen da. Segmentu bakoitzak honako parametroak dauzka: INITIAL, NEZT, MINEXTENTS, MAXEXTENTS, PCTINCREASE, PCTFREE, PCTUSED, TABLESPACE.
Biltegiratze egiturak ikusteko hurrengo ikuspegiak erabiltzen dira:
SQL> SELECT SEGMENT_NAME, TABLESPACE_NAME, EXTENTS, BLOCKS FROM DBA_SEGMENTS WHERE OWNER=’SCOTT’ ;
SQL> SELECT TABLESPACE_NAME, BLOCKS, BYTES FROM DBA_EXTENTS WHERE OWNER=’OWNER’ AND SEGMENT_NAME=’EMP’;
Segmentu motak
[aldatu | aldatu iturburu kodea]CREATE [PUBLIC] ROLLBACK SEGMENT segmentu_izena_rb TABLESPACE izena_tablespace STORAGE ( INITIAL tamaina [K|M] NEXT tamaina [K|M] OPTIMAL tamaina [K|M] MINEXTENTS luz_kopurua MAXEXTENTS luz_kopurua | UNLIMITED);
Segurtasun kudeaketa
[aldatu | aldatu iturburu kodea]Segurtasuna bi mailatan banatu dezakegu: datuen segurtasuna eta sistemaren segurtasuna:
Erabiltzaileak
[aldatu | aldatu iturburu kodea]Erabiltzailea, datu basean definitutako izen bat da. Izen horren bitartez datu basera konektatu daiteke eta objektu desberdinetara sar daiteke administratzaileak eman dizkion baimenak kontutan hartuz. Eskema batzuk daude erabiltzaile bakoitzari lotuta. Eskema hauek objektuen bilduma logikoak dira.
Erabiltzaileak sortu
[aldatu | aldatu iturburu kodea]Instalazioa egiten denean badaude sistematikoki sortzen diren bi erabiltzaile, hauek SYS eta SYSTEM erabiltzaileak dira. Bia erabiltzaile hauek administratzaile baimenak dauzkate eta nahi dutena egin dezakete datu basearen kudeaketan. Erabiltzaile berriak sortzeko hurrengo agindua erabiltzen dugu; CREATE USER, ondorengoa da SQL kodea:
CREATE USER erabiltzailearen_izena IDENTIFIED BY sarrera-kodea DEFAULT TABLESPACE taula_espazioa TEMPORARY TABLESPACE taula_Espazioa QUOTA taulei_atxikitako_espazioa (MB kopurua) PROFILE erabiltzailearen_profila
Jakiteko erabiltzaileen zerrenda, bi modutara egin dezakegu hurrengo aginduak erabiliz: USER_USERS orainaldiko_erabiltzailea eta ALL_USERS sortutako_erabiltzaile_guztiak.
Erabiltzaileak birmoldatu
[aldatu | aldatu iturburu kodea]Erabiltzaileak behin sortuta daudela moldatu daitezke hurrengo agindua erabiliz: ALTER USER. Aldaketak egitean erabiltzaile bakoitzak bere kodea baino ezin dezake aldatu, beste aldaketaren bat egiteko baimen bereziak eduki behar ditu.
Erabiltzaileak ezabatu
[aldatu | aldatu iturburu kodea]Erabiltzaileak ezabatu daitezke eta baita menpean dituzten objektu guztiak ere, DROP USER agindua erabiltzen dugu.
SQL> DROP USER erabiltzailearen_izena [CASCADE];
[CASCADE] agindua erabiltzaileak menpean dituen objektuak ezabatzeko erabiltzen da.
Lehentasunak
[aldatu | aldatu iturburu kodea]Datu base batean erabiltzaileak eragiketa zehatzak egiteko dituen ahalmenak dira. Erabiltzaileka sortzen direnean beharrezkoa da lehentasunak ematea eragiketa desberdinak egin ahal izateko. Oraclek rol edo funtzio ezberdinak eskaintzen ditu eta horietako hiru garapen inguruari aplikatuta daude. Rolak lehentasun multzo ezberdinak osatzen dute.
Funtzioak (rol) | Lehentasunak |
---|---|
CONNECT | ALTER SESION, CREATE CLUSTER, CREAT DATABASE LINK, CREATE SECUENCE, CREATE SESSION, CREATE SYNONYM, CREATE TABLE eta CREATE VIEW |
RESOURCE | CREATE CLUSTER, CREATE INDEXTYPE, CREATE OPERATOR, CREATE PROCEDURE, CREATE TABLE, CREATE SEQUENCE, CREATE TRIGGER eta CREATE TYPE. |
DBA | Sistemaren lehentasunak dauzka. |
Bi lehentasun mota desberdin daude: objektuekiko lehentasunak eta sistemarekiko lehentasunak.
- 1- Objektuekiko lehentasunak:
Beste erabiltzaileen objektuekiko aldaketak egiten baimena ematen digute. Adib: beste erabiltzaile baten taula begiratzeari deitzen diogu objektuekiko lehentasuna. GRANT agindua erabiltzen dugu objektuekiko lehentasuna emateko. GRANT aginduarekin INSERT; UPDATE edo REFERENCES lehentasunak eman daitezke.
- 2- Sistemarekiko lehentasunak:
SQL aginduak exekutatzeko beharrezkoak diren lehentasunak dira, hauek ekintza desberdinak egiteko beharrezkoak dira.
Lehentasunak kendu
[aldatu | aldatu iturburu kodea]SQL REVOKE aginduarekin lehentasunak kendu ditzakegu, formatua hurrengoa da:
REVOKE {priv_objeto [,priv_objeto] ...|ALL [PRIVILEGES]} ON [usuario.] objeto FROM {usuario | rol | PUBLIC} [,{usuario | rol | PUBLIC}]...;
Rolak
[aldatu | aldatu iturburu kodea]Rolak lehentasun kopuru bat dira. CREATE ROL aginduarekin sortzen dira rolak
Rolei baimenak eman
[aldatu | aldatu iturburu kodea]Rolak sortuak ditugunean baimenak eman behar dizkiogu, GRANT aginduarekin egiten dugu. Erabiltzaile bati baimenak emateko hurrengo agindua idatziko dugu: GRANT ACCESO TO “erabiltzailearen izena ” .
Rolen baimenen limiteak
[aldatu | aldatu iturburu kodea]Rolak egiten direnean askotan ez dira baimen guztiak ematen, orduan limite horiek gauza asko egitera murrizten gaitu.
Rolei baimenak kentzea
[aldatu | aldatu iturburu kodea]Rolak sortzerakoan baimenak ematen dira, baimen hauek kentzea posiblea da eta hurrengo agindu hau erabiltzen da: REVOKE.
Rolak kentzea
[aldatu | aldatu iturburu kodea]Rolak ere kendu daitezke eta honetarako DROP ROLE ”rolaren izena” agindua erabiltzen dugu.
Rolen informazioa datuen hiztegietan
[aldatu | aldatu iturburu kodea]Hurrengo ikuspegiak erabili ditzakegu rolei emandako baimenak zeintzuk diren ikusi ahal izateko: ROLE_SYS_PRIVS, ROLE_TAB_PRIVS, ROLE_ROLE_PRIVS, SESSION_ROLES, USER_ROLE_PRIVS.
Profilak
[aldatu | aldatu iturburu kodea]Datu basearen errekurtsoen limiteen multzoak dira profilak. Profilak sortzen ez baditugu lehenetsitako profilak erabiltzen ditugu. Profilak sortzeko hurrengo agindua erabiliko dugu: CREATE PROFILE.
Profilak erabili ahal izateko administratzaileak hurrengo agindua exekutatu behar du: ALTER SYSTEM SET RESOURCE_LIMIT=TRUE; (FLASE izango balitz profilen erabilpena bertan behera gelditu litzateke).
Agindu desberdinak erabil ditzakegu profilen informazioa ezagutu ahal izateko. Profilen limiteei buruz informazioa jakiteko DBA_PROFILES agindua erabiliko dugu. Profilak ezabatzeko hurrengo agindua erabiliko dugu: DROP PROFILE “profilaren_izena”.
Tablespace-ren Kudeaketa
[aldatu | aldatu iturburu kodea]Tablespace bat biltegiratzeko unitate logiko bat da, maila fisikoan diskoaren fitxategi bat edo gehiago dira. Gomendagarria da ez nahastea aplikazio ezberdineko datuak tablespace berean. Oracle instalatzean hurrengo tablespace-ak sortzen dira: SYSTEM, USERS, TEMP edo UNDOTBS1.
Tablespacearen sorrera:
[aldatu | aldatu iturburu kodea]Tablespace bat sortzeko CREATE TABLESPACE agindua erabiltzen da. Agindu honek ahalbidetzen du taulen espaziora fitxategi bat edo gehiago esleitzea eta baliorik gabeko espazioa (space) ezartzea.
CREATE [UNDO] TABLESAPCE tablespace_izena
DATAFILE ‘fitxategiizena’ [SIZE osoa [K|M] [REUSE]
[AUTOEXTEND {OFF|ON klausulak}] [, ‘‘fitxategiizena’ [SIZE osoa [K|M] [REUSE]
[AUTOEXTEND {OFF|ON klausulak}] ] . . . [DEFAULT STORAGE (INITIAL tamaina NEXT tamaina MINEXTENTS tamaina MAXEXTENTS tamaina PCTINCREASE balioa ) ] [ONLINE | OFFLINE] [PERMANENT | TEMPORARY] [EXTENT MANAGEMENT {DECTIONARY | LOCAL {AUTOALLOCATE | UNIFORM [SIZE tamaina[K|M]}}];
Atalen azalpena:
1.UNDO : “aldaketak desegin” motako tablespace bat sortzen dela ezartzen du, hau da, Rollback bat. Ez badago ‘desegin’ motako tablespace bat, UNDO aukerarekin sortuko da bat eta Oracle-k automatikoki esleitzen dio instantzia “desegin” tablespacez moduan.
2.DATAFILE: tablespace-a osatzen duen edo duten fitxategia edo fitxategiak zehaztuko ditu.
3.SIZE: tablespace-ren tamaina adierazten duen zenbaki osoa da. Kilobytetan edo Megabytetan agertu daiteke. K ipiniz 1.024 bider zenbaki osoaz biderkatzen da, M ipiniz 1.048.576 bider zenbaki osoaz biderkatzen da.
4.REUSE: fitxategia existitzen bada berrerabiltzen du, existitzen ez da sortuko du.
5.DEFAULT STORAGE: tablespace-an sortzen diren objektu guztien lehenespenezko parametroak zehaztuko ditu.
6.INITIAL: lehenengo luzapenaren tamaina (bytetan) definituko du.
7.NEXT: bigarren luzapenaren tamainari dagokio. Objektuari esleituko den hurrengo luzapenaren gutxieneko tamaina ezartzen du.
8.MINEXTENTS: segmentua sortzen denean esleitzen den luzapen-kopurua da. Gutxienekoa eta lehenespenezkoa 1 izango da.
9.MAXEXTENTS: segmentu batek gehienez eduki ditzakeen luzapenen kopurua. Gutxienekoa izango da eta lehenespenezko gehienezkoa, berriz, datuen blokearen tamainaren araberakoa izango da.
10.PCTINCREASE: Luzapenaren tamainak haztean erabiliko duen ehunekoa. Gainerako luzapenen tamaina (3, 4.a...) ondorengo formula hau erabilita kalkulatuko dugu:
NEXT = NEXT + (PCTINCREASE*NEXT)/100
11.ONLINE: beraren eraginez, tablespace-a, sortu eta berehala, erabilgarri egongo da.
12.OFFLINE: beraren eraginez, tablespace-a, sortu eta berehala, ez da erabilgarri egongo.
13.PERMANENT: tablespace-a objektu iraunkorrak gordetzeko erabil daitekeela zehaztuko du.
14.TEMPORARY: tablespace-a aldi baterako objektuak gordetzeko baino ez dela erabiliko zehaztuko du.
15. AUTOEXTEND: Tablespace-tan dauden datu-fitxategien hazkuntza automatikoa aktibatu edo desaktibatzeko. Tablespace bat betetzen bada, aukera hau erabil dezakegu fitxategiaren tamaina hazteko. Desaktibatzeko AUTOEXTEND OFF erabiltzen da. Aktibatzeko honako formatua erabiltzen da:
AUTOEXTEND ON NEXT osoa {K|M} MAXSIZE { UNLIMITED | osoa {K|M} }
- NEXT osoa: emandako diskoan fitxategiarentzat alokatuko den espazioaren (space) hazkuntza da, Kilobytetan edo Megabytetan ematen da.
- MAXSIZE : Fitxategiaren luzapenera diskoan alokatzen den espazio maximoa da.
- UNLIMITED: Alokatutako diskoan ez dagoela espazio (space) limiterik.
- EXTENT MANGEMENT: Tablespace-ak daukan luzapenen kudeaketa ezartzen du.
Aldi-baterako Tablespace-ak
[aldatu | aldatu iturburu kodea]Nahiz eta Aldi-baterako Tablespace-aren sorkuntza CREATE TABLESPACE aginduarekin egin daiteke, gomendagarria da hurrengo komandoa erabiltzea:
CREATE TEMPORARY TABLESAPCE tablespace_izena TEMPFILE ‘fitxategiizena’ [SIZE osoa [K|M] [REUSE] [AUTOEXTEND {OFF|ON klausulak}] [, ‘‘fitxategiizena’ [SIZE osoa [K|M] [REUSE] [AUTOEXTEND {OFF|ON klausulak}] ] . . . [MAXSIZE { UNLIMITED | osoa { K | M } } ] [EXTENT MANAGEMENT LOCAL UNIFORM [SIZE osoa { K | M } ]];
TEMPFILE fitxategia ez da beharrezkoa DB_CREATE_FILE_DEST parametroa definituta badago. Parametro honetan Oracle-k 100 MBko aldi-baterako fitxategia sortzen du.
SIZE motako luzapenak SORT_AREA_SIZE parametroaren multiploak izango dira. Aldi-baterako segmentua ezarritako tamainaren blokeak jasango ditu.
Adibidez:
CREATE TEMPORARY TABLESPACE TEMPEJER TEMPFILE ‘ C:\ORACLE\ PRODUCT\10.1.0\ORADATA\ORCL\TEMP_EJERCCI.DBF ’ SIZE 10M;
Tablespaceri buruzko informazioa duten Ikuspegiak (view)
[aldatu | aldatu iturburu kodea]Tablespaceei buruzko informazio lortzeko ikuspegi ezberdinak daude:
- DBA_DATA_FILES: Tablespaceak erabilitako fitxategien buruzko informazioa erakusten du. Espazioa bytetan definituta dago. Eduki dezakeen tamaina maximoa MAXBYTES izango da. Kontsulta egiteko SYS ematen dituen lehentasunak behar dira.
- USER_FREE_SPACE: Erabiltzaileak erabili dezakeen luzapen askeak erakusten ditu. Ez dira ondoz-ondoko blokeetan egon behar. Ikuspegi honetako zutabeak izango dira:
- FILE_ID: Fitxategiaren identifikazio zenbakia
- BYTES: Aske dauden byte kopurua
- BLOCK_ID: Lehenengo bloke askearen identifikazioa
- BLOCKS: Bloke askeen kopurua.
- RELATIVE_FNO: Lehengo bloke luzapenaren fitxategiak daukan zenbaki erlatiboa.
- FILE_ID: Fitxategiaren identifikazio zenbakia
- DBA_FREE_SPACE: Tablespace guztietan aske dauden luzapenak erakusten ditu.
- DBA_TABLESPACES: Tablespace guztien deskribapenak erakusten ditu. Hurrengo agindua erabiltzen da:
SQL> SELECT TABLESPACE_NAME, CONTENTS FROM DBA_TABLESPACES;
- DBA_TS_QUOTAS: Tablespace bakoitzean erabiltze bakoitzak erabilitako byte kopuruak erakusten ditu. Kontsulta egiteko SYS ematen dituen lehentasunak behar dira. Ikuspegiaren zutabeak honakoak dira: BYTES, MAX_BYTES, BLOCKS, MAX_BLOCKS.
Tablespaceen aldaketak:
[aldatu | aldatu iturburu kodea]Tablespaceak behin sortuak, aldatu ahal dira. Aldaketa hau egiteko ALTER TABLESPACE agindua erabiltzen da. Aginduaren formatua hurrengoa da:
ALTER TABLESPACE tablespace_izena { [ADD DATAFILE ‘fitxategi_izena’ [SIZE osoa [K|M] ] [ REUSE ] [ AUTOEXTEND ON .. | OFF ] [, ‘‘fitxategiizena’ [SIZE osoa [K|M] [REUSE] [ AUTOEXTEND ON . . | OFF ] ] . .] [ RENAME DATAFILE ‘fitxategia’ [ , ‘fitxategia’ ] . . . TO ‘fitxategia’ [ , ‘fitxategia’ ] ] [DEFAULT STORAGE biltegiratze_klausulak ] [ONLINE | OFFLINE] };
Atalen azalpena:
- tablespace_izena: aldatu nahi dugun tablespace izena da.
- ADD_DATAFILE: Gehitzen dizkio tablespace-ri fitxategi bat edo gehiago.
- RENAME DATAFILE: Tablespace-ean existitzen den fitxategi baten izena aldatzen du. Aldaketa hau sistema eragilerik egiten da. Beraz, tablespacea desaktibatuta (offline) egon behar da.
- DEFAULT DATAFILE: Tablespace batean sortzen diren elementuen lehenetsiko balioak dira.
- ONLINE: Taulak aktibatzen ditu.
- OFFLINE: Taulak desaktibatzen ditu.
Tablespaceak Ezabatu:
[aldatu | aldatu iturburu kodea]Erabiltzen ez dugun tablespace bat ezabatzeko DROP TABLESPACE agindua erabiltzen dugu. Aginduaren formatua hurrengoa da:
DROP TABLESPACE tablespace_izena [INCLUDING CONTENTS [AND DATAFILES] [CASCADE CONSTRAINTS] ];
Atalen azalpena:
- tablespace_izena: ezabatuko den tablespace izena da.
- INCLUDING CONTENTS aukerak ahalbidetzen du datuak dauzkaten tablespaceak ezabatu. Aukera hau ez balego, hutsik dauden tablespaceak bakarrik ezabatuko lirateke.
- ADD DATAFILES: erlaziorik daukaten fitxategiak ezabatzen ditu.
- CASCADE CONSTRAINT: Tablespacearekin erlazionatuak dauden murrizketak ezabatzeko.
Adibidea:
DROP TABLESPACE txikia INCLUDING CONTENTS AND DATAFILES;
Gomendagarria da tablespacea OFFLINE moduan ipintzea ezabatu baino lehen.
Biltegiratze parametroak:
[aldatu | aldatu iturburu kodea]Biltegiratzeko parametroa DEFAULT STORAGE da normalean, hala ere, ‘eskuz’ definitu ditzakegu behar ditugun biltegiratze parametroak. CREATE TABLE agindua hurrengoa izango da:
CREATE TABLE taularen_izena ( Zutabe1 Datu_mota [NOT NULL], Zutabe2 Datu_mota [NOT NULL], [taularen murrizketak]...................... ) STORAGE ( INITIAL tamaina NEXT tamaina MINEXTENTS tamaina MAXEXTENTS tamaina PCTINCREASE balioa ) [ TABLESPACE tablespacearen izena];
Tablespace baten deskonexioa :
[aldatu | aldatu iturburu kodea]Datu basea irekita badago edozein tablespace deskonektatu ahal da, SYSTEM, Rollback edo aldi baterako segmentuak dauzkaten tablespaceak izan ezik. Erabiltzaile bat, deskonektatuta dagoen tablespace batera sartzen saiatzen bada erroreko mezu bat agertuko da. Tablespace baten deskonexioa egiteko hurrengo agindua erabiltzen da:
ALTER TABLESPACE tablespace_izena { ONLINE | OFFLINE [NORMAL | TEMPORARY | IMMEDIATE ] };
- OFFILE: Tablespacea desaktibatzen du eta bere segmentuei sarrera debekatzen du.
- NORMAL: Tablespacearen fitxategien SGA garbitzen du.
- TEMPORARY: Oraclek checkpoint bat exekutatzen du.
- IMMEDIATE: Ez du checkpoint bat exekutatzen.
Beste Objektuak
[aldatu | aldatu iturburu kodea]Sekuentziak:
[aldatu | aldatu iturburu kodea]Sekuentzia bat Datu-Basearen objektu bat da, bere funtzioa zenbaki osoa bakarrak (unique) sortzea da.Erabilgarria da klabe primarioen balioak sortzeko. Aginduaren formatua hurrengoa da:
CREATE SEQUENCE sekuentziaren_izena [INCREMENT BY osoa] [START WITH osoa] [MAXVALUE osoa |NOMAXVALUE] [MINVALUE osoa |NOMINVALUE] [CYCLE|NOCYCLE] [ORDER|NOORDER] [CACHE osoa |NOCACHE];
Atalen azalpena:
- INCREMENT BY osoa: Sekuentziaren gehikuntza. Lehenetsiko balioa 1 izango da. Negatiboa bada beherapena gertatuko da.
- START WITH osoa: Sekuentziaren hasierako balioa
- MAXVALUE osoa: Sekuentziak lortuko duen balio maximoa.
- NOMAXVALUE: Balio maximoa 1027 izango da gehikuntza sekuentzia baterako edo –1 beherapen sekuentzia baterako.
- MINVALUE osoa: Sekuentziak lortuko duen balio minimoa.
- NOMINVALUE: Balio minimoa 1 izango da gehikuntza sekuentzia baterako edo -1026 beherapen sekuentzia baterako
- CYCLE | NOCYCLE: CYCLE sekuentziak berriro martxen jartzen da maximora edo minimoa ailegatzerakoan, NOCYCLE ez.
- ORDER | NOORDER: ORDER segurtasun neurria da, sekuentziaren zenbakien ordena ziurtatzen du, baina NOORDER aldiz ez.
- CACHE | NOCACHE: Datuak memorian gorde ahal diren ala ez definitzen du.
Adibidea:
CREATE SEQUENCE KODEAK START WITH 1 INCREMENT BY 1 MAXVALUE 99;
1. Sekuentziaren datuetara sartzeko SEKUENTZIAREN_IZENA.CURVAL edo SEKUENTZIAREN_IZENA.NEXTVAL erabiltzen da.
Adibidea:
INSERT INTO FRUTAS VALUES (KODEAK.NETVAL, ‘NARANJAS’);
2. Sekuentzia datu basetik ezabatzeko:
Adibidea:
DROP SEQUENCE KODEAK;
Aurkibideak:
[aldatu | aldatu iturburu kodea]Taula bateko lerrora iristeko bidea emango digun zuhaitz-egitura da aurkibidea. Funtsean, bi eratakoak izango dira aurkibideak: erabiltzaileak definitzen dituenak eta taulen lehen mailako gakoen gainean Oracle-k sortzen dituenak.
Lehen mailako gakoen gainean sortzen diren aurkibideak murrizketak ere badira (constraints) eta, horrela, aurkibidea erabiltzaileak ala sistemak sortua izan den jakin nahi badugu, aurkibidea ez ezik murrizketa ere baden egiaztatu beharko dugu.
Aurkibide bat, murrizketen aurkibide-taulan barik (user_constraints), hiztegiaren aurkibideen taulan (user_indexes) ageri bada, erabiltzaileak sortutako aurkibidea izango da. Aurkibidea sortzeko, hurrengo agindua erabiltzen da.
CREATE INDEX izen_aurkibidea ON izen_taula(izen_zutabea [ASC | DESC], [, izen_zutabea[ASC | DESC]]...) [TABLESPACE izen_tablespace] [STORAGE storage_clause] [beste_klausulak]
Atalen azalpena:
- izen_taula: indexatuko den taula da.
- Colum: indexatzen diren zutabeak
- ASC | DESC: Indizea gorakorra edo beherakorra definitzen du.
Adibidea:
CREATE INDEX INIDICEEMPLE ON EMPLE (EMP_NO);
Aurkibideak ezabatzeko, DROP INDEX agindua erabiltzen da.
Adibidea:
DROP INDEX INDICEEMPLE;
Datu-baseen loturak (LINK):
[aldatu | aldatu iturburu kodea]Datu basearen loturak, ahalbidetzen dio Oracle aplikazioari datu-baseen arteko komunikazioa. Honen bidez, Oraclek bi Datu-Baseak konektatzen ditu elkarrekin.Oro har urrutiko datu baseetan kontsultak egiteko erabiltzen dira loturak.
CREATE [PUBLIC] DATABASE LINK lotura_izena CONNECT TO erabiltzailea IDENTIFIED BY pasahitza USING ‘konexio_katea’;
Atalen azalpena,
- PUBLIC: Datu-base lotura publikoa sortzen da.
- konexio_katea: Urrutian konektatzeko erabiltzen den konexioaren katea da.
- erabiltzailea/pasahitza: Urrutian (remote) dagoen datu-basearen erabiltzailea eta pasahitza da.
urrutiko datu baseetan konektatzeko: TAULA_IZENA@LOTURA_IZENA
Adibidea:
CREATE DATABASE LIINK NIRE_LOTURA CONNECT TO MAJESUS IDENTIFIED BY RAMOS USING ‘DAI’;
SELECT * FROM EMPLE@NIRE_LOTURA;
Loturak ezabatzeko, DROP DATABASE LINK agindua erabiltzen da. Formatua:
DROP [PUBLIC] DATABASE LINK lotura_izena
Adibidea:
DROP DATABASE LINK NIRE_LOTURA;
Segurtasun kopiak
[aldatu | aldatu iturburu kodea]Datu base kudeatzaile baten eginkizunik garrantzitsuenetariko bat, datuak beti erabilgarri edukitzea da, datu basea zaintzea egon daitezkeen erroreengandik eta erabilgarri egotea egitea ahal bezain laster. Horregatik datu base kudeatzailea segurtasun kopiak egin behar dute erregularki. Oso garrantzitsuak dira datu baseak errekuperatzeko.
Segurtasun Kopia Logikoak
[aldatu | aldatu iturburu kodea]Kopia logikoak, datu basearen datuak irakurtzea eta kanpora ateratzea baliatuko dira, esportazio fitxategi bat sortzen, zeinek Oracleren IMPORT aginduarekin errekupera daitekeena. Erabiltzaileak, taulak eta datu batera kanporatu daiteke.
Segurtasun Kopia Fisikoak
[aldatu | aldatu iturburu kodea]Kopia hauek, datu-baseak osatzen dituzten fitxategiak kopiatzean datza. Fitxategien sistemetako segurtasun kopiak ere deituta. Oracle-k segurtasun kopia fisikoen bi modu jasatzen ditu: lerroz kanpokoa edo lerroan.
Lerroz Kanpoko Segurtasun Kopiak
[aldatu | aldatu iturburu kodea]Datu Basea era normalean deskonektatu denean sortzen da, eta ez edozein akatsengatik, baizik eta datu-basea honetako komando batetik itxi egin denean: SHUTDOWN, SHUTDOWN INMEDIATE edo SHUTDOWN TRANSACCTIONAL.
Lerroetako Segurtasun Kopiak
[aldatu | aldatu iturburu kodea]Datu-Basea irekita dagoenean egitan dira, horretarako datu-basea ARCHIVELOG moduan egon behar da, REDO Log-ak artxibatzeko eta egindako transakzio guztien erregistroak sortzeko.