oracle11g資料庫導入導出方法教程

2020-12-13 梁山李二牛

oracle11g資料庫導入導出:①:傳統方式——exp(導出)和(imp)導入:②:數據泵方式——expdp導出和(impdp)導入;③:第三方工具——PL/sql Develpoer;

一、什麼是資料庫導入導出?

oracle11g資料庫的導入/導出,就是我們通常所說的oracle數據的還原/備份。資料庫導入:把.dmp 格式文件從本地導入到資料庫伺服器中(本地oracle測試資料庫中);資料庫導出:把資料庫伺服器中的數據(本地oracle測試資料庫中的數據),導出到本地生成.dmp格式文件。.dmp 格式文件:就是oracle數據的文件格式(比如視頻是.mp4 格式,音樂是.mp3 格式);

二、二者優缺點描述:

1.exp/imp:優點:代碼書寫簡單易懂,從本地即可直接導入,不用在伺服器中操作,降低難度,減少伺服器上的操作也就 保證了伺服器上數據文件的安全性。缺點:這種導入導出的速度相對較慢,合適資料庫數據較少的時候。如果文件超過幾個G,大眾性能的電 腦,至少需要4~5個小時左右。2.expdp/impdp:優點:導入導出速度相對較快,幾個G的數據文件一般在1~2小時左右。缺點:代碼相對不易理解,要想實現導入導出的操作,必須在伺服器上創建邏輯目錄(不是真正的目錄)。我們 都知道資料庫伺服器的重要性,所以在上面的操作必須慎重。所以這種方式一般由專業的程序人員來完 成(不一定是DBA(資料庫管理員)來幹,中小公司可能沒有DBA)。3.PL/sql Develpoer:優點:封裝了導入導出命令,無需每次都手動輸入命令。方便快捷,提高效率。缺點:長時間應用會對其產生依賴,降低對代碼執行原理的理解。

三、特別強調:

目標資料庫:數據即將導入的資料庫(一般是項目上正式資料庫);源資料庫:數據導出的資料庫(一般是項目上的測試資料庫);1.目標資料庫要與源資料庫有著名稱相同的表空間。2.目標數據在進行導入時,用戶名儘量相同(這樣保證用戶的權限級別相同)。3.目標資料庫每次在進行數據導入前,應做好數據備份,以防數據丟失。4.使用數據泵時,一定要現在伺服器端建立可用的邏輯目錄,並檢查是否可用。5.弄清是導入導出到相同版本還是不同版本(oracle10g版本與oracle11g版本)。6.目標數據導入前,弄清楚是數據覆蓋(替換),還是僅插入新數據或替換部分數據表。7.確定目標資料庫磁碟空間是否足夠容納新數據,是否需要擴充表空間。8.導入導出時注意字符集是否相同,一般Oracle資料庫的字符集只有一個,並且固定,一般不改變。9.導出格式介紹:Dmp格式:.dmp是二進位文件,可跨平臺,還能包含權限,效率好;   Sql格式:.sql格式的文件,可用文本編輯器查看,通用性比較好,效率不如第一種,適合小數據量導入導出。尤其注意的是表中不能有大欄位 (blob,clob,long),如果有,會報錯;   Pde格式:.pde格式的文件,.pde為PL/SQL Developer自有的文件格式,只能用PL/SQL Developer工具導入導出,不能用文本編輯器查看;10.確定操作者的帳號權限。

四、二者的導入導出方法:

1、傳統方法:通用命令:exp(imp) username/password@SERVICENAME:1521 file="e:\temp.dmp" full = y;資料庫導出舉例:exp xinxiaoyong/123456@127.0.0.1:1521 file="e:\temp.dmp" full = y;exp:導出命令,導出時必寫。imp:導入命令,導入時必寫,每次操作,二者只能選擇一個執行。username:導出數據的用戶名,必寫;password:導出數據的密碼,必寫;@:地址符號,必寫;SERVICENAME:Oracle的服務名,必寫;1521:埠號,1521是默認的可以不寫,非默認要寫;file="e:\temp.dmp" : 文件存放路徑地址,必寫;full=y :表示全庫導出。可以不寫,則默認為no,則只導出用戶下的對象;方法細分:1.完全導入導出:exp(imp) username/password@SERVICENAME:1521 file="e:\temp.dmp" full = y;

2.部分用戶表table導入導出:exp(imp) username/password@SERVICENAME:1521 file="e:\temp.dmp" tabels= (table1,table2,table3,...);

