Microsoft Word - 405_Prodan_kon.doc

Величина: px
Почињати приказ од странице:

Download "Microsoft Word - 405_Prodan_kon.doc"

Транскрипт

1 EDITION BASED REDEFINITION - VISOKA DOSTUPNOST KOD NADOGRADNJE APLIKACIJA EDITION BASED REDEFINITION ONLINE APPLICATION UPGRADE Alen Prodan Login d.o.o. Mihačeva draga b.b Rijeka alen.prodan@login.hr SAŽETAK Nadogradnja aplikacija u produkcijskom okruženju predstavlja znatan izazov. Sve je veći broj organizacija koje zahtijevaju visoku dostupnost kako bi osigurale kontinuitet poslovnih procesa. U tom smislu, aplikacijsko rješenje i baza podataka moraju imati mogućnost online nadogradnje. Oracle RDBMS kroz postojeće tehnologije pruža visoku dostupnost za planirane ali i za neplanirane prekide u radu. Kao novina u tom nizu, u verziji Oracle 11.2 baze podataka uvedena je podrška za online nadogradnju aplikacija, kroz novo svojstvo pod nazivom edition-based redefinition. U radu je prikazan pregled novog svojstva baze podataka. ABSTRACT Upgrading applications in a production environment is a significant challenge. There is an increasing number of organizations that cannot tolerate any down time during application upgrades. To this aim, applications and underlying database systems must be able to support online upgrades. Oracle RDBMS already provides HA solutions for both planned and unplanned outages. As of Oracle 11.2 there is a new feature, edition-based redefinition, that enables DBAs and developers to upgrade an application's database objects while the application is in use, ensuring minimal or no down time. The aim of this paper is to provide an overview of this new feature. UVOD Edition-based redefinition, novo svojstvo Oracle 11.2 baze podataka, omogućuje izmjene nad objektima aplikacijske sheme bez prekida dostupnosti aplikacije. Sve promjene izvode se unutar edicija, a edicije omogućuju da se promjene izvode u izoliranom okruženju. Svaka baza podataka ima najmanje jednu ediciju. Administrator baze podataka kreira novu ediciju kao nasljednika (child) postojeće. Promjene se izvode u okviru child edicije, dok korisnici nastavljaju koristiti aplikaciju unutar roditeljske (parent) edicije. Kod nadogradnje aplikacija u živo uvijek se koristi edition funkcionalnost koja omogućuje kopiranje objekata unutar edicije i njihovu izmjenu u izolaciji. Ako svi tipovi objekata koje treba redefinirati podržavaju edicije to je ujedno i jedina potrebna funkcionalnost. Tablice ne podržavaju edicije. Ako prilikom nadogradnje mijenjamo strukturu jedne ili više tablica, onda moramo koristiti editioning view funkcionalnost. Ako korisnici na sustavu moraju biti u mogućnosti mijenjati podatke u tablicama dok se mijenja struktura tablica, potrebno je koristiti forward crossedition trigger. Ukoliko su istovremeno u upotrebi i stara i nova verzija (edicija) aplikacije, tada je potrebno koristiti i reverse crossedition trigger. 1. UPRAVLJANJE EDICIJAMA Edicije su objekti unutar baze podataka koji ne pripadaju niti jednoj pojedinoj shemi, odnosno one nemaju vlasnika. Edicije su kreirane u jedinstvenom prostoru imena (namespace), a unutar baze 1

2 podataka može postojati istovremeno više edicija. Svaka baza podataka mora imati najmanje jednu ediciju, pa tako svaka novo-kreirana ili nadograđena baza podataka posjeduje jednu ediciju pod nazivom ORA$BASE Koji se objekti mogu pridružiti edicijama? Edicijski objekti (editioned objects) predstavljaju objekte unutar sheme čiji se tipovi objekta mogu pridružiti različitim edicijama, a shemi-vlasniku objekta je omogućeno upravljanje s edicijama. Objekt unutar sheme koji pripada tipu objekta koji se može pridružiti edicijama, ali vlasniku sheme nije omogućeno upravljanje edicijama predstavlja potencijalni objekt za verzioniranje. Svaka edicija može imati svoju privatnu kopiju edicijskog objekta i samo ta kopija je vidljiva unutar edicije. Objekti unutar sheme koje nije moguće verzionirati spadaju u ne-edicijski tip objekta (noneditioned objects). Edicija ne može imati svoju vlastitu kopiju ne-edicijskog objekta. Ne-edicijski objekti su identični i na podjednak način vidljivi unutar svih edicija. Tipovi objekata koji podržavaju edicije su: funkcije (FUNCTION) biblioteke (LIBRARY) paketi (PACKAGE i PACKAGE BODY) procedure (PROCEDURE) sinonimi (SYNONYM), ali ne i public sinonimi okidači (TRIGGER) tipovi (TYPE i TYPE BODY) pregledi (VIEW) Tipovi objekata vezani uz Javu, kao i tipovi objekata u koje pohranjujemo podatke (tablice, indeksi i sl.) ne podržavaju edicije. Tipovi objekata koji ne podržavaju edicije ne mogu ovisiti o tipu objekta koji se može verzionirati, pa tako npr. function based indeks ne može ovisiti o funkciji koja je verzionirana, ili pak materijalizirani view ne može ovisiti o običnom viewu ukoliko je on pridružen ediciji. Edicijski objekt je jednoznačno identificiran atributima OBJECT_NAME, OWNER i EDITION_NAME. Ne-edicijski objekt je jednoznačno identificiran atributima OBJECT_NAME i OWNER, dok EDITION_NAME atribut ima vrijednost NULL Omogućavanje korištenja edicija unutar aplikacijske sheme Prvi korak u korištenju edition-based redefinition mehanizma je njegovo aktiviranje za shemuvlasnika objekata koje želimo redefinirati. To je moguće napraviti koristeći ENABLE EDITIONS klauzulu CREATE USER, odnosno ALTER USER naredbe. Npr: alter user test enable editions; U stupcu EDITIONS_ENABLED *_USERS porodice viewova moguće je vidjeti za koje je sheme aktivirano korištenje edicija. Aktiviranje edicija je neopoziva operacija, odnosno ne postoji odgovarajuća DISABLE EDITIONS naredba Kreiranje edicija, nasljeđivanje i aktualizacija objekata Svaka baza podataka mora imati barem jednu ediciju, a svaka nova instalacija ili nadograđena instalacija sa starije verzije na Oracle 11.2 ima osnovnu ediciju ORA$BASE. Edicije su organizirane u roditelj-dijete (parent-child) hijerarhiju uz ograničenje da svaka edicija može imati samo jedno dijete (child). Prilikom pokušaja kreiranja više od jedne edicije za istog roditelja sustav javlja grešku: ORA-38807: Implementation restriction: an edition can have only one child 2

3 Za kreiranje edicija koristimo CREATE EDITION naredbu, za koju je potrebno imati CREATE ANY EDITION sistemsku privilegiju. Ukoliko želimo kreirati više edicija koje su međusobno u relaciji, npr. ORA$BASE => E1 => E2, to možemo učiniti pomoću sljedećih SQL naredbi: SQL> create edition e1 as child of ora$base; SQL> create edition e2 as child of e1; Novo-kreiranu ediciju prvotno može koristiti samo korisnik koji ju je kreirao i SYS korisnik. Korisniku koji je kreirao ediciju sustav automatski pridružuje USE ON EDITION privilegiju sa GRANT opcijom. Kako bi i drugi korisnici na sustavu mogli koristiti novu ediciju, potrebno im je također dodijeliti USE ON EDITION privilegiju za odgovarajuću ediciju: SQL> grant use on edition e1 to test; SQL> grant use on edition e2 to test; Alternativno je moguće ediciju učiniti dostupnom svim korisnicima na sustavu dodijeljujući USE privilegiju PUBLIC shemi: SQL> grant use on edition e1 to public; Informacije o postojećim edicijama dostupne su kroz ALL_EDITIONS i DBA_EDITIONS viewove. Unutar sesije moguće je u jednom trenutku koristiti samo jednu ediciju. Prilikom kreiranja, child edicija nasljeđuje od svoje roditeljske (parent) edicije sve edicijske objekte koji su vidljivi parent ediciji. Ti nasljeđeni objekti su isključivo vidljivi i oni još uvijek ne pripadaju child ediciji. Kako bi nasljeđeni objekt pripao child ediciji potrebno ga je aktualizirati. To je postupak koji se događa u trenutku kada korisnik u child ediciji koristeći DDL naredbu (osim DROP naredbe) izmjeni ili kompilira nasljeđeni objekt. Nakon toga, originalna verzija objekta nasljeđena od roditeljske edicije nije više vidljiva unutar child edicije. Navedeno će biti najrazumljivije prikažemo li to kroz primjer. U primjeru će biti korištena shema AE koju smo prethodno kreirali, uključili mogućnost korištenja edicija (ENABLE EDITIONS), te dodijelili odgovarajuće privilegije. Kao prvi korak, moramo kreirati dvije testne edicije E1 i E2: SQL> create edition e1 as child of ora$base; Edition created. SQL> create edition e2 as child of e1; Edition created. Zatim, postavljamo E1 kao tekuću ediciju, te u toj ediciji kreiramo PL/SQL proceduru naziva TEST, ujedno je testiramo izvršavanjem: SQL> alter session set edition = e1; SQL> create or replace procedure test 2 is 3 begin 4 dbms_output.put_line('edicija E1'); 5 end; 6 / Procedure created. SQL> set serveroutput on size SQL> exec test; Edicija E1 PL/SQL procedure successfully completed. 3

