1 Oracle服务端与客户端解释
服务端提供oracle服务的实例,其是数据库的核心,用于数据库的管理,
对象的管理与存储、数据的存储、查询、数据库资源的监控、监听等一些服务。
而客户端只是一个与服务端交互的工具,如sqlplus,在sqlplus里执行SQL语句传到服务端,
服务端进行解析后执行SQL里的操作,并将操作结果输出到客户端。
这就完成了一个客户端与服务端交互的过程。
2 Oracle DIRECTORY知识
-- 创建或修改目录,注意:E:/dmp 必须是真实存在的目录
create or replace directory mydmp as 'E:/dmp';
-- 删除目录
DROP DIRECTORY mydmp;
-- 查询目录,DIRECTORY_NAME='DATA_PUMP_DIR'的DIRECTORY_PATH值为默认的转储文件目录,即如果没有指定directory,则为默认路径
SELECT * FROM ALL_DIRECTORIES T;
SELECT * FROM DBA_DIRECTORIES T;
-- 授权Directory给用户
Grant read,write on directory mydmp to sms;
3 expdp解释
expdp sms/sms@orcl schemas=sms directory=mydmp dumpfile=sms_20170328.dmp logfile=sms_20170328.log
整体解释为:通过用户名sms和密码sms连接数据库orcl,并导出用户sms的dmp数据文件,文件导出路径为sms_20170328.dmp,日志路径为sms_20170328.log,路径都是相对directory指定的路径,即E:/dmp,也即是说文件存放在E:/dmp/sms_20170328.dmp。
如下是对各参数的解释
3.1 directory
转储文件目录,指定转储文件和日志文件所在的目录,具体见目录”2 Oracle DIRECTORY知识”。
3.2 content
该选项用于指定要导出的内容.默认值为ALL,可取值CONTENT={ALL | DATA_ONLY | METADATA_ONLY},DATA_ONLY:只导出数据;METADATA_ONLY:只导出数据库对象。
3.3 dumpfile
用于指定转储文件的名称,默认名称为expdat.dmp,注意:非绝对路径下,dumpfile的路径是相对于指定的directory而言。
3.4 schemas
指定导出模式,导出模式有多种,几种重要的方式如下
①按表模式导出 tables=sms.test
②按表空间导出 tablespaces=USERS.DBF
③按方案(用户名)导出 SCHEMAS=sms,platform
④导出整个数据库 full=y
3.5 logfile
指定日志的输出文件,注意:非绝对路径下,dumpfile的路径是相对于指定的directory而言。
4 impdp解释
impdp用法及参数如expdp,
impdp sms/sms@orcl schemas=sms directory=mydmp dumpfile=sms_20170328.dmp logfile=sms_20170328.log
不过需要注意以下几点:
①用impdp必须在服务端,不能在客户端
②创建的目录必须是是有效的,且文件必须存放在mydmp指定的目录下,如果没有说明directory属性,则dumpfile和logfile必须放在默认的directory下,也即D:\software\oracle11g\admin\orcl\dpdump\expdat.dmp
③要导入的dmp文件必须是expdp导出才行
丝服务器中的oracle至少是10g,低的版本不支持数据泵
--只有满足以上的四点,导入才会成功
5 常见错误
导出时错误
导入时错误