各位好!
我现在遇到一个项目,其中一个表的数据量巨大,每天新入库数据大概在3千万条,该系统需要保存3-5年的数据,就是400-500亿条记录。我设计的该表的字段如下:
ID number(20)
col1 varchar2(50)
col2 varchar2(50)
col3 varchar2(150)
现在的问题是,如何选择操作系统的类型、以及oracle的版本,以及该如何分配oracle的存储,是否将该表分表(今日表和历史表),分表以后该如何进行数据迁移?
我的设计存在什么问题?该系统还有哪些需要注意的地方?物理存储时如何选择raid,数据库文件、日志文件、控制文件等文件如何在磁盘上分配?
希望之前有过大型数据库经验的前辈能指导一下小弟。
我现在遇到一个项目,其中一个表的数据量巨大,每天新入库数据大概在3千万条,该系统需要保存3-5年的数据,就是400-500亿条记录。我设计的该表的字段如下:
ID number(20)
col1 varchar2(50)
col2 varchar2(50)
col3 varchar2(150)
现在的问题是,如何选择操作系统的类型、以及oracle的版本,以及该如何分配oracle的存储,是否将该表分表(今日表和历史表),分表以后该如何进行数据迁移?
我的设计存在什么问题?该系统还有哪些需要注意的地方?物理存储时如何选择raid,数据库文件、日志文件、控制文件等文件如何在磁盘上分配?
希望之前有过大型数据库经验的前辈能指导一下小弟。
解决方案 »
- oracle 自定义函数里有个nvl()
- 问一个关于能否SHRINK表空间的问题
- 如何用一句语句获得没有子节点的节点?
- oracle 7.3 连接时 提示ora-00604 ora-00376 ora-01110(问题紧急,高手请联系,酬谢!)
- oracle过程中执行动态的Sql语句Sql_insert:='insert into '|| srctable || '('||fielda,filedb||')'|| ' values( '||a,b ||')',有具体说
- sql数据库到oracle数据库的转换,请有经验的高人停下,谢谢!
- 这条语句怎样写?
- 关于oracle服务的2个问题
- 怎么用sys备份其它没有导出权限用户下的数据
- oracle安装完之后出现的问题
- 一个触发器
- 请高手指点下这个触发器
aix,solaris,等等都可。表可以按月来分区。可以更详细的做分区。由于你要存储400-500亿的数据所以存储肯定是T级别的了。
至于物理存储选择的话raid5,5+1,等等看你的成本了。
数据文件,日志文件单独存放,其他默认即可了。
一家之言,仅做参考。
我还想问一下:控制文件、日志文件、临时文件、回滚文件等文件的位置是可以在安装时指定吗?
这些文件最好放在不同的raid上还是可以放在同一raid上?
raid5便宜点,但读强写弱
不管用raid几,只能物理地保证数据不丢失,操作误删的话救不了
不用说一个月的数据,一天的数据查起来都非常麻烦了数据库文件,日志文件、控制文件各至少有三组才保险一些,磁盘陈列做rad5
本科以上学历,计算机或相关专业
-至少2年的Oracle数据库管理的相关经验
-熟悉Oracle的备份恢复,数据迁移,RAC,数据库调优和PL/SQL编写
-熟悉Red Hat和Solaris操作系统及Shell脚本编写
-熟练的英语听说读写能力
-良好的沟通和表达能力
-在高强度和富有挑战的工作环境下,进行有效工作的能力
-富有创造力,工作积极主动,能主动地与项目组其他成员进行合作
-高度认同公司的企业文化:尊重员工,诚实和正直,追求品质和卓越,以客户为中心,恪守个人职责和倡导团队精神,求变创新,专注于技术,社会责任。
2.分表(取决于应用)
3.compress(可以减少2/3的存储,大幅度降低IO,但要增加一点 cpu)
综合应用吧,足够了