Oracle 12c DBA - Guida Completa Distribuito tramite il sito www.manualioracle.it Copyright © 2016 Assi Loris Qualsiasi abuso sarà perseguito e punito secondo i termini di legge. Version: 1.5.5 Alcuni termini usati sono trademarks registrati dei rispettivi proprietari. Oracle 12c – Guida Completa per DBA Sommario Introduzione al Manuale ........................................................................................... Error! Bookmark not defined. Cap 1 Oracle VirtualBox e Oracle Linux ........................................................ Error! Bookmark not defined. 1.1 – Introduzione ad Oracle Virtualbox .............................................................. Error! Bookmark not defined. 1.2 – Crea una Macchina Virtuale in VirtualBox ................................................. Error! Bookmark not defined. 1.3 – Configura e Avvia una Macchina Virtuale con Oracle Linux ..................... Error! Bookmark not defined. 1.4 – Trasferimento dei file verso la Macchina Virtuale ...................................... Error! Bookmark not defined. 1.5 – Step successivi Pre-installation db .............................................................. Error! Bookmark not defined. Cap 2 Oracle VirtualBox: Miscellaneous ........................................................ Error! Bookmark not defined. 2.1 – Rimuovi una Macchina Virtuale ................................................................. Error! Bookmark not defined. 2.2 – Cambia Lingua al VirtualBox Manager/Gestore ......................................... Error! Bookmark not defined. Cap 3 Core Administration .............................................................................. Error! Bookmark not defined. 3.1 – I fondamenti della Architettura del DB Oracle ........................................... Error! Bookmark not defined. 3.2 – Strutture di Memoria Oracle........................................................................ Error! Bookmark not defined. 3.3 – I Background Process di Oracle .................................................................. Error! Bookmark not defined. 3.4 – Le Tablespace.............................................................................................. Error! Bookmark not defined. 3.5 – Viste di sistema relative alle tablespace ...................................................... Error! Bookmark not defined. Cap 4 Core Administration: Installare e Configurare un db ........................ Error! Bookmark not defined. 4.1 – Overview sull’installazione Oracle e sui Pre-Cheks ................................... Error! Bookmark not defined. 4.2 – Installazione del software e Creazione del db tramite Oracle Universal Installer (OUI) . Error! Bookmark not defined. 4.3 – Creazione del db tramite DBCA ................................................................. Error! Bookmark not defined. 4.4 – I benefits relativi al multitenant Container DataBase .................................. Error! Bookmark not defined. 4.5 – La root e l’architettura Multitenant ............................................................. Error! Bookmark not defined. Cap 5 Core Administration: Miscellaneous ................................................................................................. 9 5.1 – Configurare server e client network per un database ....................................................................................9 5.2 – Monitorare i db alert .................................................................................... Error! Bookmark not defined. 5.3 – Daily Administration Tasks ........................................................................ Error! Bookmark not defined. 5.4 – Cosa è My Oracle Support (MOS) .............................................................. Error! Bookmark not defined. 5.5 – Oracle Patches ............................................................................................. Error! Bookmark not defined. 5.6 – Troubleshoot network, Database Issues e ADR .......................................... Error! Bookmark not defined. Cap 6 Core Administration: Backup & Recovery .......................................... Error! Bookmark not defined. 6.1 – Introduzione ................................................................................................ Error! Bookmark not defined. 6.2 – RMAN ......................................................................................................... Error! Bookmark not defined. 6.3 – Configurare RMAN..................................................................................... Error! Bookmark not defined. 6.4 – Full Backup e Incremental Backup ............................................................. Error! Bookmark not defined. 6.5 – Overview del Data Recovery Advisor (DRA) ............................................. Error! Bookmark not defined. 6.6 – Correggere i Data Failures usando il DRA .................................................. Error! Bookmark not defined. 6.7 – Flashback Technology: Database Administration Features ........................ Error! Bookmark not defined. 6.8 – Flashback Technology: Application Development Features ....................... Error! Bookmark not defined. 6.9 – Load e Unload Dati ..................................................................................... Error! Bookmark not defined. 6.10 – Expdp e Impdp .......................................................................................... Error! Bookmark not defined. Cap 7 Miscellaneous .......................................................................................... Error! Bookmark not defined. 7.1 – SYSAUX ..................................................................................................... Error! Bookmark not defined. 7.2 – Default Permanent Tablespace .................................................................... Error! Bookmark not defined. 7.3 – Redo Logfile Size advisor ........................................................................... Error! Bookmark not defined. 7.4 – Secure File LOBs ........................................................................................ Error! Bookmark not defined. 7.5 – NFS e Direct NFS ....................................................................................... Error! Bookmark not defined. Cap 8 Performance Management .................................................................... Error! Bookmark not defined. 8.1 – Disegna il db per avere Performance ottimali ............................................. Error! Bookmark not defined. 8.2 – Monitor Performance: EM Express ............................................................. Error! Bookmark not defined. 8.3 – AMM e Gestiione della Memoria.............................................................. Error! Bookmark not defined. 8.4 – Analizzare e identificare i Problemi di Performance: AWR, ASH e ADDM ............ Error! Bookmark not defined. 8.5 – Real Application Testing (RAT): Database Reply (DBR) .......................... Error! Bookmark not defined. 8.6 – Real Application Testing (RAT): SQL Performance Analyzer (SPA) ........ Error! Bookmark not defined. 8.7 – Usare il Database Resource Manager (DRM) per gestire le Risorse ........... Error! Bookmark not defined. 8.8 – Implementare il Tuning dell’Applicazione ................................................. Error! Bookmark not defined. Cap 9 Storage ..................................................................................................... Error! Bookmark not defined. 2 www.manualioracle.it Oracle 12c – Guida Completa per DBA 9.1 – Gestire le Strutture del DB .......................................................................... Error! Bookmark not defined. 9.2 – Gli Oracle-Managed Files (OMF) ............................................................... Error! Bookmark not defined. 9.3 – Amministrare ASM ..................................................................................... Error! Bookmark not defined. 9.4 – ASM Filenames ........................................................................................... Error! Bookmark not defined. 9.5 – Gestire ASM Disks e ASM Diskgroups ...................................................... Error! Bookmark not defined. 9.6 – Gestire l’ASM Instance ............................................................................... Error! Bookmark not defined. 9.7 – Gestire VLDB ............................................................................................. Error! Bookmark not defined. 9.8 – Implementare la Gestione dello Spazio ....................................................... Error! Bookmark not defined. 9.9 – Segment Shrink ........................................................................................... Error! Bookmark not defined. Cap 10 - Security .................................................................................................... Error! Bookmark not defined. 10.1 – Sviluppare e Implementare una Security Policy........................................ Error! Bookmark not defined. 10.2 – Gli Utenti ................................................................................................... Error! Bookmark not defined. 10.3 – Object e System Privileges ........................................................................ Error! Bookmark not defined. 10.4 – Come revocare i Privilegi e Quali viste interrogare ................................ Error! Bookmark not defined. 10.5 – Gestire i Ruoli ........................................................................................... Error! Bookmark not defined. 10.6 – Configurare e Gestire l’Auditing ............................................................... Error! Bookmark not defined. 10.7 – Password File ............................................................................................ Error! Bookmark not defined. www.manualioracle.it 3 Oracle 12c – Guida Completa per DBA Introduzione al Manuale Contenuto Questo manuale tratta gli argomenti relativi all’amministrazione Oracle 12c release 1 e può essere utilizzato anche come base per la certificazione Oracle 12c (soprattutto per la seconda parte della certificazione 1Z0-060). La maggior parte del contenuto di questo manuale (in particolare dal cap. 5 in poi) si riferisce ad un db 12c “normale” ossia, come nelle precedenti versioni Oracle, non multitenant, detto anche “non-CDB database”. Ovviamente (visto le dimensioni ridotte del manuale stesso), tanti argomenti qui descritti non sono trattati in maniera esaustiva ma sono un ottima base da cui partire. Per ulteriori approfondimenti possono essere utili altri manuali ad hoc (vedi argomenti vasti come il Tuning, il backup & recovery, le installazioni, ecc…). Audience Il presente manuale è rivolto a chiunque voglia conoscere l’architettura del database Oracle 12c. Particolarità Il presente manuale è in italiano ma molti termini tecnici in esso contenuti sono in lingua inglese. Abbiamo fatto tale scelta perché spesso a lavoro tali termini vengono detti in inglese e perché riteniamo più utile che i lettori del manuale conoscano tali termini nella lingua usata nella documentazione ufficiale Oracle. Molti argomenti sono schematizzati al fine di fornire una comprensione ed una memorizzazione superiore. Alcune abbreviazioni usate: EM : Enterprise Manager HWM : High Water Mark OS o O.S.: Sistema Operativo MOS : My Oracle Support (un tempo chiamato metalink) cashare: mettere in cache init parameter: initialization parameter (contenuto nell’init file o nell’spfile) recoverato : recovered rollbackare : fare il rollback startare : fare lo startup tunare: fare il tuning Principali Versioni - 24.10.2016: version 1.0 - 25.10.2016: version 1.1 varie modifiche e rilascio al pubblico Disclaimer Non si fornisce alcuna garanzia relativamente al fatto che il presente documento sia privo di errori. Non si assume nessuna responsabilità sugli eventuali errori o danni derivanti dall’uso delle informazioni qui contenute. 4 www.manualioracle.it Oracle 12c – Guida Completa per DBA Cap 1 - Oracle VirtualBox e Oracle Linux In questo primo capitolo ci soffermeremo nell’installazione di una architettura che può essere utile per allenarsi ad usare un qualsiasi db Oracle in un qualsiasi sistema operativo. In particolare descriveremo come installare una Oracle VirtualBox in un PC (con Windows) e dunque su tale virtualBox creeremo una macchina virtuale Oracle Linux e su essa porteremo i file Oracle necessari a creare un db Oracle 12c. 1.1 – Introduzione ad Oracle Virtualbox Oracle Virtualbox è un programma simile a VMware Workstation : è una specie di “scatola virtuale” in cui, nella tua macchina, puoi installare varie macchine virtuali con vari sistemi operativi. Ad es. dopo aver installato l’Oracle Virtualbox, dentro di esso puoi creare una macchina virtuale con Linux Ubuntu 64 bit e un altra macchina virtuale con Solaris 11. Ognuna di queste macchine virtuali sarà associata ad un file fisico quindi, se necessario, potrai copiare tale file (supponiamo chiamato oralinux.vdi), incollarlo in un altro PC in cui c’è l’Oracle Virtualbox installato e dunque, dal nuovo PC, utilizzare nuovamente tale macchina virtuale come se nulla fosse cambiato. Il download gratuito del software per installare Oracle Virtualbox è disponibile nei seguenti siti: - www.virtualbox.org - www.oracle.com Suggeriamo di installarlo nel proprio PC e successivamente crearvi una macchina virtuale Linux (magari Oracle Linux) così potrete esercitarvi ad usare quanto scritto in questo manuale. L’installazione è molto semplice: questa sarà la prima schermata: ………… ………… ………… www.manualioracle.it 5 Oracle 12c – Guida Completa per DBA Cap 2 - Oracle VirtualBox: Miscellaneous 2.1 – Rimuovi una Macchina Virtuale Se vuoi rimuovere una macchina virtuale, tasto destro sul nome della macchina: Dunque ti viene chiesto se vuoi eliminare solo la “machina virtuale” (puntamento ai file) o anche i file fisici nella macchina host (che contengono i dischi fissi virtuali della macchina) : ………… ………… ………… 6 www.manualioracle.it Oracle 12c – Guida Completa per DBA Cap 3 - Core Administration 3.1 – I fondamenti della Architettura del DB Oracle Oracle Server è costituito da 2 principali componenti: - L’istanza è costituita dalla struttura di memoria (principalmente SGA e PGA) e dai processi di background che gestiscono il DB con compiti distinti e in modo asincrono. Ogni DB ha almeno una istanza associata - Il database è usato per contenere e restituire dati. Ha 2 tipi di struttura: o logica: è rappresentata dai componenti che si possono vedere nel database (tabelle, indici, ecc..) o fisica: rappresenta il metodo di immagazzinamento che Oracle usa internamente (i file fisici) Normalmente ogni db ha una istanza associata. Esistono invece architetture particolari come: - Oracle Real Clusters (RAC) : multiple istanze associate ad un solo database - Oracle Data Guard : qui abbiamo un primary db associato a 1 o più standby db. Le modifiche avverranno nel primary db e saranno dunque distribuite (in maniera fisica o logica) negli altri db Vediamo una overview della struttura logica (dalla struttura più piccola alla più grande): - Blocco: è la più piccola unità di immagazzinamento in Oracle. Normalmente è un multiplo della grandezza del blocco del S.O.. L’init parameter DB_BLOCK_SIZE definisce la grandezza dello standard block. Ossia del blocco della tablespace di sistema (chiamata SYSTEM). - Extent: è il successivo livello di raggruppamento logico. E’ un raggruppamento di blocchi contigui allocati in un unico chunk. ………… ………… ………… www.manualioracle.it 7 Oracle 12c – Guida Completa per DBA Cap 4 - Core Administration: Installare e Configurare un db Con l’introduzione del multitenant in Oracle 12.1, ora esistono questi tipi di installazione: o installazione solo software o creazione database (tramite OUI o tramite DBCA). Esistono questi “sottocasi”: creazione database “classico” come quelli pre-12c (il cosiddetto “non-CDB database”) creazione database multitenant. Ulteriore suddivisione: creazione database CDB creazione database CDB e database PDB creazione database PDB agganciato ad un database CDB esistente In questo capitolo, ci soffermeremo sulle installazioni non-CDB, dunque simili alle vecchie release. Faremo solo dei cenni sull’installazione di una architettura multitenant. 4.1 – Overview sull’installazione Oracle e sui Pre-Cheks In questo capitolo vediamo gli step necessari per effettuare una installazione del software e la creazione di un database in una macchina Linux (negli altri sistemi operativi l’installazione è molto simile, soprattutto in quelli Unix): come detto, tale database potrà essere di tipo “classico” o multitenant (senza CDB già esistente). In particolare: - nella schermata Select Installation Option deciderai se fare la creazione del db (tramite OUI) immediatamente successiva all’installazione del software o se farla successivamente tramite DBCA - nella schermata Specify Database Identifiers potrai decidere il tipo di database da creare : “classico” o multitenant Fai i pre-check suggeriti nella documentazione Oracle (Oracle installation manual for Linux oppure Oracle installation manual for Windows, ecc..). Fra questi, alcuni dei più importanti sono: ………… ………… ………… 8 www.manualioracle.it Oracle 12c – Guida Completa per DBA Cap 5 - Core Administration: Miscellaneous 5.1 – Configurare server e client network per un database Oracle Net Services è l’elemento che fornisce le connessioni in distributed computing environments. Un elemento dell’ Oracle Net Services, chiamato Oracle Net, permette una network session da una client application ad un Oracle db server. Ogni volta che si stabilisce una connessione fra una client application e il db, Oracle Net agisce da « corriere di dati » (data courier). Oracle Net è sia nel client che nell’Oracle server. Questa figura schematizza come Oracle Net permette una network connection : Esistono anche altri tipi di connessione al db : ………… ………… ………… www.manualioracle.it 9