数据泵操作
数据泵操作
1.1创建目录
在数据库实例上创建directory(sqlplus下)
Create or replacedirectory 目录名称 as‘D:/dump’(这个是导出导入目录)
1.2创建后可以用这个命令查看已存在的目录
Select *fromdba_directories; --查看所有
Select * fromdba_directories Where directory_name=’expdir’;
1.3创建用户并且授权
Create user testidentified by 123 default tablespace nnc_data01 temporary tablespace temp;
Grant read,write ondirectory expdir To orcl(expdir 为创建的目录,orcl 为实例数据库)
2数据库备份导出
创建用户并授权后,在dos状态(非sqlplus下)
假设原用户名称为test;
Expdp nc6/[email protected] schemas=nc6 dumpfile=nc6.dmp directory=expdirlogfile=file.log;
3.2数据库导入
创建用户并授权后,在dos状态非(非sqlpls下)
【说明】
1. 使用数据泵语句导出的数据库,必须对应使用数据泵语句导入。
2. 执行脚本前,需要把数据库文件如syync611_finnal_2.dmp 拷到本机D盘根目录位置
3. 到处前导入后的数据库用户名称一直
Impdb test/[email protected](用户名/密码@实例名) directory = expdir (已创建的目录) dumpfile = text.dmp(具体的数据库名称) schemas = test(数据泵导出的用户名称);
4. 导出前导入后的数据库用户名不一致需要做用户名的映射
5. 假设导出前用户名为test,导入的新用户名为test1;
Impdp test1/[email protected](用户\密码@实例名) directory = expdir(已经创建的目录)
Dumpfile=test.dmp(具体数据库名称) schemas = test(数据泵 导出的用户名称)
Remap_schema = test:test1(导出用户名:导入用户名);
其中:schemas 是源用户 remap_schema中 test 是源用户 test1是将要导入的目的用户。
4单表备份命令:
Create table 新表明 as select * from 旧表名