准備工作:
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...等等, 總之遇見什么問題就解決什么問題, 如果沒有問
題,恭喜你了。
記錄分析一些奇怪的知識。