In college I had the misfortune of using the CLI that Oracle provides for connecting to their database, which had the worst UX of any CLI tool I've used by far. No history, and the only way to run a previous command was with a shortcut that ran it verbatim without allowing any editing. It didn't correctly handle commands I wanted to run that I pasted in, which meant I had to type stuff out every time, and there was no ability to delete with backspace or move the cursor backwards, which meant that making a typo required clearing everything and typing it again from scratch.
On the bright side, that experience did cause me to do a little research and learn about readline, which I hadn't realized was a library I could make use of for my own stuff before then!
The sqlplus client continues to have all the problems that you have outlined. When sqlplus runs on the Windows command line, it does inherit command history.
Old-school MS-DOS was pretty bad. IIRC the only command history feature was pressing the right-arrow key, which would restore the previous command character-by-character.
f3 recalls the whole command, and then you could edit it with the arrow keys and insert and delete. i think f2 x recalls the whole command up to the first occurrence of the letter x. these features existed by ms-dos 3, but i think they were in ms-dos 2 as well
in retrospect it's kind of stupid that ms-dos didn't have fantastic command-line editing and history facilities, since it had guaranteed control over the whole screen, a known keyboard layout, guaranteed at least 64k of ram, and was running milliseconds away from your fingertips without having to timeshare compute resources with other people or background compilation tasks (etc.). from today's perspective, it seems like a no-brainer in this context to build in a rich command-line history feature with search, cut, paste, and movement by words for command-line editing, plus filename completion. readline is solving a much harder problem given that it had to do everything through termcap and degrade gracefully on shitty terminals! maybe it's a harder sell when you have to write it all in 8088 assembly, or (more likely) when you've never used a system like that before
(for batch files, it also seems like a no-brainer to implement something like the bourne shell's control structures, and there was less excuse for not doing that, given that they were already aping unix's hierarchical filesystem)
it makes me wonder what kind of obvious improvements on today's computer systems we're missing
yeah, 4dos was great. it still exists, by the way, and they've released the sources, just not under an open-source license: https://4dos.info/sources.htm#1
Last time I touched Oracle is going on a couple of decades ago. But I did discover at the time a readline wrapper which provided at least a modicum of functionality. Looks as if that's Still A Thing:
On the bright side, that experience did cause me to do a little research and learn about readline, which I hadn't realized was a library I could make use of for my own stuff before then!