oracle11g数据导出和导入

利用数据泵导出导入数据

命令:EXPDP/IMPDP

第一:创建directory对象,可以在命令行,也可以在客户端上运行

CREATE DIRECTORY DUMP_DIR AS  '/home/dump'

原因:导入导出工具只能将转储文件存放在DIRECTORY对象对应的os目录中,所以必须建立directroy对象,并且需要授权(读写)

第二:授权

GRANT read,write on directory dump_dir to scott;

这里授权给用户scott读写权限

特别注意点:其中存储的os目录需要改成oracle用户和组,否则报错,如图

oracle11g数据导出和导入_第1张图片

chown -R oracle:oinstall dumr.dir即可

测试,具体其他参数可以参考其他资料,个人总结记录学习过程中的易错点

导出语句:expdp scott/tiger directory=dump_dir dumpfile=tab.dmp tables=emp,dept

--解释:导出scott用户下的表emp,dept,存储文件在directory对应的目录下,文件名字为tab.dmp

导入语句:

impdp system/system directory=dump_dir dumpfile=tab.dmp tables=scott.emp,scott.dept remap_schema=scott:system

--解释:将刚刚导出的表导入导system用户(模式)下,remap_schema参数导入其他模式需要使用

关于导出和导入

1.可以按模式导出,导入

expdp system/system directory=dump_dir dumpfile=schema.dmp schemas=scott,hr

----------------------------------

impdp system/system directory=dump_dir dumpfile=schema.dmp schemas=scott remap_schema=scott:system;

2.按表空间导出,导入

expdp system/system directory=dump_dir dumpfile=tablespace.dmp  tablespaces=tbsp_1

------------------------------

impdp system/system directory=dump_dir dumpfile=tablespace.dmp  tablespaces=tbsp_1

3.导出全部数据库

expdp system/system directory=dump_dir dumpfile=fulldatabase.dmp  full=y;

-------------------------

impdp system/system directory=dump_dir dumpfile=fulldatabase.dmp  full=y;

可以发现导入和导出除了命令不通,其他基本相同,设计不通模式,需要用remap_schema参数来映射,其他测试用例还有很多,可以自行研究各个参数来测试。

RMAN备份恢复数据库的物理文件,注意下区别。

将其他格式数据导入导oracle中-sql*loader工具

命令:sqlldr

第一,自由格式

1)建表

oracle11g数据导出和导入_第2张图片

---sql*Loader工具
CREATE table student--自由格式
(
    stuno NUMBER(4),
    stuname varchar2(20),
    sex varchar2(4),
    old number(4)
);

2)编写数据文件

oracle11g数据导出和导入_第3张图片

3)编写控制文件

oracle11g数据导出和导入_第4张图片

控制文件内容:

load data
    infile '/home/dumr.dir/student.txt'
    into table student(
    stuno position(01:04) integer external,
    stuname position(11:14) char,
    sex position(21:22) char,
    old position(29:30) integer external
)
 

4)执行

sqlldr system/system control=/home/dumr.dir/student.ctl log=/home/dumr.dir/stu_log;

5)测试结果

oracle11g数据导出和导入_第5张图片

第二,固定格式(csv)

1)建表

oracle11g数据导出和导入_第6张图片

2)编写数据文件

1005,east,nn
1006,west,nv

3)编写控制文件

load data
    infile '/home/dumr.dir/person.csv'
    append into table person
    fields terminated by ','
    (code,name,sex)

4)执行

sqlldr system/system control=/home/dumr.dir/person.ctl log=/home/dumr.dir/per.log

5)测试结果

oracle11g数据导出和导入_第7张图片

你可能感兴趣的:(linux,运维,服务器)