I think it's related to the problem we're talking about here. But it's not exactly the same. Anyway, I rarely use edit command, other than these anomalies, it creates afiedt.buf in the directory where you launch sqlplus. If you don't clean up, the file becomes ugly litter everywhere on your filesystem.
ALTER SYSTEM SET CONTROL_FILES=
'H:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL',
'H:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL',
'H:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL',
'I:\Oracle back up\CONTROL04.CTL' SCOPE=SPFILE;
/
SQL> alter system set control_files=
2 'D:\oracle\product\10.2.0\oradata\zero\CONTROL01.CTL,D:\oracle\product\10.2
.0\oradata\zero\CONTROL03.CTL,D:\oracle\product\10.2.0\oradata\zero\CONTROL03.CT
L,D:\oracle\product\10.2.0\oradata\test de\CONTROL04.CTL' scope=spfile;
Type edit, and in the popped-up Notepage window (assuming Windows), you have three lines (the 3rd line is just carriage return):
select * from dual
/
But here you append the semicolon ";" to the end of the SQL so it becomes:
select * from dual;
/
Exit Notepad and type "/":
SQL> ed
Wrote file afiedt.buf
1* select * from dual;
SQL> /
select * from dual;
*
ERROR at line 1:
ORA-00911: invalid character
SQL>
The asterisk "*" points to ";". What should be done is either not use edit command or remember to not put ";" at the end of a SQL in the edit window. The edit window is not the same as a script file (say, myscript.sql) with these lines:
select * from dual;
/
When you run myscript.sql, sqlplus executes the SQL twice. But in an edit window, it throws the error ORA-911.