Introduzione a Oracle 9i



Documenti analoghi
Sommario. Oracle Database 10g (laboratorio) Grid computing. Oracle Database 10g. Concetti. Installazione Oracle Database 10g

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Mac Application Manager 1.3 (SOLO PER TIGER)

Base di dati e sistemi informativi

1. BASI DI DATI: GENERALITÀ

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Organizzazione degli archivi

Dispensa di Informatica I.1

Introduzione all Architettura del DBMS

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Reti di Calcolatori. Il Livello delle Applicazioni

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Introduzione all elaborazione di database nel Web

Access. P a r t e p r i m a

Finalità della soluzione Schema generale e modalità d integrazione Gestione centralizzata in TeamPortal... 6

DW-SmartCluster (ver. 2.1) Architettura e funzionamento

Caratteristiche principali. Contesti di utilizzo

DINAMIC: gestione assistenza tecnica

Registratori di Cassa

Cenni di programmazione distribuita in C++ Mauro Piccolo

Gestione della memoria centrale

Studi di Settore. Nota Operativa 22/4/2013

Lorenzo Sarti Materiale didattico sarti

Capitolo 1 Oracle: la società e il software Terminologia Oracle Corporation: la storia L offerta corrente 12 1.

Application Server per sviluppare applicazioni Java Enterprise

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

TERM TALK. software per la raccolta dati

Guida alla registrazione on-line di un DataLogger

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Database e reti. Piero Gallo Pasquale Sirsi

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

SDD System design document

FOXWave Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA

Installazione e caratteristiche generali 1

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

MANUALE PARCELLA FACILE PLUS INDICE

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Guida all installazione di Easy

Laboratorio di Informatica

Manuale Terminal Manager 2.0

Il Sistema Operativo

Database. Francesco Tapparo Informatica e Bioinformatica /16

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Indice. Introduzione PARTE PRIMA L ARCHITETTURA DEI DATABASE 1

OmniAccessSuite. Plug-Ins. Ver. 1.3

Gestione Accessi Web

Capitolo 4 Pianificazione e Sviluppo di Web Part

MyFRITZ!, Dynamic DNS e Accesso Remoto

Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, Pisa

Lezione 9. Applicazioni tradizionali

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

ESERCITAZIONE Semplice creazione di un sito Internet

Dispensa di database Access

Sistemi informativi secondo prospettive combinate

DATABASE RELAZIONALI

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

Facoltà di Farmacia - Corso di Informatica

Acronis License Server. Manuale utente

19. LA PROGRAMMAZIONE LATO SERVER

Capitolo 13. Interrogare una base di dati

Indice Introduzione Elementi di base dei database Il linguaggio SQL (Structured Query Language)

Progettaz. e sviluppo Data Base

Software di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo

FPf per Windows 3.1. Guida all uso

Agent, porte, connettività e reti L agent di Kaseya utilizza la porta 5721 per comunicare con il server, ma che tipo di porta è?...

Sistemi di Antivirus CEFRIEL. Politecnico di Milano. Consorzio per la Formazione e la Ricerca in Ingegneria dell Informazione. Politecnico di Milano

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

