实时搜索: oracle数据库多少钱一套

oracle数据库多少钱一套

687条评论 3939人喜欢 5006次阅读 870人点赞
一个id有多条记录,每条记录有的字段有值有的字段没有值。如果我想查询这个id合并为一条数据,有一条记录有值就合并到最后的结果中。应该怎么写呢? , 语句具体该怎么写,我完全没有思路,或者是我哪里考虑错了。。。 , 现在有两个表,表a中

aid 主管领导
1 1,2,3
2 2,4

表b中

bid 姓名
1 李一
2 刘二
3 张三
4 李四

怎么联合查询出
序号 主管领导 主管领导姓名
1 1,2,3 李一,刘二,张三

oracle数据库,一个id有多条?: 建议用row_number() over (partition by id) 来处理这个情况

如何在oracle数据库中设计表空间: 这个数据的多少和表空间的选择和你的数据量多少是没有太大关系的,需要统计你的数据量的大小。如果数据量很大,像你说的3*100*2000万*1.5k需要估算一下他是有多少G?这样才好设计表空间的分配。从10g开始有表空间支持一个大的数据文件,由多个文件组成肯定没有一个文件好管理,但是如果出问题了一个大数据文件损坏肯定造成的损失很大。这就是易维护性和安全性的取舍。不知道你们磁盘阵列是怎么做的如果没有raid1,数据又很重要的话,也许添加多个数据文件。但是多个数据文件的添加,每个数据文件的大小又受到OS的影响,这个和DB_block_size的大小又有关系,具体算法我不细讲,结论是单个数据文件最多32G。所以这个时候就看你的数据量大小了,你只说量,但是也许有lob字段之类的我无法估算大小,所以这个你自己算一下,如果需要的数据文件过多的话,你想方便维护也是可以使用大数据文件。sql如下:
SQL> create bigfile tablespace giapblob ----------------表空间名字
2 datafile 'H:\ypx\pic02.dbf' ----------------数据文件名字路径
3 size 204800M ----------------200G的bigfile
4 autoextend on next 1024M -----------------扩展自动1G
5 maxsize unlimited -----------------不限最大
6 extent management local autoallocate; ----------------自动管理分配区间

其中上述只是从管理方便的角度考虑一个表空间的处理方法,一般单个表空间最大限制是1022个数据文件*4M数据块*DB_BLOCK_SIZE=32TB。如果数据量过大,必须采用多表空间。
另外也要考虑需求中的使用性能,如果表数据量过大,比如你们每天2000万,那有没有历史表数据?这个如果是OLAP还好说,OLTP可能要做分区表等等一系列的性能考虑,情况不同选择不同。

oracle 数据库同一个表内多状态同时显示查询: select prod_no,sum(case when step_ctr=0 then 1 else 0 end) 库存可用数量,
sum(case when step_ctr=1 then 1 else 0 end) 库存预约用数量,
sum(case when stus_ctr=0 then 1 else 0 end) 良品数量,
sum(case when stus_ctr=1 then 1 else 0 end) 劣品数量,
sum(case when stus_ctr=2 then 1 else 0 end) 退货数量
from wms_stk
group by prod_no;

一条记录占用 oracle数据库多少空间: 很小。几乎忽略

