這兩天在用EXP備份測試資料庫,注意以及方法
1. 報錯ORA-01455: 轉換列溢出整數數據類型
原因: 11g對於新建的沒有數據的表(如 CM_BOQS_T_IN剛剛建立,還沒有測試數據),是不會分配空間的,而EXP時對於沒有空間的表就會報錯
解決辦法: 用SELECT 'alter table '||table_name||' allocate extent;' FROM user_tables t WHERE t.NUM_ROWS=0;
查出數據量爲0的表,用命令分配空間
2. Tables 參數過長(超過30),命令行無法執行
原因:因爲測試資料庫要備份的表很多,如果直接在命令行中將這些表列出來,會因爲過長無法執行
解決辦法:用參數文件記錄EXP參數(如下),然後在命令行中執行:EXP 賬號/密碼@TNS parfile=D:\backup\exp1.par
exp1.par參數文件如下:
Tables=
(
Table_a,table_b
)
File=d:\backup\2014.dump
Log= d:\backup\2014.log