数据泵导入导出数据量大,加快导入导出进度,排除索引,也可以包括统计信息
排除索引的处理:
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语句
源端全库导出:
expdp system/marvin@marvinpdb directory=dp_dir dumpfile=fulldb_marvinpdb.dmp logfile=expdp.log parallel=2 full=y
目标端生成SQLFILE文件:
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文本创建索引
-- 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文本
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;
索引已更改。
为保证稳妥,你可以手动搜集下全库的统计的信息...
至此…数据泵迁移优化实验结束….
版权声明:本文为博主原创文章,未经博主允许不得转载。



