1.需要批量从mdb导入到oracle,现在采用的方案是先生成cvs文件,再用sqlldr导入(direct=true)。有几十个G的MDB数据循环导入2.导入到CD两个表(表已经进行分区处理,每个表根据月份划分为12个分区),CD表都有bitmap索引
3.导入后利用JOB自动聚合统计,但发现有时候bitmap索引失效,导致聚合无法继续这时候我该怎么办?重建索引吧。可几千万条甚至上亿的数据要重建bitmap分区索引花销实在太大了。
重建5000多万条记录的分区索引大概需要10分钟。有什么更好的解决方案吗?请各路兄弟高人赐教,不胜感激!
3.导入后利用JOB自动聚合统计,但发现有时候bitmap索引失效,导致聚合无法继续这时候我该怎么办?重建索引吧。可几千万条甚至上亿的数据要重建bitmap分区索引花销实在太大了。
重建5000多万条记录的分区索引大概需要10分钟。有什么更好的解决方案吗?请各路兄弟高人赐教,不胜感激!
解决方案 »
- 安装ORACLE 时进行先决条件检查提示path长度不够
- 关于Oracle数据库的Dblink性能问题。急!在线等~~~~~~~~~~~~~
- Oracle 中如何把都有序列的2张表合并
- Nclob处理的问题
- mysql和oracle怎样删除表?
- 弱问:oracle9i的日期型数据是什么格式啊
- 请教一个sql语句
- 如何得到包内的存储过程的定义信息
- 菜鸟提问:如何统计一个字符在字符串中出现的次数?分低但明日绝对结帖!
- 一个很简单的分组查询问题
- 求助:java.sql.SQLException: ORA-00932: inconsistent datatypes: expected %s got %s
- 急急急! 关于触发器的一个问题 在线等
------------------------------- ------------- --------------------------
TEMP 7 25.5629883查看创建进度select target,sofar/totalwork*100 from v$session_longops where sofar<>totalwork;发现只有5个进度,我指定的是parallel 6啊?!失败,记不起是哪个参数限制了parallel_max_servers 这个参数影响了SQL> select target,sofar/totalwork*100 from v$session_longops where sofar<>totalwork;TARGET SOFAR/TOTALWORK*100
------------------------------ -------------------
51.0360177
49.8279187
64.1291039
56.0587153
95.5988056SQL> set timing on
SQL> alter index xxx rebuild online parallel 6 nologging;Index altered.Elapsed: 00:37:38.38SQL> select sum(bytes)/1024/1024/1024 gb from dba_segments where segment_name='xxx'; GB
----------
25.2568359使用了25.5629883GB的临时空间,使用空间略大于索引。
http://hi.baidu.com/utilities/blog/item/464afffe5d4be9345d600857.html看看这个能否能你点帮助。
同意,既然你选用bitmap index来index那个column。这个column应该符合bitmap index的情况吧,这时候,bitmap index应该是快于其他种类的。至少空间上是少于其他的index的。对于bitmap index,不要rebuild了,直接drop,重建可能更快一些。
没有做过实验相关,不过是推断而已。