在导入导出之前需要先做一些准备工作.
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/Aa_11111@127.0.0.1/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/1@127.0.0.1/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文件要有读的权限。