plsql 數據遷移——導出表結構,表數據,表序號


場景:項目開發完之后要部署在不同的環境進行測試,這時候就需要將數據庫中的表結構,序號,數據進行遷移,這時候就需要能夠熟練的使用plsql。

問題:

  • 導出的表結構,在另一個數據庫中無法導入
  • 部分表的數據過大,導致長時間無響應,其實數據仍然在遷移,這個時候就需要找出關鍵的數據表,對於不需要的數據直接丟棄即可

1 導出表和序列結構

1.1 實踐方法

導出表結構: Tools(工具)-->Export User Objects(導出用戶對象) -->選擇要導出的表(包括Sequence等)-->.sql文件,導出的都為sql文件
ps: 這里記得要全選

 

 導出表數據: Tools(工具)-->Export Tables(導出表)-->選擇表,選擇SQL Inserts(SQL 插入)-->.sql文件

 

  導入表結構: 執行剛剛導出的sql文件,記住要刪掉table前的用戶名,比如以前這表名為sys.tablename,必須刪除sys
 導入表數據: 執行剛剛導出的sql文件

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;

 這里可以在導出數據時候去除不需要導出的數據,這樣操作起來就會快很多

這樣,就可以在導出數據時候,剔除掉大文件的數據表

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM