First of all, keep in mind that your database lengths may really be in characters, not bytes - you'll have to check the documentation for the datatype. I'm going to assume it really is the latter for the purpose of the question.
The amount of bytes your string will use depends entirely on the character encoding it'll be stored with. If it's UTF-16, the default string type in Delphi, then it will always be 2 bytes per character, excluding surrogates.
The most likely encoding, assuming the database uses a Unicode charset, however, is UTF-8. This is a variable length encoding: characters can require anywhere between 1 and 4 bytes, depending on the character. You can see a chart on Wikipedia of how the ranges are mapped.
However, if you're not changing the database schema at all, then that must mean one of three things:
- You currently store everything in a binary way, instead of a textual way (not usually a good choice)
- The database already stores Unicode and counted characters, not bytes (otherwise, you'd have the problem now, more so in the case of accented letters)
- The database stores in a single-byte codepage, such as Windows-1252, preventing you from storing Unicode data at all (making it a non-issue, because characters will be stored the same way as before, although you can't make use of Unicode)
I'm not familiar with Oracle, but if you look at MSSQL, they have two different datatypes: varchar and nvarchar. Varchar counts in bytes, while nvarchar counts in characters, therefore being suitable for Unicode. MySQL, on the other hand, only has varchar, and it always counts in characters (as of 4.1). You should therefore check the Oracle documentation and your database schema to get a decisive answer on whether or not it's a problem at all.