Failed to save last-line mode history and Invalid history file format.  [Press return to continue]

Posted on 2011-10-15
Last Modified: 2013-12-21
Hi experts.

After quitting seeing a file in vi with q!, I have the following message in the server:

Sat Oct 15 08:00:22 2011
Thread 1 advanced to log sequence 4709 (LGWR switch)
  Current log# 2 seq# 4709 mem# 0: /pststdb01/dmo/ora1/log/redo01b.log
  Current log# 2 seq# 4709 mem# 1: /pststdb01/dmo/ora1/log/redo02b.log
  Current log# 2 seq# 4709 mem# 2: /pststdb01/dmo/ora1/log/redo03b.log
Failed to save last-line mode history.--------------------------------------->What is this message?
psdevtstdb:/pststdb01/dmo/ora1/admin/bdump> touch test
psdevtstdb:/pststdb01/dmo/ora1/admin/bdump> rm test

psdevtstdb:/pststdb01/dev/ora1/admin/bdump> vi alert*.log
Invalid history file format.  [Press return to continue]
Question by:LindaC
    LVL 7

    Expert Comment

    Are you working in the BASH

    history -c will clear the history list and history -d N will delete a history entry N.

    By default, the history list is kept in user's home directory in a file '.bash_history'.

    LVL 8

    Author Comment

    Thank you.
    I'am using ksh

    psdevtstdb:/home/oracle> ls -ltr *hist*
    ls: 0653-341 The file *hist* does not exist.

    This are some tries in the $HOME

    psdevtstdb:/home/oracle> ls -ltr
    total 368
    drwxr-s---   3 oracle   dba             512 Jan 12 2009  admin
    -rw-r--r--   1 oracle   dba             157 Jan 19 2009  smit.script
    -rw-r--r--   1 oracle   dba             299 Jan 19 2009  smit.transaction
    -rw-r--r--   1 oracle   dba              36 Feb 03 2009  dropSysadm.sql
    drwxrwx---   2 root     system          512 Feb 10 2009  lost+found
    -rw-r-----   1 oracle   dba           15555 Jun 12 2009  findev.htm
    -rw-r--r--   1 oracle   dba              41 Jun 14 2009  afiedt.buf
    -rw-r--r--   1 oracle   dba            9261 Aug 04 2010  spdtab.lis
    -rw-r--r--   1 oracle   dba            1294 Aug 04 2010  spdusr.lis
    drwxr-S---   3 oracle   dba             512 Jan 05 2011  oradiag_oracle
    drwxr-sr-x   7 oracle   dba             512 Aug 02 07:03 dba
    drwxrws---   7 oracle   oinstall        512 Aug 15 16:00 oraInventory
    -rw-r--r--   1 oracle   dba              29 Sep 16 02:00 export_FINDEV_dpump.201
    -rw-r--r--   1 oracle   dba              29 Sep 17 02:00 export_FINDEV_dpump.201
    -rw-r--r--   1 oracle   dba              29 Sep 18 02:00 export_FINDEV_dpump.201
    -rw-r--r--   1 oracle   dba              29 Sep 19 02:00 export_FINDEV_dpump.201
    -rw-r--r--   1 oracle   dba              29 Sep 20 02:00 export_FINDEV_dpump.201
    -rw-r--r--   1 oracle   dba              29 Sep 21 02:00 export_FINDEV_dpump.201
    -rw-r--r--   1 oracle   dba              29 Sep 22 02:00 export_FINDEV_dpump.201
    -rw-r--r--   1 oracle   dba              29 Sep 23 02:00 export_FINDEV_dpump.201
    -rw-r--r--   1 oracle   dba              29 Sep 24 02:00 export_FINDEV_dpump.201
    LVL 7

    Expert Comment

    The korn shell also has command line history

    ls *.hist*
    LVL 8

    Author Comment

    psdevtstdb:/home/oracle> ls *.hist*
    ls: 0653-341 The file *.hist* does not exist.
    LVL 68

    Accepted Solution


    this happens in AIX 5.3 TL 5 and below if the user doesn't have a HOME directory, or if it is not writeable.

    There are fixes for this issue from IBM:

    Basically fixing this problem means upgrading to a TL > 5.

    Of course you could make sure that the user has a valid, writeable HOME to avoid this message, or you could ignore it if you want/have to keep this user homeless.


    LVL 68

    Expert Comment

    The command to find the command history file under ksh in AIX is

    ls -la .sh_history

    View the command history with


    (or "fc -l", history is an alias).

    history -1000 will give the last 1000 entries (if present)

    If the history file is indeed corrupt you can safely delete it:

    rm .sh_history

    Logout and login again to free the corresponding file handle.
    You will now have a new, clean history.

    LVL 8

    Author Closing Comment

    Thank you, you are correct.  The system Admin made a fsck and the rebooted the server which fix the "no writable" of the /home/oracke $HOME directory.

    Now I can see the history and the issue is fixed.

    psdevtstdb:/home/oracle> ls -la .sh_history
    -rw-------   1 oracle   dba            4200 Oct 19 08:08 .sh_history

    Featured Post

    Looking for New Ways to Advertise?

    Engage with tech pros in our community with native advertising, as a Vendor Expert, and more.

    Join & Write a Comment

    Suggested Solutions

    Introduction Regular patching is part of a system administrator's tasks. However, many patches require that the system be in single-user mode before they can be installed. A cluster patch in particular can take quite a while to apply if the machine…
    Java performance on Solaris - Managing CPUs There are various resource controls in operating system which directly/indirectly influence the performance of application. one of the most important resource controls is "CPU".   In a multithreaded…
    Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
    This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

    732 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    18 Experts available now in Live!

    Get 1:1 Help Now