還原Oracle數據庫dmp文件(Win系統)


准備工作:

    1、核對數據字符集:  

        一般Oracle在安裝的時候默認是選擇ZHS16GBK,如有改動,使用 select userenv('language') from dual;語句查看使用的字符集,確保兩邊的字符集一致。

     不一致的情況下,在導入數據時,可能回到字段長度變長導致數據寫入失敗,甚至亂碼等情況。

 

    2、創建表空間:

       創建表空間時,可以根據需要導入的文件大小去創建

     方法1:直接給到導入數據量大小的表空間(我的將近60個G)

     語法:create tablespace 表空間名 datafile '數據文件名' size 表空間大小

     例子:create tablespace  ATMCS_01  datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\ATMCS_01.bdf' size 30000m;

     補充說明:表空間大小是有上限的,每個文件不大於32GB(精確的值為32768M),所以當需要導入的數據大於最大表空間值時,我們可以利用語句:

          alter tablespace ATMCS_01 add datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\ATMCS_02.bdf' size 30000m;進行追加表空間大小

          從上面語句不難發現,表空間明要求一致,文件名是不同名的,追加的大小根據自身需求定。如果還不夠,那就再加。

     方法2:自增長表空間

     語法:create tablespace 表空間名 datafile '數據文件名' size 初始大小  autoextend on next 每次擴展大小 maxsize unlimited

     例子:create tablespace ATMCS_01 datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\ATMCS_02.bdf'  size 200m  autoextend on next 10m  maxsize unlimited

     補充說明:從語句上看是最大不設限,其實還是不大於32GB, 本人之前用自增長表空間發生過表空間不足,所以后來索性開到最大。

 

    3、創建用戶指定表空間:

      語法:create user 用戶名  identified by 密碼  default tablespace 表空間名;

      例子:create user TEST  identified by Admin123456 default tablespace ATMCS_01;

    

    4:用戶授權:

       語法: grant connect,resource,dba to 用戶名;

       例子:  grant connect,resource,dba to TEST  ;

開始導入:

    導入方法1:

      win+R 直接喚醒cmd 

      語法:imp  用戶名/密碼 @服務名  file=‘Dmp文件地址’ log=‘導入日志存放地址’ full=y ignore=y

      例子:imp TEST/Admin123456@orcl file="D:\data\oracle\2020-11-27.dmp"  log="D:\data\oracle\test.log" full =y ignore=y;

    導入方法2:

      利用plsql ,Tools(工具)>Import tables(導入表)>選擇可執行文件>右下角選擇導入文件>點擊import(導入)

      選擇可執行文件時,可執行文件就在:安裝盤:\app\Administrator\product\11.2.0\dbhome_1\bin\imp.exe 中,我的

      就在D:\app\Administrator\product\11.2.0\dbhome_1\bin\imp.exe

     進入導入表時,按默認選擇即可,除非有自己特殊要求,比如不再需要約束關系,取消勾選即可

    補充說明:兩種方法原理一致,plsql相對穩定一下,會去掉一些權限方面的問題,更多的情況需各位自己去嘗試了。不管以上說得是否全都正確,記得回來評論,分享給自己在導入

     oracle數據時的心得或者問題。

導入結束:

    在導入過程,還會遇到各種問題,比如 IMP-00017: 由於 ORACLE 錯誤 2153, IMP-00017: 由於 ORACLE 錯誤 959...等等, 總之遇見什么問題就解決什么問題, 如果沒有問

               題,恭喜你了。

 

  

                                                                 記錄分析一些奇怪的知識。

     

 


免責聲明!

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



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