Difficult to answer because your context is not really accurate.
Depending on which function you use, it runs CREATE TABLE before appending to it.
At this time it may use oracle default (255 character) for a character column.
For this task, I create my table first in my schema and only after that I use DBI::dbWriteTable with append = TRUE to just add new rows. With append = FALSE, the table is first "regenerated" or something, created temporarily with default length 255 char columns (if tibble column is char) before appending to your target table. The error comes here for me. Same context I think.
As previously said, you also have to check for non ASCII character in this context (when some columns length are > 500 for instance because of non ASCII charset).