暂无图片
oracle :怎么在有限的temp空间容量环境完成在一张大表(1T)的非分区表上创建主键索引?
我来答
分享
Kubee
2022-07-08
oracle :怎么在有限的temp空间容量环境完成在一张大表(1T)的非分区表上创建主键索引?

oracle :怎么在有限的temp空间容量环境完成在一张大表(1T)的非分区表上创建主键索引?有没办法提高效率的同时完成创建索引

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
dbtiger

首先创建索引是往表里插入数据动作,其中索引自动维护包含自动排序,这些动作都是在内存中完成,并不会占用太多临时表空间。

因为表很大,索引相对也不小。

  • 这个时候可以预先分配好合适的表空间(建议独立的索引表空间、undo表空间),redo日志尽量也给大11g之前默认是50m建议分配2g每个日志member;
  • 另外实际上索引的数据相对表来说不算重要,这个时候可以加命令不写入日志),然后再加上合适的并行,这样充分利用资源。
    如:
    create index inv_date_no on inv_transactions_log_bk(date_no) parallel 8 nologging;

注意:如果是生产系统,建议在业务不忙时候创建索引。祝你成功!

暂无图片 评论
暂无图片 有用 2
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