仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 754|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之因为回滚段参数设置存在成绩招致数据库...

[复制链接]
不帅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:34:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
提供TCP/IP、ODBC和JDBC等多种数据库连接路径。数据|数据库|成绩操纵体系:SunSolaris8
双机软件:SunCluster3.0
数据库:Oracle8.1.7.3

妨碍征象:
1.Oracle没法启动。
2.双机的情况一个节点大概一切点上的oracle资本组没法启动,显现为offline。
3.手工启动oracle时呈报"ORA-01092:ORACLEinstanceterminated.Disconnectionforced"毛病。
4.检察$ORACLE_BASE/admin/ORCL/bdump/alert_ORCL.log,发明有ORA-01534:rollbacksegmentRBSXXXdoesnotexist相似的毛病。

妨碍剖析:
这个妨碍是因为初始化参数文件中的rollback_segments参数设置了一个其实不存在的回滚段而引发的。Oracle外部有一个回滚段rollbacksegment的观点,它关于oracle有着十分主要的感化。回滚段有public和private两品种型,Oracle的初始化文件$ORACLE_BASE/admin/ORCL/pfile/initORCL.ora中有一个静态初始化参数rollback_segments。它包括在oracle启动时分必要online的private的回滚段的列表。假如这个参数设置了一个其实不存在的回滚段会招致oracle在启动的时分报ORA-01534和ORA-01092毛病,终极招致数据库没法启动,双机中的oracle资本也将没法online。假如rollback_segments在初始化参数中没有指定,那末oracle会将一部分public的回滚段online。详细online的回滚段的个数即是transactions/transactions_per_rollback_segment)。transactions和transactions_per_rollback_segment都是初始化参数文件中的静态初始化参数。在我们oss的体系中transactions=1.1*(1.1*processes+5),
transactions_per_rollback_segment=5。个中processes也是oracle的一个初始化参数,断定oracle的用户毗连数,在我们oss的体系中通常是300。以是在我们的体系中假如没有指定rollback_segments,则会将73个public的回滚段online。因为在我们的体系中一样平常不会创立这么多回滚段,终极招致我们的体系中会将一切的public的回滚段online。

妨碍处置:
能够将oracle初始化参数中的rollback_segments正文失落,再从头启动数据库。假如是双机则要在两个节点上同时改动rollback_segments这个初始化参数。

一样平常保护:
1.平常保护初始化参数文件的时分最好用vi命令来保护;大概用ascii体例将初始化文件ftp到当地,用utlraedi修正后在用ascii体例ftp到主机体系上。万万不要telnet到主机上用拷屏的办法将初始化参数拷贝到当地再做修正,由于rollback_segments这个参数很长,间接拷贝屏幕会将这个参数分行。
2.双机的体系中初始化参数必定要同步。
3.假如将rollback_segments参数正文失落,体系只会将public的回滚段online,以是假如体系中所创立的public回滚段很少的话,oracle启动起来以后体系内将只要很少的回滚段。这会严峻的影响体系的功能。因而假如要将rollback_segments参数正文失落,倡议将一切的回滚段全体依照public的体例来来从头创立。InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定
飘飘悠悠 该用户已被删除
沙发
发表于 2015-1-19 16:38:09 | 只看该作者
可以动态传入参数,省却了动态SQL的拼写。
admin 该用户已被删除
板凳
发表于 2015-1-24 15:45:44 | 只看该作者
至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。
小女巫 该用户已被删除
地板
发表于 2015-2-2 05:41:33 | 只看该作者
对于微软系列的东西除了一遍遍尝试还真没有太好的办法
柔情似水 该用户已被删除
5#
发表于 2015-2-7 16:46:34 | 只看该作者
另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
飘灵儿 该用户已被删除
6#
发表于 2015-2-22 16:24:31 | 只看该作者
数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。
再现理想 该用户已被删除
7#
发表于 2015-3-7 00:58:26 | 只看该作者
大侠们有推荐的书籍和学习方法写下吧。
乐观 该用户已被删除
8#
发表于 2015-3-14 00:24:33 | 只看该作者
现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.
再见西城 该用户已被删除
9#
发表于 2015-3-20 23:41:12 | 只看该作者
还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:43

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表