刚刚接触oracle9i的数据库,要实现对特定用户的表备份与还原,在网上找了很多资料,讲的不是很清楚,自己多次的尝试终于搞定了,其实很简单,首先以system帐户登陆sqlplus,
导出全库
$ exp SYSTEM/sa@orcl file=d:/full log=d:/12.txt full=y;
恢复命令 imp 也是这种格式
导出特定用户数据表:
输入: $ exp SCOTT/tiger@orcl file=d:/daochu owner=SCOTT;
会在d盘生成daochu.dmp的文件.
导入数据表:
输入: $ imp PERSONSYS/personsys@orcl file=d:/daochu fromuser=SCOTT touser=PERSONSYS;
说明:fromuser 为导出文件的用户名,touser为导入到哪个用户可以为不同的用户,这个PERSONSYS为新建用户
导出特定用户的特定表
输入: $ exp SCOTT/tiger@orcl file=d:/daochu tables=(table1,table2);
导入特定用户的特定表
输入: $ imp SCOTT/tiger@orcl file=d:/daochu tables=(table1);
将数据库中的表table1中的字段filed1以"00"打头的数据导出
$ exp SCOTT/tiger@orcl file=d:/daochu.dmp tables=(table1) query=/" where filed1 like '00%'/"
说明:语句中加 full=y 导出或导出所有表
导入中加 ingore=y ,表如果表存在的话就是追加
注意:如果备份与还原是两个不同的用户,两个用户对应相同表空间才行,若把备份文件还原到另一数据库上,则需在另一数据库上创建与备份用户同名的表空间名在导入
但是导入的时候说是“IMP-00013:只有DBA才能导入由其他DBA导出的文件”,故登陆sql*plus。
用户名:system
密码:****(为当初创建数据库时设置的密码)
home:REINS(数据库示例的名字)
登陆后SQL> conn system@REINS
输入密码:*****
提示链接成功
SQL> grant dba to scott;
然后提示权限分配成功。到此就可以用scott用户imp exp 另外一个dba用户exp出的.DMP文件了。