Pagina Principale/Oracle

Page last edited 1 860 giorni 20 ore fa
Da wiki.betaingegneria.it.

Oracle[modifica]

top database

Comandi utili[modifica]

Sequenze[modifica]

  create sequence SCHEMA.seq_nomesequenza
  start with 86
  maxvalue 999999
  minvalue 1
  nocycle
  cache 20
  noorder;

Aggiunta di constraint[modifica]

  alter table ricevute.capitoli add constraint pk_capitoli 
  primary key (id);

Trigger[modifica]

  create or replace trigger schema.idchiave_bef_ins before insert on tabella for each row
  begin
     select seq_nomesequenza.nextval into :new.id from dual;
  end;

Connection pooling[modifica]

File:Http://www.praetoriate.com/images/auth pic don burleson 120 140.jpg Tratto da AskTom.com

Mi sono imbattuto in questo link cercando "cos'è il connection pooling Oracle?" su Google.

Questa la risposta di Tom Burleson

Un pool ("squadra") di connessioni è generalmente la pratica di uno strato software intermedio (application server) di ottenere N connessioni a un database (ad esempio 20 connessioni).

Queste connessioni sono memorizzate in un "pool" nel livello intermedio, un "array", se volete. Ogni connessione è impostata inizialmente su "non in uso".

Quando un utente invia una pagina web al server applicativo (Tomcat, PHP, ...), viene eseguito un pezzo di codice, il codice dice: "ho bisogno di arrivare al database", invece di collegarsi proprio lì e in quel momento (cosa che richiede tempo), si va solo a questo array e si dice "mi dai una connessione per favore?".

Il software di gestione del pool di connessioni contrassegna la connessione come "in uso" e ve la dà.

Quindi voi generate la pagina, la formattate in qualche modo in html - e poi ritornate la connessione al pool dove qualcun altro può riutilizzarla.

In questo modo, con 20 connessioni al database, è possibile evitare il sovraccarico di collegare / scollegare e (ancora più importante forse) si può servire una comunità di centinaia di utenti simultaneamente utilizzando solo 20 connessioni! (al contrario del caso client-server nel quale centinaia di utenti richiederebbero simultaneamente centinaia di connessioni!)

Sul mio sito, io uso mod_plsql; mod_plsql riusa queste connessioni - al massimo, ho tra 10 e 15 connessioni là fuori (il pool di connessioni di suo si spegne dopo un periodo di inattività e assegna nuove connessioni in base alle esigenze).

Questo post è stato scritto nel 2004.

Oracle 11g XE 64 bit[modifica]

Utilissimi questi due howto

e in più occorreva fare questo

  sudo apt-get install libaio1

altrimenti dava questo errore

  Starting Oracle Net Listener.
  Starting Oracle Database 11g Express Edition instance.
  Failed to start Oracle Net Listener using /u01/app/oracle/product/11.2.0/xe/bin/tnslsnr and Oracle Express Database using /u01/app/oracle/product/11.2.0/xe/bin/sqlplus.

Variabili d'ambiente

  ORACLE_HOME_LISTENER=/u01/app/oracle/product/11.2.0/xe
  ORACLE_SID=XE
  ORACLE_BASE=/u01/app/oracle
  ORACLE_TERM=xterm
  ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe