Home| Progetto| Web| Faq| Acronimi | ||||
Argomenti Documenti pubblicabili:1120
Scripts:1282 Documenti non pubblicabili:162 Categorie tematiche:68 .Net |_C# |_Visual basic.net |_Asp.net Active Server Pages C++ Cascade Style Sheet JavaScript Mysql Php Xml Java |_Java 2 Micro Edition |_Java server pages |_Java Servlet Oracle |_PLSQL PostgreSQL Unix
Oracle...
Info:
dbms_output.put_line
Oracle...
Script:
Check if database is running on Rac or Exclusive via plsql dbms_utility
Unix...
Tip:
Rimuovere un file in Unix / Delete a file
PLSQL...
Script:
Scrivere su un file
Oracle...
Tip:
LICENCE_MAX_USERS
Oracle...
Faq:
Rename column
Shell scripting...
Script:
Compact if construct
A User Agent, like a web browser, uses HTTP to request a HTML document
Php Funzione mail()
In programming the danger of exploring the small details of coding is that you get obsessed with every line of code you write, thereby greatly reducing productivity.
In general, is not worth obsessing over code. On the other hand you should code with deliberation and intent. Steven Feurstein Oracle Magazine July /August 2004 A User Agent, like a web browser, uses HTTP to request a HTML document
|
Oracle
Home >Oracle > Quando sono stati modificati i dati della tabella
SCN System Change Number or System Commit Number rappresenta un numero univoco progressivo in sequenza che identifica l'ultima modifica nel database (ultimo commit). SCN è l'orologio interno di Oracle. Oracle utilizza lo SCN in tutti i file del database: control files, datafile headers, redo logs, con esso verifica il loro allineamento. Ogni Commit (implicito o esplicito) genera il successivo SCN. Si ricorda che anche se le applicazioni degli utenti non eseguono nessuna attività, in un database sono sempre in corso transazioni (come quelle del processo PMON) e quindi SCN è continuamente incrementato, a meno che il database sia aperto in modalità READ ONLY. In v$DATABASE registra l' SCN corrente.
SQL> COL CURRENT_SCN FORMAT 9999999999999999
SQL> select CURRENT_SCN from v$database CURRENT_SCN --------------- 12962510371 La funzione SCN_TO_TIMESTAMP traduce in timestamp, in tempo, il valore dell'SCN
SQL> select SCN_TO_TIMESTAMP(CURRENT_SCN) from v$database;
SCN_TO_TIMESTAMP(CURRENT_SCN) ------------------------------- 30-SEP-11 03.39.22.000000000 PM Se si esegue consecutivamente questa query si nota come il valore cambi in continuazione: Oracle per ogni modifica DML dei dati in tabella assegna al blocco impattato lo SCN corrente. ORA_ROWSCN è la pseudocolonna contenente lo SCN dell'ultima modifica avvenuta all'interno del blocco appartentente alla riga. Anche se l'istruzione di DELETE/INSERT/UPDATE impatta solo una riga tutte le altre righe appartenti al blocco saranno aggiornate. Segue un esempio creando una semplice tabella
create table T (N number) tablespace USERS STORAGE;
Con DBA_TABLES verifichiamo i blocchi allocati alla tabella , dopo la il lancio della raccolta statistica SQL> analyze table t compute statistics; Table analyzed. SQL> SELECT blocks as BLOCKS_USED, empty_blocks FROM dba_tables where table_name='T' ; BLOCKS_USED EMPTY_BLOCKS ----------- ------------ 0 8 La seguente procedura, che viene eseguita in pochi secondi, popola la tabella di 120.000 righe, eseguendo commit ogni 40000 righe. set linesize 300 set serveroutput on begin for i in 1..120000 loop insert into T values (i); if mod(i,40000)=0 then dbms_output.put_line('commit at : ' || i); commit; end if; end loop; end; / PL/SQL procedure successfully completed. commit at : 40000 commit at : 80000 commit at : 120000 Dopo il popolamento la tabella contiene più blocchi SQL> analyze table t compute statistics; Table analyzed. Elapsed: 00:00:00.44 SQL> SELECT blocks as BLOCKS_USED, empty_blocks FROM dba_tables where table_name='T' and owner='SYS' ; BLOCKS_USED EMPTY_BLOCKS ----------- ------------ 244 12 Si può verificare che per ogni commit è stato associato il contemporaneo SCN. select distinct (ORA_ROWSCN) from t; SQL> select distinct (ORA_ROWSCN) from t; ORA_ROWSCN ---------- 7957269511 7957268743 7957269153 Se una riga viene modificata, il ORA_ROWSCN di tutto il blocco di appartenenza viene aggiornato: -- verifichiamo ORA_ROWSCN della riga con N=1 SQL> select ORA_ROWSCN from T where N=1; 7957269511 -- eseguiamo modifica DML su questarigha update t set n=0.1 where n=1; commit; -- verifichiamo il cambio dell'SCN SQL>select ORA_ROWSCN from T where N=0.1; 7957272189 -- verifichiamo che SCN ha impattattato tutte le righe contando quante righe ORA_ROWSCN select count(1) from T where ORA_ROWSCN = (select ORA_ROWSCN from T where N=0.1); COUNT(1) ---------- 660 ORA_ROWSCN diventa quindi uno strumento per verificare quando è avvenuta l'ultima modifica dei dati di una tabella select max(SCN_TO_TIMESTAMP(ORA_ROWSCN )) from t; MAX(SCN_TO_TIMESTAMP(ORA_ROWSCN)) -------------------------------------------------------------- 03-OCT-11 12.56.39.000000000 PM Dott. Marco Magnani DBA Telecommunication sector Warning: include(ads/text468x15.html): failed to open stream: No such file or directory in D:\inetpub\webs\fishscriptcom\documents\view_document.php on line 131 Warning: include(): Failed opening 'ads/text468x15.html' for inclusion (include_path='.;C:\php\pear') in D:\inetpub\webs\fishscriptcom\documents\view_document.php on line 131 Tutorial Flashback database to timestamp ripristinare il database ad una data determinata [Oracle] Auditing for wrong sql How to intercept wrong dml sql statement [Oracle] Using data pump in interactive mode [Oracle] Alter session set current_schema How to query other user tables without specify the schema name [Oracle] Procedura conteggio righe tutte le tabelle di uno schema esempio utilizzo NDS [PLSQL] Inserire righe in tabelle utilizzando %rowtype scrivere codice pl/sql compatto [PLSQL] Generazione di numeri casuali dbms_random.value [PLSQL] Eseguire comando truncate di tutte le tabelle di uno schema atraverso dizionario dati e istruzione sql dinamica [PLSQL] Dropping a database [Oracle] Create new user basic sql statements [Oracle] Viste note e appunti [Oracle] NOT EXISTS clause basic example [Oracle] Creazione di un database Oracle 10g da linea di comando esempio su sistemi Windows Server / XP: comandi e script [Oracle] Clean up audit tables remove auditing logs [Oracle] Nomenclatura oracle tipologie oggetti catalogo [Oracle] Script dbms_output.put_line Stampare spazi bianchi [Oracle] Opzione DEFAULT per il valore di una colonna [Oracle] Cercare le colonne in uno schema utilizzare le tabelle del dizionario dati di Oracle [Oracle] Esempio script dos per eseguire export di schema automatizzare procedure di export e rinominare il file in base alla data corrente [Oracle] Dato il nome di una vista ricava informazioni su tipo e attributi della colonna di riferimenti tabelle dizionario dati [Oracle] Redo log ricollocare/trasferire i file di Redo [Oracle] Scrivere su un file esempio con UTL_FILE package [PLSQL] Leggere un file di testo [PLSQL] Esempio funzione MOD in un loop ... [PLSQL] Record sintassi di base: definizione, dichiarazione, assegnazione e stampa [PLSQL] Errori intercettare codice e descrizione errori sql [PLSQL] Esempio inserimento righe all'interno di un loop [PLSQL] Cursore implicito SQL esempio con SQL%ROWCOUNT [PLSQL] Esempio tipo VARRAY gestione array [PLSQL] TYPE TABLE utilizzare le collections [PLSQL] Comandi Modificare il formato di default [Oracle] systimestamp [Oracle] CURRENT_TIMESTAMP [Oracle] Spostare un indice in un diverso tablespace [Oracle] analyze [Oracle] Costruire istruzioni sql dinamiche il carattere speciale & [Oracle] Exp utility esempio export di singole tabelle [Oracle] Group by mese di colonna di tipo data [Oracle] ALTER SEQUENCE Modificare una sequenza [Oracle] Spazio libero nei tablespace utilizzo tabella DBA_FREE_SPACE [Oracle] NLS_DATABASE_PARAMETERS ricavare i parametri del database [Oracle] Lista control files [Oracle] Spostare una tabella in un diverso tablespace [Oracle] Creazione di una directory in ambiente oracle [Oracle] Funzione TRUNC esempio visualizzazione primo giorno del mese corrente [Oracle] Codici errore Errore connessione client ORA-12638 Credential retreival failed [Oracle] impdp / expdp importare in sql metadata del database datapump per esportare ed importare metatadati [Oracle] ORA-06553: PLS-213,ORA-06553: PLS-213,ORA-06553: PLS-213 Errori in fase di creazione database, occorre eseguire gli script di catalog [ERRORI] Operazioni sulle date utilizzando il nome dei mesi NLS_DATE_LANGUAGE ORA-01843: mese non valido / not a valid month [Oracle]
Marco Magnani marcomagnani@fishscript.com
|
Cerca
Oracle...
Info:
Conversioni implicita tipi
Anger is creative, depression is useless.
Dyson, Freeman J. Anger is creative, depression is useless.
Dyson, Freeman J.
Oracle...
Info:
Oracel shared server: session memory
Oracle...
Citazioni:
Designing an efficient Schema ...
Oracle...
Definizioni:
Set di caratteri (Characterset)
Oracle...
Definizioni:
Scalar Subquery
Shell scripting...
Script:
Script for archiving and compressing folder and file
fishScript.Com is accessible by Mobile access technology
as mobile phones, Palm and Pocket PC .
Nicoleta e Marco Magnani tutorial, examples, courses, esempi, corsi, esercizi, appunti vari Dottoressa Nicoleta Dragu Formatrice Docente Insegnante Mediatrice Culturale Dott. Marco Magnani Universita La Sapienza Roma Master Computer Science Hunter College New York , Data Base Administrator DBA oracle System architect |