impdp导入 原来已有用户数据

expdp/impdp  
impdp导入如果原来有用户表空间 就把原来的用户表空间全部删除
步骤一:  删除user
drop user ×× cascade
说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的。
步骤二: 删除tablespace
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;

查看用户属于哪个表空间
select username,default_tablespace from dba_users  where username='SCOTT';--用户名需要大写

创建用户指定表空间

create tablespace PERSONAL_DATA
datafile 'D:\app\Administrator\oradata\orcl\PERSONAL_DATA.dbf'
SIZE 1024M AUTOEXTEND ON ;//创建表空间 路劲最好放在oracle包里免得被删除


CREATE USER CL IDENTIFIED BY 123456
DEFAULT TABLESPACE PERSONAL_DATA ;//创建用户指定表空间

GRANT DBA,RESOURCE,CONNECT TO CL;//授权

导入时导入用户的表空间要与原来用户的表空间相同;

expdp/impdp 导入导出
一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
create directory dpdata1 as 'd:\test\dump';

二、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)
select * from dba_directories;

三、给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。
grant read,write on directory dpdata1 to scott;

四、导出数据
1)按用户导
expdp scott/tiger@orcl DIRECTORY=dpdata1 schemas=scott dumpfile=expdp.dmp;
2)并行进程parallel
expdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3
3)按表名导
expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;
4)按查询条件导
expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';
5)按表空间导
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;
6)导整个数据库
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;

五、还原数据

1)导到指定用户下
impdp scott/tiger DIRECTORY=逻辑路径名 DUMPFILE=expdp.dmp SCHEMAS=用户;

需要更换用户名的A导出的用户名 换成B
impdp B/B DIRECTORY=impdp_dir DUMPFILE=A.dmp SCHEMAS=A  REMAP_SCHEMA=A:B

2)改变表的owner
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;
3)导入表空间
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;
4)导入数据库
impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;
5)追加数据
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION=append;

系统设置 高级设置那
字符集问题 在环境变量中新建一个变量

名字为:                   
NLS_LANG
值:
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

猜你喜欢

转载自hu929236906.iteye.com/blog/2344828