The problem comes into play when you try to select the actual LOB locator remotely, however straight INSERTs aren't a problem.
However, if I do a COMMIT and then go to the remote database and do the same query, I get the following:Code:SQL> desc test_clob1
Name Null? Type
----------------------------------------- -------- -----------------------
A1 NUMBER
A2 CLOB
SQL> desc test_clob2@remotedb
Name Null? Type
----------------------------------------- -------- -----------------------
A1 NUMBER
A2 CLOB
SQL> declare
2 big_text varchar2(32767) := rpad('#',32767,'#');
3 begin
4 insert into test_clob1 values (1, big_text );
5 end;
6 /
PL/SQL procedure successfully completed.
SQL> select a1, dbms_lob.getlength(a2) from test_clob1;
A1 DBMS_LOB.GETLENGTH(A2)
---------- ----------------------
1 32767
SQL> select count(*) from test_clob2@remotedb;
COUNT(*)
----------
0
SQL> insert into test_clob2@remotedb
2 select * from test_clob1;
1 row created.
SQL> select a1, dbms_lob.getlength(a2) from test_clob2@remotedb;
select a1, dbms_lob.getlength(a2) from test_clob2@remotedb
*
ERROR at line 1:
ORA-22992: cannot use LOB locators selected from remote tables
SQL> commit;
Commit complete.
Code:SQL> select a1, dbms_lob.getlength(a2) from test_clob2;
A1 DBMS_LOB.GETLENGTH(A2)
---------- ----------------------
1 32767