利用 PL/SQL Developer 內置工具實現零代碼備份恢復,覆蓋用戶對象(存儲過程/觸發器/序列等)、表數據(DMP/SQL 雙格式)、還原順序控制,適合中小型項目快速遷移、環境複刻。
1. 導出用戶對象(結構備份)
- 路徑:
Tools → Export User Objects
- 關鍵設置:取消勾選「Include Schema Name」「Include Tablespace」等,使腳本可跨 Schema/表空間執行
- 對象列表
Ctrl+A 全選,指定輸出 .sql 文件
2. 導出表數據(數據備份)
- 路徑:
Tools → Export Tables
- 大數據量:選 Oracle Export + 勾選 Compress,生成
.dmp,支持 CLOB/BLOB
- 小數據量:選 SQL Inserts,生成
.sql,可編輯、可版本控制
- 增量導出:
WHERE 條件欄填寫如 ROWNUM <= 1000
- 必勾選項:Constraints、Indexes、Row Count、Triggers
3. 還原順序(關鍵)
- 先還原 DMP 文件:
Tools → Import Tables,選擇目標用戶,導入含約束/索引/觸發器的完整結構
- 再執行 SQL 文件:新建 Command Window,
Ctrl+V 粘貼對象/數據 SQL,自動執行
4. 還原其他對象(存儲過程等)
- 登錄目標 Oracle 用戶(還原將歸屬該用戶)
- 打開備份 SQL 文件 → 全選 → Command Window 粘貼執行
避坑指南
- 含 CLOB/NCLOB 表只能用 DMP 格式,SQL Insert 會截斷/報錯
- DMP 導入時勾選
Ignore Exist 防止對象已存在報錯中斷
- 跨版本遷移(如 11g→19c)建議用 Data Pump (
expdp/impdp),功能更完備