導入與導出,如下: 數據導出: exp 用戶名/密碼@網絡服務名 file=xxx.dmp tables=(表名); eg: exp user/123456@10.83.200.171 file=d:\dbbackup\file1221_zwy.dmp log=d:\dbbackup\file1221_zwy.log exp user/"""123@456"""@10.83.200.171 file=d:\dbbackup\file1221_zwy.dmp log=d:\dbbackup\file1221_zwy.log 注:數據庫密碼中含有@字符時,用"""區分。 1 將數據庫TEST完全導出,用戶名system 密碼manager 導出到D:\daochu.dmp中 exp rmdb/rmdb123@hz_rmdb file=d:\daochu.dmp full=y 2 將數據庫中system用戶與sys用戶的表導出 exp rmdb/rmdb123@hz_rmdb file=d:\daochu.dmp owner=(system,sys) 3 將數據庫中的表table1 、table2導出 exp rmdb/rmdb123@hz_rmdb file=d:\daochu.dmp tables=(table1,table2) 4 將數據庫中的表table1中的字段filed1以"00"打頭的數據導出 exp rmdb/rmdb123@hz_rmdb file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\" 上面是常用的導出,對於壓縮我不太在意,用winzip把dmp文件可以很好的壓縮。 不過在上面命令后面 加上 compress=y 就可以了 數據的導入: imp 用戶名/密碼@網絡服務名 file=xxx.dmp full=y; eg: imp user/123456@192.168.20.212:1521/orcl file=E:\運政執法數據\yz\yzdata.dmp full=y 注釋(導入到本地庫):imp tjsnbg/tjsnbg@127.0.0.1:1521/orcl file=E:\kfjj722.dmp log=F:\tjsnbg20170702.log full=y 1 將D:\daochu.dmp 中的數據導入 TEST數據庫中。 imp rmdb/rmdb123@hz_rmdb file=d:\daochu.dmp 上面可能有點問題,因為有的表已經存在,然后它就報錯,對該表就不進行導入。 在后面加上 ignore=y 就可以了。 2 將d:\daochu.dmp中的表table1 導入 imp rmdb/rmdb123@hz_rmdb file=d:\daochu.dmp tables=(table1)
PS:
很多時候我們用擁有DBA權限的用戶 從oracle數據庫導出數據,那么再導入新的數據庫時就還得需要DBA權限的用戶,下面是如何創建一個新用戶並授予DBA權限命令。
1.用有dba權限的用戶登錄:sys用戶
2.創建一個新用戶:create user abc(用戶名) identified by 123456(密碼);
3.授予DBA權限: grant connect,resource,dba to abc;
ok,創建好了,就可以用abc這個用戶登錄了,abc用戶擁有dba權限。
注意事項:導出dmp數據時需要有導出表的權限的用戶,否則不能導出。