# Oracle Database/Interfaces

* Introduction
* Interfaces de gestion
* Gestion des utilisateurs
* Objets stockés
** Tablespaces
** Tables
** Vues
** Vues matérialisées
** Index
** Procédures stockées
** Fonctions
** Packages
** Trigger
** Séquences
* PL/SQL
** Considérations générales
*** Oracle ignore le type booléen
*** Oracle ignore l'autoincrement
** Quelques requêtes utiles
*** Dictionnaire de données
*** Paramètres système
*** Utiliser les dates
*** Modifier une ligne
*** Analyse d'une table
** Utilisation de fonctions
*** Fonction UNPIVOT
*** Fonction PIVOT
*** Fonction LISTAGG
*** Fonction TRIM
*** Fonction LENGTH
*** Fonction SUBSTR
*** Fonction DECODE
* Sécurité
* Net Services
* Serveurs partagés
* Monitoring des performances
* Maintenance proactive
* Gestion des annulations
* Conflits de verrouillage
* Sauvegardes et restaurations
* Bases de données multimédia
* Bases de données spatiotemporelles
* Deferrable constraint
* Débogage
* Désinstaller
* Introduction
* Interfaces de gestion
* Gestion des utilisateurs
* Objets stockés
** Tablespaces
** Tables
** Vues
** Vues matérialisées
** Index
** Procédures stockées
** Fonctions
** Packages
** Trigger
** Séquences
* PL/SQL
** Considérations générales
*** Oracle ignore le type booléen
*** Oracle ignore l'autoincrement
** Quelques requêtes utiles
*** Dictionnaire de données
*** Paramètres système
*** Utiliser les dates
*** Modifier une ligne
*** Analyse d'une table
** Utilisation de fonctions
*** Fonction UNPIVOT
*** Fonction PIVOT
*** Fonction LISTAGG
*** Fonction TRIM
*** Fonction LENGTH
*** Fonction SUBSTR
*** Fonction DECODE
* Sécurité
* Net Services
* Serveurs partagés
* Monitoring des performances
* Maintenance proactive
* Gestion des annulations
* Conflits de verrouillage
* Sauvegardes et restaurations
* Bases de données multimédia
* Bases de données spatiotemporelles
* Deferrable constraint
* Débogage
* Désinstaller
[ Modifier le sommaire ]

## SQL*Plus

SQL*Plus est une interface de commandes fournie avec le SGBD. Sous Windows elle peut se lancer soit :
* Depuis le menu démarrer, répertoire Oracle, raccourci Run SQL Command Line.
* Via C:\oraclexe\app\oracle\product\11.2.0\server\bin\sqlplus.exe.
* Mais le mieux est de passer par la variable d'environnement en se connectant au SGBD en même temps. Par défaut cela se fait en console shell avec :
Sinon si vous avez déjà un compte, la syntaxe est :
La première étape est de créer un utilisateur (ex : root), l'autoriser à se connecter, puis lui conférer les droits administrateur (sysdba).

### Sous 12c

Avec la version 12c sont apparues les CDB et PDB. Ainsi la commande ci-dessus renvoie l'erreur ORA-65096: nom utilisateur ou de rôle commun non valide.
Il faut donc distinguer les comptes qui commencent par "c##" qui fonctionnent sur toute la CDB mais qu'il est impossible de promouvoir administrateur, de ceux propres à une PDB.
Dans ce cas nous allons utiliser le compte "sys" dont le mot de passe a été défini à l'installation.

## Interface Web

Une deuxième interface est fournie avec le SGBD : l'interface web. On y accède soit :
* Pour SE 12c :
** https://localhost:5500/em/shell
* Pour XE 11g :
** Depuis le menu démarrer, répertoire Oracle, raccourci Get Started.
** Par l'URL http://localhost:8080/apex/f?p=4950.
* Pour XE 10g :
** Depuis le menu démarrer, Database control.
** http://localhost:1158/em/console/logon/logon.
Ensuite il pour se connecter au SGBD :
* User name : sys (parfois sysman pour system manager)
* Password : celui fourni à l'installation.
* Connect as : SYSDBA.
La console apparait alors, permettant de modifier la configuration de la base de données créée à l'installation (redémarrer le service, suivre l'architecture, les performances, gérer les sauvegardes...).
En cliquant sur Application Express, on peut éventuellement créer un nouvel utilisateur qui sera utilisé pour se connecter à Oracle. Une fois logué, celui-ci a accès à tous les outils de manipulation des données, par exemple SQL Workshop\SQL Commands pour entrer du code SQL.
Si vous préférez créer un premier compte par les interfaces graphiques, il faudra tout de même utiliser la connexion par défaut SQL*Plus pour le GRANT.

## Oracle SQL Developer

Oracle SQL Developer est un EDI conçu en Java. Il est fournit avec SE mais pour XE il faut télécharger son client lourd sur http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html.
Une fois installé et lancé, il faut lui configurer une connexion pour qu'il puisse s'authentifier auprès des bases de données Oracle. Remplir le compte créé par l'interface web, pour pouvoir accéder aux manipulations de données.
Pour commencer à exécuter du code, faire un clic droit sur la connexion, puis cliquer en bas sur Ouvrir une feuille de calcul SQL. Sinon il est possible de le travailler depuis un fichier (pour le sauvegarder) en cliquant en haut à gauche sur Nouveau (l'icône du plus ou CTRL + N), puis Fichier de base de données.

## DBCA

Database Configuration Assistant (DBCA) est une interface graphique disponible sur Windows ou les *nixes.

## Hello world

Une fois l'une des consoles SQL vues précédemment lancée, il devient possible d’exécuter du PL/SQL (Procedural Language/Structured Query Language) : le langage procédural propriétaire créé par Oracle, et spécifique à sa base de données relationnelle.
Le slash dit au programme de stopper l'instruction multiligne.

## Références

* ↑ http://www.snapdba.com/2013/05/creating-an-oracle-11g-database-using-dbca-non-asm/
* ↑ http://docs.oracle.com/cd/B16351_01/doc/server.102/b14196/install003.htm