4 Vidimo da je procedura uspješno završila i ispisala poruku: Edicija E1. Sada ćemo unutar iste sesije postaviti ediciju E2 kao tekuću ediciju, te ćemo probati izvršiti ponovno proceduru TEST. SQL> alter session set edition = e2; Session altered. SQL> exec test; Edicija E1 PL/SQL procedure successfully completed. Vidimo da sustav ispisuje poruku Edicija E1, što znači da unutar E2 child edicije koristimo nasljeđenu proceduru čija se originalna kopija nalazi unutar E1 roditeljske edicije. U nastavku testa, izvršiti ćemo redefiniranje (izmjenu) TEST procedure unutar E2 edicije, kako bi izvršili mehanizam aktualizacije, kao rezultat kojega će se ediciji E2 pridružiti privatna kopija procedure TEST: SQL> create or replace procedure test 2 is 3 begin 4 dbms_output.put_line('edicija E2'); 5 end; 6 / Procedure created. SQL> exec test; Edicija E2 PL/SQL procedure successfully completed. Na temelju poruke koju ispisuje procedura TEST vidljivo je da se je izvršila kopija TEST procedure pridružene ediciji E2. Na kraju primjera, unutar iste sesije, ponovno ćemo referencirati originalnu proceduru unutar roditeljske E1 edicije, jednostavnim postavljenjem E1 edicije kao tekuće edicije unutar sesije: SQL> alter session set edition = e1; Session altered. SQL> exec test; Edicija E1 PL/SQL procedure successfully completed. Na kraju primjera zanimljivo je i provjeriti činjenicu da zaista imamo vlastitu kopiju TEST procedure unutar E1 i E2 edicije, koristeći USER_OBJECTS_AE view: SQL> select object_name, object_type, edition_name 2 from user_objects_ae 3 / OBJECT_NAME OBJECT_TYPE EDITION_NAME TEST NON-EXISTENT ORA$BASE TEST PROCEDURE E1 TEST PROCEDURE E2 4

5 1.4. Izbor tekuće edicije unutar sesije Svaka sesija unutar baze podataka može istovremeno koristiti samo jednu ediciju. Edicija koju sesija koristi u nekom trenutku u vremenu nazivamo tekućom edicijom (current edition). Prilikom kreiranja sesije, tekuća edicija ujedno predstavlja i ediciju sesije (session edition). Kao što je bilo vidljivo u prethodnom primjeru, ediciju je unutar sesije moguće jednostavno mijenjati koristeći ALTER SESSION SET EDITION SQL naredbu. Koristeći SYS_CONTEXT funkciju na jednostavan način možemo provjeriti trenutnu ediciju ili ediciju sesije: SQL> select sys_context('userenv', 'SESSION_EDITION_NAME') from dual; SYS_CONTEXT('USERENV','SESSION_EDITION_NAME') E1 SQL> select sys_context('userenv', 'CURRENT_EDITION_NAME') from dual; SYS_CONTEXT('USERENV','CURRENT_EDITION_NAME') E1 Ukoliko unutar sesije nije posebno izabrana edicija koja će se koristiti, sustav automatski dodjeljuje sesiji osnovnu database ediciju (default database edition), a prema osnovnim postavkama to je ORA$BASE edicija. Osnovnu (default) ediciju moguće je promijeniti uz pomoć ALTER DATABASE naredbe, kao što slijedi: SQL> alter database default edition = e2; SQL> select property_name, property_value 2 from database_properties 3 where property_name = 'DEFAULT_EDITION'; PROPERTY_NAME PROPERTY_VALUE DEFAULT_EDITION E2 Važno je znati da kao popratni efekt sustav automatski dodijeljuje USE privilegiju nad default database edicijom PUBLIC shemi. Na razini instance moguće je provjeriti ediciju koja se koristi unutar pojedine sesije pomoću V$SESSION viewa: SQL> select s.sid, s.username, d.object_name 2 from v$session s, dba_objects d 3 where s.session_edition_id = d.object_id 4 / SID USERNAME OBJECT_NAME E2 22 ALEN E Povlačenje (retiring) i brisanje (dropping) edicija Nakon uspješno izvedene nadogradnje, nova edicija postaje dostupna za korištenje svim korisnicima na sustavu. Stara edicija se povlači iz upotrebe čime prestaje njezina generalna dostupnost korisnicima sustava. Edicija se povlači iz upotrebe jednostavnim oduzimanjem USE privilegije (revoke) nad edicijom korisnicima kojima je ta privilegija dodijeljena. Više detalja o tome koji 5

6 korisnici raspolažu navedenom USE privilegijom moguće je saznati iz DBA_TAB_PRIVS sistemskog viewa: SQL> select grantee, table_name, privilege 2 from dba_tab_privs 3 where table_name in ('E1', 'E2'); GRANTEE TABLE_NAME PRIVILEGE AE E1 USE AE E2 USE Ediciju koja nam više nije potrebna, možemo također i izbrisati sa sustava. Za to koristimo DROP EDITION privilegiju. Ukoliko su ediciji koju želimo obrisati pridruženi objekti, potrebno je izvršiti DROP EDITION naredbu sa CASCADE klauzulom: SQL> drop edition e2; drop edition e2 * ERROR at line 1: ORA-38811: need CASCADE option to drop edition that has actual objects SQL> drop edition e2 cascade; Edition dropped. 2. UPRAVLJANJE EDITIONING VIEWOVIMA Tablice spadaju u skupinu ne-edicijskih objekata i stoga nije moguće koristiti edicije za redefiniranje njihove strukture. Umjesto toga, moguće je za svaku tablicu kreirati editioning view, te u aplikaciji zamijeniti referenciranje tablica sa referencama prema editioning viewovima. Editioning viewovi na takav način tvore svojevrsno sučelje između aplikacije i fizičkih struktura sheme. I dok je nad običnim viewovima moguće kreirati jedino INSTEAD OF vrstu triggera, editioning viewovi podržavaju sve tipove triggera koje je moguće definirati nad tablicama osim INSTEAD OF triggera i crossedition triggera, a potonji su po svojoj naravi i tako privremenog karaktera. Mogućnost kreiranja triggera nad editioning viewovima i mogućnost da se editioning viewovi mogu pridruživati edicijama stvara privid kao da su i same fizičke tablice verzionirane. Postoji i ograničenje - nije moguće kreirati indekse ili constrainte nad editioning viewovima, već ih je jedino moguće kreirati direktno nad pripadajućim tablicama. Editioning viewovi nam omogućuju da eksponiramo podskup kolona iz pripadajućih tablica, te omogućuju definiranje zamjenskih naziva (alias) za te kolone, čime efektivno putem viewa mapiramo fizičke nazive kolona iz tablice sa logičkim nazivima kolona iz viewa. Za kreiranje editioning viewa, potrebno je koristiti EDITIONING ključnu riječ u sklopu CREATE VIEW naredbe. Nadalje, editioning view može dozvoliti samo čitanje, pa ga je onda potrebno kreirati sa WITH READ ONLY klauzulom, u suprotnom dovoljno je izostaviti WITH READ ONLY klauzulu. Primjer kreiranja editioning viewa, sa WITH READ ONLY klauzulom: create editioning view test_ev as select id, naziv from tab with read only; Za vrijeme nadogradnje aplikacije, editioning viewovi mogu biti postavljeni u modalitet da dozvoljavaju samo čitanje ili pak da dozvoljavaju i čitanje i pisanje. Jednostavnija je varijanta u kojoj editioning viewovi dozvoljavaju samo čitanje, iako se na taj način smanjuje funkcionalnost aplikacije. Ako okolnosti ne dozvoljavaju onemogućavanje izmjena podataka za vrijeme trajanja nadogradnje, potrebno je kreirati crossedition triggere. 6