3.表空間tablespaces導入導出://一個資料庫實例可以有N個表空間(tablespace),一個表空間下可以有N張表(table)。exp(imp) username/password@SERVICENAME:1521 file="e:\temp.dmp" tablespaces= (tablespace1,tablespace2,tablespace3,...);

4.用戶名username對象導入導出:exp(imp) username/password@SERVICENAME:1521 file="e:\temp.dmp" owner(username1,username2,username3);

2、數據泵方法:創建directory:expdp(impdp) username/password@SERVICENAME:1521 schemas=username dumpfile=file1.dmp logfile=file1.log directory=testdata1 remap_schema=test:test;資料庫導出舉例:expdp xinxiaoyong/123456@127.0.0.1:1521 schemas=xinxiaoyong dumpfile=test.dmp logfile=test.log directory=testdata1;exp:導出命令,導出時必寫。imp:導入命令,導入時必寫,每次操作,二者只能選擇一個執行。username:導出數據的用戶名,必寫;password:導出數據的密碼,必寫;@:地址符號,必寫;SERVICENAME:Oracle的服務名,必寫;1521:埠號,1521是默認的可以不寫,非默認要寫;schemas:導出操作的用戶名;dumpfile:導出的文件;logfile:導出的日誌文件,可以不寫;directory:創建的文件夾名稱;remap_schema=源資料庫用戶名:目標資料庫用戶名,二者不同時必寫,相同可以省略;1.查看表空間:select * from dba_tablespaces;2.查看管理理員目錄(同時查看作業系統是否存在,因為Oracle並不關心該目錄是否存在,如果不存 在,則出錯)。select * from dba_directories;

3.創建邏輯目錄,該命令不會在作業系統創建真正的目錄,最好以system等管理員創建。 create directory testdata1 as 'd:\test\dump';4.給xinxiaoyong用戶賦予在指定目錄的操作權限,最好以system等管理員賦予。//xinxiaoyong 是用戶名(123456是用戶密碼)grant read,write on directory testdata1 to xinxiaoyong;

5.導出數據1)按用戶導 expdp xinxiaoyong/123456@orcl schemas=xinxiaoyong dumpfile=expdp.dmp directory=testdata1;2)並行進程parallel expdp xinxiaoyong/123456@orcl directory=testdata1 dumpfile=xinxiaoyong3.dmp parallel=40 job_name=xinxiaoyong33)按表名導 expdp xinxiaoyong/123456@orcl tables=emp,dept dumpfile=expdp.dmp directory=testdata1;4)按查詢條件導 expdp xinxiaoyong/123456@orcl directory=testdata1 dumpfile=expdp.dmp tables=emp query='WHERE deptno=20';5)按表空間導 expdp system/manager directory=testdata1 dumpfile=tablespace.dmp tablespaces=temp,example;6)導整個資料庫 expdp system/manager directory=testdata1 dumpfile=full.dmp FULL=y;6.還原數據1)導到指定用戶下 impdp xinxiaoyong/123456 directory=testdata1 dumpfile=expdp.dmp schemas=xinxiaoyong;2)改變表的owner impdp system/manager directory=testdata1 dumpfile=expdp.dmp tables=xinxiaoyong.dept remap_schema =xinxiaoyong:system;3)導入表空間 impdp system/manager directory=testdata1 dumpfile=tablespace.dmp tablespaces=example;4)導入資料庫 impdb system/manager directory=dump_dir dumpfile=full.dmp FULL=y;5)追加數據 impdp system/manager directory=testdata1 dumpfile=expdp.dmp schemas=system table_exists_action;3、PLSQL方法:登錄plsql工具,所使用用戶為源資料庫有導出權限(exp_full_database,dba等)的用戶。 1.導出建表語句(包括存儲結構)

導出步驟tools ->export user object,選擇要導出的對象,導出.sql格式文件並等待導出完成,如 下圖:

導出數據文件 ;2.導出步驟tools ->export tables,選擇要導出的表及導出的格式進行導出。

導出為dmp格式,如下圖:

導出為sql格式,如下圖:

導出為pde格式,如下圖:

提示說明:採用第三方工具導出導入整個資料庫的話,耗時較長,一定要有足夠的時間來操作(數據量大的話需要好幾個小時)。

3.導入建表語句 導入步驟tools->import tables->SQL Inserts 導入.sql文件 4.導入數據; tools->import talbes,然後再根據導出的數據格式選擇導入dmp文件,或者sql文件,或者pde文件。 提示說明:導入之前最好把以前的表刪除,當然導入另外資料庫除外。 另外導入時當發現進度條一直卡在一個點,而且導出的文件不再增大時,甚至是提示程序未響應,千萬不要以為程序卡死了,這個導入導出就是比較緩慢,只要沒有提示報錯,

