通過數據泵生成索引創建語句


情景:測試環境用表結構夠和數據存在,但是索引沒有,需要按照生產環境爲測試環境中的所有表的創建索引。
      用戶名 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 的錯誤時可以予以忽視。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章