数据库 导入导出命令执行
cmd 下
sqlplus :连接数据库
sqlplus /nolog 无用户登录
conn /as sysdba ----- 连接到数据本地数据
conn system/123456a?@orcl as sysdba; 用户已dba登录
alter user system identified by password; ----- 修改system 密码 为password(你自定义的密码)
quit :退出SQL
导出(IMP只适用于EXP导出的文件,不适用于EXPDP导出文件; IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。)
-------------------初次导出-------------------------------------
1. 创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。(命令格式需要严谨)
create directory PUMPDRA as 'D:\本机数据库导出\dpdump';
2.查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错),而且在计算机上要自己创建 《D:\本机数据库导出\dpdump》
select * from dba_directories;
3.给moe用户赋予在指定目录的操作权限,最好以system等管理员赋予。
(sys是超级管理员,system是管理员)
grant read,write on directory PUMPDRA to moe;
-------------------------------------------------------------------------
cmd 用户界面操作
expdp导出:
1)按用户导 expdp moe/root@orcl schemas=moe dumpfile=expdp.dmp DIRECTORY=PUMPDRA
注意最后不能加 ;
将数据库moe完全导出,用户名moe,密码root,SID=orcl ,导出文件名dumpfile,导出逻辑目录directory,
schemas该方案用于指定执行方案模式导出,默认为当前用户方案.
2)并行进程parallel
expdp moe/root@orcl directory=pumpdra dumpfile=expdp.dmp
parallel=40 job_name=moe3
3)按表名导
expdp moe/root@orcl TABLES=table1,table2 dumpfile=expdp.dmp
directory=pumpdra;
4)按查询条件导 (导出表table1中table_id为20的数据)
expdp moe/root@orcl directory=pumpdra dumpfile=expdp.dmp Tables=table1
query=’where table_id=20’;
5)按表空间导
expdp moe/root DIRECTORY=pumpdra DUMPFILE=tablespace.dmp
TABLESPACES=temp,example;
tablespaces指定要导出表空间列表
6)导整个数据库
expdp moe/root DIRECTORY=pumpdra DUMPFILE=full.dmp FULL=y;
full=y 表示全库导出。full总共有2个可选项yes(y)/no(n),缺省情况下full=no,这时只会将该用户下的对象导出。
-----2.导出到不同版本(version指定的是 执行导入 数据库的版本)------
10g导入11g数据库
expdp moe/root@orcl schemas=moe dumpfile=expdp.dmp
DIRECTORY=PUMPDRA VERSION=11.2.0.1.0
或者11g导入10g数据库
expdp userid=’moe/root@orcl as sysdba’ schemas=moe directory= pumpdra dumpfile=expdp.dmp logfile=expdp.log version=10.2.0.1.0
VERSION指定被导出对象的数据库版本,默认值为COMPATIBLE.
---------------------------------------------------------------
1.通过impdp导入(只导入本版本的库,库是通过expdp导出)
1)导入到moe用户,密码为root,SID=orcl
impdp moe/root@orcl DIRECTORY=db_bak DUMPFILE=expdp.dmp SCHEMAS=moe;
或者
impdp userid=’moe/root@orcl as sysdba’ schemas=moe directory=db_bak dumpfile=HBHY20161230.DMP
如果要导入的目标数据库用户名,与新建的用户名不一样,增加参数REMAP_SCHEMA 即:
impdp userid=’moe/root@orcl as sysdba’ schemas=moe directory=db_bak dumpfile=HBHY20161230.DMP logfile= HBHY20161230.log REMAP_SCHEMA=moe:MOE_TEST
其中USERID值中的 moe 是 要导入的目标数据库用户名,MOE_TEST是新建的用户名
如果表空间不同,需要增加 remap_tablespace=源表空间:目标表空间
如果是11g数据库导入到10g数据库,则增加参数version
impdp userid=’moe/root@orcl as sysdba’ schemas=moe directory=db_bak dumpfile=HBHY20161230.DMP version=10.2.0.1.0
3)导入表空间SOA
impdp moe/root@orcl DIRECTORY=db_bak DUMPFILE=tablespace.dmp TABLESPACES=SOA;
4)追加数据
impdp moe/root DIRECTORY=db_bak DUMPFILE=expdp.dmp SCHEMAS=moe TABLE_EXISTS_ACTION=append;
--------2、通过exp导出--------------
1)将数据库orcl完全导出,导出到d:\daochu.dmp文件中
exp moe/root@orcl file=d:\daochu.dmp full=y
2)将数据库orcl中moe用户与jyb用户的对象导出
exp moe/root@orcl file=d:\daochu.dmp owner=(moe,jyb)
3)将数据库orcl中的moe用户的表table1、table2导出
exp moe/root@orcl file= d:\daochu.dmp tables=(table1,table2)
4、将数据库orcl中的表空间testSpace导出
exp moe/root@orcl file=d:\daochu.dmp tablespaces=(testSpace)
通过imp导入
1 将D:\daochu.dmp 中的数据导入 orcl数据库中。
imp moe/root@orcl file=d:\daochu.dmp
如果moe用户下已经存在导入的表,需增加参数ignore,覆盖导入
imp moe/root@orcl file=d:\daochu.dmp ignore=y
2 将d:\daochu.dmp中的表table1 导入
imp moe/root@orcl file=d:\daochu.dmp tables=(table1)
cmd 下
sqlplus :连接数据库
sqlplus /nolog 无用户登录
conn /as sysdba ----- 连接到数据本地数据
conn system/123456a?@orcl as sysdba; 用户已dba登录
alter user system identified by password; ----- 修改system 密码 为password(你自定义的密码)
quit :退出SQL
导出(IMP只适用于EXP导出的文件,不适用于EXPDP导出文件; IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。)
-------------------初次导出-------------------------------------
1. 创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。(命令格式需要严谨)
create directory PUMPDRA as 'D:\本机数据库导出\dpdump';
2.查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错),而且在计算机上要自己创建 《D:\本机数据库导出\dpdump》
select * from dba_directories;
3.给moe用户赋予在指定目录的操作权限,最好以system等管理员赋予。
(sys是超级管理员,system是管理员)
grant read,write on directory PUMPDRA to moe;
-------------------------------------------------------------------------
cmd 用户界面操作
expdp导出:
1)按用户导 expdp moe/root@orcl schemas=moe dumpfile=expdp.dmp DIRECTORY=PUMPDRA
注意最后不能加 ;
将数据库moe完全导出,用户名moe,密码root,SID=orcl ,导出文件名dumpfile,导出逻辑目录directory,
schemas该方案用于指定执行方案模式导出,默认为当前用户方案.
2)并行进程parallel
expdp moe/root@orcl directory=pumpdra dumpfile=expdp.dmp
parallel=40 job_name=moe3
3)按表名导
expdp moe/root@orcl TABLES=table1,table2 dumpfile=expdp.dmp
directory=pumpdra;
4)按查询条件导 (导出表table1中table_id为20的数据)
expdp moe/root@orcl directory=pumpdra dumpfile=expdp.dmp Tables=table1
query=’where table_id=20’;
5)按表空间导
expdp moe/root DIRECTORY=pumpdra DUMPFILE=tablespace.dmp
TABLESPACES=temp,example;
tablespaces指定要导出表空间列表
6)导整个数据库
expdp moe/root DIRECTORY=pumpdra DUMPFILE=full.dmp FULL=y;
full=y 表示全库导出。full总共有2个可选项yes(y)/no(n),缺省情况下full=no,这时只会将该用户下的对象导出。
-----2.导出到不同版本(version指定的是 执行导入 数据库的版本)------
10g导入11g数据库
expdp moe/root@orcl schemas=moe dumpfile=expdp.dmp
DIRECTORY=PUMPDRA VERSION=11.2.0.1.0
或者11g导入10g数据库
expdp userid=’moe/root@orcl as sysdba’ schemas=moe directory= pumpdra dumpfile=expdp.dmp logfile=expdp.log version=10.2.0.1.0
VERSION指定被导出对象的数据库版本,默认值为COMPATIBLE.
---------------------------------------------------------------
1.通过impdp导入(只导入本版本的库,库是通过expdp导出)
1)导入到moe用户,密码为root,SID=orcl
impdp moe/root@orcl DIRECTORY=db_bak DUMPFILE=expdp.dmp SCHEMAS=moe;
或者
impdp userid=’moe/root@orcl as sysdba’ schemas=moe directory=db_bak dumpfile=HBHY20161230.DMP
如果要导入的目标数据库用户名,与新建的用户名不一样,增加参数REMAP_SCHEMA 即:
impdp userid=’moe/root@orcl as sysdba’ schemas=moe directory=db_bak dumpfile=HBHY20161230.DMP logfile= HBHY20161230.log REMAP_SCHEMA=moe:MOE_TEST
其中USERID值中的 moe 是 要导入的目标数据库用户名,MOE_TEST是新建的用户名
如果表空间不同,需要增加 remap_tablespace=源表空间:目标表空间
如果是11g数据库导入到10g数据库,则增加参数version
impdp userid=’moe/root@orcl as sysdba’ schemas=moe directory=db_bak dumpfile=HBHY20161230.DMP version=10.2.0.1.0
3)导入表空间SOA
impdp moe/root@orcl DIRECTORY=db_bak DUMPFILE=tablespace.dmp TABLESPACES=SOA;
4)追加数据
impdp moe/root DIRECTORY=db_bak DUMPFILE=expdp.dmp SCHEMAS=moe TABLE_EXISTS_ACTION=append;
--------2、通过exp导出--------------
1)将数据库orcl完全导出,导出到d:\daochu.dmp文件中
exp moe/root@orcl file=d:\daochu.dmp full=y
2)将数据库orcl中moe用户与jyb用户的对象导出
exp moe/root@orcl file=d:\daochu.dmp owner=(moe,jyb)
3)将数据库orcl中的moe用户的表table1、table2导出
exp moe/root@orcl file= d:\daochu.dmp tables=(table1,table2)
4、将数据库orcl中的表空间testSpace导出
exp moe/root@orcl file=d:\daochu.dmp tablespaces=(testSpace)
通过imp导入
1 将D:\daochu.dmp 中的数据导入 orcl数据库中。
imp moe/root@orcl file=d:\daochu.dmp
如果moe用户下已经存在导入的表,需增加参数ignore,覆盖导入
imp moe/root@orcl file=d:\daochu.dmp ignore=y
2 将d:\daochu.dmp中的表table1 导入
imp moe/root@orcl file=d:\daochu.dmp tables=(table1)