Outils pour utilisateurs

Outils du site


bases_de_donnees:oracle:toc

Oracle

Oracle est un système de gestion de base de données relationnel (SGBDR) fourni par Oracle Corporation. Il a été développé par Lawrence Ellison, accompagné d'autres personnes telles que Bob Miner et Ed Oates1)).

Autres pages

Types de données

  • CHAR(n) → Chaine de caractères de longueur fixe.
  • VARCHAR2(n) → Chaîne de caractères de longueur varibale au plus de n caractères.
  • NCHAR(n)
  • NVARCHAR2(n)
  • NUMBER(p,s) → nombre de longueur maximum de p chiffres incluant le nombre de chiffres décimaux s.
  • DATE
  • BLOB → Données binaires brutes

Opération

Exemples de code SQL qui s'applique à Oracle.

Create

CREATE TABLE "Personnes" (
"noPersonne" NUMBER(10) NULL,
"nom" VARCHAR2(50) NOT NULL,
"prenom" VARCHAR2(50) NOT NULL,
"naissance" DATE NOT NULL,
PRIMARY KEY ("noPersonne") 
);

Création d'une séquence / auto increment

Si par exemple une séquence a été créée tel que :

CREATE SEQUENCE Seq_Clients INCREMENT BY 1 START WITH 1 MAXVALUE  100000;

L'insertion se fera comme suit :

INSERT INTO Clients VALUES (Seq_Clients.NEXTVAL, 'Smith','Toronto',
          '416-245-7864','3245,Premiere rue','Ontario','K1Y3U8','Canada');

Source : How to Create Auto Increment Columns in Oracle

Insert

INSERT INTO city
(province, nom)
VALUES
('QC', 'Montréal');

SQL*Plus

L'outil SQL*Plus permet de gérer les bases de données Oracle. Il est possible avec cet outil de lancer les requêtes SQL pour gérer les utilisateurs, les tables et les requêtes.

Ouverture d'une session

SQL*Plus permet, soit de se connecter en mode texte à partir de l'invite du système d'exploitation, soit d'utiliser une interface graphique de connexion.

  1. Sous une ligne de commande on peut exécuter : sqlplus [-S] [nom_utilisateur[/mot_de_passe[@alis_BDD]]].
  2. En mode graphique, SQL*Plus se trouve dans le groupe Oracle du menu Démarrer.
  3. Si toutes les informations sont corrects, SQL*Plus affiche l'invite SQL> et est prêt à recevoir une commande.

Fermeture de session

  • Pour fermer une session, taper EXIT ou QUIT
  • En mode graphique, simplement fermer l'application SQL*Plus dans le menu Fichier → Quitter.

La fermeture de session SQL*Plus entraîne la déconnexion de la base. Les transactions en suspens sont enregistrés dans la BD avant la déconnexion par défaut. Pour annuler les transactions en cours, il faut exécuter la commande suivante : EXIT ROLLBACK.

Pour effectuer la deconnexion à la BD sans quitter SQL*Plus, il faut utiliser la commande DISCONNECT.

Interaction avec la base de données

COMMIT

La commande COMMIT permet de rendre permanent les changements faits à la base de données. Ces changements sont alors visibles aux autres sessions. Le mot clé WORK est optionnel et permet seulement une meilleure lisibilité, même s'il est rarement utilisé. Le COMMENT est aussi optionnel et peut être d'une longueur maximum de 50 caractères.

COMMIT [WORK] [COMMENT text];

ROLLBACK

ROLLBACK permet d'annuler les changements soit du début de la transaction ou du dernier point de sauvegarde (SAVEPOINT).

ROLLBACK [WORK] [TO [SAVEPOINT] savepoint_name];

SAVEPOINT

Cette instruction établi un point de sauvegarde dans la transaction courante. L'identifiant savepoint_name n'est pas séclaré. Plus d'un point de sauvegarde peut être créé dans une transaction. Si le nom d'un point de sauvegarde (savepoint_name) est réutilisé, le point de sauvegarde est déplacé à la dernière position et il ne sera pas possible de retourner au point de sauvegarde initial.

SAVEPOINT savepoint_name;

Langage SQL d'Oracle

Il s'agit du SQL de base à la sauce Oracle. Voir aussi PL/SQL.

Outer join

Erreurs

ORA-12705

La solution → Renommer la clé NLS_LANG dans \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE pour qu'elle ne soit plus utilisée.

ORA-12541

TNS no listener

Il faut habituellement démarrer l'écouteur d'Oracle.

  1. Aller dans l'invite de commande Windows
  2. Taper lsnrctl start puis Retour
  3. Si start n'a pas été tapé à l'étape précédente, à l'invite LSNRCTL>, taper start ou help pour de l'aide.

Ressources

bases_de_donnees/oracle/toc.txt · Dernière modification : 2023/10/03 18:44 de sgariepy