❶ 数据库宕机怎么解决
a、是否是应用程序导致内存溢出或者泄露,out of memory导致
b、是否是进程过多或者不断创建,耗尽资源导致
c、是否是数据库程序死锁,连接数过多导致
d、是否是应用程序异常导致
e、是否是流量负载过大导致
f、 是否是遭受黑客入侵攻击导致
g、是否是误操作导致
❷ oracle数据库服务宕机可能是什么原因造成的
原因很多,内部原因外部原因都有可能。
外部原因:比如服务器宕机,系统错误,温度过高宕机(比如机房空调坏了),临时断电,内存错误等等这些都有可能,电压不足等等。
内部原因:比较常见的有undo文件损坏,数据文件错误(遇到过一次,最后用补0的方法扩大了数据文件才好,不过现在用asm存储,这个应该不怎么可能了),时间调整错误(向后调,改动时间过长,比如00:00改为01:00,那么就两个情况都占,未必一定宕机,不过可能性很大),核心进程错误(这个比较少见,不过真的有,有时是有人误杀了),程序错误导致(见过一个因为某程序错误,导致锁表,而后锁表导致某进程一直占用内存,后来的进程根本进不了该表,然后越滚越大最后宕机,还是后来查出来的,相当于蝴蝶扇翅膀变成飓风,所以有错误要及时发现才行),存储错误,io争用(持续时间长)等等。
这么说吧,很多的ora错误都可能引起宕机(并不是全部ora错误都会引起宕机),真要说的话要很长时间,如果想不宕机那么就要有监测检查制度,早发现早解决,也就不会有什么问题了。
❸ 什么样的情况下数据库会宕机
如果获得连接的方式中包含"自动尝试连接"属性,就会出现这种情况.因为查找数据库连接的消耗是除网络IO外的最大诱因,包括连接串或者程序中的程序设置连接次数,都会造成线程的堵塞.
另,也与异常的处理方式有很大关系,不论是driverManager获取或者数据源获取连接,在未能获取连接时的异常处理将会影响后面的进程.
在was中,若使用数据源,那还有一个原因就是应用服务器的连接池机制本身.因为用户应用的连接实际上取的是连接池中的连接而非物理连接,连接池有自身的一套处理机制,在获得缓冲的同时,也会在数据库和用户应用之间造成一定的时间差和状态差.因此,可能的情况是数据库实际上已经拒绝服务(含堵塞/停止等),而应用服务器连接池中的某些连接仍可用,这时候,pool的处理和应用的处理的消耗就造成了应用服务器的堵塞.对于这种情况的处理,只有依据实际情况对数据源和数据库的参数进行调整.
❹ 如何解决或降低缓存服务的单点故障导致数据库的流量井喷
像Facebook、开心001、人人网、优酷、豆瓣、淘宝等高流量、高并发的网站,单点数据库很难支撑得住,WEB2.0类型的网站中使用MySQL的居多,要么用MySQL自带的MySQL NDB Cluster(MySQL5.0及以上版本支持MySQL NDB Cluster功能),或者用MySQL自带的分区功能(MySQL5.1及以上版本支持分区功能),我所知道的使用这两种方案的很少,一般使用主从复制,再加上MySQL Proxy实现负载均衡、读写分离等功能,在使用主从复制的基础上,再使用垂直切分及水平切分;或者不使用主从复制,完全使用垂直切分加上水平切分再加上类似Memcached的系统也可以解决问题。
❺ Java中怎么把数据库中的表做成定时任务,存入缓存,减轻频繁直查数据库时,数据库的压力
根据你的想法,建议将两种方式整合下,建议如下设置:
接根据业务层的需要,把频繁使用的多个表数据进行整合,并利用视图的方式进行访问,这样既能减少数据表的压力,也能保持数据的准确性;
根据向系统设定场景,将经常使用到的数据存放在缓存中,缓存建议使用radis等非关系型数据库;
根据数据量确定,数据量比较大的,可以使用中间表等方式,如果数据量小而多的,放在缓存中最好,提高命中率。
❻ 怎么减轻网站数据库的压力
fikker 让网站响应加速 10 倍以上, 减少数据库压力 90% 以上:
页面缓存:目前网上的大部分页面都是由网站程序动态生成的,例如 ASP,PHP,JSP等页面都是网站动态生成的,这种页面在被生成的时候,大部分都会读取数据库,在访问量比较小的时候,数据库尚可胜任,在访问量较大的时候,数据库就会严重延迟甚至不堪重负。因为数据库的大部分数据存放在硬盘上的,并且硬盘数据交换的能力相对于内存来说是极低的(相差10倍以上),所以当数据库频繁读取硬盘数据的时候,网站系统的负载能力便会大大降低,硬盘IO就成为了网站响应速度的瓶颈。Fikker 提供了动态页面缓存能力,对于频繁读取的动态页面,可以将其缓存在 Fikker 页面缓存中,当浏览器访问的时候,就不再需要网站程序重新读取数据库和重新编译页面,系统的吞吐能力大大的提高,极大的抵消了频繁读取数据库带来的瓶颈,网站的响应速度会有 10 倍以上的提升。加速举例:一个热门商品或热点新闻页面,1分钟内有1万次的访问量,如果这些页面都由网站生成,就会读取1万次数据库并重复生成1万个的页面;如果 Fikker 将这个页面缓存1分钟,一分钟内只会读取1次数据库并生成1次页面,网站和数据库的负荷就会大大的降低(10倍以上),所以越是负荷较大的网站,加速效果感觉上越明显。
压缩传输:绝大部分基于文本的页面(asp, php, jsp, html, js, css, txt等)进行 gzip/compress/deflate 压缩以后,相对于非压缩页面会减少大约75%的尺寸。例如:一个100K字节的页面,压缩以后大约在20K - 25K字节左右,如果这种压缩过的页面被缓存后再传输,会显着的提升传输效率,加快网页传输加载的速度,而且还很经济(减少了带宽支出)。Fikker 内置了 gzip 页面压缩功能,既减少了内存的占用,提升了传输效率,又降低了带宽的占用。
❼ 宕机的原因有哪几种 数据库的长连接
在项目中尝试使用了几种开源的数据库连接池实现。一种是dbcp,一种是c3p0,还有一种是proxool,这几种数据库连接池都可以很容易的在Spring配置起来。性能总体上上感觉dbcp为最优,因为稳定性和并发性都是我的项目需要的。