建立index 指定parallel,但是impdp時候匯入卻不是我建立的語句?

趙宇發表於2008-04-11

SQL> create index ename_idx on scott.emp2(ename) parallel 2;

索引已建立。

SQL> select * from dba_directories;

OWNER  DIRECTORY_NAME                 DIRECTORY_PATH
------ ------------------------------ ----------------------------------------------------------------------
SYS    ADMIN_DIR                      D:\oracle\product\10.2.0\oradata
SYS    SUBDIR                         D:\oracle\product\10.2.0\db_1\demo\schema\order_entry\/2002/Sep
SYS    XMLDIR                         D:\oracle\product\10.2.0\db_1\demo\schema\order_entry\
SYS    MEDIA_DIR                      D:\oracle\product\10.2.0\db_1\demo\schema\product_media\
SYS    LOG_FILE_DIR                   D:\oracle\product\10.2.0\db_1\demo\schema\log\
SYS    WORK_DIR                       D:\oracle\product\10.2.0\oradata\
SYS    ORACLE_OCM_CONFIG_DIR          D:\oracle\product\10.2.0\db_1\ccr\state
SYS    DATA_PUMP_DIR                  D:\oracle\product\10.2.0\admin\devdb\dpdump\
SYS    DATA_FILE_DIR                  D:\oracle\product\10.2.0\db_1\demo\schema\sales_history\

已選擇9行。


SQL> grant read,write on directory DATA_PUMP_DIR to scott;

授權成功。

C:\Documents and Settings\oracle>expdp scott/tiger tables=EMP2 content=metadata_only directory=data_pump_dir dumpfile=emp2_idx.dmp

Export: Release 10.2.0.4.0 - Production on 星期五, 11 4月, 2008 16:14:43

Copyright (c) 2003, 2007, Oracle.  All rights reserved.

連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
啟動 "SCOTT"."SYS_EXPORT_TABLE_01":  scott/******** tables=EMP2 content=metadata_only directory=data_pump_dir dumpfile=emp2_idx.dmp
處理物件型別 TABLE_EXPORT/TABLE/TABLE
處理物件型別 TABLE_EXPORT/TABLE/INDEX/INDEX
處理物件型別 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
已成功載入/解除安裝了主表 "SCOTT"."SYS_EXPORT_TABLE_01"
******************************************************************************
SCOTT.SYS_EXPORT_TABLE_01 的轉儲檔案集為:
  D:\ORACLE\PRODUCT\10.2.0\ADMIN\DEVDB\DPDUMP\EMP2_IDX.DMP
作業 "SCOTT"."SYS_EXPORT_TABLE_01" 已於 16:14:50 成功完成

C:\Documents and Settings\oracle>impdp system/oracle full=y dumpfile=DATA_PUMP_DIR:EMP2_IDX.DMP  SQLFILE=DATA_PUMP_DIR:A.sql  nologfile=y

Import: Release 10.2.0.4.0 - Production on 星期五, 11 4月, 2008 16:20:07

Copyright (c) 2003, 2007, Oracle.  All rights reserved.

連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功載入/解除安裝了主表 "SYSTEM"."SYS_SQL_FILE_FULL_01"
啟動 "SYSTEM"."SYS_SQL_FILE_FULL_01":  system/******** full=y dumpfile=DATA_PUMP_DIR:EMP2_IDX.DMP SQLFILE=DATA_PUMP_DIR:A.sql nologfile=y
處理物件型別 TABLE_EXPORT/TABLE/TABLE
處理物件型別 TABLE_EXPORT/TABLE/INDEX/INDEX
處理物件型別 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
作業 "SYSTEM"."SYS_SQL_FILE_FULL_01" 已於 16:20:10 成功完成

 

檢視DDL指令碼:

 

-- CONNECT SYSTEM
-- new object type path is: TABLE_EXPORT/TABLE/TABLE
CREATE TABLE "SCOTT"."EMP2"
   ( "EMPNO" NUMBER(4,0),
 "ENAME" VARCHAR2(10),
 "JOB" VARCHAR2(9),
 "MGR" NUMBER(4,0),
 "HIREDATE" DATE,
 "SAL" NUMBER(7,2),
 "COMM" NUMBER(7,2),
 "DEPTNO" NUMBER(2,0)
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "USERS" ;
 
-- new object type path is: TABLE_EXPORT/TABLE/INDEX/INDEX
-- CONNECT SCOTT
CREATE INDEX "SCOTT"."ENAME_IDX" ON "SCOTT"."EMP2" ("ENAME")
  PCTFREE 10 INITRANS 2 MAXTRANS 255 NOLOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "USERS"
  PARALLEL 1 ;

  ALTER INDEX "SCOTT"."ENAME_IDX" PARALLEL 2;
 
-- new object type path is: TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
-- CONNECT SYSTEM
DECLARE IND_NAME VARCHAR2(60);
   IND_OWNER VARCHAR2(60);
  BEGIN
   DELETE FROM "SYS"."IMPDP_STATS";
   IND_NAME := 'ENAME_IDX';   IND_OWNER := 'SCOTT';
   INSERT INTO "SYS"."IMPDP_STATS" (type, version, flags, c1, c2, c3, c5,
               n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, d1)
       VALUES ('I', 4, 0, IND_NAME, NULL, NULL, 'SCOTT', 458752, 1087, 14, 77, 2696, 37744, 2, 458752, NULL, NULL, NULL, NULL, TO_DATE('2008-04-11 15:32:31', 'YYYY-MM-DD:HH24:MI:SS'));
 
   DBMS_STATS.IMPORT_INDEX_STATS( '"' || ind_owner || '"', '"' || ind_name || '"', NULL, '"IMPDP_STATS"', NULL, '"SYS"');
   DELETE FROM "SYS"."IMPDP_STATS";
 END;
/
 

為什麼不是最初建立的語句,如果先create,再alter parallel能起到並行嗎?

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/175005/viewspace-234505/,如需轉載,請註明出處,否則將追究法律責任。

相關文章