本篇文章給大家帶來了關于oracle的相關知識,其中主要整理了數據表導入導出的相關問題,大量數據需要遷移是選擇“導出表”和“導入表”的oracle方法,不需要寫表結構,下面一起來看一下,希望對大家有幫助。
推薦教程:《oracle》
? ? 0.背景:突然接到居家辦公的通知,工作用數據全部在內網,需要全部拷出帶走,最大的單個表3.7G左右。根據往常經驗將oracle庫中表導出為xlsx(方便與同事溝通使用),發現效率太低,且受制于數據量太大,經常報錯無法導出。后來嘗試導出為csv文件,提示已導出完成,但等重新找臺電腦導入時發現數據缺失嚴重,無法使用。
1.原有的笨方法
? ? 在對象窗口中右擊需要導出的表,點擊查詢數據,點擊csv文件或excel文件。通常使用的都是這種方法,查詢結果很直觀,適合小數據量。
1.Oracle數據表導出
導出表工具
? ? 在PL/SQL中打開方式有兩種,方法一為在對象窗口中右擊需要導出的表,點擊導出數據,彈出導出表窗口,方法二為點擊PL/SQL頁面頂部的工具,點擊導出表,彈出導出表窗口。導出表工具可批量導出多個表
? ? ?在導出表窗口中,具體的導出方法有三種,三種方式都能導出表結構和數據
(1)Oracle導出
? ? “Oracle導出”的導出結果是dmp格式的二進制文件,無法預覽,但速度快,可以跨平臺,后續打算以這種方法為主。第一個dmp文件3.61G左右,導出時間3分鐘。
(2)SQL插入
? ? “SQL插入”的導出結果為sql格式的文件,可以以文本格式進行預覽,但是速度沒有“Oracle導出”快。對于dmp格式3.61G的文件,導出時間14分鐘,大小9.34G。
(3)PL/SQL Developer
? ? “PL/SQL Developer”的導出結果是pde格式的文件,這是PL/SQL自由的文件格式,不可以以文本格式進行預覽,速度
? ? 對于dmp格式3.61G的文件,導出時間10分鐘,大小0.4G。數據量太小,不太相信全部拷出,但日志提示條數又與數據表一致
2.Oracle數據表導入
ODBC導入器
? ? ODBC的意思應該是Open Database Connectivity(開放數據互聯)。我經常使用ODBC導入器導入EXCEL文檔和ACCESS數據庫表。使用ODBC導入器導入表需要提前定義好表結構。
(1)新建表
? ? 文件-新建-創建表,設置表名稱和列。可適當添加備注信息,方便后續使用,列設置時類型一定要有,盡量設置大一點,防止后續導入時出錯,可點擊查看SQL按鈕,顯示創建表的SQL語句,方便下次直接執行代碼創建表。
(2)打開ODBC導入器
? ? 點擊PL/SQL頁面頂部的“工具”,點擊“ODBC導入器”,彈出ODBC導入器窗口
(3)選擇需要導入的表
? ? 用戶/系統DSN選擇“Excel Files”,點擊連接,選擇需要導入的表。選擇需要導入的具體sheet,并預覽
(4)確定Oracle對應的位置
? ? 選擇所有者,表,查看字段匹配情況,對于不能自動匹配的字段,手動在右側窗口中選擇對應的字段和字段類型,點擊“導入”按鈕導入數據。
文本導入器
? ? 顧名思義,文本導入器導入的是文本格式的文件,我通常用文本導入器導入csv格式的文件
(1)新建表,具體方法與ODBC導入器一致
(2)打開文本導入器
點擊PL/SQL頁面頂部的“工具”,點擊“文本導入器”,彈出文本導入器窗口
(3)選擇需要導入的表
點擊選擇文件按鈕,選擇確定需要導入的文本文件并進行預覽
(4)確定Oracle對應的位置
? ? 選擇所有者,表,查看字段匹配情況,對于不能自動匹配的字段,手動在右側窗口中選擇對應的字段和字段類型,點擊“導入”按鈕導入數據。
導入表工具?
? ? 點擊PL/SQL頁面頂部的工具,點擊導入表,彈出導入表窗口
(1)Oracle導入
? ? 選擇需要導入的dmp文件,點擊“導入”按鈕,最下方有導入完成提示。導入完成后可在最右側日志頁查看詳細的導入結果
(2)SQL插入
? ? 選擇需要導入的sql文件,點擊“導入”按鈕,會彈出sqlplus.exe執行程序窗口,顯示導入實時進度。導入完成后可在最右側日志頁查看詳細的導入結果
(3) PL/SQL Developer
? ? 選擇需要導入的pde文件,點擊“導入”按鈕,最下方有導入完成提示。導入完成后可在最右側日志頁查看詳細的導入結果。速度真的慢,比SQL插入慢
3.總結
(1)日常小數據量需要跟其他人交互的就用導出查詢結果為xlsx格式
(2)ODBC導入器和文本導入器需要提前寫好表結構
(3)大量數據需要遷移是選擇“導出表”和“導入表”的Oracle方法,不需要寫表結構
(4)備份數據就直接導出為dmp格式的文件,需要恢復的時候再重新導入
推薦教程:《oracle》