能将已有的表改为分区表吗?

shenleng 2002-11-15 02:56:58
各位大侠:
鄙人看了会儿书,但没有得到这个问题的大案。不知各位有高见否?
...全文
181 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
penitent 2003-04-07
  • 打赏
  • 举报
回复
不建议直接在原表上面添加分区,就是可以,新的分区也不会有数据。
除了exp/imp,可以采用
create table …… nologging方式创建表或先创建表用
insert /*+ APPEND */ into table的方式加载数据,这样速度会快一点
KingSunSha 2003-04-04
  • 打赏
  • 举报
回复
your idea is correct. I've tried this before, no problem.
black_snail 2003-04-04
  • 打赏
  • 举报
回复
I am thinking whether it is possible to do as bellow:
1. export the original table
2. drop the original table
3. create the partitition table with the same table name and column name .
4. import the original table with option ignore = Y

I have no idea whether the last step will be success as I don't have experience
on doing that .
Could any Xpert make a trial ? ( I don't have enterprise oracle version at this moment )
ropriest 2003-03-20
  • 打赏
  • 举报
回复
先备份,后drop,再重建!
developer2002 2003-03-20
  • 打赏
  • 举报
回复
create table .......... as select .....
先将原表改名,然后把分区的语句在create table时加上。即可
三杯倒 2003-03-13
  • 打赏
  • 举报
回复
不行.
数据在insert时才会存在于分区上

直接建分区,分区上不会有数据的
supkim 2003-03-13
  • 打赏
  • 举报
回复
可以实现

ALTER TABLE "表名"
ADD PARTITION "分区名"
VALUES LESS THAN (43010299999999) --分区的范围
hrb_qiuyb 2003-03-13
  • 打赏
  • 举报
回复
可以查一下oracle的联机帮助
alter table add_range_partition_clause::=
就是用来完成这个功能的
hrb_qiuyb 2003-03-13
  • 打赏
  • 举报
回复
可以把已有的表改为分区表的。
flyhb 2003-03-12
  • 打赏
  • 举报
回复
如果表中数据太大,导起来麻烦,可考虑表分割
flyhb 2003-03-12
  • 打赏
  • 举报
回复
同意楼上的
我以前也想这样做,找不到方法
KingSunSha 2002-11-15
  • 打赏
  • 举报
回复
好像不行.其实重建表很容易,先RENAME当前表,然后建立分区表,再把数据倒入新表中后删除旧表
hosia 2002-11-15
  • 打赏
  • 举报
回复
我也密切关注。

17,381

社区成员

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

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