Q:

Как передать в sqlldr или sqlplus пароль в котором содержится знак доллара $

Например, вызываем sqlldr:
sqlldr SYSTEM/PA$$WORD control=loader.ctl > output.txt

И получаем в ответе:
SQL*Loader: Release 10.2.0.1.0 - Production on Wed Nov 21 17:00:14 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL*Loader-128: unable to begin a session
ORA-01017: invalid username/password; logon denied

А если вызывать просто sqlldr control=loader.ctl и далее вводить username и password с клавиатуры то все удачно.

A:

Используйте двойные кавычки. В sqlplus/sqlldr:
SQL> connect SYSTEM/"PA$$WORD";

В командной строке:
sqlplus SYSTEM/"PA$$WORD"@DATABASE_NAME
или
sqlplus SYSTEM/\"PA$$WORD\"@DATABASE_NAME

