Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
LAMI DBA

Articles autour des SGBD Oracle, SQL Server & PostgreSQL

Oracle 12c R2 - SQL PLUS - HISTORY

Hello,
En octobre, je vous avais parlé de lwrap (ici) qui permet d'avoir le même comportement de votre sqlplus que dans un environnement windows. (naviguer dans l'historique de vos commandes). Cependant, il est peut être utile de savoir que depuis la 12c R2, il existe une nouvelle fonctionnalité dans SQL Plus qui permet également de naviguer dans votre historique.
Il convient cependant de l'activer & eventuellement définir le nombre de commandes SQL (et non pas le nombre de lignes)  à historiser.

SQL>
SQL> set history 200
SQL> show history
history is ON and set to "200"
SQL>


Remarque : Par défaut le nombre de commandes est à 100.
Consulter son historique... Easy !

SQL>
SQL> history

  1  show history
  2  select 1
     from
     dual;
  3  select count(*) from dba_tables;
  4  select count(*) from dba_indexes;
  5  show history

SQL>

Re-executer une instruction.. : Exemple : Ma troisième instruction

SQL>

SQL> history 3 run
  COUNT(*)
----------
      2124
SQL>

On peut également modifier une instruction. La modification se fera alors à travers un editeut de texte (vi dans mon cas). ci-dessous, je modifie la troisième instruction pour remplacer "dba_tables" par "user_tables" qui créera une nouvelle entrée dans l'historique (ligne 6)

SQL>
SQL> history 3 edit
SQL> history
  1  show history
  2  select 1
     from
     dual;
  3  select count(*) from dba_tables;
  4  select count(*) from dba_indexes;
  5  show history
  6  select count(*) from user_tables;

Lorsque cela devient un peu compliqué de naviguer on peut également décider de supprimer une instruction de l'historique.

SQL>
SQL>
SQL> history 2 delete
SQL>


Et également tout supprimer.

SQL>
SQL> history clear
SQL>
SQL> history
SP2-1651: History list is empty.
SQL>

 

Enjoy !

 

 

Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
L
Bonjour a tous<br /> Il est possible egalement d utiliser le rappel de commande sous rhel5.6 en utilisant le package rlwrap permettant egalement d user des memes avantages sous les anciennes versions.
Répondre
L
Oui tout à fait.. d ailleurs j y fais mention en tout début de l article avec un lien vers un article précédent .<br /> http://www.lami-dba.com/2017/10/sqlplus-naviguer-dans-l-historique-des-commandes.html