山那边是海 发表于 2015-1-16 22:31:33

MYSQL网站制作之ORACLE回滚段办理(下)

一些典型的RDBMS功能并不总是在DBaaS系统中可用。例如MySQL学习教程,WindowsAzureSQLDatabase(以前的SQLAzure)是微软的DBaaS产品,提供了一个类似于SQLServer的数据库平台。oracle创立回滚段  语法:  CREATEROLLBACKSEGMENTrollback_segment        ]]                              |NULL}])]  注:  回滚段能够在创立时指明PRIVATE或PUBLIC,一旦创立将不克不及修正。  MINEXTENTS必需年夜于即是2  PCTINCREASE必需是0  OPTIMAL假如要指定,必需年夜于即是回滚段的初始巨细(由MINEXTENTS指定)  倡议:  一样平常情形下,INITIAL=NEXT  设置OPTIMAL参数来勤俭空间的利用  不要设置MAXEXTENTS为UNLIMITED  回滚段应创立在一个特定的回滚段表空间内  例:  CREATEROLLBACKSEGMENTrbs01  TABLESPACErbs  STORAGE(INITIAL100KNEXT100KMINEXTENTS10      MAXEXTENTS500OPTIMAL1000K);使回滚段在线  当回滚段创立后,回滚段是离线的,不克不及被数据库利用,为了使回滚段被事件使用,必需将回滚段在线。能够用以下命令使回滚段在线:  ALTERROLLBACKSEGMENTrollback_segmentONLINE;  例:  ALTERROLLBACKSEGMENTrbs01ONLINE;  为了使回滚段在数据库启动时主动在线,能够在数据库的参数文件中列出回滚段的名字。比方在参数文件中到场以下一行:  ROLLBACK_SEGMENT=(rbs01,rbs02)修正回滚段的存储参数  可使用ALTERROLLBACKSEGMENT命令修正回滚段的存储参数(包含OPTIMAL,MAXEXTENTS)。  语法:  ALTERROLLBACKSEGMENTrollback_segment  ]                  |NULL}])]  例:  ALTERROLLBACKSEGMENTrbs01STORAGE(MAXEXTENTS1000);接纳回滚段的空间  假如指定了回滚段的OPTIMAL参数,ORACLE将主动接纳回滚段到OPTIMAL指定的地位。用户也能够手动接纳回滚段的空间。  语法:  ALTERROLLBACKSEGMENTrollback_segmentSHRINK];  申明:  假如不指明TOinteger的数值,ORACLE将试图接纳到OPTIMAL的地位。  例:  ALTERROLLBACKSEGMENTrbs01SHRINKTO2M;使回滚段离线  为了到达以下两个目标将要回滚段离线:  1.制止新的事件利用该回滚段;  2.该回滚段必需删除。  语法:  ALTERROLLBACKSEGMENTrollback_segmentOFFLINE;  例:  ALTERROLLBACKSEGMENTrbs01OFFLINE;  申明:  假如有事件正在利用该回滚段,运转该命令后,回滚段的形态将是PENDINGOFFLINE。事件停止后,形态将改成OFFLINE,能够经由过程V$ROLLSTAT查询回滚段的形态。删除回滚段  当回滚段不再必要或要重修以改动INITIAL,NEXT或MINEXTENTS参数时,能够将其删除。要删除回滚段,不准使该回滚段离线。语法:  DROPROLLBACKSEGMENTrollback_segment;例:  DROPROLLBACKSEGMENTrbs01;查询回滚段的信息  所用数据字典:DBA_ROLLBACK_SEGS  能够查询的信息:回滚段的标识(SEGMENT_ID)、称号(SEGMENT_NAME)、地点表空间(TABLESPACE_NAME)、范例(OWNER)、形态(STATUS)。  例:  SQL>SELECTsegment_name,tablespace_name,owner,statusFROMdba_rollback_segs;回滚段的统计信息  数据字典:V$ROLLNAME,V$ROLLSTAT  例:  SQL>SELECTn.name,s.extents,s.rssize,s.optsize,s.hwmsize,s.xacts,s.status    FROMv$rollnamen,v$rollstats    WHEREn.usn=s.usn;回滚段确当前举动事件  数据字典:V$SESSION,V$TRANSACTION  例:  SQL>SELECTs.username,t.xidusn,t.ubafil,t.ubablk,t.used_ublk    FROMv$sessions,v$transactiont    WHEREs.saddr=t.ses_addr;  USERNAME  XIDUSN  UBAFIL  UBABLK  USED_UBLK  -------  -----------------------------------------  SYSTEM      2      2    7      1  SCOTT      1      2    163      1  2rowsselected.回滚段的数目计划  关于OLTP体系,存在大批的大事务处置,一样平常倡议:  数目多的小回滚段;每四个事件一个回滚段;每一个回滚段不要凌驾十个事件。  关于批处置,一样平常倡议:  少的年夜回滚段;每一个事件一个回滚段。回滚段的成绩及办理办法  成绩一:事件请求的回滚段空间不敷,体现为表空间用满(ORA-01560毛病),回滚段扩大抵达参数MAXEXTENTS的值(ORA-01628)。  办理办法:向回滚段表空间增加文件或使已有的文件变年夜;增添MAXEXTENTS的值。  成绩二:读分歧性毛病(ORA-01555SNAPSHOTTOOOLD)  办理办法:增添MINEXTENTS的值,增添区的巨细,设置一个高的OPTIMAL值。列举选择MySQL的理由的最困难的地方在于,如何对这些理由进行排序。MySQL学习教程这就如同我们经常争论的故事:先有鸡还是先有蛋?

愤怒的大鸟 发表于 2015-1-19 16:09:29

但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。

飘灵儿 发表于 2015-1-28 07:58:45

XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)

灵魂腐蚀 发表于 2015-2-5 19:59:55

如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。

只想知道 发表于 2015-2-13 10:38:23

呵呵,这就是偶想说的

飘飘悠悠 发表于 2015-3-3 20:23:04

不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?

第二个灵魂 发表于 2015-3-11 13:27:26

一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。

简单生活 发表于 2015-3-18 18:47:55

理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识

仓酷云 发表于 2015-3-26 12:55:47

个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。
页: [1]
查看完整版本: MYSQL网站制作之ORACLE回滚段办理(下)