Categoria: Oracle Database

Come eliminare e creare un tablespace temporaneo

Temporary tablespaces are used to manage space for database sort operations and for storing global temporary tables. For example, if you join two large tables, and Oracle cannot do the sort in memory (see SORT_AREA_SIZE initialization parameter), space will be allocated in a temporary tablespace for doing the sort operation. Other SQL operations that might require disk sorting are: CREATE INDEX, ANALYZE, Select DISTINCT, ORDER BY, GROUP BY, UNION, INTERSECT, MINUS, Sort-Merge joins, etc.

Come ripristinare l’OCR e il voting disk quando vengono persi

11gR2 – Restore OCR/ VOTEDISK based on ASM, when loss of CRS Diskgroup. etichette: 11GR2, loss of CRS Diskgroup, lost OCR on ASM, RAC, RESTORE OCR, RESTORE OCR ON ASM, RESTORE VOTEDISK Individua il backup OCR automatico più recente Quando si utilizza una home CRS non condivisa, i backup OCR automatici possono essere posizionati su qualsiasi nodo del cluster, di conseguenza tutti i nodi devono essere controllati per il backup più recente: $ ls -lrt $CRS_HOME/cdata/rac_cluster1/ -rw——- 1 root root 7331840 Mar 10 18:52 week.ocr -rw——- 1 root root 7651328 Mar 26 01:33 week_.ocr -rw——- 1 root root 7651328 Mar...

Create Oracle SQL Profile For Tuning

Stai cercando come ottimizzare un’istruzione SQL creando un profilo SQL? Query Optimizer a volte può produrre stime imprecise su un attributo di un’istruzione a causa della mancanza di informazioni, portando a piani di esecuzione scadenti. L’ottimizzazione SQL automatica risolve questo problema con la sua capacità di profiling SQL. L’ottimizzazione della sintonizzazione automatica crea un profilo dell’istruzione SQL denominato profilo SQL, costituito da statistiche ausiliarie specifiche per tale istruzione. Durante la creazione di profili SQL, l’ottimizzazione della sintonizzazione automatica utilizza anche le informazioni sulla cronologia di esecuzione dell’istruzione SQL per impostare in modo appropriato le impostazioni dei parametri dell’ottimizzatore, ad esempio...

Pivot and Unpivot

Queste parole chiave sono state introdotte in Oracle 11g. L’operatore UNPIVOT trasforma i dati disposti su una colonna in righe separate. Con questa utility è possibile convertire la visualizzazione dei dati per averli visualizzati su colonne e su righe. In questo esempio parliamo dei prezzi associati a un biglietto: UNPIVOT : SELECT * FROM tickets ; Applicazione dello unpivot: ruotando sulla colonna ticket è possibile vedere il prezzo di apertura e chiusura su righe separate. SELECT ticket,to_char(ticket_date,’YYYYMMDD’)ticket_date,price_type,price FROM tickets UNPIVOT ( price FOR price_type IN ( opening_price AS ‘OPEN’, closing_price AS ‘CLOSE’) ) ; Script: drop table tickets purge /...

ORACLE – enq: TX row lock contention

Enqueues sono blocchi che coordinano l’accesso alle risorse del database. enq: wait event indica che la sessione è in attesa di un blocco mantenuto da un’altra sessione. La quantità di tempo di attesa associata a questo evento di attesa è eccessiva e può essere responsabile per problemi di prestazioni osservati nell’applicazione. Le accodamenti TX vengono acquisiti in esclusiva quando a la transazione inizia la sua prima modifica e viene mantenuta finché la transazione non esegue un COMMIT o ROLLBACK. Alcune situazioni di accodamento TX: – Attese per TX in modalità 6 si verificano quando una sessione è in attesa di un...

ORACLE 12C: Dataguard Far Sync

L’istanza Oracle Dataguard Far Sync è una nuova funzionalità introdotta in Oracle Database 12c, che funziona semplicemente come un ripetitore di archiviazione / ripetizione. L’istanza di sincronizzazione remota è qualcosa di diverso dall’istanza di Oracle Database, poiché la sua missione è accettare la ripetizione dal database principale e quindi spedire la ripetizione ad altri membri della configurazione di Oracle Data Guard. L’istanza Far Sync è un’istanza senza un database. Sebbene; ha file di controllo e capacità di leggere dai file redolog in standby e di scriverli nei file di log dell’archivio locale, l’istanza di Far Sync non mappa alcun file...

Ora-19025

Quando lavori con il file xml dovresti risolvere lo scenario che ha un nodo con il suo sotto-nodo. Nel nostro caso i seguenti nodi (); (). È abbastanza delicato trovare esattamente l’approccio che ti dà il risultato previsto. I problemi che ho avuto erano due: – Riga duplicata –  ORA-19025 EXTRACTVALUE returns value of only one node or ORA-19279: XPTY0004 – XQuery dynamic type mismatch: expected singleton sequence – got multi-item sequence L’immagine seguente mostra lo scenario descritto: Riga duplicata significa che la query estrae i valori che non sono inclusi nel tuo nodo come questi in rosso. Controllare lo...

Oracle Database 18c: My preferred new features for DBAs

Oracle Databse 18c include alcune nuove interessanti funzionalità per i DBA. In questo articolo elencherò i miei preferiti. Solo una nota: penso che il nome “Database autonomo” sia abbastanza fuorviante, in quanto significa che alcune delle nuove funzionalità POTREBBERO essere utilizzate per configurare il database come “autonomo” laddove le versioni precedenti richiedevano un po ‘di manutenzione, e questa sarà la direzione di le prossime generazioni di Oracle Database. 1. PRIVATE TEMPORARY TABLES Puoi creare tabelle temporanee con queste caratteristiche: – NAME deve essere prefissato da “ORA$PTT_” (o il valore corrente del parametro di inizializzazione di PRIVATE_TEMP_TABLE_PREFIX) – DATA viene automaticamente...

Create Sequence-Oracle Database 12c

Database version : from Oracle Database 12cR1 Crea sequenza con sessione o opzione globale Quando viene generato un numero di sequenza, la sequenza viene incrementata, indipendentemente dal commit o dal rollback della transazione. L’opzione SESSIONE offre l’opportunità di creare una sequenza che può essere utilizzata in associazione con la tabella temporanea globale, quindi la sua visibilità è solo per la sessione. Le seguenti opzioni CACHE, NOCACHE, ORDER o NOORDER vengono ignorate quando viene dichiarata SESSION. 1) statement SQL> CREATE GLOBAL TEMPORARY TABLE glb_tmp_table (a number); Table created. SQL> CREATE SEQUENCE sq_sess SESSION; Sequence created. 2) esecuzione script SQL> INSERT INTO...

LIST-PARTITIONED

Introduzione all’argomento: In list partitioning, il database utilizza un elenco di valori discreti come chiave di partizione per ciascuna partizione. È possibile utilizzare il partizionamento degli elenchi per controllare il modo in cui le singole righe vengono mappate a partizioni specifiche. Utilizzando gli elenchi, è possibile raggruppare e organizzare insiemi di dati correlati quando la chiave utilizzata per identificarli non è ordinata in modo conveniente. Esempio: 1. Questo esempio mostar come funziona l’index Si supponga di creare list_sales come tabella partizionata da elenchi utilizzando la seguente istruzione. La colonna channel_id è la chiave di partizione. check partition: Table Partition HIGH_VALUE...