签到成功

知道了

CNDBA社区CNDBA社区

数据泵针对数据量大迁移的优化

2018-04-29 18:03 2929 0 原创 数据库迁移
作者: Marvinn

数据泵导入导出数据量大,加快导入导出进度,排除索引,也可以包括统计信息

http://www.cndba.cn/Marvinn/article/2756

排除索引的处理:
    1、SQL语句拼接,通过DBMS_METADATA.GET_DDL批量获取创建索引语句
    在Oracle数据库中,如何快速获取某个用户下的所有表、索引、约束及触发器的创建SQL语句呢?本文给出一个简单的示例脚本,经过测试,除位于回收站下的对象及只读视图的约束语句不能获取,其它对象基本均可获取CREATE语句
cat get_ddl.sql   
-- Be sure the variable 'S' means the Schema name,it should be UPPERCASE.  
-- And this script COULDNOT get the constraints CREATE DDL,which CONSTRAINT_TYPE is 'O',cause it's READ ONLY on a view.  
-- Author Info:Asher Huang  
-- http://OracleOnlinux.cn  
-- Mail:3dian14@gmail.com  

def S='&Schema'  
set serveroutput on  
set long 20000  
set lines 2000 pages 0 ver off echo off head off feed off  
set newpage none  
set trimspool on  
set long 5000000  
spool &S..sql   
DECLARE  
  CURSOR C1 IS  
    SELECT '&S' AS u_name, table_name AS tab_name FROM user_tables;  
  CURSOR C2 IS  
    SELECT '&S' AS u_name, index_name AS idx_name FROM user_indexes;  
  CURSOR C3 IS  
    SELECT '&S' AS u_name, constraint_name AS cons_name FROM user_constraints where constraint_type not in('R','O');  
  CURSOR C4 IS  
    SELECT '&S' AS u_name, table_name AS tab_name FROM user_constraints where constraint_type in('R');  
  CURSOR C5 IS  
    SELECT '&S' AS u_name, trigger_name AS trig_name FROM user_triggers;  
  V_MSG CLOB;  
BEGIN  
      DBMS_OUTPUT.put_line('The CREATE DDL for schema &S''s Tables are:');  
  FOR x IN C1 LOOP  
      select dbms_metadata.get_ddl('TABLE', x.tab_name, x.u_name) INTO V_MSG from dual;  
      DBMS_OUTPUT.put_line(V_MSG);  
  END LOOP;  

      DBMS_OUTPUT.put_line('The CREATE DDL for schema &S''s Indexes are:');  
  FOR x IN C2 LOOP  
      select dbms_metadata.get_ddl('INDEX', x.idx_name, x.u_name) INTO V_MSG from dual;  
      DBMS_OUTPUT.put_line(V_MSG);  
  END LOOP;  

      DBMS_OUTPUT.put_line('The CREATE DDL for schema &S''s Constraints are:');  
  FOR x IN C3 LOOP  
      select dbms_metadata.get_ddl('CONSTRAINT', x.cons_name, x.u_name) INTO V_MSG from dual;  
      DBMS_OUTPUT.put_line(V_MSG);  
  END LOOP;  

      DBMS_OUTPUT.put_line('The CREATE DDL for schema &S''s Reference Constraints are:');  
  FOR x IN C4 LOOP  
      select dbms_metadata.get_dependent_ddl('REF_CONSTRAINT', x.tab_name, x.u_name) INTO V_MSG from dual;  
      DBMS_OUTPUT.put_line(V_MSG);  
  END LOOP;  

      DBMS_OUTPUT.put_line('The CREATE DDL for schema &S''s Triggers are:');  
  FOR x IN C5 LOOP  
      select dbms_metadata.get_ddl('TRIGGER', x.trig_name, x.u_name) INTO V_MSG from dual;  
      DBMS_OUTPUT.put_line(V_MSG);  
  END LOOP;  
END;  
/  
spool off; 

    2、通过数据泵导入参数SQLFILE获取索引DDL语句

源端全库导出:

http://www.cndba.cn/Marvinn/article/2756

expdp system/marvin@marvinpdb directory=dp_dir dumpfile=fulldb_marvinpdb.dmp logfile=expdp.log parallel=2   full=y

目标端生成SQLFILE文件: http://www.cndba.cn/Marvinn/article/2756http://www.cndba.cn/Marvinn/article/2756

http://www.cndba.cn/Marvinn/article/2756

impdp system/marvin@marvinpdb directory=dp_dir dumpfile=fulldb_marvinpdb.dmp logfile=impdp.log full=y parallel=2 sqlfile=marvin.sql

