You do not give a complete example, but here is mine again:
ops$tkyte@ORA10GR1> create table t as select * from all_objects;
Table created.
ops$tkyte@ORA10GR1> !exp userid=/ tables=t
Export: Release 10.1.0.4.0 - Production on Fri Nov 25 11:25:56 2005
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.4.0 - Production
With the Partitioning, OLAP and Data Mining options
Export done in US7ASCII character set and AL16UTF16 NCHAR character set
server uses WE8ISO8859P1 character set (possible charset conversion)
About to export specified tables via Conventional Path ...
. . exporting table T 47991 rows exported
Export terminated successfully without warnings.
ops$tkyte@ORA10GR1> drop table t;
Table dropped.
ops$tkyte@ORA10GR1> set echo on
ops$tkyte@ORA10GR1> @tracetrigger
ops$tkyte@ORA10GR1> begin
2 execute immediate 'grant alter session to ' || user;
3 end;
4 /
PL/SQL procedure successfully completed.
ops$tkyte@ORA10GR1>
ops$tkyte@ORA10GR1> create or replace trigger trace_trigger
2 after logon on schema
3 begin
4 execute immediate 'alter session set events ''10046 trace name context forever, level 12'' ';
5 end;
6 /
Trigger created.
ops$tkyte@ORA10GR1> !imp userid=/ full=y buffer=1024
Import: Release 10.1.0.4.0 - Production on Fri Nov 25 11:26:27 2005
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.4.0 - Production
With the Partitioning, OLAP and Data Mining options
Export file created by EXPORT:V10.01.00 via conventional path
import done in US7ASCII character set and AL16UTF16 NCHAR character set
import server uses WE8ISO8859P1 character set (possible charset conversion)
. importing OPS$TKYTE's objects into OPS$TKYTE
. . importing table "T" 47991 rows imported
Import terminated successfully without warnings.
<b>tkprof at this point shows this:</b>
INSERT /*+NESTED_TABLE_SET_REFS+*/ INTO "T" ("OWNER", "OBJECT_NAME",
"SUBOBJECT_NAME", "OBJECT_ID", "DATA_OBJECT_ID", "OBJECT_TYPE", "CREATED",
"LAST_DDL_TIME", "TIMESTAMP", "STATUS", "TEMPORARY", "GENERATED",
"SECONDARY")
VALUES
(:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13)
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1372 1.33 1.30 0 1290 7875 47991
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 1373 1.33 1.30 0 1290 7875 47991
ops$tkyte@ORA10GR1> drop table t;
Table dropped.
ops$tkyte@ORA10GR1> !imp userid=/ full=y buffer=1048576
Import: Release 10.1.0.4.0 - Production on Fri Nov 25 11:27:07 2005
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.4.0 - Production
With the Partitioning, OLAP and Data Mining options
Export file created by EXPORT:V10.01.00 via conventional path
import done in US7ASCII character set and AL16UTF16 NCHAR character set
import server uses WE8ISO8859P1 character set (possible charset conversion)
. importing OPS$TKYTE's objects into OPS$TKYTE
. . importing table "T" 47991 rows imported
Import terminated successfully without warnings.
<b>and tkprof at this time shows this, a definite change:</b>
INSERT /*+NESTED_TABLE_SET_REFS+*/ INTO "T" ("OWNER", "OBJECT_NAME",
"SUBOBJECT_NAME", "OBJECT_ID", "DATA_OBJECT_ID", "OBJECT_TYPE", "CREATED",
"LAST_DDL_TIME", "TIMESTAMP", "STATUS", "TEMPORARY", "GENERATED",
"SECONDARY")
VALUES
(:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13)
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 11 0.54 0.71 0 1511 6630 47991
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 12 0.54 0.71 0 1511 6630 47991
ops$tkyte@ORA10GR1> drop trigger trace_trigger;
Trigger dropped.