由於水平有限,本文檔僅提供參考。如代碼有錯誤之處,請見諒。

相關焦點

  • Oracle 資料庫備份與恢復總結-exp/imp (導出與導入裝庫與卸庫)
    )只導出自上次「完全」導出之後資料庫中變化 了的信息。簡要使用步驟:如果想參考詳細使用方法,也可以參考 ORACLE聯機幫助。 全庫導入的一般步驟 注意:在導出時,需要通過toad或其他工具提取源資料庫創建主鍵和索引的腳本1.
  • GOM登錄器皮膚加密後如何導出導入教程
    GOM登錄器皮膚加密後如何導出導入教程但那些皮膚都做了二次加密,無法導出原圖進行PS,GM看到喜歡的皮膚,只能去美工網或者素材網購買後在去PS,大大增加了GM的成本和不必要的開支,現在好了,傳奇幫幫主教大家,用GOM皮膚導出工具,看到喜歡的皮膚,直接導出來,然後PS下,在導入,這個過程不會產生費用,當然請人PS這個不算。
  • MySQL導入導出常用命令
    導出、導入表中的記錄語句:(1)從DB中導出到文件mysql>select * into outfile '/home/outfilename.txt' fromdbtest;(2)從文件導入到DBmysql>load data infile '/home/outfilename.txt ' into table dbtest;導入、導出資料庫
  • 數據科學 | pandas數據導入與導出
    當我們開始著手做一個數據分析項目時,選擇和導入數據集是第一個步驟,而導出數據雖然非必需,但有時候我們也需要保存處理或者分析後的結果,方便下次使用。在pandas中,它已經為我們提供了很多不同格式數據的導入和導出方法,下面這篇文章將具體介紹一些較為常用的方法,包括excel、csv文件以及資料庫的導入導出等。數據導入和導出是pandas中很基礎且重要的一個部分。
  • Access數據的導入與導出
    接著昨天的內容繼續,今天介紹Access數據表的基礎操作——數據的導入與導出。如果不願意看文章的也可以看視頻,不過時間有點略長。▍創建一個Access資料庫打開Access程序以後,首先需要新建一個「空白資料庫」,因為所有的對象是基於資料庫來管理的。「表」就是資料庫最基本的對象。
  • EndNote X9的 使用進階:資料庫導入
    今天乘著很多童鞋暑假和小編也有整理好資料開始撰寫EndNote X9進階方法介紹。如需為導入的文獻單獨創建組,勾選Create a Group Set for this import即可。資料庫導入 一般資料庫都支持輸出檢索結果,下面以常見的 Web of Science Core Collection、Springer等資料庫為例來說明。
  • 常見SQL Server導入導出數據的幾個工具
    在我們的日常工作中,與資料庫打交道的機會越來越多。這一篇文章我整理一下常見的SQL Server導入導出數據的幾個工具。1.數據導入導出嚮導這是一個可視化的工具,我放在首位,是由於它可以極大靈活地滿足導入導出功能,而且是所見即所得的,易於使用。
  • 利用圖形界面從SQL導入導出到MySQL
    從sql導出到mysql的方法很多,現介紹一種無需編程,直接利用sql和mysql裡的圖形界面進行導入導出的簡單方法。前提是已經安裝了sqlserver客戶端和mysql的圖形界面管理工具 phpmyadmin。
  • Springboot整合easyExcel導入導出Excel
    、導出excel,因此在此記錄學習一下如何使用Springboot整合easyExcel;需求:資料庫中有張user表,有個業務要求可以導入、導出「用戶名單.xls」表一、準備:創建項目:關於springboot項目如何創建這裡不再贅述,放一張項目結構圖:1、導入easyexcel、mybatis、mysql依賴
  • 蘋果手機通訊錄怎麼導入到新手機,換機教程不能少!
    蘋果手機通訊錄怎麼導入到新手機,換機教程不能少! 方法一.利用SIM卡導入 如果你是將通訊錄聯繫人存儲在SIM卡上的,直接將SIM卡插入新手機,然後進入手機設置,點擊「通訊錄」後再點擊下方的「導入SIM卡通訊錄」就可以輕鬆搞定
  • Tasker如何導入導出配置——Tasker基礎教程
    Tasker基礎教程是 Tasker安裝第一天的教程的姊妹篇什麼是配置在了解如何導入配置文件前,先了解什麼是配置就好像說水是由氫元素和氧元素組成的,一個水分子是由兩個氫原子和一個氧原子構成的.Tasker各種類型文件之間的關係如何導入文件通過文件導入手機內存卡根目錄下有個文件夾Tasker,該文件夾下有4個文件夾:projects,profiles,tasks,scenes,分別存儲工程
  • (進階篇)使用PHP導入和導出CSV文件
    項目開發中,很多時候要將外部CSV文件導入到資料庫中或者將數據導出為CSV文件,那麼具體該如何實現呢?本文將使用PHP並結合mysql,實現了CSV格式數據的導入和導出功能。我們先準備mysql數據表,假設項目中有一張記錄學生信息的表student,並有id,name,sex,age分別記錄學生的姓名、性別、年齡等信息。
  • Oracle資料庫:imp導入數據指定表空間_DOIT.com.cn
    imp導入數據指定表空間,大致有以下幾種方法可以:1. 有一個簡單的方法,適用於數據比較少的情況:直接使用UltraEdit打方DMP文件,默認是16進位,切換成文本模式,將裡面的: TABLESPACE "TS1"全部替換成TABLESPACE "TS2",然後再導入,不用加什麼tablespaces=TS2之類的參數即可,當然加了也無所所謂。
  • PPT中圖片的導入導出進階教程:如何將喜歡的PPT背景圖片收為己用
    難道還要用原始的方法一張一張插入嗎?相信大家的手指都會表示深深的拒絕。當我們要把數量較多的圖片導入到我們的PPT當中,一張一張來的操作顯然是不科學的,那怎麼做可以快速地導入較多的圖片到不同的幻燈片中呢?這裡我們就需要用到PPT裡的【相冊】功能啦。
  • MySQL導出數據為csv的方法
    ,導出路徑資料庫必須要有權限並且導出的文件之前要不存在(如果沒權限報ERROR 1 (HY000): Can't create/write to file '/root/test1.csv' (Errcode: 13 - Permission denied)),防止數據被覆蓋(如果有文件報ERROR 1086 (HY000): File '/tmp/test.csv' already exists)
  • 使用SpreadJS 實現 JavaScript 中導入和導出Excel文件
    SpreadJS,正是這樣一款功能布局與Excel高度類似,無需大量代碼開發和測試即可實現數據展示、前端 Excel 導入導出、圖表面板、數據綁定等業務場景的純前端表格控制項。訪問 SpreadJS 官網了解更多產品動態:https://www.grapecity.com.cn/developer/spreadjs 使用JavaScript實現 Excel 的導入和導出通過純JavaScript,您完全可以實現導入和導出Excel文件功能,並為最終用戶提供與這些文件進行I/O交互的界面。
  • R語言數據導入與導出
    R語言數據導入與導出整這麼一個系列,還是因為學R語言時遇到過一個非常「小白友好」的網站「DataScience Made Simple」。相信很多人搜到過這個網站,或許你在意到或許並沒在意。年前試著和作者發了一封郵件,想要把他這個網站做成漢語版的帖子發在公眾號上,讓我感動的是作者團隊欣然同意。於是就想著搞這麼一個系列,能不能堅持下來還不好說……且行且珍惜吧。
  • 優雅 | 今天很水的文章-Excel導入導出
    前端部分這裡闡述前端部分導入,導出,生成Excel表格這裡使用的是一個js-xlsx插件,所以這裡進行嘗試。安裝依賴yarn add xlsx項目中引入import * as XLSX from 'xlsx'導出基本實現定義導出的基本方法export default function download
  • 梁寶川:如何導入,導出anki筆記?
    這個時候你必須導出相應的記憶庫。又或者你找到一些比較有價值的筆記模板,或者說有價值的筆記。所以要將它導入到自己的anki記憶庫當中。這都需要用到導入,導出環節。其實,關於導入,導出這個環節,我用的還是不少的。因為我有一個批量導入anki筆記的技巧。其中一個核心的環節就是導出幕布筆記,然後通過轉換格式,導入到anki當中。
  • 數據導入/導出為什麼總失敗?
    使用表單大師時,我們不僅可以將表單大師收集到的數據批量導出,還可以把Excel中的數據一鍵導入到表單中。但是,在Excel與表單大師之間導入、導出的時候,我們可能會遇到這些問題:1、Excel導入問題表單數據頁面,選擇「通過Excel導入數據」時,需要先下載導入模板,按照模板的規範格式進行數據導入。