If this works, your normal shell profile ( .bashrc , .profile , .cshrc ) contains a conflicting setting (e.g., a corrupt LD_LIBRARY_PATH or a non-printable character in ORACLE_HOME ).

SQL*Plus may fail to load message files if the current user lacks read permissions for the Oracle home directory. Spiceworks Community Elevated Privileges: Try running the command prompt or terminal as an Administrator or root user. File Permissions: Ensure the user has "Read & Execute" permissions for the ORACLE_HOME directory and its subfolders, especially the directories. Spiceworks Community Unable to install DLP Enforce on Windows Server

sqlplus -V

On Windows, SQL*Plus relies on ORACLE_HOME in the registry and the PATH environment variable to locate its message files. Conflicts from multiple Oracle homes (e.g., a client install and a database install) often cause this error.

The NLS_LANG environment variable tells Oracle which language to use for messages. If set to a language for which the corresponding .msb file does not exist (e.g., NLS_LANG=SWEDISH_SWEDEN.WE8ISO8859P1 but sp2sv.msb is missing), SQL*Plus will try to load a non-existent file and throw Error 57.

: On Linux, ensure LD_LIBRARY_PATH includes the Oracle library directory (e.g., $ORACLE_HOME/lib ). Additional Troubleshooting Error 57 initializing SQLPlus - Oracle Forums