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

sql ldr(sqlldr导入时跳过一列)针对 drop column 的情况 实际上 12 年前就测过 http www killdb com 2012 02 25 column to remove recovery testing and dont try 只不过之前是在 Oracle 10gR2 测试的 这里在 11 2 中测下 供大家参考 drop column 之前使用 bbed 查看一下 block 数据 接下来进行 drop column 操作 drop column 之后的 block 中实际数据和每行的偏移量



针对drop column的情况,实际上12年前就测过(http://www.killdb.com/2012/02/25/column-to-remove-recovery-testing-and-dont-try/)。只不过之前是在Oracle 10gR2测试的,这里在11.2中测下,供大家参考!


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.qq.com/base/fcgi-bin/u?__=TM1LdgSmgvEk

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


编程小号
上一篇 2025-08-27 15:46
下一篇 2025-06-30 23:40

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/67916.html