//====导出表数据
1、使用oracle用户登录
2、执行
导出方式一、全量备份
# exp username1/userpwd@ip:port/tnsname file=bak.dmp log=bak.log owner=username2 rows=y direct=y;
说明:
·rows参数表示是否导出数据;
·direct参数表示一种导出的方式;
·file表示导出后的文件路径,如果没有填写路径,只填写了文件名,则文件保存在用户家目录下;
·log参数可选;
导出方式二、特定表备份
# exp username/userpwd@tnsname file=bak.dmp log=bak.log rows=y tables=(schame.emp,schame.emp1,......) query="'where rownum<=1000'";
导出方式三、使用文件
由于表太多,影响观看,可以用下面方法:
# exp username/userpwd@tnsname PARFILE=exp.txt;
exp.txt需要存放在oracle用户的家目录下。
内容见附件:
file=bak.dmp
log=bak.log
rows=y
tables=(schame.emp,schame.emp1,......)
query="'where rownum<=1000'"
说明:
1、导出其他用户的数据,可以通过如下两种方式
1)添加owner=username标签
2)使用tables=(schame.table1, schame.table2)标签
//====导入表数据
1、执行
# imp username/userpwd@tnsname file=tables.dmp full=y ignore=y;
注释:
1)ignore参数:
如果没有的表,创建并倒入数据,如果已经有的表,忽略创建的,但不忽略倒入。
如果是没有数据被导出,在使用IMP导入并使用ignore=y参数时,ORACLE根本不检查要导入的数据结构和现存在数据库中表的结构是否相同。就直接显示如下信息:
. . importing table "XXXXX_tablename" 0 rows imported
只有真要有数据需要导入时,才会检查数据结构的一致性问题。