Post

Visualizzazione dei post da maggio, 2014

Alter Tablespace Add Datafile

Un data file può essere aggiunto a caldo cioè con il database Open. Connettersi come sysdba. [oracle@... ]$sqlplus /nolog SQL> conn sys/admin@orcl as sysdba SQL> ALTER TABLESPACE EXAMPLE ADD DATAFILE ' /u01/app/oracle/oradata/ ORCL/PROVA06.DBF' SIZE 1024M AUTOEXTEND  ON NEXT 100M MAXSIZE 2048M; Se si una   MAXSIZE UNLIMITED   la dimensione del data file può crescere al massimo a 32GB. Per vedere i Datafiles associati ad una tablespace eseguire la query: select tablespace_name, file_name from DBA_DATA_FILES where tablespace_name = 'EXAMPLE' order by 1; Se il tablespace è TEMP ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/ORCL/temp02.dbf' SIZE 1024M  AUTOEXTEND ON NEXT 640K  MAXSIZE 4096M;

Aggiungere Datafile ad un Tablespace da TOAD

Immagine
Un Datafile può essere aggiunto a caldo cioè con il database Open. Connettersi come SYSDBA e aprire il database. Selezionare Schema Browser . Selezionare Tablespaces e il tablespace da modificare; pulsante destro e selezionare Alter Tablespace . Selezionare Add. Selezionare Find/Copy oppure inserire un nuovo file e fissare una dimensione. Selezionare OK. Selezionare OK; sono visibili i nuovi datafile aggiunti al tablespace.

Avvio Istanza Oracle 11g

Immagine
 Connettersi ad Sql Plus che è installato con il database e si trova nella directory $ORACLE_HOME/bin. STEP 1 [oracle@dbserver1 bin]$ sqlplus /nolog SQL> conn /as sysdba Connected to an idle instance. SQL> startup nomount; ORACLE instance started. Total System Global Area 626327552 bytes Fixed Size 2215944 bytes Variable Size 457183224 bytes Database Buffers 163577856 bytes Redo Buffers 3350528 bytes Viene letto il Server Parameter file spfile<SID>.ora sotto $ORACLE_HOME/dbs che contiene le informazioni sulla memoria SGA, la posizione del Control file, la dimensione del Blocco oracle, il nome del db. Se presente il paramentro "memory_target" vuol dire che in fase di installazione si è scelto di gestire la memoria con la modalità Automatic Storage Management cioè il sistema decide da solo come gestire il totale della memoria costituito da SGA + PGA. Un volta letto il suddetto file, viene allocata l'istanza e quindi è occupata memoria nel

INLINE VIEW

INLINE VIEW si intende una Select Statement (o subquery) all'interno di una clausola FROM di un altra query. Si usa al posto di una JOIN e le colonne selezionate nella subquery possono essere utilizzate dalla Select padre. Esempio: selezionare gli impiegati che guadagnano il più alto salario per dipartimento. select last_name ,first_name,  e.department_id , salary from employees  e, ( select department_id , max (salary) as max_salary from employees group by department_id) d where e.department_id = d.department_id and d.max_salary = e.salary;

Export Database - Sql Developer

Immagine
Per questo articolo è stato usato SQL Develpoer versione 4.0.1.14. e Oracle 11g. Configurare da Strumenti\Preferenze\Database\Utility\Esporta il valore di Esporta Dati: Formato = insert. Connettersi come Sysdba e selezionare Strumenti\ Esportazione Database. Scegliere la connessione dalla quale si vuole effettuare l'esportazione degli oggetti, ad esempio lo schema HR. Se vogliamo esportare solo le tabelle selezionare la voce Tabelle Al termine dell'esportazione verrà aperto il file sql contenente tutte le istruzioni DDL. E' possibile esportare i dati anche dal Connection Navigator. Collegarsi come HR e selezionare la tabella di interesse e dal pulsante destro scegliere Esporta e poi procedere come le schermate precedenti.

DROP USER Oracle 11g

Per poter cancellare un User collegarsi come SYSDBA o avere i privilegi di sistema DROP USER. In Automatic Storage Management Cluster occorre autenticarsi AS SYSASM. S i n t a s s i DROP USER nome_user [CASCADE]; Supponiamo di creare uno user pippo e di volerlo cancellare: CREATE USER  pippo IDENTIFIED BY pippo; GRANT CREATE SESSION TO pippo; DROP USER pippo; Se invece lo schema contiene anche oggetti occorre o eliminare tutti i suoi oggetti o usare l'opzione CASCADE. CREATE USER pluto IDENTIFIED BY pluto QUOTA 100M ON USERS; GRANT CREATE SESSION TO pluto; GRANT CREATE TABLE TO pluto; Connettersi come pluto e creare una tabella: CREATE TABLE prova ( idprova number, nome varchar2(5) ); A questo ricollegandosi come sysdba o sysasm ed eseguendo il comando di prima si incorre nel seguente errore oracle: DROP USER pluto; ORA-01922: Per eliminare 'PLUTO' deve essere specificato CASCADE Il comando corretto è il seguente: DROP USER pluto CASCADE;

Create SCHEMA Oracle 11g

Lo Schema è un'area logica del database che contiene la totalità degli oggetti di pertinenza di un utente. Può essere visto come un database all'interno del vero database . Differenza tra Schema e User: Schema e User sono emrambi utenti del database ma quando un utente possiede oggetti allora si chiama schema. L'istruzione CREATE SCHEMA non crea realmente uno schema ma è un contenitore vuoto che viene creato automaticamente da Oracle quando viene creato uno User. Include la creazione di oggetti come Create Table e Create View e istruzioni di Grant sugli oggetti. Uno User di default può accedere agli oggetti del proprio schema, ma uno schema potrebbe essere usato per memorizzare dati che devono essere acceduti da altri User; per questo motivo occorre assegnare privilegi su oggetti ad altri utenti. Di seguito i passi da seguire per creare uno schema Oracle. 0) Creare un tablespace di riferiemnto CREATE TABLESPACE demo_tbs1 DATAFILE '/u01/app/oracle/oradata/SALES/d

INDEX e CONSTRAINT

Immagine
Gli Indici servono per ridurre il tempo di accesso alle righe delle tabelle. Se una query restituisce soltanto una riga piuttosto che analizzare l'intera tabella, riga per riga ( full table scan ), un indice fornisce un puntatore all'esatta posizione della stessa. Naturalmente anche l'indice deve essere ricercato ma è più veloce che analizzare l'intera tabella. Gli Indici possono essere creati su Tabelle e Cluster. Gli Indici sono di due tipi: UNIQUE e NONUNIQUE I vincoli o Constraint sono invece: PRIMARY , UNIQUE e FOREIGN KEY Un Indice di tipo UNIQUE è creato automaticamente quando è definita su una o più colonne una Primary key (pk) e una Unique key (uk) e conserva lo stesso nome della constraint. SQL> create table pdbtsadm.dept            (deptno number(2),                 dept_name varchar2(100),                constraint deptno_pk  primary key (deptno)); SQL> select * from dba_indexes; Dal risultato della query si evince che l'indice si chiama