注意:使用SQLFILE参数文件,实际所有的数据是并非导入到目标端端数据库了,而是把所有的Dump内容转变成了DDL语句

Import: Release 12.2.0.1.0 - Production on 星期日 4月 29 17:15:43 2018

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.

连接到: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

已成功加载/卸载了主表 "SYSTEM"."SYS_SQL_FILE_FULL_01"

启动 "SYSTEM"."SYS_SQL_FILE_FULL_01":  system/****@marvinpdb directory=dp_dir dumpfile=fulldb_marvinpdb.dmp logfile=impdp.log full=y parallel=2 sqlfile=marvin.sql

处理对象类型 DATABASE_EXPORT/PRE_SYSTEM_IMPCALLOUT/MARKER

处理对象类型 DATABASE_EXPORT/PRE_INSTANCE_IMPCALLOUT/MARKER

处理对象类型 DATABASE_EXPORT/TABLESPACE

处理对象类型 DATABASE_EXPORT/PROFILE

处理对象类型 DATABASE_EXPORT/SYS_USER/USER

处理对象类型 DATABASE_EXPORT/SCHEMA/USER

处理对象类型 DATABASE_EXPORT/ROLE

处理对象类型 DATABASE_EXPORT/RADM_FPTM

处理对象类型 DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT

处理对象类型 DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANT

处理对象类型 DATABASE_EXPORT/SCHEMA/ROLE_GRANT

处理对象类型 DATABASE_EXPORT/SCHEMA/DEFAULT_ROLE

处理对象类型 DATABASE_EXPORT/SCHEMA/ON_USER_GRANT

处理对象类型 DATABASE_EXPORT/SCHEMA/TABLESPACE_QUOTA

处理对象类型 DATABASE_EXPORT/RESOURCE_COST

处理对象类型 DATABASE_EXPORT/SCHEMA/DB_LINK

处理对象类型 DATABASE_EXPORT/TRUSTED_DB_LINK

处理对象类型 DATABASE_EXPORT/SCHEMA/SEQUENCE/SEQUENCE

处理对象类型 DATABASE_EXPORT/SCHEMA/SEQUENCE/GRANT/OWNER_GRANT/OBJECT_GRANT

处理对象类型 DATABASE_EXPORT/DIRECTORY/DIRECTORY

处理对象类型 DATABASE_EXPORT/DIRECTORY/GRANT/OWNER_GRANT/OBJECT_GRANT

处理对象类型 DATABASE_EXPORT/CONTEXT

处理对象类型 DATABASE_EXPORT/SCHEMA/SYNONYM

处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/PRE_SYSTEM_ACTIONS/PROCACT_SYSTEM

处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/PROCOBJ

处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/GRANT/PROCOBJ_GRANT

处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/POST_SYSTEM_ACTIONS/PROCACT_SYSTEM

处理对象类型 DATABASE_EXPORT/SCHEMA/PROCACT_SCHEMA

处理对象类型 DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE

处理对象类型 DATABASE_EXPORT/EARLY_POST_INSTANCE_IMPCALLOUT/MARKER

处理对象类型 DATABASE_EXPORT/NORMAL_OPTIONS/TABLE

处理对象类型 DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLE

处理对象类型 DATABASE_EXPORT/NORMAL_POST_INSTANCE_IMPCALLOUT/MARKER

处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE

处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT

处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/COMMENT

处理对象类型 DATABASE_EXPORT/SCHEMA/PROCEDURE/PROCEDURE

处理对象类型 DATABASE_EXPORT/SCHEMA/PROCEDURE/ALTER_PROCEDURE

处理对象类型 DATABASE_EXPORT/SCHEMA/VIEW/VIEW

处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/INDEX/INDEX

处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/CONSTRAINT/CONSTRAINT

处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/INDEX/STATISTICS/INDEX_STATISTICS

处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/CONSTRAINT/REF_CONSTRAINT

处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/STATISTICS/TABLE_STATISTICS

处理对象类型 DATABASE_EXPORT/STATISTICS/MARKER

处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TRIGGER

处理对象类型 DATABASE_EXPORT/FINAL_POST_INSTANCE_IMPCALLOUT/MARKER

处理对象类型 DATABASE_EXPORT/SCHEMA/POST_SCHEMA/PROCACT_SCHEMA

处理对象类型 DATABASE_EXPORT/AUDIT_UNIFIED/AUDIT_POLICY_ENABLE

处理对象类型 DATABASE_EXPORT/AUDIT

处理对象类型 DATABASE_EXPORT/POST_SYSTEM_IMPCALLOUT/MARKER

作业 "SYSTEM"."SYS_SQL_FILE_FULL_01" 已于 星期日 4月 29 17:16:58 2018 elapsed 0 00:01:14 成功完成

验证数据是否被导入...发现并未导入

SQL> alter session set container=marvinpdb;

会话已更改。

SQL>

SQL> select count(*) from marvin.cndba;

select count(*) from marvin.cndba

                            *

第 1 行出现错误:

ORA-00942: 表或视图不存在

SQL> conn marvin/marvin@marvinpdb;

ERROR:

ORA-01017: 用户名/口令无效; 登录被拒绝

警告: 您不再连接到 ORACLE。

排除索引导入数据

impdp system/marvin@marvinpdb directory=dp_dir dumpfile=fulldb_marvinpdb.dmp logfile=impdp.log full=y parallel=2 exclude=index table_exists_action=skip

验证数据是否导入

SQL> alter session set container=marvinpdb;

会话已更改。

SQL> conn marvin/marvin@marvinpdb;

已连接。

SQL>

SQL> alter index IDX_CNDBA rebuild online;

alter index IDX_CNDBA rebuild online

*

第 1 行出现错误:

ORA-01418: 指定的索引不存在

SQL> select count(*) from cndba;

  COUNT(*)

     79440

发现数据已经导入,但是索引没有

查看SQLFILE文件,提取创建索引DDL报错成SQL文本,手动执行SQL文本创建索引

http://www.cndba.cn/Marvinn/article/2756
http://www.cndba.cn/Marvinn/article/2756

-- new object type path: DATABASE_EXPORT/SCHEMA/TABLE/INDEX/INDEX

CREATE INDEX "HR"."LOC_COUNTRY_IX" ON "HR"."LOCATIONS" ("COUNTRY_ID") 

  PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "SYSAUX" PARALLEL 1 ;

  ALTER INDEX "HR"."LOC_COUNTRY_IX" NOPARALLEL;

CREATE UNIQUE INDEX "HR"."LOC_ID_PK" ON "HR"."LOCATIONS" ("LOCATION_ID") 

  PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "SYSAUX" PARALLEL 1 ;

  ALTER INDEX "HR"."LOC_ID_PK" NOPARALLEL;

CREATE INDEX "HR"."LOC_STATE_PROVINCE_IX" ON "HR"."LOCATIONS" ("STATE_PROVINCE") 

  PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "SYSAUX" PARALLEL 1 ;

  ALTER INDEX "HR"."LOC_STATE_PROVINCE_IX" NOPARALLEL;

CREATE INDEX "HR"."LOC_CITY_IX" ON "HR"."LOCATIONS" ("CITY") 

  PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "SYSAUX" PARALLEL 1 ;

  ALTER INDEX "HR"."LOC_CITY_IX" NOPARALLEL;

CREATE INDEX "HR"."DEPT_LOCATION_IX" ON "HR"."DEPARTMENTS" ("LOCATION_ID") 

  PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "SYSAUX" PARALLEL 1 ;

  ALTER INDEX "HR"."DEPT_LOCATION_IX" NOPARALLEL;

CREATE UNIQUE INDEX "HR"."DEPT_ID_PK" ON "HR"."DEPARTMENTS" ("DEPARTMENT_ID") 

  PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "SYSAUX" PARALLEL 1 ;

  ALTER INDEX "HR"."DEPT_ID_PK" NOPARALLEL;

CREATE UNIQUE INDEX "HR"."JHIST_EMP_ID_ST_DATE_PK" ON "HR"."JOB_HISTORY" ("EMPLOYEE_ID", "START_DATE") 

  PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "SYSAUX" PARALLEL 1 ;

  ALTER INDEX "HR"."JHIST_EMP_ID_ST_DATE_PK" NOPARALLEL;

CREATE INDEX "HR"."JHIST_EMPLOYEE_IX" ON "HR"."JOB_HISTORY" ("EMPLOYEE_ID") 

  PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "SYSAUX" PARALLEL 1 ;

  ALTER INDEX "HR"."JHIST_EMPLOYEE_IX" NOPARALLEL;

CREATE INDEX "HR"."JHIST_DEPARTMENT_IX" ON "HR"."JOB_HISTORY" ("DEPARTMENT_ID") 

  PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "SYSAUX" PARALLEL 1 ;

  ALTER INDEX "HR"."JHIST_DEPARTMENT_IX" NOPARALLEL;

CREATE INDEX "HR"."JHIST_JOB_IX" ON "HR"."JOB_HISTORY" ("JOB_ID") 

  PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "SYSAUX" PARALLEL 1 ;

  ALTER INDEX "HR"."JHIST_JOB_IX" NOPARALLEL;

CREATE INDEX "HR"."EMP_DEPARTMENT_IX" ON "HR"."EMPLOYEES" ("DEPARTMENT_ID") 

  PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "SYSAUX" PARALLEL 1 ;

  ALTER INDEX "HR"."EMP_DEPARTMENT_IX" NOPARALLEL;

CREATE INDEX "HR"."EMP_JOB_IX" ON "HR"."EMPLOYEES" ("JOB_ID") 

  PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "SYSAUX" PARALLEL 1 ;

  ALTER INDEX "HR"."EMP_JOB_IX" NOPARALLEL;

CREATE INDEX "HR"."EMP_MANAGER_IX" ON "HR"."EMPLOYEES" ("MANAGER_ID") 

  PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "SYSAUX" PARALLEL 1 ;

  ALTER INDEX "HR"."EMP_MANAGER_IX" NOPARALLEL;

CREATE UNIQUE INDEX "HR"."EMP_EMP_ID_PK" ON "HR"."EMPLOYEES" ("EMPLOYEE_ID") 

  PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "SYSAUX" PARALLEL 1 ;

  ALTER INDEX "HR"."EMP_EMP_ID_PK" NOPARALLEL;

CREATE INDEX "HR"."EMP_NAME_IX" ON "HR"."EMPLOYEES" ("LAST_NAME", "FIRST_NAME") 

  PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "SYSAUX" PARALLEL 1 ;

  ALTER INDEX "HR"."EMP_NAME_IX" NOPARALLEL;

CREATE UNIQUE INDEX "HR"."JOB_ID_PK" ON "HR"."JOBS" ("JOB_ID") 

  PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "SYSAUX" PARALLEL 1 ;

  ALTER INDEX "HR"."JOB_ID_PK" NOPARALLEL;

-- CONNECT MARVIN

CREATE INDEX "MARVIN"."IDX_CNDBA" ON "MARVIN"."CNDBA" ("OBJECT_ID") 

  PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "USERS" PARALLEL 1 ;

  ALTER INDEX "MARVIN"."IDX_CNDBA" NOPARALLEL;

-- CONNECT HR

CREATE UNIQUE INDEX "HR"."REG_ID_PK" ON "HR"."REGIONS" ("REGION_ID") 

  PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "SYSAUX" PARALLEL 1 ;

  ALTER INDEX "HR"."REG_ID_PK" NOPARALLEL

手动执行SQL文本http://www.cndba.cn/Marvinn/article/2756http://www.cndba.cn/Marvinn/article/2756


SQL> @f:/db_backup/index.sql

CREATE UNIQUE INDEX "HR"."JOB_ID_PK" ON "HR"."JOBS" ("JOB_ID")
                         *
第 1 行出现错误:
ORA-00955: 名称已由现有对象使用



索引已更改。


索引已创建。


索引已更改。

CREATE UNIQUE INDEX "HR"."REG_ID_PK" ON "HR"."REGIONS" ("REGION_ID")
                         *
第 1 行出现错误:
ORA-00955: 名称已由现有对象使用


执行过程中有些报错,发现索引是已经存在的可以忽略,因为可以从SQLFILE文件中可以发现,有些创建约束语句中有些自带创建索引语句
ALTER TABLE "JWT"."TB3" ADD CONSTRAINT "ID_PR3" PRIMARY KEY ("ID")
  USING INDEX (CREATE UNIQUE INDEX "JWT"."ID_PR3" ON "JWT"."TB3" ("ID") 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 
  TABLESPACE "USERS" )  ENABLE;

所以,手动执行报错可以忽略,针对报错的INDEX,重建看下是否存在
SQL> alter  index  "HR"."REG_ID_PK" rebuild online;

索引已更改。

发现确实是存在的,故可忽略....其他的就不演示了...以此类推

再次验证索引是否创建
SQL> alter index IDX_CNDBA rebuild online;

索引已更改。

为保证稳妥,你可以手动搜集下全库的统计的信息...

至此…数据泵迁移优化实验结束….

http://www.cndba.cn/Marvinn/article/2756

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Marvinn

Marvinn

关注

路漫漫其修远兮、吾将上下而求索

  • 99
    原创
  • 0
    翻译
  • 2
    转载
  • 36
    评论
  • 访问:458461次
  • 积分:449
  • 等级:中级会员
  • 排名:第12名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