通过数据泵生成索引创建语句


情景:测试环境用表结构够和数据存在,但是索引没有,需要按照生产环境为测试环境中的所有表的创建索引。
      用户名 scott .

解决方案:
一、在生产上生成scott索引定义的dump 文件  
语法如下:
expdp scott/***  SCHEMAS=scott  DIRECTORY=DUMP_DIR DUMPFILE=scott_index.dmp  LOGFILE=scott_index.log content=METADATA_ONLY include=index
注:关键字content=METADATA_ONLY include=index 不可缺失

二、将文件cp 到测试环境
 scp ....

三、在测试上生成.sql文件
 语法如下:
impdp scott/***  directory=DUMP_DIR dumpfile=scott_index.dmp  LOGFILE=scott_index.log sqlfile=scott_indexfile.sql

四、在测试环境下执行.sql文件
sqlplus scott/***
sql>@/oradata/dump_dir/stl_indexfile.sql

总结:以上,有几个需要注意的地方。
      1、第一个是生成元数据时必须只include index ,不包含其它定义;
      2、注意每一步是否会出现一些严重的错误
      3、由于sit可能有的表已经有了相应的索引,所以在执行sqlfile 的时候出现一些index already exist 的错误时可以予以忽视。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章