Oracle數(shù)據(jù)庫表備份導入導出dmp的方式及踩坑記錄
一、備份導出前的注意事項
1.導出導出的時候需要注意數(shù)據(jù)庫的字符集是否一致,使用工具導入的話也需要確認工具的字符集
--查詢服務端的編碼命令 SELECT * FROM Nls_Database_Parameters where parameter = 'NLS_CHARACTERSET'; --查詢客戶端軟件的編碼命令 SELECT Userenv('language') FROM dual where parameter = 'NLS_CHARACTERSET';
2.導出時要確認導出文件的目錄,使用oracle自帶的邏輯目錄或者自己創(chuàng)建邏輯目錄,需要用到目錄名稱和目錄路徑,在導出時只需指定目錄名稱,導出的文件存放在目錄路徑下
--2.1.查看oracle已有的目錄, select * from dba_directories; --2.2.自己創(chuàng)建邏輯目錄 create directory 目錄名稱 as ‘目錄路徑'; --2.3.如果是自己創(chuàng)建的目錄,需要給用戶添加讀寫此文件夾的權(quán)限 grant read,write on directory dir to scott;
3.需要確認要導出的目錄中空間是否夠用,空間不足時導入會停止
二、導出的兩種方式
2.1.使用exp導出
--2.1.1.導出命令
exp 用戶名/密碼@數(shù)據(jù)庫IP:端口號/orcl file=導出的目標文件名稱 tables=要導出的表名(多個表時用逗號隔開)
exp TJ_DATA/a123456@10.10.1.54:1521/orcl file=export.dmp tables=USER_INFO,POLICY_INFO;--2.1.2.導入命令
imp 用戶名/密碼@數(shù)據(jù)庫IP:端口號/orcl file=導出的目標文件名稱 tables=要導出的表名(多個表時用逗號隔開)
imp TJ_DATA/a123456@10.10.1.54:1521/orcl file=export.dmp tables=USER_INFO,POLICY_INFO;
2.2.使用數(shù)據(jù)泵expdp導出
--2.2.1.導出命令
expdp 用戶名/密碼@數(shù)據(jù)庫IP:端口號/orcl file=導出的目標文件名稱 tables=要導出的表名(多個表時用逗號隔開)
expdp TJ_DATA/a123456@10.10.1.54:1521/orcl file=export.dmp tables=USER_INFO,POLICY_INFO;--2.2.2.導入命令
impdp 用戶名/密碼@數(shù)據(jù)庫IP:端口號/orcl file=導出的目標文件名稱 tables=要導出的表名(多個表時用逗號隔開)
impdp TJ_DATA/a123456@10.10.1.54:1521/orcl file=export.dmp tables=USER_INFO,POLICY_INFO
三、在備份時遇到的坑
--3.1. 要備份的表如果是分區(qū)表,不能使用exp導出命令.只能使用數(shù)據(jù)泵導出方式.
--3.2. dmp文件導入時,數(shù)據(jù)庫中不能存在同名的表
--3.3. 導入時,數(shù)據(jù)庫表的表空間要一致,在命令中可以修改表空間,在導入導入命令后面加上 ‘remap_tablespace=原表空間名:新表空間名’
impdp TJ_DATA/a123456@10.10.1.54:1521/orcl file=export.dmp tables=USER_INFO remap_tablespace=OLD_SPACE:NEW_SPACE
– 3.4. 導出時如果表空間不足,需要為當前表空間新增數(shù)據(jù)文件來擴容,數(shù)據(jù)文件可以設(shè)置初始大小,并設(shè)置自增,也可以限定最大值
ALTER TABLESPACE 表空間名 ADD DATAFILE ‘數(shù)據(jù)文件路徑及名稱’ size 文件初始大小 autoextend on (設(shè)置是否開啟自增) MAXSIZE 文件最大值;
ALTER TABLESPACE TJ_DATA ADD DATAFILE '/oracle/oradata/ds.dbf' size 1024M autoextend on MAXSIZE 20480M;
--3.5.導入導出有三種類型,分別是表方式(T方式),用戶方式(U方式),全庫方式(Full方式),這里只記錄了表導出方式
附:Oracle導出指定用戶下dmp文件
1.導出指定用戶下的全部表
exp DEMO/DEMO@ORCL file=D:\dmp\DEMO_20220121.dmp owner=DEMO buffer=8192000 log=D:\dmp\DEMO_20220121_daochu.log
上述內(nèi)容代表將用戶DEMO的全部表導出為D盤dmp文件夾下的DEMO_20220121.dmp文件,導出日志為相同目錄下的DEMO_20220121_daochu.log
2.導出指定表名的表
exp DEMO/DEMO@ORCL file=D:\dmp\DEMO_20220121_ep.dmp tables=('EP_SYS_CQ_COND','EP_SYS_CONSIGN_REC','EP_SYS_CQ_COND_DEF') buffer=8192000 log=D:\dmp\DEMO_20220121_ep_daochu.log
表示導出指定的三個表('EP_SYS_CQ_COND','EP_SYS_CONSIGN_REC','EP_SYS_CQ_COND_DEF')
3.導出以**開頭的表
exp DEMO/DEMO@ORCL_MDPC file=D:\dmp\DEMO_20220307_demo.dmp tables=(DEMO.DEMO_%) buffer=8192000 log=D:\dmp\DEMO_20220307_demo_daochu.log
表示導出DEMO用戶下DEMO_開頭的全部表
總結(jié)
到此這篇關(guān)于Oracle數(shù)據(jù)庫表備份導入導出dmp的文章就介紹到這了,更多相關(guān)Oracle備份導入導出dmp內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Oracle + mybatis實現(xiàn)對數(shù)據(jù)的簡單增刪改查實例代碼
這篇文章主要給大家介紹了關(guān)于利用Oracle + mybatis如何實現(xiàn)對數(shù)據(jù)的簡單增刪改查的相關(guān)資料,文中圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-10-10Oracle三種循環(huán)(For、While、Loop)實現(xiàn)九九乘法表
這篇文章主要為大家詳細介紹了Oracle三種循環(huán)For、While、Loop實現(xiàn)九九乘法表,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03Oracle解鎖表、包、用戶、殺會話、停job的方法實現(xiàn)
本文主要介紹了Oracle解鎖表、包、用戶、殺會話、停job的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-12-12Oracle EBS工具選項:關(guān)閉其他表單修改方法
這篇文章主要介紹了Oracle EBS工具選項關(guān)閉其他表單修改方法,包括通過SQL語句永久打開或關(guān)閉這個選項的方法,需要的朋友可以了解下。2017-09-09Oracle?ORA-00904:標識符無效解決方法(太坑了!!)
最近執(zhí)行sql時oracle報錯ORA-00904:標識符無效,所以這篇文章主要給大家介紹了關(guān)于Oracle?ORA-00904:標識符無效解決方法的相關(guān)資料,需要的朋友可以參考下2022-10-10