7 3. UPRAVLJANJE CROSSEDITION TRIGGERIMA Crossedition triggere koristimo u slučaju kada su ispunjena dva uvjeta. Prvo, struktura tablica mora biti redefinirana za vrijeme nadogradnje aplikacije. Drugo, nije moguće privremeno dozvoliti samo čitanje podataka postavljajući editioning viewove u read-only modalitet rada. Redefiniranjem tablice mijenjamo njezinu strukturu, međutim potrebno je povesti brigu i o podacima. Prvo, podaci koji se modificiraju putem aplikacije za vrijeme trajanja nadogradnje moraju biti pohranjeni u nove izmjenjene strukture tablice. Drugo, već postojeći podaci pohranjeni u redefiniranoj tablici moraju također biti konvertirani u novu strukturu. Sa prvim problemom možemo se uloviti u koštac korištenjem forward crossedition triggera unutar nove edicije. Svrha takvog triggera je transformirati redak iz stare strukture retka u novu. Iako se trigger kreira u novoj ediciji, on se okida samo ukoliko se izvrši DML naredba u sesiji koja koristi prethodnu ediciju u odnosu na onu u kojoj je trigger definiran. Stoga je prilikom kreiranja triggera potrebno eksplicitno navesti da želimo napraviti forward crossedition trigger, koristeći FORWARD CROSSEDITION klauzulu. Trigger također mora biti kreiran u statusu disabled, što je važno kako bi spriječili mogućnost da invalidni trigger negativno utječe na dostupnost aplikacije. Drugi problem rješavamo transformacijom već pohranjenih podataka, za što nam na raspolaganju stoji više mogućnosti. Najlakši način je da izvršimo trigger za svaki postojeći redak u redefiniranoj tablici, uz nužnu opasku da to može biti vrlo spora operacija. U tu svrhu koristimo DBMS_SQL paket, sa novom verzijom PARSE funkcije, koja koristi APPLY_CROSSEDITION_TRIGGER parametar. U dosadašnjem tekstu bilo je riječi o propagiranju izmjena generiranih od strane aplikacije koja radi nad starom edicijom u izmjenjene strukture unutar nove edicije. No što se događa ako istovremeno dolazi do izmjena podataka kroz staru i novu ediciju aplikacije? Ta situacija je tipična za scenarij nadogradnje u živo. Za taj specifičan scenarij dodatno koristimo i reverse crossedition trigger. Svrha takvog triggera je da izvodi obrnute operacije u odnosu na forward crossedition trigger. Drugim riječima, njegova namjena je transformacija retka iz nove strukture u staru. I u ovom slučaju trigger kreiramo u novoj ediciji. Reverse crossedition trigger se izvršava samo kod izvođenja DML naredbe unutar sesije koja koristi ediciju unutar koje je trigger definiran ili nasljednika te edicije. Zbog toga je potrebno eksplicitno navesti da se želi kreirati reverse crossedition trigger koristeći REVERSE CROSSEDITION klauzulu unutar CREATE TRIGGER naredbe. 4. PRIMJER NADOGRADNJE APLIKACIJSKE SHEME U nastavku slijedi primjer nadogradnje aplikacije koji se temelji na korištenju edicija, editioning viewa, forward crossedition triggera, te reverse crossedition triggera. Primjer aplikacije na kojoj će biti prikazan postupak nadogradnje sastoji se od jedne tablice. create table imenik ( id number, naziv varchar2(20), telefon varchar2(15) ); Tablica sadrži telefonski imenik sa ukupno 5 slogova. U stupcu telefon upisani su brojevi telefona sa uključenim predbrojem. SQL> select * from imenik; ID NAZIV TELEFON ivan ivić 051/ pero perić 051/ jurica jurić 051/ mate matić 051/ luka lukić 051/

8 Pretpostavimo da želimo redefinirati tablicu IMENIK na način da odvojimo predbroj od telefonskog broja korisnika. U novoj verziji predbroj će se nalaziti u zasebnom stupcu. Također, za vrijeme izvođenja nadogradnje, drugi korisnici moraju biti u mogućnosti ažurirati podatke iz tablice IMENIK. U tom scenariju biti će nam potrebna sva svojstva edition-based redefinition mehanizma: edicija, editioning view jer mijenjamo strukturu tablice, te crossedition triggeri, s obzirom da postoji potreba za istovremenim ažuriranjem podataka u tablici dok traje nadogradnja aplikacije. Kao prvi korak, u sklopu postojeće aktivne edicije (E1) preimenovati ćemo tablicu IMENIK u IMENIK_TAB, kako bi mogli dodijeliti njezino ime editioning viewu: alter table imenik rename to imenik_tab; Zatim kreiramo editioning view pod nazivom IMENIK unutar postojeće edicije (E1): create editioning view imenik as select id, naziv AS ime_prezime, telefon from imenik_tab; Idući korak kojega moramo poduzeti je kreirati novu ediciju E2, nasljednika postojeće edicije E1, create edition e2 as child of e1; te postaviti novu ediciju kao aktivnu ediciju unutar sesije: alter session set edition = e2; U ovom trenutku spremni smo pristupiti izmjeni fizičke strukture IMENIK_TAB tablice: alter table imenik_tab add (predbroj varchar2(3), tel_broj varchar2(9)); Nakon izmjene fizičkih struktura IMENIK_TAB tablice, moramo redefinirati IMENIK editioning view, kako bi i on u novoj ediciji odražavo nastale promjene u fizičkoj strukturi tablice: create or replace editioning view imenik as select id, naziv as ime_prezime, predbroj, tel_broj from imenik_tab; Ako izvršimo select iz imenik viewa u novoj ediciji, vidjeti ćemo da u ovom trenutku kolone predbroj i tel_broj imaju vrijednost NULL u sebi: SQL> select * from imenik; ID IME_PREZIME PRE TEL_BROJ ivan ivić 2 pero perić 3 jurica jurić 4 mate matić 5 luka lukić Da bi se podaci u tim kolonama počeli pohranjivati, potrebno je postaviti pravila transformacije podataka iz stare u novu ediciju, a to činimo putem forward crossedition triggera: create trigger imenik_fw_xed_trig before insert or update on imenik_tab for each row FORWARD CROSSEDITION disable 8

9 BEGIN :new.predbroj := substr(:new.telefon, 1, 3); :new.tel_broj := substr(:new.telefon, 5); END; Dobra praksa nalaže da se inicijalno trigger kreira u disable statusu dok se ne uvjerimo da je uredno kompiliran kako ne bi utjecali na rad postojećih korisnika. Jednom kada se uvjerimo da je sve u redu možemo ga postaviti u enable status: alter trigger imenik_fw_xed_trig enable; Forward crossedition trigger kojega smo upravo kreirali brinuti će se za transformaciju strukture redaka obuhvaćenih DML operacijama u staroj ediciji (E1). Međutim, većina postojećih redaka koji neće biti obuhvaćeni DML operacijama ostati će nepromijenjeni. Stoga, naš je idući korak transformacija strukture svih postojećih redaka u tablici. To ćemo učiniti uz pomoć DBMS_SQL.PARSE procedure koja od verzije Oracle servera 11.2 prima novi parametar APPLY_CROSSEDITION_TRIGGER. Tim parametrom određujemo naziv forward crossedition triggera koji će biti apliciran prilikom izvođenja SQL naredbe kroz DBMS_SQL paket. Prije nego izvršimo transformaciju pomoću DBMS_SQL paketa, potrebno je provjeriti da li ima postojećih otvorenih transakcija nad tablicom koju planiramo ažurirati. Za tu provjeru koristiti ćemo se pozivom na funkciju WAIT_ON_PENDING_DML koja dolazi u sklopu DBMS_UTILITY paketa. Funkcija čeka dok sve transakcije (osim onih koje je pokrenuo pozivatelj) koje imaju zaključane retke nad navedenom tablicom, a započele su prije navedenog SCN-a potvrde ili ponište svoje transakcije. Ako je SCN vrijednost koju predajemo NULL, sustav uzima tekući SCN. declare r boolean; scn number; begin r := dbms_utility.wait_on_pending_dml( tables=>'ae.imenik_tab', timeout=>null, scn=>scn); end; Nakon što pozivom na DBMS_UTILITY.WAIT_ON_PENDING_DML provjerimo da nema otvorenih transakcija nad našom tablicom, možemo pristupiti transformaciji postojećih redaka: declare cur number; nrows number; begin cur := dbms_sql.open_cursor; dbms_sql.parse( c => cur, statement => 'UPDATE imenik SET id = id', language_flag => dbms_sql.native, apply_crossedition_trigger => 'imenik_fw_xed_trig', fire_apply_trigger => true ); nrows := dbms_sql.execute(cur); dbms_sql.close_cursor(cur); commit; end; Iz primjera poziva DBMS_SQL.PARSE procedure možemo primjetiti dvije važne stvari. Putem statement parametra definirana je DML naredba kojom radimo promjene nad podacima. U ovom slučaju zapravo i ne mijenjamo ništa, jer stupcu ID dodijeljujemo već postojeću vrijednost. Putem 9

