我很好奇 大家来讨论一下目前我遇到这样一个情况 一个项目中 一个ORACLE中有200个表空间 一个表空间下面有1000到1W张表不等(随运营时间不等 创建出不等的动态表结构)也就是说 200*5000(平均数据) = 1000000 张表 一百万张表 就是ORACLE的极限??我们单位有位 高人说 10G 下 这差不多就是一个实例的表数量极限了
还说 9i 有可以手动设置缓存的功能 貌似可以解决这个问题但是 10G下 ORACLE是自动维护 内存缓存的 所以也就只能是极限了他所谓的极限的意思 是ORACLE 中的‘系统表’(在9i中可手动设置 将超级大的‘系统表’放入到内存中 而10G不能手动调内存缓存 所以 每次的交互数据库的访问 互让ORACLE很慢..)
还说 9i 有可以手动设置缓存的功能 貌似可以解决这个问题但是 10G下 ORACLE是自动维护 内存缓存的 所以也就只能是极限了他所谓的极限的意思 是ORACLE 中的‘系统表’(在9i中可手动设置 将超级大的‘系统表’放入到内存中 而10G不能手动调内存缓存 所以 每次的交互数据库的访问 互让ORACLE很慢..)
Maximum per database Unlimited来自oracle 10g Database Reference你所谓的朝大系统表,在oracle内存里放在shared pool的数据字典缓冲区,看看ORACLE内存结构就知道了,这部分区域,不可能设置特别大。
------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
Q Q 群:62697716
这位同学 一阵见血..这也是我们项目的困惑 我们做集团ERP 集团客户必须要求在同一个数据中心 同一应用 但是一个集团下有很多的单位 而我们的应用 一个单位 就是一个独立的表空间 一套独立的表结构
所以当集团用户的下属单位越来越多的情况下 此问题立刻凸显出来业界中有什么方法能解决这个问题吗?我偶尔听说过内存数据库 oracle也有自己的产品
我在想 是否可以将 oracle的数据字典缓冲区 利用内存数据库呢?
或者你在自动管理SGA情况下,设置shared_pool的最小值。而这个最小值,把它设置的高些。
至于数据字典表如obj$,user$等是否能够像普通用户表那样放进keep池里,我没有尝试过,不敢妄言。你可以查查资料,看看是否能将它们手工“钉”在数据字典缓冲区里。另外,大shared_pool不一定能解决你的问题,因为shared_pool维护成本很高。性能是否能改观,还须经过严密测试。
很遗憾。