Oracle數(shù)據(jù)庫表備份導(dǎo)入導(dǎo)出dmp的方式及踩坑記錄
目錄
- 一、備份導(dǎo)出前的注意事項(xiàng)
- 二、導(dǎo)出的兩種方式
- 2.1.使用exp導(dǎo)出
- 2.2.使用數(shù)據(jù)泵expdp導(dǎo)出
- 三、在備份時(shí)遇到的坑
- 附:Oracle導(dǎo)出指定用戶下dmp文件
- 總結(jié)
一、備份導(dǎo)出前的注意事項(xiàng)
1.導(dǎo)出導(dǎo)出的時(shí)候需要注意數(shù)據(jù)庫的字符集是否一致,使用工具導(dǎo)入的話也需要確認(rèn)工具的字符集
--查詢服務(wù)端的編碼命令 SELECT * FROM Nls_Database_Parameters where parameter = "NLS_CHARACTERSET"; --查詢客戶端軟件的編碼命令 SELECT Userenv("language") FROM dual where parameter = "NLS_CHARACTERSET";
2.導(dǎo)出時(shí)要確認(rèn)導(dǎo)出文件的目錄,使用oracle自帶的邏輯目錄或者自己創(chuàng)建邏輯目錄,需要用到目錄名稱和目錄路徑,在導(dǎo)出時(shí)只需指定目錄名稱,導(dǎo)出的文件存放在目錄路徑下
--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.需要確認(rèn)要導(dǎo)出的目錄中空間是否夠用,空間不足時(shí)導(dǎo)入會(huì)停止
二、導(dǎo)出的兩種方式
2.1.使用exp導(dǎo)出
--2.1.1.導(dǎo)出命令
exp 用戶名/密碼@數(shù)據(jù)庫IP:端口號(hào)/orcl file=導(dǎo)出的目標(biāo)文件名稱 tables=要導(dǎo)出的表名(多個(gè)表時(shí)用逗號(hào)隔開)
exp TJ_DATA/[email protected]:1521/orcl file=export.dmp tables=USER_INFO,POLICY_INFO;--2.1.2.導(dǎo)入命令
imp 用戶名/密碼@數(shù)據(jù)庫IP:端口號(hào)/orcl file=導(dǎo)出的目標(biāo)文件名稱 tables=要導(dǎo)出的表名(多個(gè)表時(shí)用逗號(hào)隔開)
imp TJ_DATA/[email protected]:1521/orcl file=export.dmp tables=USER_INFO,POLICY_INFO;
2.2.使用數(shù)據(jù)泵expdp導(dǎo)出
--2.2.1.導(dǎo)出命令
expdp 用戶名/密碼@數(shù)據(jù)庫IP:端口號(hào)/orcl file=導(dǎo)出的目標(biāo)文件名稱 tables=要導(dǎo)出的表名(多個(gè)表時(shí)用逗號(hào)隔開)
expdp TJ_DATA/[email protected]:1521/orcl file=export.dmp tables=USER_INFO,POLICY_INFO;--2.2.2.導(dǎo)入命令
impdp 用戶名/密碼@數(shù)據(jù)庫IP:端口號(hào)/orcl file=導(dǎo)出的目標(biāo)文件名稱 tables=要導(dǎo)出的表名(多個(gè)表時(shí)用逗號(hào)隔開)
impdp TJ_DATA/[email protected]:1521/orcl file=export.dmp tables=USER_INFO,POLICY_INFO
三、在備份時(shí)遇到的坑
--3.1. 要備份的表如果是分區(qū)表,不能使用exp導(dǎo)出命令.只能使用數(shù)據(jù)泵導(dǎo)出方式.
--3.2. dmp文件導(dǎo)入時(shí),數(shù)據(jù)庫中不能存在同名的表
--3.3. 導(dǎo)入時(shí),數(shù)據(jù)庫表的表空間要一致,在命令中可以修改表空間,在導(dǎo)入導(dǎo)入命令后面加上 ‘remap_tablespace=原表空間名:新表空間名’
impdp TJ_DATA/[email protected]:1521/orcl file=export.dmp tables=USER_INFO remap_tablespace=OLD_SPACE:NEW_SPACE
– 3.4. 導(dǎo)出時(shí)如果表空間不足,需要為當(dāng)前表空間新增數(shù)據(jù)文件來擴(kuò)容,數(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.導(dǎo)入導(dǎo)出有三種類型,分別是表方式(T方式),用戶方式(U方式),全庫方式(Full方式),這里只記錄了表導(dǎo)出方式
附:Oracle導(dǎo)出指定用戶下dmp文件
1.導(dǎo)出指定用戶下的全部表
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ǎo)出為D盤dmp文件夾下的DEMO_20220121.dmp文件,導(dǎo)出日志為相同目錄下的DEMO_20220121_daochu.log
2.導(dǎo)出指定表名的表
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
表示導(dǎo)出指定的三個(gè)表('EP_SYS_CQ_COND','EP_SYS_CONSIGN_REC','EP_SYS_CQ_COND_DEF')
3.導(dǎo)出以**開頭的表
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
表示導(dǎo)出DEMO用戶下DEMO_開頭的全部表
總結(jié)
到此這篇關(guān)于Oracle數(shù)據(jù)庫表備份導(dǎo)入導(dǎo)出dmp的文章就介紹到這了,更多相關(guān)Oracle備份導(dǎo)入導(dǎo)出dmp內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
相關(guān)文章:
