Oracle
Stamattina Oracle mi da il buon giorno con:
ERROR at line 1:ORA-16038: log 1 sequence# 230 cannot be
archivedORA-19809: limit exceeded for recovery filesORA-00312: online
log 1 thread 1: '/oradata/.../redo01.log'
L'errore è generato dalla mancanza di spazio riservato al flash recovery.
Per risolvere il problema bisogna incrementare il valore di
db_recovery_file_dest_size
Es.:
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=10G SCOPE=BOTH;
Solution: Backup oracle flash recovery area
powered by IMHO 1.3
per leggere il post originale o inviare un commento visita il
seguente indirizzo:
ORA-19809: limit exceeded for recovery files
In attesa di testare SQL Developer
rilasciato in questi giorni da Oracle. Consiglio a chiunque lavori con Oracle (dba e non)
PL/SQL Developer. Lo so che è a pagamento, ma finora, non ho trovato
un tool migliore per lavorare con Oracle.
Fletto i muscoli e sono nel vuoto.
per leggere il post originale o inviare un commento visita il
seguente indirizzo:
PL/SQL Developer 7.0
powered by IMHO 1.3
Oracle ha rilasciato gratuitamente un nuovo software per
la gestione e la programmazione di database chiamato SQL Developer, che può
essere considerato come la controparte grafica di SQL Plus, il tool a linea di
comando presente in ogni versione del database Oracle.
Home: SQL Developer
Fonti: ziobudda.net -> e-linux.it -> programmazione.it -> internetnews.it
powered by IMHO 1.3
per leggere il post originale o inviare un commento visita il
seguente indirizzo:
Oracle rilascia SQL Developer
Fonte: http://www.psoug.org/reference/sequences.html
CREATE OR REPLACE PROCEDURE spu_reset_sequence (seq_name IN VARCHAR2, startvalue IN PLS_INTEGER) AScval INTEGER;inc_by VARCHAR2(25);BEGIN EXECUTE IMMEDIATE 'ALTER SEQUENCE ' ||seq_name||' MINVALUE 0'; EXECUTE IMMEDIATE 'SELECT ' ||seq_name ||'.NEXTVAL FROM dual' INTO cval; cval := cval - startvalue + 1; IF cval < 0 THEN inc_by := ' INCREMENT BY '; cval:= ABS(cval); ELSE inc_by := ' INCREMENT BY -'; END IF; EXECUTE IMMEDIATE 'ALTER SEQUENCE ' || seq_name || inc_by || cval; EXECUTE IMMEDIATE 'SELECT ' ||seq_name ||'.NEXTVAL FROM dual' INTO cval; EXECUTE IMMEDIATE 'ALTER SEQUENCE ' || seq_name || ' INCREMENT BY 1';END;/
powered by IMHO 1.3
Fonti:
http://www.oracle-base.com/articles/10g/OracleDB10gInstallationOnFedora4.php
http://www.puschitz.com/InstallingOracle10g.shtml
powered by IMHO 1.3
Oracle non fornisce in modo nativo un metodo per
convertire una stringa, in cui ci sono valori numerici separati da un
token, in un array.
Ecco una possibile soluzione:
create or replace type myTableType as table of number;create or replace function str2tbl( p_str in varchar2 ) return myTableType as l_str long default p_str || ','; l_n number; l_data myTableType := myTabletype(); begin loop l_n := instr( l_str, ',' ); exit when (nvl(l_n,0) = 0); l_data.extend; l_data( l_data.count ) := ltrim(rtrim(substr(l_str,1,l_n-1))); l_str := substr( l_str, l_n+1 ); end loop; return l_data; end;/
da utilizzare nel seguente modo
select * from all_users where user_id in ( select * from THE ( select cast( str2tbl( '1, 3, 5, 7, 99' ) as mytableType ) from dual ) ) USERNAME USER_ID CREATED------------------------------ ---------- ---------SYSTEM 5 20-APR-99
fonti:
forums.oracle.com
asktom.oracle.com
powered by IMHO 1.3
Ecco una utile estensione di firefox per le vostre
ricerche nei meandri della Oracle documentation library.
http://awads.net/wp/2005/11/21/oracle-docs-firefox-extension/
powered by IMHO 1.3
Note salienti di questo rilascio:
1) SOA (Service Oriented Architecture )
2) Certificazione per interagire con tools come: Apache Struts, Apache Axis, Apache MyFaces,
Hibernate, Tapestry, JUnit, CVS, SubVersion, Ant e Eclipse
3) Piena inteoperabilità con componenti middleware non di
terzi come .Net, Ibm WebSphere e Mq Series.
Fonte: http://www.programmazione.it/front/index.php?entity=earticle&idArticle=31020
Fletto i muscoli e sono nel vuoto.
powered by IMHO
Ecco un piccolo esempio per il confronto di due
timestamp in oracle.
-- Controllo se l'intervallo tra i due timestamp è maggiore di 30 secondiif (current_timestamp - obj.ts) > (interval '30' second ) thenend if;
Qui un reference per i timestamp.
Fletto i muscoli e sono nel vuoto.
powered by IMHO
Alias Query a campi incrociati in Oracle.
Ecco come fare: http://blogs.ugidotnet.org/beyond/articles/17919.aspx
Fonte: http://weblogs.asp.net/stevencohn/archive/2005/01/28/362373.aspx
Fletto i muscoli e sono nel vuoto.
powered by IMHO
Ho aggiunto "la post-installazione".
Non credo che aggiungerò l'installazione in se, in quanto non ho consigli
pratici sul da farsi... tranne... leggere attentamente prima di premere "next"
Articolo
Fletto i muscoli e riavvio il pc (per l'n-esima volta).
powered by IMHO
Dopo la il dubbio di Andrea su dove installare oracle. Ecco un mini
articolo sulla mi "avventura" con oracle (sotto linux), con l'intenzione di
aiutarvi. Spero non vi scoraggi
La bozza contiene - per il momento - solo la "pre-installazione" e una
piccola storia su vi .
A breve l'installazione e la "post-installazione".
Articolo
Fletto i muscoli e sono in una fork.
powered by IMHO
Ecco una semplice funzione per calcolare la
differenza tra due date.
create or
replace function FUN_DATEDIFF ( dateFrom in date, dateTo in date, interval in char)
return numberAS result
number;begin
-- select case
lower(interval) when
'm' then
round(MONTHS_BETWEEN(dateTo, dateFrom)) when
'd' then
round(dateTo - dateFrom) when
'y' then
round(MONTHS_BETWEEN(dateTo, dateFrom)/12) else
0 end into
result from
dual; -- return(result); --end
FUN_DATEDIFF;
Powered By IMHO
Avete bisogno di riportare il vostro schema Oracle su HTML o WORD per la vostra documentazione?
E’ possibile scrivere un semplice programma che esporti il vostro schema Oracle in XML. Quindi, tramite XSLT potrete modellare il vostro XML come vi pare e piace.
Le informazioni di cui avremo bisogno sono:
Conoscere l’elenco delle tabelle di cui è composto il nostro schema.
SELECT * table_name FROM all_all_tables WHERE owner = 'mioschema' ORDER BY table_name
Conoscere le informazioni delle colonne di ogni tabella.
SELECT ALL_TAB_COLUMNS.COLUMN_NAME, COLUMN_ID, DATA_DEFAULT, NULLABLE, DATA_TYPE, DATA_PRECISION, COMMENTS, DATA_LENGTHFROM ALL_TAB_COLUMNS, All_COL_COMMENTSWHERE ALL_TAB_COLUMNS.OWNER = ALL_COL_COMMENTS.Owner AND ALL_TAB_COLUMNS.TABLE_NAME = ALL_COL_COMMENTS.TABLE_NAME AND...
Avete bisogno di eseguire operazioni su bit in PLSQL, l'open-source vi da una mano !
http://cellar.sourceforge.net/plsql/index.html
Tramite una semplice riga di codice in PLSQL è possibile sapere se una stringa contiene un valore numerico o meno.
Data la nostra stringa: foo
LENGTH (TRIM (TRANSLATE (foo, ' +-.0123456789', ' ') ) )
La quale ritorna:
null, se il valore contenuto nella stringa rappresenta un numero.
un valore >= 0, se la stringa è alfanumerica.
Esempi:
LENGTH (TRIM (TRANSLATE ('123b', ' +-.0123456789',' ') ) );
ritorna 1
LENGTH (TRIM (TRANSLATE ('a123b', ' +-.0123456789',' ') ) );
ritorna 2
LENGTH (TRIM (TRANSLATE ('1256.54', ' +-.0123456789',' ') ) );
ritorna null
LENGTH (TRIM (TRANSLATE ('-56', ' +-.0123456789',' ') ) );
ritorna null
Risorsa originaria in inglese:
http://www.techonthenet.com/oracle/questions/isnumeric.htm