sql ldr(sqlldr导入时跳过一列)

sql ldr(sqlldr导入时跳过一列)

大家好,我是讯享网,很高兴认识大家。



 <p style="margin-top: 0px; margin-bottom: 0px; padding: 8px 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; line-height: 1.8em; color: rgb(102, 102, 102); letter-spacing: 0em; text-align: justify; text-indent: 0em; text-wrap-mode: wrap; background-color: rgb(255, 255, 255);">针对drop column的情况,实际上12年前就测过(http://www.killdb.com/2012/02/25/column-to-remove-recovery-testing-and-dont-try/)。只不过之前是在Oracle 10gR2测试的,这里在11.2中测下,供大家参考!</p> 

讯享网

讯享网  

drop column之前使用bbed查看一下block 数据

  

接下来进行drop column 操作。

讯享网  

drop column之后的block中实际数据和每行的偏移量,这里仍然通过bbed工具查看一下。

  

大家会发现对于drop column的情况来讲,Oracle本质上是将后面一个列的数据挪到了前面一个列。大家注意看前面2次操作的行头的偏移量,仔细看offset 8157 就会发现。 在drop column之前,8157 offset本来是我们这个表的object_type列数据,然而drop column之后,这个偏移量的数据变成了我们的object_id列了。

所以,你可以理解为是这个drop column的数据实际上被抹掉了。

当然如果你是drop的表中的最后一个列,那么不影响,可以恢复的。很明显,如果是中间列,就如上面测试,就没戏了。

如果说一定要想恢复怎么办?实际上你通过10046 trace跟着到一系列递归sql,然后反向执行,然后再向col$插入被删除的列数据,实际上是可以的,但是你仍然知识恢复了表结构,被drop column的数据是无法恢复的。

除了利用数据库备份、闪回等技术之外,那么如果有时候真的像删除这个列,是不是有更好的方法呢?

实际上是有的,你可以选择先把列进行unused操作(unsed column和drop column一样,都需要获得表级拍它锁),然后再空闲时间再进行drop操作,如果后面发现还需要,还有可恢复的余地。

讯享网  

我们可以看到,当表进行unused column操作之后,尽管这个表的列已经不属于这个表了,再被重用之前,实际上这个列的数据都存在,通过上面的bbed查看即可发现这一点。

c6.y..com/base/fcgi-bin/u?=TM1LdgSmgvEk

c6.y..com/base/fcgi-bin/u?=vagMmxSmgRgU

c6.y..com/base/fcgi-bin/u?=kQcBmEomgC8A

c6.y..com/base/fcgi-bin/u?=JONTWXomgvXP

c6.y..com/base/fcgi-bin/u?=lub8hcvmgR8w

c6.y..com/base/fcgi-bin/u?=c77mIUvmgek5

c6.y..com/base/fcgi-bin/u?=qCmG1VvmgU7r

c6.y..com/base/fcgi-bin/u?=U1CdsdRmg4vd

c6.y..com/base/fcgi-bin/u?=dFKdYgRmgM3T

c6.y..com/base/fcgi-bin/u?=YKLSCXL3g9ph

c6.y..com/base/fcgi-bin/u?=YKLSCXL3g9ph


讯享网

c6.y..com/base/fcgi-bin/u?=1oDmfyQ3g7pS

c6.y..com/base/fcgi-bin/u?=3lNqdoQ3gUA5

c6.y..com/base/fcgi-bin/u?=U7OEF8Q3gtS5

c6.y..com/base/fcgi-bin/u?=hKsWzfp3gip2

c6.y..com/base/fcgi-bin/u?=DB6jI3p3gjfM

c6.y..com/base/fcgi-bin/u?=xVoQNTp3gEIX

c6.y..com/base/fcgi-bin/u?=lpSj9Rp3g5kX

c6.y..com/base/fcgi-bin/u?=LzUOC9p3gotf

c6.y..com/base/fcgi-bin/u?=zfh2Ilp3gpXd

c6.y..com/base/fcgi-bin/u?=lDUbD1Y3gsOK

c6.y..com/base/fcgi-bin/u?=2MeAKNY3gsbF

c6.y..com/base/fcgi-bin/u?=dhSnrsY3g3cp

c6.y..com/base/fcgi-bin/u?=X805nAY3gjSB

c6.y..com/base/fcgi-bin/u?=5GijfTY3gslo

c6.y..com/base/fcgi-bin/u?=qG2zc9Y3gAWW

c6.y..com/base/fcgi-bin/u?=EwHyycu3gHrX

c6.y..com/base/fcgi-bin/u?=RD0raYu3gWHf

c6.y..com/base/fcgi-bin/u?=mJJMpPu3gN9q

c6.y..com/base/fcgi-bin/u?=QrBpaTu3gNoB

小讯
上一篇 2025-06-03 12:48
下一篇 2025-05-24 22:11

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/162491.html