REMOTE

Description

Execute part of statement on a remote node

Versions

This operation is implemented in the following versions

7.3.4
8.0.4
8.0.5
8.0.6
8.1.5
8.1.6
8.1.7
9.0.1
9.2.0
10.1.0
10.2.0

Example

This example was developed using Oracle 9.2.0.1 on Windows 2000

This example requires the following table definition

    -- On local database
    CREATE TABLE t1 (c1 NUMBER,c2 NUMBER);

    -- On remote database
    CREATE TABLE t2 (c1 NUMBER);

The table does not need to be analysed

Consider the statement

    SELECT c2 FROM t1
    WHERE c1 = 
    (
      SELECT c1 FROM t2@database@link
    );

In Oracle 9.2 this statement generates the following execution plan

0     SELECT STATEMENT Optimizer=CHOOSE
1   0   FILTER
2   1     TABLE ACCESS (FULL) OF 'T1'
3   1     REMOTE*

The SERIAL_FROM_REMOTE statement that is executed on the remote system by step 3 is

    SELECT c1 FROM t2;

In Oracle 10.2 this statement generates the following execution plan

0     SELECT STATEMENT Optimizer=CHOOSE
1   0     TABLE ACCESS (FULL) OF 'T1'
2   1     REMOTE*

The SERIAL_FROM_REMOTE statement that is executed on the remote system by step 2 is

    SELECT c1 FROM t2;