Soluzioni integrate per la gestione del magazzino

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia ( e da un tutorial di Pierlauro Sciarelli su comefare.

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

Introduzione al data base

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

MODULO 5 Appunti ACCESS - Basi di dati

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Configurazione avanzata di IBM SPSS Modeler Entity Analytics

Guida all Installazione del ProxyFatturaPA

IRSplit. Istruzioni d uso 07/10-01 PC

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

Tecnologia di un Database Server (centralizzato) Introduzione generale

Al giorno d oggi, i sistemi per la gestione di database

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Introduzione alle basi di dati (prima parte)

VISUALFLEET Software Overview

Trasformazione DB Access In SQL Server. Michele De Nittis

Versione 1.1. ultima revisione febbraio Ital Soft Software Production s.r.l. ITALSOFT.

PSNET UC RUPAR PIEMONTE MANUALE OPERATIVO

Transcript:

Introduzione a Oracle 9i Ing. Vincenzo Moscato - Overview sull architettura del DBMS Oracle 9i L architettura di Oracle 9i si basa sul classico paradigma di comunicazione client-server, in cui sono presenti uno o più processi client che richiedono un servizio, e, un processo server che eroga tale servizio. Nel caso di un Database Management System, il servizio offerto è quello di accesso ai dati presenti all interno della base di dati, mentre il linguaggio di formulazione delle richieste da parte dei client è l SQL (Structured Query Language). In figura 1 è riportata la tipica architettura di un DBMS basata sul suddetto modello client-server. Figura 1: Architettura Client Server Lato client sono quindi disponibili per gli utilizzatori finali del database le funzionalità di controllo, formulazione richieste via SQL, immissione ed elaborazione dati, e, visualizzazione dei risultati; di contro, lato server, troviamo la logica della base di dati e il data processing vero e proprio. Scendendo ad un maggiore livello di dettaglio, l architettura del DBMS ORACLE lato server si compone di una o più istanze oracle, di uno o più processi listener e di uno o più oracle database ognuno legato ad una data istanza oracle. Una istanza oracle è costituita da un insieme di processi (di background), e, di strutture dati allocate in memoria, che creano il meccanismo di accesso ai file di un database Oracle. Per poter accedere ai dati contenuti nel database, l istanza deve essere attiva. Ogni istanza attiva risiede in una specifica area di memoria denominata SGA (System Global Area), in grado di contenere le informazioni condivise, e le tutte informazioni necessarie all oracle server. Nella SGA vengono utilizzate delle particolari strutture dati, di seguito si riporta una breve descrizione delle quelle fondamentali. The shared pool. Essa è usata per memorizzare gli statement SQL recentemente utilizzati, questo consente ad un eventuale processo oracle, di reperire informazioni in maniera più veloce. The database buffer. Essa è usata per memorizzare dati recentemente trattati. Tali dati sono letti e/o scritti nei data file (trattati successivamente). The redo log. Essa è utilizzata per tenere traccia degli eventi dei processi in background.

Data and Library caches. Sono aree di cache utilizzate per contenere i dati in transito da e verso il database (data) e le istruzioni SQL e PL/SQL in esecuzione (library). I processi di background, in una istanza oracle, eseguono funzioni comuni in relazione alla richiesta di un processo utente. Oltre ad effettuare tali richieste, i processi di background eseguono anche operazioni di input/output. Il numero ed il tipo di processi che vengono eseguiti dipendono dalla particolare configurazione di oracle, ma quelli elencati nel seguito sono sempre presenti. Database writer (DBW0). Esso è responsabile della scrittura dei dati dal database buffer (memoria) nei datafile (disco). Log writer (LGWR). Esso è responsabile della scrittura, degli eventi che si susseguono in una sessione di lavoro, dal log buffer (memoria) nel log file (disco). System monitor (SMON). Esso è responsabile del controllo della consistenza del database, se necessario inizia un recovery del database, quando esso è attivo. Process monitor (PMON). Esso è responsabile del rilascio delle risorse allocate da un eventuale processo utente fallito. In altri termini esso esegue le operazioni di pulizia deallocando le risorse inutilizzate. The checkpoint process (CKPT). Esso è responsabile dell aggiornamento dello status del database, per quanto concerne i datafile, ogni volta che viene memorizzato permanentemente un record nel database (garantisce la sincronizzazione dei dati). The recoverer process (REC0). Esso è responsabile della risoluzione delle transazioni fallite in ambiente distribuito. The archiver process (ARC0). Esso è responsabile del salvataggio automatico delle copie dei redo log in un area di memoria stabile specificata dall amministratore del database. Tale processo risulta attivo se è impostata a true la proprietà di log_archive. The dispatcher process (D000). Esso è responsabile della gestione in termini di scheduling delle richieste utente. The lock process (LMS). Esso è responsabile della gestione dei lock sulle transazioni in ambiente distribuito. Un processo listener è il processo che si occupa di gestire la comunicazione frai processi client e un istanza oracle. Un processo listener è caratterizzato da un nome, del database oracle che serve e da una porta di ascolto. E possibile definire un processo listener per ogni oracle database, o, più listener sullo stesso database.

Un oracle database è una collezione di dati che è trattata come una singola unità. Il database ha una struttura logica e una fisica. La struttura logica si pone ad un livello superiore rispetto a quella fisica, potendo esplicitare in essa i relativi vincoli come ad esempio le relazioni che intercorrono fra le tabelle. La struttura fisica contiene effettivamente tutti i dati del database. Un oracle database viene poi univocamente determinato, in ambito distribuito, da un nome o SID, dall indirizzo IP o nome a dominio dell host che la ospita e dalla porta di accesso su cui è in ascolto il processo listener. Un oracle database è composto da tre tipi di file. Datafile - Contiene il dato attuale del DB. Il dato è memorizzato in una tabella definita dall utente. Ma esistono altri datafile contenenti ad esempio informazioni sugli indici associati alle tabelle. Il tutto comunque è tracciato in un dizionario (struttura che oracle mette a disposizione per la registrazione di tutte le informazioni riguardanti un DB). Le caratteristiche principali di un datafile sono: Un datafile può essere associato con un solo database, inoltre i datafile possono avere fissate automaticamente spazi di memoria, nel momento in cui il database supera lo spazio consentito. Uno o più datafile formano una unità logica di database chiamata tablespace. Redo log - Contiene informazioni, scritte in un record, per l eventuale recovery del DB in caso di fallimento di qualche operazione Control file - Contiene le indicazioni per l uso del database e alcune informazioni specifiche sull istanza (nome database, percorso file di log, numero sequenziale corrente del redo log, informazioni su checkpoint etc ) Un oracle server in realtà utilizza anche altri datafile che non fanno parte del database, questi data file, ad esempio, possono contenere i parametri caratteristici riguardo una istanza, come ad esempio la dimensione in termini di memoria di una struttura della SGA. In figura 2 è riportata la schematizzazione completa dell architettura di Oracle 9i.

Figura 2: Architettura Oracle 9i Tutte le impostazioni che determinano il funzionamento dell ambiente runtime del database Oracle 9i sono contenute nel file init.ora che viene letto all atto di avvio di un istanza Oracle. In esso si ritrovano informazioni relative alla posizione su file system di tutti i file di sistema, le informazioni relative al dimensionamento della SGA e quelle relative alle funzionalità abilitate. Riassumendo quindi possiamo affermare che l architettura oracle si compone di uno o più processi utente, che rappresentano gli utilizzatori finali del DB (utilizzatori umani o entità software), e di un processo server, il cui compito è quello di accettare richieste da parte dei processi utente, e smistare poi tali richieste all istanza oracle e così via. Questa tipica architettura client-server che caratterizza i DBMS ORACLE, offre la possibilità effettuare connessioni dirette a un database remoto (ma anche locale), ciò viene realizzato mediante Net8 (successore SQL*Net) che è il prodotto per il networking tra un processo client e un processo database server. Come già detto, il responsabile della comunicazione con il mondo client è un particolare processo chiamato listener.

Normalmente sono richiesti due file di configurazione il TNSNAMES.ORA dal lato client, e LISTENER.ORA dal lato server. Net8 utilizza i nomi di servizio per identificare le connessioni remote. L esempio seguente mostra un possibile file TNSNAMES.ORA Connessione = (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (Host= 193.76.128.172) (Port=1521))) (CONNECT_DATA=(SID=DB1))) Connessione (alias) rappresenta il nome della connessione all istanza del DB ORACLE, PROTOCOL è il relativo protocollo di connessione da utilizzare (in questo caso TCP). Host è l indirizzo della macchina alla quale si vuole connettere (macchina dove fisicamente risiede il DB). Port rappresenta la porta sulla quale verranno inoltrate le richieste dal lato client, e accettate invece dal lato server. Il parametro CONNECT_DATA rappresenta il nome dell istanza di database sul quale si vogliono fare operazioni. La variabile assume particolare importanza quando vi sono sullo stesso host più istanze di datbase. Questa modalità di connessione e configurazione del file TNSNAMES.ORA è usata da tutti i client, indipendentemente dalla loro piattaforma di residenza. Il file TNSNAMES.ORA è di tipo ascii e quindi facilmente modificabile, nel momento in cui se ne richiede la necessità, ad esempio è possibile cambiare il nome DB, l host, il protocollo di connessione ect. Il TNSNAMES.ORA risiede sempre nel direttorio ORACLE_HOME/NETWORK/ADMIN. Oracle_Home rappresenta un path variabile dipendente dalla piattaforma. Per quanto riguarda invece il lato server i relativi parametri di accettazione del listener vengono letti dal file LISTENER.ORA che risiede sempre nel direttorio ORACLE_HOME/NETWORK/ADMIN (anche in questo caso ORACLE_HOME è dipendente dalla piattaforma ). Un singolo processo listener, su una singola porta, può anche accettare richieste di connessioni a varie istanze di database oracle, da parte dei client, anche con diversi protocolli di networking. L esempio seguente mostra un possibile file LISTENER.ORA. LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 193.76.128.172)(PORT = 1521))))) SID_LIST_LISTENER =(SID_LIST =(SID_DESC = (GLOBAL_DBNAME = DB1) (ORACLE_HOME =/products/oracle8/8.1.6) (SID_NAME = DB1)))