10 APPLY_CROSSEDITION_TRIGGER parametra naveli smo naziv forward crossedition triggera, a u ovom slučaju riječ je o IMENIK_FW_XED_TRIG triggeru. Nakon što je završila transformacija, možemo ponoviti naš upit nad IMENIK viewom i provjeriti da li smo postigli željeni rezultat: SQL> select * from imenik; ID IME_PREZIME PRE TEL_BROJ ivan ivić pero perić jurica jurić mate matić luka lukić Kao što možemo vidjeti iz rezultat prethodnog upita, transformacija je uspješno izvedena. Međutim, naš test ne bi bio potpun kada ne bi testirali transformaciju u oba smjera: iz stare u novu ediciju (forward crossedition trigger), te iz nove u staru ediciju (reverse crossedition trigger). Za potonju nam je potrebno kreirati reverse crossedition trigger kako slijedi: create trigger imenik_rv_xed_trig before insert or update on imenik_tab for each row REVERSE CROSSEDITION disable BEGIN :new.telefon := :new.predbroj '/' :new.tel_broj; END; alter trigger imenik_rv_xed_trig enable; Prvo ćemo izvršiti insert u novoj ediciji, kako bi testirali novo-kreirani reverse crossedition trigger: insert into imenik (id, ime_prezime, predbroj, tel_broj) values (100, 'testni korisnik', '051', ' '); commit; Zatim ćemo otvoriti zasebnu sesiju kroz SQL*Plus, te ćemo postaviti tekuću ediciju unutar sesije na staru ediciju E1, a potom ćemo upitom iz IMENIK viewa, provjeriti da li je korektno prikazan netom insertirani redak: SQL> conn ae/ae Connected. SQL> alter session set edition = e1; SQL> select * from imenik; ID IME_PREZIME TELEFON ivan ivić 051/ pero perić 051/ jurica jurić 051/ mate matić 051/ luka lukić 051/ testni korisnik 051/ rows selected. 10

11 Kao što možemo vidjeti redak sa vrijednosti ID = 100 postoji i ispravno je prezentiran u strukturi retka iz E1 edicije. Sada ćemo unutar te iste sesije sa tekućom edicijom E1 insertirati još jedan redak kako bi testirali forward crossedition trigger: insert into imenik (id, ime_prezime, telefon) values (101, 'testni korisnik2', '051/ '); commit; Na kraju ćemo provjeriti u sesiji sa tekućom edicijom E2, da li je netom insertirani redak transformiran u skladu sa pravilima definiranim putem forward crossedition triggera: SQL> alter session set edition = e2; Session altered. SQL> select * from imenik; ID IME_PREZIME PRE TEL_BROJ ivan ivić pero perić jurica jurić mate matić luka lukić testni korisnik testni korisnik rows selected. Na temelju rezultata gornjeg upita možemo se uvjeriti u točnost rada forward crossedition triggera, te konstatirati da su i u ovom slučaju svi retci ispravno transformirani. ZAKLJUČAK U Oracle Database 11g Release 2, postoje dva ozbiljna ograničenja koja se odnose na hijerarhije edicija. Prvo ograničenje odnosi se na činjenicu da svaka edicija može imati samo jednog nasljednika. Drugo ograničenje odnosi se na to da baza podataka može imati samo jednu izvornu (root) ediciju. 1 U današnje vrijeme nije rijetkost da se više različitih aplikacija konsolidira unutar iste baze podataka (npr. financije i crm). Postojanja više izvornih (root) edicija, pružilo bi mogućnost da svaka od tih aplikacija može imati svoju vlastitu hijerarhiju verzija. Unatoč navedenim ograničenjima, edition-based redefinition predstavlja jednu od najvažnijih novih funkcionalnosti baze podataka bez koje su nadogradnje sustava u živo znatno teže izvedive. LITERATURA Oracle Database Advanced Application Developer's Guide 11g Release 2 (E ), March 2010 Oracle Database PL/SQL Packages and Types Reference 11g Release 2 (E ), Sept Oracle Database SQL Language Reference 11g Release 2 (E ), October 2009 Antognini, Christian: Edition-Based Redefinition, January Antognini, Christian: Edition-Based Redefinition, January

Slide 1

Slide 1 SVEUČILIŠTE U MOSTARU FAKULTET STROJARSTVA I RAČUNARSTVA SUSTAVI BAZA PODATAKA Doc.dr.sc. GORAN KRALJEVIĆ SUSTAVI BAZA PODATAKA 1 Sustavi baza podataka Web: http://www.uni-mo.ba/~goran Pitanja, primjedbe,

Више

Slide 1

Slide 1 Kako jednostavnije preći na višu verziju Formsa Ivan Lovrić, Vedran Latin 14.10.2009. Sadržaj prezentacije Predmet migracije Razlozi za migraciju Infrastruktura potrebna za migraciju Pilot migracija Migracija

Више

Kako spriječiti petlju

Kako spriječiti petlju KAKO SPRIJEČITI ITI POJAVU PETLJE U HIJERARHIJSKOJ STRUKTURI PODATAKA Zlatko Sirotić, dipl.ing. Istra informatički inženjering d.o.o. Pula Stranica 1 Tema je rjer ješavanje određenog enog tipa poslovnih

Више

Microsoft Word - MySQL_3.doc

Microsoft Word - MySQL_3.doc 7. Data Manipulation Language (DML) Jezik za rad sa podacima (Data Manipulation Language (DML)) služi za umetanje, brisanje i ažuriranje podataka u bazi. 7.1. Umetanje novih redova u tabelu INSERT sintaksa

Више

Upute za instaliranje WordPressa 1.KORAK Da biste instalirali Wordpress, najprije morate preuzeti najnoviju verziju programa s web stranice WordPressa

Upute za instaliranje WordPressa 1.KORAK Da biste instalirali Wordpress, najprije morate preuzeti najnoviju verziju programa s web stranice WordPressa 1.KORAK Da biste instalirali Wordpress, najprije morate preuzeti najnoviju verziju programa s web stranice WordPressa koju možete pronaći na sljedećem linku: http://wordpress.org/download/ Kliknite na

Више

PHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji

PHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji PHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji podrška za IBM DB2, Oracle, Ingres, MySQL, PostgreSQL,

Више

Microsoft Word - WP_kolokvij_2_rjesenja.doc

