大家好:
本人导入数据用的指令是imp system/abc@ulms full=y ignore=y file= D:\oradata\ulms11-08.dmp
首先好理解的应该是存在空的数据库ulms,执行此命令会把dmp中的数据导入数据库中.我有疑惑的是此数据库已经存在数据的情况下(因为导入的过程等待较长,暂且还没有手动去实验):
为了下面表达简便,我将oracle中的数据库ulms命名为A,ulms11-08.dmp命名为B,A与B中同名的表为一张表。
假如A有两张表t1和t2,B中有两张表t1和t3,那么在用上面的命令执行导入的时候有以下疑惑:
1、A中有t2而B中没有,那么结果是t2会保留还是会按照B中的结果只有t1和t3了呢?如果t2会保留那么如果我想让它完全按照B的结果应该如何操作呢?(除了删除原有数据库重新建还原之外)
2、网上看了下有人说ignore=y这个设置是在原有表中追加数据的,不加这个属性那么不会对原有的表进行操作。我之前试过可以追加原先没有的数据,那么现在又有个疑问:若A中t1比B中t1的数据多,结果会是怎样呢?是A中t1被还原成B中t1,还是保留原先数据再追加B中t1里在A中t1里没有的数据呢?
之前用过SqlServer的还原,那个是彻底还原原先的数据,所以没什么疑问。刚接触oracle所以有点疑惑。不知道上面的描述是否表达的让人容易明白,再就是若有说的不对的地方望指点。
谢啦!
本人导入数据用的指令是imp system/abc@ulms full=y ignore=y file= D:\oradata\ulms11-08.dmp
首先好理解的应该是存在空的数据库ulms,执行此命令会把dmp中的数据导入数据库中.我有疑惑的是此数据库已经存在数据的情况下(因为导入的过程等待较长,暂且还没有手动去实验):
为了下面表达简便,我将oracle中的数据库ulms命名为A,ulms11-08.dmp命名为B,A与B中同名的表为一张表。
假如A有两张表t1和t2,B中有两张表t1和t3,那么在用上面的命令执行导入的时候有以下疑惑:
1、A中有t2而B中没有,那么结果是t2会保留还是会按照B中的结果只有t1和t3了呢?如果t2会保留那么如果我想让它完全按照B的结果应该如何操作呢?(除了删除原有数据库重新建还原之外)
2、网上看了下有人说ignore=y这个设置是在原有表中追加数据的,不加这个属性那么不会对原有的表进行操作。我之前试过可以追加原先没有的数据,那么现在又有个疑问:若A中t1比B中t1的数据多,结果会是怎样呢?是A中t1被还原成B中t1,还是保留原先数据再追加B中t1里在A中t1里没有的数据呢?
之前用过SqlServer的还原,那个是彻底还原原先的数据,所以没什么疑问。刚接触oracle所以有点疑惑。不知道上面的描述是否表达的让人容易明白,再就是若有说的不对的地方望指点。
谢啦!
解决方案 »
- 各位有没有碰上过有主键,但是数据仍有重复的情况?
- 如何用POWER DESIGNER来从SQL2008(2000)导出表到ORACLE中?
- oracle中类似于sqlserver中.的通配符
- ubuntu安装oracle 10g:runInstaller无法找到文件
- oracle 中system用户被锁住了
- oracle安装问题
- oracle的问题!!!!急!
- 有A表和B表,A表中的数据改了后,B表中的对应的数据也随之改变,做一个update触发器,语句怎么写啊???oracle数据库
- oracle for unix5.0.5监听程序无法启动,大家帮忙看看!
- powerdesigner创建的oracle数据库表为什么查询不了呢?
- 如何用Oracle10g的edit命令创建多张表?
- SNAPSHOT VIEW的刷新时间可以取的吗????在线等。。有高分
1.t2肯定会保留,你导入的只是个文件,又不是一个数据库。把数据库比作一个公司的话,应聘者只有权力进去,没有权利让原来的人走吧,你想让别人走,那只有换个没有这个人的公司
2.一定是保留原先数据再追加B中t1里在A中t1里没有的数据了,这个是毫无疑问的。