12c里,Oracle推出了 History 命令,这很像 Shell 中的 history ,减少了重敲 SQL ,带来了很多便利。

1. 查看history帮助
SQL> help history
 HISTORY
 -------
 Stores, lists, executes, edits of the commands
 entered during the current SQL*Plus session.
 HIST[ORY] [N {RUN | EDIT | DEL[ETE]}] | [CLEAR]
 N is the entry number listed in the history list.
 Use this number to recall, edit or delete the command.
 Example:
 HIST 3 RUN - will run the 3rd entry from the list.
 HIST[ORY] without any option will list all entries in the list.
2. hist 语法
 HIST[ORY] [N {RUN | EDIT | DEL[ETE]}] | [CLEAR]
3. hist 默认是关闭的,在每次会话断开连接后会自动关闭,当hist关闭后,hist 列表会被清空。
SQL> history;
SP2-1650: History is off, use "SET HIST[ORY] ON" to enable History.
4. 打开或者关闭hist
SQL> set hist on;
SQL> set hist off;
5.查看hist状态
SQL> show hist;
history is OFF
6.设置hist保留的记录数 ,默认保留记录数是 100  
SQL>set history 3;
7. 查看hist保留的记录
SQL> hist list;
  1  show con_name
  2  show parameter version;
  3  show hist;
说明:保留的记录数 是按命令计算 而不是行数。
8. 运行指定记录
SQL> hist;
  1  select sysdate from dual;
  2  show con_name
  3  select date from dual;
SQL> hist 2 run;
CON_NAME
------------------------------
CDB$ROOT
9. 编辑之前的命令
hist 1 edit;
说明:可以像linux vi一样操作,编辑保留后的记录添加到记录数末尾。
10. 删除指定记录数 
hist 2 del   
11.清空所有记录数
SQL> hist clear;

05-08 07:58