Microsoft Word - WP_kolokvij_2_rjesenja.doc Napomena WEB PROGRAMIRANJE I PRIMJENE DRUGI KOLOKVIJ vrijeme predviđeno za rješavanje kolokvija je 60 minuta kolokvij se sastoji od 15 pitanja, a ukupan broj bodova je 165 (uz svaki zadatak istaknut je

Више

Fakultet tehničkih nauka, Novi Sad Predmet: ISIBP

Fakultet tehničkih nauka, Novi Sad Predmet: ISIBP Fakultet tehničkih nauka, Novi Sad Predmet: Informacioni sistemi i baze podataka dr Slavica Kordid Angelina Vujanovid Marina Nenid Marija Kukid Sistem ocenjivanja Ukupno: 100 bodova Teoretski deo (predavanja)

Више

Sveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Ba

Sveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Ba Sveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Baze podataka Tema: Osnovna SELECT naredba Vježbu pripremili:

Више

PowerPoint Presentation

PowerPoint Presentation Visoka škola strukovnih studija za informacione i komunikacione tehnologije MVC - Modeli Školska 2017/18. Dr Nenad Kojić, dipl. inž. Luka Lukić, struk. inž. Danijela Nikitin, spec.stuk.inž MVC.htaccess

Више

PDO

PDO PDO Marijan Šuflaj FER, 2018 Sadržaj PDO Osnove Izvršavanje upita Ranjivosti Dohvaćanje rezultata upita PDO - PHP Data Objects Jednostavno i konzistetno sučelje za pristup bazama podataka iz PHP-a Isti

Више

Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 17-1 Controlling User Access Davanje dozvole (grant

Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 17-1 Controlling User Access Davanje dozvole (grant Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 17-1 Controlling User Access Davanje dozvole (grant) ili oduzimanje dozvole (take away) za pristup db

Више

PowerPoint Presentation

PowerPoint Presentation Oracle Database Vault Zaštita podataka i aplikacija Zašto Oracle Database Vault Nepovjerenje u privilegirane korisnike (DBA,SA) Poslovne regulative (npr. Sarbanes Oxley) Podjela administrativnih poslova

Више

Microsoft Word - privitak prijedloga odluke

Microsoft Word - privitak prijedloga odluke Informatički sustav za prikupljanje, simulaciju i prikaz podataka o cijenama javnih komunikacijskih usluga (dalje: Sustav e-tarife) Zagreb, HRVATSKA AGENCIJA ZA POŠTU I ELEKTRONIČKE KOMUNIKACIJE Roberta

Више

Upitni jezik SQL

Upitni jezik SQL Šta je SQL? SQL (Structured Query Language) je jezik koji je Američki Institut za Nacionalne Standarde (ANSI - American National Standards Institute) prihvatio kao standardni jezik za relacione baze podataka.

Више

Introduction to Programming

Introduction to  Programming SQL Indeksi Uloga Indeksa o Kako baza postaje sve veća dizajn baze postaje sve važniji o Indeksi igraju značajnu ulogu u brzini rada same baze jer pomažu DBMS da brže pronađe ono što tražimo o Slični su

Више

CARNET Helpdesk - Podrška obrazovnom sustavu e-dnevnik upute za nadzor razrednih knjiga tel: fax: mail:

CARNET Helpdesk - Podrška obrazovnom sustavu e-dnevnik upute za nadzor razrednih knjiga tel: fax: mail: Sadržaj... 1 1. Predgovor... 2 2. Prijava u sustav... 2 3. Postavke... 3 4. Kreiranje zahtjeva za nadzorom razrednih knjiga... 4 5. Pregled razredne knjige... 6 5.1 Dnevnik rada... 7 5.2 Imenik... 11 5.3

Више

PowerPoint Presentation

PowerPoint Presentation Mehanizmi čuvanja podataka baznog sustava za potrebe Billing aplikacije Autor: Domagoj Dukarić, HEP ODS d.o.o. Koautor: Mario Blažanović, HEP ODS d.o.o. Ukratko o Oracle bazi Instanca memorijske strukture

Више

Upute-podesavanj -accounta

Upute-podesavanj -accounta Strana :...1... ISO UPUTA 7.5/02-02 Kreiranje i podešavanje mail account-a Korisničko uputstvo za kreiranje i podešavanje Secure (SSL) Email Accounta 1. Upute za podešavanje Secure (SSL) mail account-a

Више

Introduction to Programming

Introduction to  Programming Jezik Baze Podataka SQL SQL o Jezik koji se koristi u radu sa relacionim bazama podataka o Nije programski jezik i manje je kompleksan. o Koristi se isključivo u radu za bazama podataka. o SQL nije case

Више

Baze podataka MySQL Community Server i MySQL Workbench

Baze podataka MySQL Community Server i MySQL Workbench Baze podataka MySQL Community Server i MySQL Workbench Preuzimanje i instalacija Iz Internet browser-a pristupiti adresi: www.mysql.com Kliknuti na link Downloads Kliknuti na link Community Kliknuti na

Више

Baza podataka

Baza podataka Baza podataka Marijan Šuflaj FER, 2018 Sadržaj Baza podataka Upravljanje sadržajem baza CREATE TABLE ALTER TABLE DROP TABLE INSERT SELECT Spajanje tablica UPDATE DELETE Baza podataka Apstrakcija pohrane

Више

R u z v e l t o v a 5 5, B e o g r a d, t e l : ( ) , m a i l : c o n t a c p s i t. r s, w w w. p s i t. r s

R u z v e l t o v a 5 5, B e o g r a d, t e l : ( ) , m a i l : c o n t a c p s i t. r s, w w w. p s i t. r s UPUTSTVO ZA BRZO UMREŽAVANJE PROGRAMA MPP2 Da bi program MPP2 radio u mrežnom okruženju po sistemu klijent-server, potrebno je da se na računarima koji su mrežno povezani instalira: serverska verzija programa

Више

RAD SA PROGRAMOM

RAD SA PROGRAMOM JOPPD obrazac Podešavanje programa Nakon prvog ulaska u program Obračun plaća 2014 potrebno je pokrenuti opciju Korekcije od 01.01.2014. godine. Program će pokušati ispravno povezati postojeće podatke

Више

PowerPoint Presentation

PowerPoint Presentation i n f o r m a c i j s k i i n ž e n j e r i n g Usporedba Microsoft Analysis Services i Hyperion Essbase OLAP Marko Hilak Krešimir Futivić Maja Inđić 15.10.2009 Microsoft Analysis Services i Hyperion Essbase

Више

Microsoft Word - IP_Tables_programski_alat.doc

Microsoft Word - IP_Tables_programski_alat.doc 1. IP Tables alat (pregled naredbi) 1.1. Osnovne IP Tables naredbe za filtriranje paketa U ovom poglavlju opisane su osnovne IP Tables naredbe korištene za filtriranje paketa. S programskim paketom IP

Више

Web programiranje i primjene - Osnovni pojmovi WEB tehnologije korišteni u kolegiju

Web programiranje i primjene - Osnovni pojmovi WEB tehnologije korišteni u kolegiju Osnovni pojmovi WEB tehnologije korišteni u kolegiju Ivan Vazler Odjel za matematiku Sveučilište u Osijeku 16. listopada 2013. WWW - World Wide Web World Wide Web (WWW) svjetska mreža računala s izvorima

Више

Inženjering informacionih sistema

Inženjering informacionih sistema Fakultet tehničkih nauka, Novi Sad Inženjering informacionih sistema Dr Ivan Luković Dr Slavica Kordić Nikola Obrenović Milanka Bjelica Dr Jelena Borocki Dr Milan Delić UML UML (Unified Modeling Language)

Више

eredar Sustav upravljanja prijavama odjelu komunalnog gospodarstva 1 UPUTE ZA KORIŠTENJE SUSTAVA 1. O eredar sustavu eredar je sustav upravljanja prij

eredar Sustav upravljanja prijavama odjelu komunalnog gospodarstva 1 UPUTE ZA KORIŠTENJE SUSTAVA 1. O eredar sustavu eredar je sustav upravljanja prij eredar Sustav upravljanja prijavama odjelu komunalnog gospodarstva 1 UPUTE ZA KORIŠTENJE SUSTAVA 1. O eredar sustavu eredar je sustav upravljanja prijavama koje građani mogu slati Upravnom odjelu za komunalno

Више

Smjernice za korištenje sustava online prijava Ukoliko imate pristupno korisničko ime i lozinku ili ste navedeno dobili nakon zahtjeva za otvaranje no

Smjernice za korištenje sustava online prijava Ukoliko imate pristupno korisničko ime i lozinku ili ste navedeno dobili nakon zahtjeva za otvaranje no Smjernice za korištenje sustava online prijava Ukoliko imate pristupno korisničko ime i lozinku ili ste navedeno dobili nakon zahtjeva za otvaranje novog korisničkog računa (poslati zahtjev na javnipoziv.opp@havc.hr

Више

Microsoft PowerPoint - 6. Query Builder.pptx

Microsoft PowerPoint - 6. Query Builder.pptx Visokaškola strukovnihstudija za informacione i komunikacione tehnologije Query builder Query builder je sastavni deo Laravel framework-a koji pruža pouzdan interfejs za rad sa bazom podataka, kreiranje

Више

Fra Serafina Schoena Rijeka MB: MBO: Žiro račun: kod RBA d.d. GSM:

Fra Serafina Schoena Rijeka MB: MBO: Žiro račun: kod RBA d.d. GSM: EKLIPS MINI CMS upute za korištenje v1.0 1. Sadržaj isporuke i opće informacije EKLIPS MINI CMS sustav napravljen je pomoću sljedećih open source tehnologija Java JDK 1.5 - http://java.sun.com/javase/downloads/index_jdk5.jsp

Више

Introduction to Programming

Introduction to  Programming SQL Iskazi za modifkaciju nad podacima Unos novog podataka (2 metode) Insert Into Tabela Values(A 1,A 2,,A n ) Insert Into Tabela Select-iskaz Brisanje postojećeg podatka Delete From Tabela Where Uslov

Више

8 2 upiti_izvjesca.indd

8 2 upiti_izvjesca.indd 1 2. Baze podataka Upiti i izvješća baze podataka Na početku cjeline o bazama podataka napravili ste plošnu bazu podataka o natjecanjima učenika. Sada ćete izraditi relacijsku bazu u Accessu o učenicima

Више

Microsoft Word - KORISNIČKA UPUTA za pripremu računala za rad s Fina potpisnim modulom_RSV_ doc

Microsoft Word - KORISNIČKA UPUTA za pripremu računala za rad s Fina potpisnim modulom_RSV_ doc Uputa za pripremu računala za rad s Fininim potpisnim modulom Zagreb, lipanj 2019. Sadržaj: 1. UVOD... 3 2. POJMOVI I SKRAĆENICE... 3 3. TEHNIČKI PREDUVJETI KORIŠTENJA... 3 4. PODEŠAVANJE INTERNET PREGLEDNIKA

Више

Često postavljana pitanja u programu OBRT 1. Kako napraviti uplatu u knjizi tražbina i obveza? 2. Kako odabrati mapu/disk za pohranu podataka? 3. Kako

Često postavljana pitanja u programu OBRT 1. Kako napraviti uplatu u knjizi tražbina i obveza? 2. Kako odabrati mapu/disk za pohranu podataka? 3. Kako Često postavljana pitanja u programu OBRT 1. Kako napraviti uplatu u knjizi tražbina i obveza? 2. Kako odabrati mapu/disk za pohranu podataka? 3. Kako instalirati (novi) finin certifikat? 4. Kako ispisati

Више

Web orijentirana rješenja u turizmu

Web orijentirana rješenja u turizmu TESTIRANJE KONKURENTNIH TRANSAKCIJA Zlatko Sirotić, univ.spec.inf. d.o.o. Pula Stranica 1 Neki izabrani (stručni) radovi - HrOUG 2015a: Povratak u Prolog (ili Mrav i med na valjku) - HrOUG 2015b: Kada

Више

Document ID / Revision : 0419/1.1 ID Issuer Sustav (sustav izdavatelja identifikacijskih oznaka) Upute za registraciju gospodarskih subjekata

Document ID / Revision : 0419/1.1 ID Issuer Sustav (sustav izdavatelja identifikacijskih oznaka) Upute za registraciju gospodarskih subjekata ID Issuer Sustav (sustav izdavatelja identifikacijskih oznaka) Upute za registraciju gospodarskih subjekata Gospodarski subjekti Definicija: U skladu s Direktivom 2014/40/EU gospodarski subjekt svaka

Више

Aster

Aster ASTER V7 Multi-user Extension za Microsoft Windows 7 Vodič za brzi početak Instalirajte ASTER V7 softver koristeći instalaciju dobavljača. Od ostalih instalacionih opcija preporučujemo da svako posebno

Више

Kontrola korisnickih racuna (UAC) pomaze tako sto sprecava potencijalno stetne programe da izvrse promene u vasem racunaru i obavestava vas pre izvrse

Kontrola korisnickih racuna (UAC) pomaze tako sto sprecava potencijalno stetne programe da izvrse promene u vasem racunaru i obavestava vas pre izvrse Kontrola korisnickih racuna (UAC) pomaze tako sto sprecava potencijalno stetne programe da izvrse promene u vasem racunaru i obavestava vas pre izvrsenja svake promene a koje zahtevaju administratorsku

Више

Računarski praktikum I - Vježbe 07 - Podstrukture, const, reference

Računarski praktikum I - Vježbe 07 - Podstrukture, const, reference Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 07 - Podstrukture, const, reference v2018/2019. Sastavio: Zvonimir Bujanović Podstrukture Član

Више

Microsoft Word - CCERT-PUBDOC doc

Microsoft Word - CCERT-PUBDOC doc Analiza Qchain programskog paketa CCERT-PUBDOC-2003-02-04 Sigurnosni problemi u računalnim programima i operativnim sustavima područje je na kojem CARNet CERT kontinuirano radi. Rezultat toga rada ovaj

Више

2

2 IMA NEKA LOŠA VEZA (PRIČA O IN-DOUBT DISTRIBUIRANIM TRANSAKCIJAMA) Zlatko Sirotić Istra informatički inženjering d.o.o., Pula e-mail: zlatko.sirotic@iii.hr SAŽETAK Najlakše i najbolje je raditi sa centraliziranim

Више

4. Веза између табела практичан рад 1. Повежите табеле Proizvodi и Proizvođači у бази података Prodavnica.accdb везом типа 1:N. 2. Креирајте табелу St

4. Веза између табела практичан рад 1. Повежите табеле Proizvodi и Proizvođači у бази података Prodavnica.accdb везом типа 1:N. 2. Креирајте табелу St 4. Веза између табела практичан рад 1. Повежите табеле Proizvodi и Proizvođači у бази података Prodavnica.accdb везом типа 1:N. 2. Креирајте табелу Stavke_računa која ће разрешити проблем везе типа N:N

Више

Introduction to Programming

Introduction to  Programming SQL Podupiti o Podupit je upit unutar upita Mogućnosti podupita o Ima zadatak da razloži komplesnu logiku o Mozemo da prikažemo podatke koje nam where klauzula ne bi dozvolila, to se pre svega odnosi na

Више

Uputstvo za korištenje korisničkog web portala AC-U UPUTSTVO ZA KORIŠTENJE KORISNIČKOG WEB PORTALA Izdanje: 1, maj / svibanj 2019 Strana 2 od 1

Uputstvo za korištenje korisničkog web portala AC-U UPUTSTVO ZA KORIŠTENJE KORISNIČKOG WEB PORTALA Izdanje: 1, maj / svibanj 2019 Strana 2 od 1 UPUTSTVO ZA KORIŠTENJE KORISNIČKOG WEB PORTALA Izdanje: 1, maj / svibanj 2019 Strana 2 od 18 SADRŽAJ 1. PREDMET... Error! Bookmark not defined. 2. PODRUČJE PRIMJENE... 4 3. DEFINICIJE I REFERENTNI DOKUMENTI...

Више

Korisničko uputstvo mobilne aplikacije Digitalni Kiosk 1

Korisničko uputstvo mobilne aplikacije Digitalni Kiosk 1 Korisničko uputstvo mobilne aplikacije Digitalni Kiosk 1 Sadržaj Opis mobilne aplikacije Digitalni Kiosk... 3 Pokretanje aplikacije... 3 Registracija/Kreiranje novog korisničkog naloga... 3 Dodavanje platne

Више

n50

n50 N50LUSK Vodič za ažuriranje TV softvera TV Software Update Guide Hrvatski vodič za ažuriranje 1. Korak Provjerite ime modela na stražnjoj strani TV-a. Prije preuzimanja softvera za ažuriranje, molimo provjerite

Више

JMBAG Ime i Prezime Mreže računala Završni ispit 16. veljače Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter.

JMBAG Ime i Prezime Mreže računala Završni ispit 16. veljače Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter. Mreže računala Završni ispit Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter. Predajete samo papire koje ste dobili. Rezultati, uvid u ispit i upis ocjena:... Zadatak

Више

KORISNIČKE UPUTE APLIKACIJA ZA POTPIS DATOTEKA

KORISNIČKE UPUTE APLIKACIJA ZA POTPIS DATOTEKA KORISNIČKE UPUTE APLIKACIJA ZA POTPIS DATOTEKA SADRŽAJ 1. UVOD... 3 1.1. Cilj i svrha... 3 1.2. Područje primjene... 3 2. POJMOVI I SKRAĆENICE... 4 3. PREDUVJETI KORIŠTENJA... 5 4. PREGLED APLIKACIJE...

Више

Model podataka

Model podataka Fakultet organizacionih nauka Uvod u informacione sisteme Doc. Dr Ognjen Pantelić Modeliranje podataka definisanje strategije snimanje postojećeg stanja projektovanje aplikativno modeliranje implementacija

Више

_Outlook

_Outlook Outlook 2010 i Outlook 2013 Otvorite Outlook. Kada se pojavi prvi ekran čarobnjaka pritisnite Next (dalje). Na sljedećem ekranu pod nazivom E-mail Accounts (email nalozi) ponovo pritisnite Next (dalje)

Више

Upute za korištenje EasyChair konferencijskog sustava HRO CIGRE 2019 Prijava referata Ako ste već koristili EasyChair na 13. Savjetovanju ili prije ta

Upute za korištenje EasyChair konferencijskog sustava HRO CIGRE 2019 Prijava referata Ako ste već koristili EasyChair na 13. Savjetovanju ili prije ta Upute za korištenje EasyChair konferencijskog sustava HRO CIGRE 2019 Prijava referata Ako ste već koristili EasyChair na 13. Savjetovanju ili prije tada ne trebate otvoriti račun. Za one koji se prvi put

Више

CARNet Helpdesk - Podrška obrazovnom sustavu e-dnevnik upute za administratore tel: fax: mail: url:

CARNet Helpdesk - Podrška obrazovnom sustavu e-dnevnik upute za administratore tel: fax: mail: url: Sadržaj... 1 1. Predgovor... 2 2. Sučelje administracije škole... 2 3. Korisnici... 3 3.1 Ovlasti... 3 3.2 Uređivanje postojećih i dodavanje novih... 3 3.3 Dodavanje i uklanjanje tokena... 5 4. Odabir

Више

Microsoft Word - 11 Pokazivaci

Microsoft Word - 11 Pokazivaci Pokazivači U dosadašnjem radu smo imali prilike da koristimo promenljive koje smo deklarisali na početku nekog bloka. Prilikom deklaracije promenljiva dobija jedinstveni naziv i odgovarajući prostor u

Више

VALIDNOST CERTIFIKATA ZA PRISTUP INTERNET APLIKACIJAMA POREZNE UPRAVE FEDERACIJE BOSNE I HERCEGOVINE (npis I ejs)

VALIDNOST CERTIFIKATA ZA PRISTUP INTERNET APLIKACIJAMA POREZNE UPRAVE FEDERACIJE BOSNE I HERCEGOVINE (npis I ejs) VALIDNOST CERTIFIKATA ZA PRISTUP INTERNET APLIKACIJAMA POREZNE UPRAVE FEDERACIJE BOSNE I HERCEGOVINE (NPIS I EJS) POREZNA UPRAVA FEDERACIJE BOSNE I HERCEGOVINE Sektor za informacione tehnologije Sarajevo,

Више

Slide 1

Slide 1 Web site development using MCMS 2002 Koncept Autori: Multiautorsko okruženje sa podijeljenim ulogama Autori ne moraju imati tehnička predznanja Veza sa MicrosoftWord Developeri: Integracija sa VS.NET Integracija

Више

Modeliranje, implementacija i administracija baza podataka

Modeliranje, implementacija i administracija baza podataka MODELIRANJE, IMPLEMENTACIJA I ADMINISTRACIJA BAZA PODATAKA Željko Kovačević, struč.spec.ing.techn.inf. Zagreb, 2018 PRIRUČNICI TEHNIČKOG VELEUČILIŠTA U ZAGREBU MANUALIA POLYTECHNICI STUDIORUM ZAGRABIENSIS

Више

CARNet Helpdesk - Podrška obrazovnom sustavu e-dnevnik upute za administratore tel: fax: mail: url:

CARNet Helpdesk - Podrška obrazovnom sustavu e-dnevnik upute za administratore tel: fax: mail: url: Sadržaj... 1 1. Predgovor... 2 2. Sučelje administracije škole... 2 3. Korisnici... 3 3.1 Ovlasti... 3 3.2 Uređivanje postojećih i dodavanje novih... 3 3.3 Dodavanje i uklanjanje tokena... 5 4. Odabir

Више

03 SUBP

03 SUBP Osnovni SQL tipovi podataka Tip podataka NUMBER(p,s) Opis Broj sa maksimalno p cifara od kojih je s maksimalni broj decimala (1 < p < 38) (- 84 < s < 127) VARCHAR2(s) Promenjivi niz karaktera maksimalne

Више

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijski program: Informacioni inženjering Informacioni inženjering 1 Rekurzivne funkcije Binarna stabla Informacioni

Више

Korisničko uputstvo za uslugu ClickPay u Internet bankarstvu KJKP Toplane Sarajevo 1. OPIS USLUGE Usluga ClickPay omogućava prijem unaprijed popunjeno

Korisničko uputstvo za uslugu ClickPay u Internet bankarstvu KJKP Toplane Sarajevo 1. OPIS USLUGE Usluga ClickPay omogućava prijem unaprijed popunjeno Korisničko uputstvo za uslugu u Internet bankarstvu KJKP Toplane Sarajevo 1. OPIS USLUGE Usluga omogućava prijem unaprijed popunjenog naloga za plaćanje mjesečnih računa za troškove KJKP Toplane-Sarajevo

Више

(Microsoft PowerPoint - 903_\216nidari\346_Java Persistence.pptx)

(Microsoft PowerPoint - 903_\216nidari\346_Java Persistence.pptx) Java Persistence API (JPA) najbolje prakse Slavko Žnidarić Beta Tau Beta slavko.znidaric@btb.hr Vaš podatkovni sloj? Vaš šef, DBA ili klijent? Vi? Uzroci loših performansi Previše upita Spori upiti Loše

Више

No Slide Title

No Slide Title Statistika je skup metoda za uređivanje, analiziranje i grafičko prikazivanje podataka. statistika???? Podatak je kvantitativna ili kvalitativna vrijednost kojom je opisano određeno obilježje (svojstvo)

Више

R u z v e l t o v a 5 5, B e o g r a d, t e l : , e - m a i l : p r o d a j p s i t. r s, w w w. p s i t. r s

R u z v e l t o v a 5 5, B e o g r a d, t e l : , e - m a i l : p r o d a j p s i t. r s, w w w. p s i t. r s R u z v e l t o v a 5 5, 1 1 0 0 0 B e o g r a d, t e l : + 3 8 1 0 1 1 7 8 5 0 3 6 1, e - m a i l : p r o d a j a @ p s i t. r s, w w w. p s i t. r s Instalacija izmena i dopuna programa MPP2 Izmene i

Више

01 SUBP

01 SUBP ER model šeme baze podataka: (Sef) (0, N) (0, N) RADNIK (0, 1) SEF (0, N) (Podredjeni) RUKOVODI RADI _NA (1, 1) (0, N) PROJEKAT Šema relacione baze podataka: RADNIK({Mbr, Prez, Ime, Sef, Plata, Datr},

Више

Primenjeno programiranje - Vežbe

Primenjeno programiranje - Vežbe VISOKA POSLOVNA ŠKOLA STRUKOVNIH STUDIJA NOVI SAD Primena integrisanih razvojnih alata Java i NetBeans IDE 7.0 vežba 9 i 10 Kreiranje desktop aplikacije sa konekcijom na bazu Pokrenuti NetBeans, u kartici

Више

** Osnovni meni

** Osnovni meni Instalacija serverske verzije Kataloga propisa Instalacija Kataloga propisa se vrši na sljedeći način: 1. Ubacite Instalacioni disk ili USB memoriju u računar. 2. Instalacioni program će se automatski

Више

Microsoft PowerPoint - 01 Uvod u operativne sisteme.ppt

Microsoft PowerPoint - 01 Uvod u operativne sisteme.ppt Uvod u operativne sisteme v.as.mr. Samir Lemeš slemes@mf.unze.ba Univerzitet u Zenici 2009 Operativni sistemi i mreže: način realizacije vježbi Tokom semestra 3 periodična testa (Operativni sistemi, Mrežni

Више

5

5 5.4. Dio D Tehnička sposobnost Za svaku organizaciju koju unesete u dijelove A i B, u dijelu D automatski će se pojaviti odgovarajući dio koji ćete morati ispuniti. 5.5. Dio E Provedba projekta / Kriteriji

Више

UPUTA za uvođenje JOPPD - prva faza

UPUTA za uvođenje JOPPD - prva faza UPUTA ZA UVOĐENJE OBRASCA JOPPD PRVA FAZA Prva faza uvođenja obrasca JOPPD uključuje slijedeće aktivnosti: 1. Instalacija nove verzije 2. Punjenje šifarnika potrebnih za JOPPD obrazac a. Oznake stjecatelja

Више

Upute - JOPPD kreiranje obrasca

Upute - JOPPD kreiranje obrasca Verzija uputa: 1.0 - JOPPD obrazac IPIS-PLAĆE, IPIS-UGOVORI O DJELU Ove upute će se još nadopunjavati, pa molim korisnike da redovito provjere da li imaju zadnje upute. Verzija uputa prikazana je na početku!

Више

Slide 1

Slide 1 predmet Inženjerska informatika Operativni sistem dr Anica Milošević Koji operativni sistemi postoje? Microsoft Windows Linux Suse Red Hat Ubuntu Unix 26.1.2018. 2 Šta je Windows operativni sistem? Operativni

Више

Korisnicki nalog je skup informacija i postavki koje koristite za interakciju sa racunarom i prilagodite Windows da radi onako kako vi zelite. Sa kori

Korisnicki nalog je skup informacija i postavki koje koristite za interakciju sa racunarom i prilagodite Windows da radi onako kako vi zelite. Sa kori Korisnicki nalog je skup informacija i postavki koje koristite za interakciju sa racunarom i prilagodite Windows da radi onako kako vi zelite. Sa korisnickim nalozima, nekoliko ljudi moze lako da deli

Више

INTEGRIRANI KNJIŽNIČNI SUSTAV Sustav za podršku Upute za instalaciju: Aleph v22 ZAG

INTEGRIRANI KNJIŽNIČNI SUSTAV Sustav za podršku Upute za instalaciju: Aleph v22 ZAG INTEGRIRANI KNJIŽNIČNI SUSTAV Sustav za podršku Upute za instalaciju: Aleph v22 ZAG INTEGIRANI KNJIŽNIČNI SUSTAV Upute za instalaciju: Aleph v22 ZAG Nacionalna i sveučilišna knjižnica u Zagrebu Ul. Hrvatske

Више

Priprema 1

Priprema 1 Osnovna skola Prokosovici 8 Razred osnovne skole ACESS BAZA PODATAKA 8 RAZRED Lekcija 7 Predmetni nastavnik: Elvir Čajić MSAccess kreiranje obrazca- čarobnjaci Najčešći način kreiranja obrazaca je pomoću

Више

1 NOVO U MNG CENTRU!!! OVLADAJTE TEHNOLOGIJOM IZRADE JAVA EE APLIKACIJA KORIŠ C ENJEM ORACLE ADF-A O - Otkrijte brzinu razvoja aplikacija sa ADF-om -

1 NOVO U MNG CENTRU!!! OVLADAJTE TEHNOLOGIJOM IZRADE JAVA EE APLIKACIJA KORIŠ C ENJEM ORACLE ADF-A O - Otkrijte brzinu razvoja aplikacija sa ADF-om - 1 NOVO U MNG CENTRU!!! OVLADAJTE TEHNOLOGIJOM IZRADE JAVA EE APLIKACIJA KORIŠ C ENJEM ORACLE ADF-A O - Otkrijte brzinu razvoja aplikacija sa ADF-om - Minimizujte pisanje programskog koda - Smanjite obim

Више

Biz web hosting

Biz web hosting BIZ WEB HOSTING KORISNIČKO UPUTSTVO WWW.OBLACI.RS SADRŽAJ PRISTUP KORISNIČKOM PORTALU... 2 KUPOVINA BIZ WEB HOSTING SERVISA... 4 PRISTUP PLESK WEB KONTROLNOM PANELU... 14 PORTALI I DOMENI... 14 FAJL MENADŽER...

Више

UPUTSTVO ZA PODEŠAVANJE MOBILNIH UREĐAJA ZA MMS

UPUTSTVO ZA PODEŠAVANJE MOBILNIH UREĐAJA ZA MMS UPUTSTVO ZA PODEŠAVANJE MOBILNIH UREĐAJA ZA MMS Sadržaj AUTOMATSKO PODEŠAVANJE... 3 PODEŠAVANJE PUTEM MTS VODIČA... 3 PODEŠAVANJE PUTEM SMS PORUKE... 3 PODEŠAVANJE PUTEM USSD MENIJA... 3 MANUELNO PODEŠAVANJE

Више

Microsoft Word - Tehnicka uputstva lica doc

Microsoft Word - Tehnicka uputstva lica doc Registracija novog korisnika internet sajta NSZ tražilac zaposlenja Novi korisnik prilikom prve registracije na sajt NSZ bira opciju Prijavi se za posao. Unosom korisničkog imena i kreiranjem lozinke,

Више

Programiranje 2 popravni kolokvij, 15. lipnja Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanj

Programiranje 2 popravni kolokvij, 15. lipnja Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanj Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje, te službeni šalabahter. Kalkulatori, mobiteli, razne neslužbene tablice, papiri i sl., nisu dozvoljeni! Sva rješenja napišite

Више

(Microsoft PowerPoint - 412_Buni\346 HTV.ppt [Compatibility Mode])

(Microsoft PowerPoint - 412_Buni\346 HTV.ppt [Compatibility Mode]) MySQL - iskustva i primjene na HRT-u Darko Bunić Sadržaj 1. O MySQL bazi 2. HRT MySQL primjene 3. MySQL Workbench 4. Replikacije (master slave) 5. Optimizacija (tips & tricks) 6. Backup 2 MySQL www.google.com

Више

Slide 1

Slide 1 OSNOVNI POJMOVI Naredba je uputa računalu za obavljanje određene radnje. Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Pisanje programa zovemo programiranje. Programski jezik

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Deklaracija promenljivih Inicijalizacija promenljivih Deklaracija promenljive obuhvata: dodelu simboličkog imena promenljivoj i određivanje tipa promenljive (tip određuje koja će vrsta memorijskog registra

Више

Slide 1

Slide 1 Što, zašto i kako? Noviteti Ispod haube... Malo reklame... Malo stvarnosti... Q&A Najbolje Oracle database rješenje za: Data Warehousing OLTP Konsolidaciju baza Najbolje Oracle database rješenje za: Data

Више

СТАРТ - СТОП ПАРКИНГ СИСТЕМ КОРИСНИЧКО УПУТСТВО страна 1 од 12

СТАРТ - СТОП ПАРКИНГ СИСТЕМ КОРИСНИЧКО УПУТСТВО страна 1 од 12 СТАРТ - СТОП ПАРКИНГ СИСТЕМ КОРИСНИЧКО УПУТСТВО страна 1 од 12 РЕГИСТРАЦИЈА НА СТАРТ-СТОП ПАРКИНГ СИСТЕМ За коришћење СТАРТ-СТОП ПАРКИНГ система, корисник (физичко или правно лице) попуњава упитник у просторијама

Више

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode] Programski jezik C organizacija izvornog programa Prevođenje Pisanje programa izvorni program Prevođenje programa izvršni program Izvršavanje programa rezultat Faze prevođenja Pretprocesiranje Kompilacija

Више

Microsoft Word - InveoP_01.docx

Microsoft Word - InveoP_01.docx 0 INVEO-P Inveo-P je jedinstveno rješenje na tržištu razvijeno upravo za paušalne obrte i jedino koje paušalnim obrtima omogućava potpuni pregled poslovanja. Razvijen je kao integrirano poslovno rješenje

Више

Računarske mreže Čas 2 Ivana Tanasijević Matematički fakultet, Beograd 1

Računarske mreže Čas 2 Ivana Tanasijević   Matematički fakultet, Beograd 1 Računarske mreže Čas 2 Ivana Tanasijević e-mail: ivana@matf.bg.ac.rs Matematički fakultet, Beograd 1 Utvrđivanje gradiva sa prethodnog časa: popunjavanje adresne strukture, kreiranje soketa, privezivanje

Више

Za formiranje JOPPD obrasca neophodno je točno popuniti šifre u osnovama primitaka. Svaka osnova primitka ima propisane šifre u prilozima JOPPD

Za formiranje JOPPD obrasca neophodno je točno popuniti šifre u osnovama primitaka. Svaka osnova primitka ima propisane šifre u prilozima JOPPD Za formiranje JOPPD obrasca neophodno je točno popuniti šifre u osnovama primitaka. Svaka osnova primitka ima propisane šifre u prilozima 2.- 4. JOPPD obrasca i za svaku kombinaciju šifri su propisana

Више

Control no:

Control no: Smart Access Postupak rukovanja A. Preduvjet... 2 1. Kompatibilnost s pametnim telefonom... 2 2. Odabir kabela... 2 a. Apple devices (Appleovi uređaji) (iphone 4/4s)... 2 b. Apple devices (Appleovi uređaji)

Више

U misiji izvrsnosti Opšti uslovi učestovanja u JUB Profi Club bonitetnom programu i opšti uslovi rada JUB Profi Club mobilne aplikacije 1. Učestvovanj

U misiji izvrsnosti Opšti uslovi učestovanja u JUB Profi Club bonitetnom programu i opšti uslovi rada JUB Profi Club mobilne aplikacije 1. Učestvovanj Opšti uslovi učestovanja u JUB Profi Club bonitetnom programu i opšti uslovi rada JUB Profi Club mobilne aplikacije 1. Učestvovanje u JUB Profi Club bonitetnom programu JUB Profi Club je bonitetni program,

Више

Корисничко упутство апликације езапослени верзија Рачунски центар Електротехничког факултета, Универзитет у Београду

Корисничко упутство апликације езапослени верзија Рачунски центар Електротехничког факултета, Универзитет у Београду Корисничко упутство апликације езапослени 2012 Рачунски центар Електротехничког факултета, Универзитет у Београду 1. Предговор... 1 2. Приступ апликацији и пријава на систем... 2 3. Корисник... 6 3.1.

Више

PuTTY CERT.hr-PUBDOC

PuTTY CERT.hr-PUBDOC PuTTY CERT.hr-PUBDOC-2018-12-371 Sadržaj 1 UVOD... 3 2 INSTALACIJA ALATA PUTTY... 4 3 KORIŠTENJE ALATA PUTTY... 7 3.1 POVEZIVANJE S UDALJENIM RAČUNALOM... 7 3.2 POHRANA PROFILA KORISNIČKIH SJEDNICA...

Више