在導入導出之前需要先做一些準備工作.
1.創建表空間:
<span style="color:#ff0000">CREATE TABLESPACE ORCL datafile 'E:\app\zxp\oradata\orcl\ORCL.dbf' size 20000M autoextend on next 100m maxsize unlimited;</span>
表空間創建完成後可以使用:
select * from dba_tablespaces 查詢已經存在的表空間。
select table_name,sum(bytes)/1024/1024/1024 from dba_data_files group by tablespace_name 查看錶空間的大小。
2.創建用戶:
create user v45zh identified by 1 default tablespace ORCL;
3.給用戶賦權限:
grant dba to v45zh;
4.創建目錄:
create directory dump_dir as 'F:\oracle_dmp';select * from dba_directories 查詢已經存在的目錄
5.給目錄賦權限:
grant read,write on directory dump_dir to v45zh;
6.導入導出語句:
導出:
expdp cp_user/[email protected]/gzdb directory=DATA_PUMP_DIR dumpfile=gzdb20171009.DMP logfile=gzdblog20171009.log EXCLUDE=TABLE:\"IN\(\'T_S_BIZ_LOG\',\' T_S_OPER_LOG\'\)\"
注:exude關鍵字可以排除一些不需要導出的表。
導入:
impdp v45zh/[email protected]/gzdb directory=dump_dir dumpfile=yssfa201705.dmp logfile=yssfa201705.log REMAP_SCHEMA= cbsp_user:v45zh REMAP_TABLESPACE=ORCL:ORCL table_exists_action=replace
注:使用table_exists_action=replace關鍵字可以將數據庫中已經存在的表進行替換。
7.注意事項:
①在導入導出數據庫之前首先用戶要有導入導出的權限。再一個是目錄要有讀寫的權限。
②如果是linux系統的話,impdp運行時的權限是Oracle用戶的權限,這個時候目錄的所有者有權限是不夠的,其他人也要有權限,纔可以導出成功。
③在導入時dmp文件要有讀的權限。