关于表删除的问题

会飞的鱼在沈阳 2008-10-31 02:02:08
有一个数据量为1亿的表.由于没有进行分区,要进行一下处理.
测试如下:
如表A
1.先建立一个同结构表:A_TEMP
2.将A改名为A_OLD
3.将A_TEMP改名为A.
但是我发现这个后来的A表用了原来的表的索引.不知道什么原因.

后来考虑另外一个办法.
开辟一个新的表空间.将原用户下的表的数据导入到新的表空间下.
然后删除旧表.
创建新表.
将旧表数据倒回到新表下.
此方案我觉得可行.
但是担心的是drop旧表和索引的时候会不会很慢,影响业务的运行.
如有触发器的内容是否要考虑停掉trigger,再进行操作.
有经验帮看一下.
...全文
83 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
liulif 2008-11-03
  • 打赏
  • 举报
回复
先清空表中的记录,再删除这个表结构(现在只有结构了)

[Quote=引用 8 楼 lesyyld 的回复:]
这么大的表先trucate,再drop
和直接drop有什么区别么
[/Quote]
  • 打赏
  • 举报
回复
这么大的表先trucate,再drop
和直接drop有什么区别么
范佩西_11 2008-10-31
  • 打赏
  • 举报
回复
那么大的估计备份起来不方便。
truncate table不用写redolog了。会快很多
sleepzzzzz 2008-10-31
  • 打赏
  • 举报
回复
参考这个文章:
http://jimmyhe1981.itpub.net/post/19858/222663

[Quote=引用 4 楼 lesyyld 的回复:]
还是没有回答drop大表的过程中的风险.担心删除表出现问题后,如何来解决呢
[/Quote]
sleepzzzzz 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lesyyld 的回复:]
还是没有回答drop大表的过程中的风险.担心删除表出现问题后,如何来解决呢
[/Quote]

先备份数据或导出来,再truncate table tablename,再drop table
  • 打赏
  • 举报
回复
还是没有回答drop大表的过程中的风险.担心删除表出现问题后,如何来解决呢
  • 打赏
  • 举报
回复
第一个朋友.重建索引的话,就是说要将原来的表的索引要drop掉吧.
有点象是两个指针指向同一块存储空间的意思了.
BlueskyWide 2008-10-31
  • 打赏
  • 举报
回复
改动A后,原A索引依然存,A表变动后,可以rebuild index;

第二方法可以使用另一台机中装入Oracle,导入原imp文件,等完全测试没问题后再删、建。


[Quote=引用楼主 lesyyld 的帖子:]
有一个数据量为1亿的表.由于没有进行分区,要进行一下处理.
测试如下:
如表A
1.先建立一个同结构表:A_TEMP
2.将A改名为A_OLD
3.将A_TEMP改名为A.
但是我发现这个后来的A表用了原来的表的索引.不知道什么原因.

后来考虑另外一个办法.
开辟一个新的表空间.将原用户下的表的数据导入到新的表空间下.
然后删除旧表.
创建新表.
将旧表数据倒回到新表下.
此方案我觉得可行.
但是担心的是drop旧表和索引的时…
[/Quote]
Andy__Huang 2008-10-31
  • 打赏
  • 举报
回复
你的第一个方法我觉得可行,而且比较安全,但需求重新建立索引

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