偶然看到有人问, 如何将A表导出的dmp文件导入到B表中? 乍一看, 的确好象是不行, 其实还是有办法的,先来建一个测试环境吧!
SQL> create table t_a as select * from tab;
Table created.
SQL> create table t_b as select * from tab where rownum < 1;
Table created.
任务是将T_A表导出的记录导入到T_B表中, 所以我在SYSTEM用户中建了一个同义词.
SQL> create synonym t_a for mydul.t_b;
Synonym created.
接下来的导出和导入命令, 你自已去试试吧.
exp mydul/mydul file=t_a.dmp tables=t_a
imp system/oracle file=t_a.dmp fromuser=mydul touser=system ignore=y
验证一下数据有没有导入进去.
SQL> select count(*) from t_b;
count(*)
———-
17
SQL> select count(*) from t_a;
count(*)
———-
17
Oracle的imp导入数据时, 也只不过是运行insert语句而已, 向同义词和向表。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
Sybase开发和维护必须熟知的日志知识
Log和数据库的Data一样,需要存放在数据库设备上,可以将Log和Data存放在同一设备上,也可以分开存放。一般来说,应该将一个数据库的Data和Log存放在不同的数据库设备上。
-
使用安全的方式来运行数据库服务器
启动和停止数据库缺省情况下,任何用户都可以在正在运行的服务器上启动其它数据库。-gd 选项可用于限制用户使用此功能,只允许有特定级别的访问权限的用户使用。
-
SQL Server灾难恢复:重创历史性数据
作为一个数据库管理员和顾问,我见到许多的数据库只存储当前的数据快照,而不是数据在其生命周期中发生变化的每个历史时期的数据行。在大多数情况下,这对于数据库来说……
-
如何终止数据库恢复过程
当某一正常运行的大事务(例如:update、delete操作)被终止,且重新启动server后,运行该事务的数据库处于恢复状态,如果恢复时出现异常,如何终止恢复过程呢?