oracle数据库报1489:   1、自增长字段
  [url=http//ido.3mt.com.cn/Article/201408/show3831489c11p1.html]哪些海外院校认可高考成绩[/url]
  很多人从别的数[url=http//bbs.17173.com/thread-8082687-1-1.html]哪些海外院校认可高考成绩[/url]据转来使用Oracl[url=http//wwwdocin.com/p-917045899.html]哪些海外院校认可高考成绩[/url]e时,会发现Orac[url=http//dzh.mop.com/47303747.html]去美国读本科[/url]自增长字段类型,而像[url=http//www.xici.net/d209781397.htm]如何去美国读研究生[/url]增长字段类型,而像mysql,sqlserver,db2等主流数据库都有对应的自增长字段类型,Oracle的官方解决方案是采用sequence实现,sequence比较灵活,可以指定增长间隔等参数,虽然最终可以实现与其它数据库一样的效果,但是本来一个简单的数据类型可能解决,在Oracle却需要增加一个sequence,insert的时候还需要用sequence.nextval才行,这个地方感觉特不方便,为了兼容Oracle数据库很通用系统还不得不自己设计自增长字段解决方案,比如增加一张专用表来保存自增长字段的表和字段名,每次新增记录时都把这个记录值加1再取出使用。
  2、安装
  Oracle的安装是出名的复杂,特别是在非windows系统中,在网上可以找到遍地的Oracle安装文档,但依然有很多人花了大量时间才安装成功,如果要搭建rac系统,那就更复杂了。我们也看到Oracle公司也一直在降低安装的复杂度,11g的安装已经比8i,9i方便了一些。最让人费解的是Oracle非要搞一个java的安装界面,很多朋友都是因为java图形化界面的问题安装失败。我想Oracle是认为java的跨平台特性,选择了用java开发安装程序以统一界面,这样也不用开发多套软件,但是有没有发现我们在安装完后,服务器上使用Oracle数据库大部份管理都是命令行,几乎就没用到过图形化界面了。
  Oracle安装其实可以做得更简单,操作系统变量及环境变量安装程序应该可以自动处理,软件包依赖检测可以人性化提示。在非windows系统上图形化是为了更方便安装,但是我感觉Oracle这图形化界面如果启动了我基本上也是点next,安装好了,库建好了再来修改相关参数。
  3、外连接
  外连接(left
  join
  ,right
  join,full
  join)在SQL标准语法中就有明确的定义,但是Oracle的语法确与标准完全不同,这个是历史原因了,没有左连接与右连接的概念,也不支持全外连接,Oracle语法如下所示:select
  *
  from
  t1,t2
  where
  t1.id=t2.id(+)
  采用(+)来表示外连接,但是大部份人第一眼会认为这是一个右连接的语法,其实在Oracle中它相当于左连接,我直到现在还有时会搞错左右。好在Oracle9i中增加了标准外连接的语法支持。但是现在用Oracle数据库的人SQL大部份还是采用传统的语法,主要原因可能是传统语法已经习惯,传统语法更好用提示优化,SQL标准语法成熟度不够且还存在一些BUG等等。
  4、VARCHAR2类型
  看VARCHAR2这名字,还以为有新的VARCHAR类型,其实在Oracle中就这一种变长字符类型,为什么叫VARCHAR2我也不清楚,也许是历史原因吧,在Oracle也可以使用VARCHAR,但是VARCHAR只是VARCHAR2的一个同义词,而且在官方文档中还建议大家都用VARCHAR2,真是不明白了。
  VARCHAR2类型的最大长度到11g中还是4000字节,这个上限不知道为什么这么小,很多需求都会超过4000,只能使用lob来管理,但是Oracle的lob比较复杂,性能也不好,所以有些系统甚至在一个表建多个varcahr2(4000)的字段来表示一个字段的内容。而其它数据库varchar类型的最大长度都比4000大,有8K,32K,还有64K的。
  5、NUMBER类型
  在10g以前NUMBER类型是Oracle唯一数值类型,可以用来表示整数和小数,范围也足够我们使用,Oracle也支持INTEGER语法,但是INTEGER只是NUMBER的一个同义词,不明白Oracle为什么没有专用的整数类型。NUMBER类型很灵活,但是存储空间很大,性能也不好,如果用4字节可以表示的整数,用NUMBER平均需要6字节存储,如果采用number类型做指数或对数运算,与标准的浮点数性能可能会相差50倍。好在Oracle10g中增加了高效的浮点类型binary_float,binary_double,从而弥补了浮点数性能的问题。Oracle在pl/sql语法中有专用的整形pls_integer,但是pls_integer不能做为字段的类型。
  6、DATE类型
  Oracle主要有两种日期类型,date和timestamp,从词面看以为是date表示日期,timestamp可以存储时间,但是实际是date类型可以表示日期和时间,timestamp可以存储更高精度的时间,为什么date不叫datetime算了,Oracle没有只保存日期的类型,如果我们的数据仅要保存日期,那2-4个字节就可以搞定了,但Oracle的date类型需要7个字节存储。
  7、物化视图
  materialized
  view在Oracle官方文档中好像是翻译为实体化视图,物化视图是国内的通用叫法。一提起视图脑海里立即会认为这只是视图的一种类型,在数据库中也只是一些定义,但是实际上materialized
  view与普通视图关系不大,它更像是一个表,它是保存了实实在在的数据,并且可以与表一样定义存储参数,可以与表一样使用(select,insert,update,delete)。在其它数据库中也有和物化视图相似的解决方案,DB2叫物化查询表(materialized
  query
  table),sqlserver有索引视图,但是索引视图仅是起优化作用,与oracle的物化视图还不太一样。
  8、用户与SCHEMA
  schema的概念在很多数据库之间都没有统一的定位,有些数据库可以有多个database,每个database下面有多个schema,Oracle中的schema有点怪怪的,因为Oracle只有一个database的概念,所以schema就与其它数据库中的database有点类似,我们一般理解是schema(database)与用户没有直接关系,schema是逻辑概念,user是为了安全认证,只与权限有关,但Oracle用户与schema关系与其它数据库不一样,一个用户就对应一个schema,且不能更改,而且对schema的权限管理不方便,比如想让某个user可以访问另一个schema所有对像的权限就很麻烦。这种设计也是oracle特有的,估计Oracle也不会去改变。
  9、客户端
  装个客户端,给我个几百M大小的软件,有这么复杂吗,还有,为什么客户端安装好了还要做什么TNS配置,我直接提供数据库连接信息
  (ip+port+dbname)不行吗。Oracle的TNS配置确实让开发人员头痛了很久,特别是那种要把C/S软件发布给客户端使用的场景,本来安装客户端就不方便,还要配置TNS,故障诊断时总是要检查一下TNS是否配置正确,不小心选错了TNS名连错了数据库导致误删除了数据的情况也时有发生。因为客户端软件的庞大,有些人还专门制做了只有几M或几十M的简易客户端安装软件,还有人开发了不需要客户端的插件,可以集成在软件里发布,可见Oracle的客户端安装配置不是一般人能接受的。好在现在很多应用都是B/S系统了,Oracle
  SQL
  DEVELOPER也不需要配置客户端,用jdbc连接Oracle仿佛世界清静了许多。
  10、管理及开发工具
  大部份数据库系统都会有一个比较官方全面的数据库管理工具,尤其是微软的产品,但是Oracle发展到现在自身的管理工具还是没有定型,8i用企业管理器,9i用JAVA重写了,10g用WEB重写了,现在11g官方推荐用Oracle
  SQL
  DEVELOPER做开发,用B/S架构的OEM做管理与监控。对于Oracle官方的开发管理工具,一直认为太不专业了,远没有其它第三方面工具好用,plsql
  developer和toad应该是Oracle管理及开发人员用得最多的工具,其次就是sqlplus了。Oracle
  SQL
  DEVELOPER采用JAVA开发,很强大,可以用JDBC连接管理任何数据库,但是还是不专业,使用起来不方便。10g的OEM有一些公司开始用了,它的监控功能应该还是不错的,但是不能做开发管理,这个是产品定位的问题了。期待有一天Oracle能有一个像SQL
  SERVER那个强大的开发及管理工具。
  以上说的是个人认为Oracle一些不爽的地方,从9i到11g也可以看出Oracle在增强功能以外,系统易用性,数据类型性能方面一直在改进,但是还有很多提高的空间。这些并不影响Oracle成为当前最先进的关系型数据库系统,它的并发处理机制,锁管理,数据字典,性能监控与统计,提供多种优化方法,在线管理,RAC高可用性架构等地方是其它数据库短时还无法超越的。

oracle数据库一个表字段中存了id,并以逗号分隔,id对应的详细信息在另一个表中: SELECT 
  rownum,
  t.aid,
  wm_concat (t1.name) 
FROM
  leader t 
  INNER JOIN leader_name t1 
    ON INSTR(
      CONCAT(',', t.aid, ','),
      CONCAT(',', t1.bid, ',')
    ) > 0 
GROUP BY t1.aid ;

试试,思路就是根据字符串截取,匹配id,然后group by,行转列。防止那种1匹配到10,就按照前后加逗号的方式

公司刚采购了一套ORACLE的数据库。让我负责运维。悲剧了。一点都不懂怎么办啊?: 回想我的从前,一直想做oracle数据库,就是么有机会。断断续续自学了几年,真叫个辛苦!

ORACLE数据库表设计,是该一张表放很多列,还是分成几张表每张表的列都比较少?: 我认为第二个方案好点。你一张表的列太多了。这样子必然导致在执行操作的时候非常的慢。分成多个表的话会分担数据库的压力,读写都很快。
百万数据级的我做过。第一种方案的列数太多,导致表态庞大,读写都会很慢。第二种方案将表拆分,一方面在业务上做分割,另一方面读写速度确实会加快。

  • hankook是什么轮胎

    晕车的人是因为缺血吗?: 晕车是一种生理反应,是前庭功能对于平衡和运动的感觉过于强烈所致。人在运动时是有感觉的,哪怕是闭着眼运动也同样会有感觉。一般来说,人自身对于运动时的身体平衡能够自我调节,但有的人则对运动过于敏感,如在转椅上运动或原地转...

    712条评论 1469人喜欢 3839次阅读 824人点赞
  • 身上起红点是什么病

    老年人缺铁是什么原因?: 老年人缺铁可能是因为老年人吸收铁的效率低,活动量减少,消化功能的减退和胃酸缺乏、慢性失血病等造成的。因此老年人在补血的时候可以喝一些营养剂和调节饮食,在日常生活中,尽量多吃清淡含铁类的食物,如紫米、猪肝、红枣、黑木耳...

    734条评论 1894人喜欢 2585次阅读 446人点赞
  • e租宝财富的认购点是多少

    心机缺血吃人 为什么累: 由于怀孕,心脏负荷加重了,会出现心肌缺血的情况,严重者引起妊娠心脏病。怀孕时心肌缺血会引起心电图的异常。孕妇心肌缺血,在胎儿不断长大的过程中,需氧量也会增大,会加重你心脏负担,缺血更明显,特别是晚期。胎儿发育可能受到...

    609条评论 4202人喜欢 5806次阅读 739人点赞
  • 244减去多少等于62

    缺碘对人有什么危害: 碘缺乏病的主要表现与危害—— 1、缺碘导致智力低下、呆傻、白痴、等智力残疾。 2、缺碘导致地方性甲状腺肿和甲减。 3、严重缺碘可导致地方性克汀病,这主要是由于胎儿期及婴儿期严重缺碘,病人呆傻、矮小、聋哑、...

    906条评论 5006人喜欢 6375次阅读 334人点赞
  • l肝在哪里

    请问人为什么会缺镁?: 缺镁的原因:1 生活中的应激(压力)事件可使体内镁的排泄量大增;饮酒会使食物中镁在肠道吸收困难,并使镁排泄量增多,造成缺镁。 2 超负荷脑力劳动及高强度体力劳动或剧烈运动,使体内需镁量激增而饮食中没及时补充,造成缺镁...

    537条评论 5345人喜欢 3178次阅读 440人点赞
  • gta改装车在哪里

    人为什么缺钙: 钙是人体所必须的矿物质。人体内的钙,其中有99%存贮在骨头和牙齿里,1%存在血液当中,所以如果去医院抽血检验钙缺不缺,检测结果是缺的,那么就已经是把身体里的库存都用光了。要知道自己有没缺钙,可以从日常的生活饮食、睡眠...

    580条评论 5240人喜欢 1742次阅读 569人点赞