1 设置中间件和应用连接超时 设置为20分钟
2 在sqlnetora添加sqlnetexpire_time=20分钟为单位(用于检查死掉但没有断开的session并清除僵死进程)
3 设置用户profile 空闲时间超过20分钟关闭进程,建议针对连接超时的那个用户开个profile策略
4 增加数据库连接数(根据中间件连接数适当调整)
5 建议将数据库转为RAC数据库,实现多节点负载均衡,通过横向扩展提高每秒交易数和连接数
6 kill session脚本实现(不建议,风险太大,不能解决根本问题)
如果确实不是因为使用的人多造成服务器崩溃的话,你需要检查具体连接信息,很可能是程序连接数据库,没有释放连接,造成一个程序多次连接数据库,把数据库给拖死了。那就需要改程序了。否则你需要买个更强大的服务器来支撑这么庞大的访问需求。
Oracle服务器由数据库和实例组成,实例包括进程和内存结构。
你连接到一个实例上,只能查到与该实例对应的数据库。数据库名可以这样简单查询
show parameter db_name
或者楼上的语句也可以,但是都只能获得当前的数据库名。
不同的数据库的处理是不同的,有的数据库是你执行完程序,索引就更新完成了,有的数据库是自己评测系统资源空闲的时候做自身的更新(比如你在往有索引的表中增加了大量的数据,数据很快被加载进去了,但是索引可能是没有被维护的,这个数据库就会在系统资源空余的时间来维护索引的)。
但是可以确定的是你为一个字段创建索引的时间就是你执行程序的时间(是你单独创建的索引,并不是数据库通用维护的索引)
你可以测试一下的,你创建完索引后看看查库的速度是否有提升,就是最好的验证了。
你说的应该是是否导致数据差错的问题。数据安全一般是指数据丢失、数据泄漏等。多进程同时 *** 作数据库则有可能导致数据不一致。不过,数据库一般都提供锁的机制,从而避免或者降低多进程访问/ *** 作数据而发生不一致的风险。
以下介绍用鼎信诺软件进行bak文件的还原取数方法
打开sqlserver
登录---local两边的括号是英文状态下的
要是d出如下对话框,有两种情况,一种是数据库进程没打开,另一种是数据库安装失败了
打开数据库进程----在开始-运行输入servicesmsc,点回车
启用就可以了
登录数据库,点开,右键点击数据库,选择还原数据库
目标数据库随便写就行,也可以在选完文件在下拉列表里选和数据库文件一样的
选原设备,找到要还原的文件,前面打上勾,确定就可以了,还原进度可以不用管的,永远都是0%,还原完会d出对话框的
然后用前端取数工具取数就可以了
SMON是系统监视器(System Monitor)的缩写。如果Oracle实例失败,则在SGA中的任何没有写到磁盘中的数据都会丢失。有许多情况可能引起Oracle实例失败,例如, *** 作系统的崩溃就会引起Oracle实例的失败。当实例失败之后,如果重新打开该数据库,则背景进程SMON自动执行实例的复原 *** 作。
DBWR是数据库书写器(Database Write)的缩写该服务器进程在缓冲存储区中记录所有的变化和数据,DBWR把来自数据库的缓冲存储区中的脏数据写到数据文件中,以便确保数据库缓冲存储区中有足够的空闲的缓冲存储区。脏数据就是正在使用但是没有写到数据文件中的数据。
LGWR是日志书写器(Log Write)的缩写。LGWR负责把重做日志缓冲存储区中的数据写入到重做日志文件中。
CKPT进程是检查点(Checkpoint)的缩写。该进程可以用来同步化数据库的文件,它可以把日志中的文件写入到数据库中。
PMON是进程监视器(Process Monitor)的缩写。当取消当前的事务,或释放进程占用的锁以及释放其它资源之后,PMON进程清空那些失败的进程。
祝你成功!
以上就是关于oracle数据库还原后,进程数量不断无限制增加,导致系统不能长时间运行,跪求解决方案全部的内容,包括:oracle数据库还原后,进程数量不断无限制增加,导致系统不能长时间运行,跪求解决方案、数据库进程连接过多导致数据库假死如何解决!急急!、如何查看哪些进程和服务器正在使用数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)