ORA-03106: fatal two-task communication protocol error

Has anyone encountered this error or know how to correct it?
I couldn't find any Rails-specific info about this on google.

Here are the circumstances:

/usr/local/bin/ruby --version
  ruby 1.8.4 (2005-12-24) [i686-linux]
/usr/local/bin/rails --version
  Rails 1.1.6

## Create mcd app
rails mcd -d oracle
cd mcd

## Create oracle tablespace & user
sqlplus '/ as sysdba'
  create tablespace mcd datafile '/oracle/oradata/d102/mcd_0.dbf' SIZE
500M;
  create user mcd identified by XXX default tablespace mcd ;
  grant select_catalog_role, connect, resource, XXX, create session to
mcd;

## Start server app
ruby script/server -d -p3000
http://splinter:3000/

## Configure App ( Correct oracle db spec )
vi config/database.yml
  development:
    adapter: oracle
    database: d102
    username: mcd
    password: XXX

## Test config ( db connection )
rake db:migrate
  (OK)

## Create Model & assosciated tables
ruby script/generate model structure

## Configure/Correct the migration file ( 1st in sequence creates
tables)
vi db/migrate/001_create_structures.rb
  ...
  def self.up
    create_table :structures do |t|
       t.column :amw, :float
       t.column :gvk_id, :string
       t.column :parent_id, :float
       t.column :ism_parent_id, :float
       t.column :ref_id, :float
       t.column :mechanism_id, :float
       t.column :ism, :text
       t.column :norm_ism, :text
       t.column :coords, :text
       t.column :cflag, :float
       t.column :vis, :text
       t.column :val, :text
       t.column :symbol, :text
       t.column :bst, :text
       t.column :mw, :float
       t.column :formula, :string
       t.column :internal_ref, :text
       t.column :comments, :text
    end
    ...

## Create tables
rake db:migrate
  ... fails ...
  rake aborted!
  OCIError: ORA-03106: fatal two-task communication protocol error:
select lower(table_name) from user_tables
  ...
# Try roll-back to version 0
rake db:migrate VERSION=0
  ... fails ...
  rake aborted!
  OCIError: ORA-03106: fatal two-task communication protocol error:
select lower(table_name) from user_tables
  ...
# Roll-forward?
rake db:migrate VERSION=1
  ...
  rake aborted!
  OCIError: ORA-03106: fatal two-task communication protocol error:
select lower(table_name) from user_tables

# Note that all is fine in native sqlplus
sqlplus 'mcd/XXX'
  > select lower(table_name) from user_tables;

  LOWER(TABLE_NAME)

Sorry, I forgot to include the trace.

-Scopulorum

rake db:migrate --trace
(in XXX/XXX/mcd)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
** Invoke db:schema:dump (first_time)
** Invoke environment
** Execute db:schema:dump
rake aborted!
OCIError: ORA-03106: fatal two-task communication protocol error:
select lower(table_name) from user_tables
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.4.5618/lib/
active_record/connection_adapters/abstract_adapter.rb:122:in `log'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.4.5618/lib/
active_record/connection_adapters/oracle_adapter.rb:222:in `execute'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.4.5618/lib/
active_record/connection_adapters/oracle_adapter.rb:480:in `select'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.4.5618/lib/
active_record/connection_adapters/abstract/database_statements.rb:7:in
`select_all'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.4.5618/lib/
active_record/connection_adapters/oracle_adapter.rb:285:in `tables'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.4.5618/lib/
active_record/schema_dumper.rb:54:in `tables'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.4.5618/lib/
active_record/schema_dumper.rb:23:in `dump'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.4.5618/lib/
active_record/schema_dumper.rb:17:in `dump'
/usr/local/lib/ruby/gems/1.8/gems/rails-1.1.6.5618/lib/tasks/
databases.rake:24
/usr/local/lib/ruby/gems/1.8/gems/rails-1.1.6.5618/lib/tasks/
databases.rake:23
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:in
`execute'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:in
`execute'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:357:in
`invoke'
/usr/local/lib/ruby/1.8/thread.rb:135:in `synchronize'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:350:in
`invoke'
/usr/local/lib/ruby/gems/1.8/gems/rails-1.1.6.5618/lib/tasks/
databases.rake:5
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:in
`execute'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:in
`execute'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:357:in
`invoke'
/usr/local/lib/ruby/1.8/thread.rb:135:in `synchronize'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:350:in
`invoke'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:1906:in `run'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:1906:in `run'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/bin/rake:7
/usr/local/bin/rake:18

FYI,

I installed ruby-oci8-1.0.0-rc1 and the problem disappeared.

( Also note for completeness that I am on RHEL ES 3 Taroon Update 7 ,
i686 and Oracle 10.2.0.1.0 Enterprise )

-Scopulorum