Post

Visualizzazione dei post da giugno, 2014

Toad: visualizzare un testo nelle colonne contenenti il valore NULL

Immagine
Per questo post è stata utilizzata la versione 11.6.0.43 di Toad. Andare sotto View --> Toad Options --> Data Grids --> Visual Inserire in corrispondenza di "Null column text" il carattere che si vuole visualizzare. Nel mio caso ho inserito il testo (null).

MERGE

L'istruzione MERGE permette di eseguire o una INSERT o una UPDATE o una DELETE di una tabella target a seconda che venga soddisfatta una join condition con una tabella source o il risultato di una select. S i n t a s s i MERGE INTO target_table TRG USING source_table SRC  ON ( TRG.column_name1 = SRC.column_name1 AND TRG.column_name2 = SRC.column_name2... ) WHEN MATCHED THEN  UPDATE SET  TRG.column_namei = SRC.column_namei, TRG.column_namej = SRC.column_namej, ....... WHEN NOT MATCHED THEN  INSERT  (TRG.column_namei, TRG.column_namej,...)  VALUES  (SRC.column_namea, SRC.column_nameb,..) WHERE SRC.column_name...; Al posto della tabella source può esserci una SELECT.

INSERT

L'istruzione INSERT serve per inserire righe in una tabella perché in un database i dati vengono memorizzati sotto forma di righe nelle tabelle. S i n t a s s i INSERT INTO  Table_name [(column1, column2,..)] VALUES (value1, value2...) ; INSERT INTO (select colum1, column2,... from Table_name [where ....] ) VALUES (value1, value2...); I campi "value" possono essere anche il risultato di una subquery (esempio select max(region_id) from regions). Se non vengono selezionate le colonne della tabella si parla di positional notation e la INSERT esegue il match tra l'ordine dei valori inseriti con l'ordine di definizione delle colonne della tabella. L'istruzione fallisce se i valori inseriti e i tipi di dato delle colonne sono differenti. E s e m p i o select * from hr.regions; REGION_ID, REGION_NAME ---------------------------------------- 1                       Europe 2                       Americas 3                       Asia insert into

Creare una tabella usando un differente tablespace

Se si è in possesso di una quota su un altro tablespace, è possibile creare una nuova tabella a partire da una già esistente, in un altro tablespace, inserendo l'istruzione TABLESPACE <tablespace name> dopo il comando CREATE TABLE. CREATE TABLE nome_tabella TABLESPACE altro_tablespace AS SELECT * FROM old_temporary_table WHERE amount<5000;

Alter Database Backup Controlfile

Connettersi come SYSDBA. E' possibile effettuare il backup del control file su un file binario. SQL>  alter database backup controlfile to '/path/control.bkp';  Con il seguente comando invece viene creato un file di trace contenente gli script sql per ricreare il control file. SQL>  alter database backup controlfile to trace as '/path/ctrlfile.trc'; Se non si inserisce il path vedere l'alert log per determinare il nome e il path del trace file. SQL> alter database backup controlfile to trace;

Create Pfile from Spfile

Immagine
Il post è stato testato su Oracle 11gR2. Connettersi come SYSDBA SQL> sqlplus /nolog connect /as sysdba ; Per verificare quale file è stato usato allo start del db eseguire il comando: SQL> show parameter spfile NAME     TYPE      VALUE --------------------------------- spfile string Se VALUE è Null vuol dire che è stato utilizzato pfile. Quando si usa spfile il risultato è il seguente: SQL> show parameter spfile; NAME        TYPE                   VALUE ------------------------------------------------------------------------- ----------- ----- spfile         string              /u01/app/oracle/product/18/db_1/dbs/spfileorcl.ora E' possibile effettuare il back up di spfile in un'altra directory con il seguente comando: SQL>  create pfile='/tmp/init_<sid>.ora'  from spfile; Con il seguente comando creiamo file init<sid>.ora (chiamato pfile) nella direcotry di deafult $ORACLE_HOME/dbs SQL>  create pfile='initorcl.ora' from spfile

Backup

Immagine
L'argomento del presente post è stato testato su database Oracle 11gR2 single instance. Lo scopo del backup è riportare l'istanza in stato open. Una istanza singola passa allo stato open dopo le fasi di: 1) nomount : se esiste il server parameter file spfile<SID>.ORA o il suo backup o almeno il file init.ora; 2) mount : se esiste il controlfile; 3) open : se esistono Datafile e Redolog file e se hanno gli stessi valori di SCN (System Change Number). Il Backup con RMAN effettua una copia fisica di: - Datafile - Control file (Spfile) - archive redo logs  di default all'interno della flash recovery area. Il tool per realizzare il backup, restore e recovery è Recovery Manager o RMAN che è un client e pertanto per funzionare l'istanza deve essere almeno in stato mount . Si trova sotto il path seguente: [oracle@coslab03 ~]$ which rman /u01/app/oracle/product/11.2.0/dbhome_1/bin/rman Possiamo distinguere due tipi di backup: Cold Backup   (ossia b