- Creazione di un database Oracle Il primo passo dopo l installazione di Oracle 9i Server, consiste nella creazione di un nuovo oracle database. In realtà alla fine l installazione è possibile creare subito o successivamente, mediante il tool Database Confiiguration Assistant (vedi figura 3), un oracle database specificandone il SID e tutti i parametri di inzializzazione (es.: tipo di database, dimensione SGA, posizione file di sistema, etc tutti riassunti nel file init.ora). Alla fine delle creazione del database vengono poi generati due particolari utenti (sys e system) atti all amministrazione di quest ultimo. Figura 3: Creazione di un database mediante Database Configuration Assistant Una volta terminata la creazione e configurazione dei parametri del database, si consiglia da un lato di verificare che l istanza oracle sia attiva e che il database oracle sia correttamente montato e aperto all interno di essa, connettendosi come sys o system con il ruolo di sys_dba, attraverso il client grafico Enterprise Manager Console; dall altro, attraverso i tool Net Manager o Net Configuration Assistant, verificare che sia presente un listener attivo per il database appena generato. Nelle figure seguenti sono mostrate, rispettivamente, le schermate di amministrazione di Enterprise Manager Console e Net Manager, predisposte a tali controlli. E possibile disabilitare o abilitare l avvio automatico sia dell istanza oracle che del processo listener mediante appositi script di avvio e chiusura. Figura 4: Avvio di un istanza oracle mediante Enterprise Manager Console

Figura 5: Controllo della configurazione del Listener mediante Net Manager Console - Client per la connessione ad un database Oracle Oracle mette a disposizione tre client per la connessione ad un oracle database, due di natura testuale, SQL Plus e SQLPLus Worksheet, e uno di natura grafica Enteprise Manager Console. Attraverso i primi due client si interagisce con il database attraverso l SQL, mentre con l ultimo l interazione è completamente grafica. In figura 6 sono riportate le interfacce di partenza dei 3 client. I parametri necessari per la connessione ad un database ORACLE sono: - Il nome o SID del database - Una username e password di accesso - L indirzzo IP e la porta di ascolto del listener (qualora questi sono mappati all interno del file client tnsnames.ora e legati al SID, essi non sono richiesti quando ci si connette, basta conoscere il solo SID) Una stringa di connessione ad un database oracle assume la forma: utente/password@ip_host:sid:porta