n8n version:1.122.3
oracle:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
error info:
Couldn’t connect with these settings
ORA-24960: the attribute OCI_ATTR_PASSWORD is greater than the maximum allowable length of 1024 Help: ORA-24960 - Database Error Messages
Yeah, this one’s not an n8n bug — it’s an Oracle Thick mode limitation, and the error message is actually pointing to it pretty clearly (even though it looks weird).
What ORA-24960 means in practice is:
the password Oracle thinks you’re sending is longer than 1024 characters.
Obviously your real password isn’t that long, so when this shows up it’s almost always because something else is getting treated as the password.
Here are the common causes I’ve seen with Thick mode:
1) Wallet / TNS config being mixed into the password
In Thick mode, Oracle is very picky about how credentials are passed.
If you’re:
-
Using a TNS alias
-
Or a wallet
-
Or pasting a full connection string into the wrong field
Oracle can misinterpret part of the connection data as the password → boom, ORA-24960.
Fix:
Make sure:
-
Username field = only the username
-
Password field = only the password
-
Host / service name are separate
No full JDBC strings, no extra params.
2) Special characters in the password
This one bites a lot of people.
In Thick mode, certain characters (@, :, /, ;, newlines, spaces at the end) can cause the password to be parsed incorrectly, making Oracle think it’s huge.
Quick test:
Temporarily change the DB user password to something simple like:
Test1234!
If it connects, you’ve found the issue.
3) Oracle 11g + Thick mode edge case
Oracle 11g is old, and Thick mode support around auth is much more fragile compared to newer versions.
If you don’t need Thick mode features:
-
Try Thin mode instead
-
Thin mode avoids this entire class of errors
A lot of people only switch to Thick “because it sounds better”, not because they need it.
What I’d do first (fastest path)
-
Double-check you’re not pasting a full connection string into the password field
-
Test with a simple password (no special chars)
-
If possible, switch to Thin mode and see if it connects immediately
If Thin works and Thick doesn’t → it’s 100% credential parsing, not networking.
thank you for your solution,but i have try as you,i still happen.
in the begin,i have try thin mode,it return Thin mode can not be used after thick mode initialization,then i try the thick mode,it still return ORA-24960: the attribute OCI_ATTR_PASSWORD is greater than the maximum allowable length of 1024 Help: ORA-24960 - Database Error Messages
then i save the config and close the windows,reopen the config and double the password input frame,the value has change to __n8n_BLANK_VALUE_e5362baf-c777-4d57-a609-6eaf1f9e87f6*,this is not what i have set,so is bug or not.*
Once n8n is started, you can only initialize either Thin or Thick mode. If Thin mode credentials are initialized, Thick mode will not be allowed, and vice versa. Only one mode can be used after the n8n process is initiated. For ORA-24960, Yes I think shorter password should resolve..
thank you for your solution,i trace the n8n logs,the log display,it really make me trouble for a long time :2025-12-29T07:08:52.654Z | debug | No codex available for: oracleDatabase {“file”:“directory-loader.js”,“function”:“addCodex”}
ODPI [00007] 2025-12-29 15:08:52.673: ODPI-C 5.6.1
ODPI [00007] 2025-12-29 15:08:52.673: debugging messages initialized at level 64
ODPI [00007] 2025-12-29 15:08:52.673: Context Parameters:
ODPI [00007] 2025-12-29 15:08:52.673: Environment Variables:
ODPI [00007] 2025-12-29 15:08:52.673: LD_LIBRARY_PATH => “/instantclient:/instantclient/lib”
ODPI [00007] 2025-12-29 15:08:52.673: check ODPI-C module directory
ODPI [00007] 2025-12-29 15:08:52.673: ODPI-C module name is /usr/local/lib/node_modules/n8n/node_modules/.pnpm/[email protected]/node_modules/oracledb/build/Release/oracledb-6.9.0-linux-x64.node
ODPI [00007] 2025-12-29 15:08:52.673: load in dir /usr/local/lib/node_modules/n8n/node_modules/.pnpm/[email protected]/node_modules/oracledb/build/Release
ODPI [00007] 2025-12-29 15:08:52.673: load with name /usr/local/lib/node_modules/n8n/node_modules/.pnpm/[email protected]/node_modules/oracledb/build/Release/libclntsh.so
ODPI [00007] 2025-12-29 15:08:52.673: load by OS failure: Error loading shared library /usr/local/lib/node_modules/n8n/node_modules/.pnpm/[email protected]/node_modules/oracledb/build/Release/libclntsh.so: No such file or directory
ODPI [00007] 2025-12-29 15:08:52.673: load with OS search heuristics
ODPI [00007] 2025-12-29 15:08:52.673: load with name libclntsh.so
ODPI [00007] 2025-12-29 15:08:52.700: load by OS successful
ODPI [00007] 2025-12-29 15:08:52.700: validating loaded library
ODPI [00007] 2025-12-29 15:08:52.701: OCI module name is /instantclient/libclntsh.so
Its not very clear on time taken, above shows odpi-c loading instant client loading seems normal around 30 msec
thank you,i have overcome it.it is my libaio.so.1 cause.i install oracle contrainer and copy libaio.so to my /instantclient,then now it connect oracle ok.