場景:項目開發完之后要部署在不同的環境進行測試,這時候就需要將數據庫中的表結構,序號,數據進行遷移,這時候就需要能夠熟練的使用plsql。
問題:
- 導出的表結構,在另一個數據庫中無法導入
- 部分表的數據過大,導致長時間無響應,其實數據仍然在遷移,這個時候就需要找出關鍵的數據表,對於不需要的數據直接丟棄即可
1 導出表和序列結構
1.1 實踐方法



1.2 其它總結
導出步驟:
1 tools ->export user object 選擇選項,導出.sql文件
2 tools ->export tables-> Oracle Export 選擇選項導出.dmp文件
導入之前先把原來用戶下的Tables,Sequences都右鍵Drop掉,再禁用所有約束即Constraintes下右鍵Disable(看解釋2)
導入步驟:
1 tools->import tables->SQL Inserts 導入.sql文件
2 tools->import talbes->Oracle Import然后再導入dmp文件
數據庫的導入導出成功
=======================解釋1=============================
Tools->Export User Objects導出的是建表語句(包括存儲結構)
Tools->Export Tables里面包含三種導出方式:
三種方式都能導出表結構以及數據,網上說三種方法有區別,如下:
Oracle Export,Sql Insert,pl/sql developer
第一種是導出為.dmp的文件格式,.dmp文件是二進制的,可以跨平台,還能包含權限,效率也很不錯,用得最廣
第二種是導出為.sql文件的,可用文本編輯器查看,通用性比較好,但效率不如第一種,適合小數據量導入導出。尤其注意的是表中不能有大字段(blob,clob,long),如果有,會提示不能導出(提示如下:
table contains one or more LONG columns cannot export in sql format,user Pl/sql developer format instead),可以用第一種和第三種方式導出。 第三種是導出為.pde格式的,.pde為Pl/sql developer自有的文件格式,只能用Pl/sql developer自己導入導出;不能用編輯器查看。
2 操作細節
在導出數據時候排除大文件數據表,查看所有表大小
select segment_name, bytes from user_segments where segment_type = 'TABLE' order by bytes desc;
這里可以在導出數據時候去除不需要導出的數據,這樣操作起來就會快很多
這樣,就可以在導出數據時候,剔除掉大文件的數據表