db_write_clob writes a clob, it doesn't insert a clob.
You need to first insert an empty_clob() then overwrite it (via an UPDATE statement) with the value using Oracle's RETURNING syntax and a bind argument list to the OpenACS db proc call.
I suggest you use "grep" on "empty_clob()" to see some examples. If you look at the source and query files that do this, you'll also see examples for PostgreSQL.