tomcat一段时间不操作oracle就关闭连接_操作数据库常见错误,开发人员必掌握的技能...

840984de7ea983eadaf051235d32510a.png

人生路,靠不得任何人,只能靠自己。那些该吃的苦,一点都不能少,那是我们通向未来必须要走的路,从泥泞不堪,布满荆棘的小道上迈步,才能踏上铺满鲜花的大道。

前言

作为一个开发人员虽然有时候对于数据库这方面操作的不是很多,大多数都是由DBA来操作,,但是如果你能把这些都掌握个差不多,那对你自己以后的发展绝对是添砖加瓦的,俗话说“技多不压身”,退一步来说,其实这些技巧对于开发人员来说学起来是特别简单的,只要自己肯去练一练、学一学。

2c1b1291f1d756e4f26778d033b07ed3.png

表空间满了怎么办

DB2:增大表空间、增加容器

  • 查看当前数据库表空间分配状况
  • list tablespaces show detail
  • 给原有的表空间扩容
  • alter tablespace 表空间名称 resize(file '存储表空间路径表空间名称' 大小);
  • 新增表空间
  • alter tablespace 表空间名称 add(file '存储表空间路径表空间名称' 10g);

ORACLE:增大表空间、增加容器、设置成自动增长

  • alter database datafile '存储表空间路径表空间名称' resize 100m;
  • alter tablespace 表空间名称 add datafile '存储表空间路径表空间名称' size 50m;
  • alter tablespace 表空间名称 add datafile '存储表空间路径表空间名称' size 50m autoextend on next 5m maxsize 100m;
  • alter database datafile '存储表空间路径表空间名称' autoextend on next 5m maxsize 100m;

磁盘不足了怎么办

1.方法一:增加硬盘空间

2.方法二:数据清理或表空间收缩释放高水位达到可以缩小表空间大小

具体的办法内容过多,这里有限,需要的小伙伴可以关注、转发+评论然后私信我!

数据库无法连接怎么办

数据库无法连接原因有很多,一般检查步骤:

1、尝试连接,根据报告出来的错误信息再具体分析问题

2、查看日志,是否有报错信息提示:

  • 应用跟踪:跑批日志跟踪/TOMCAT日志查看;
  • 数据库日志跟踪:db2:db2diag.log
  • orale:alert_.log

3、DB2查看数据库是否在自动恢复,一般意外或强行关闭可能会导致自动恢复,时间较长,命令:db2 list utilities show detail

1f7bbe60d0e1283224fafaed86fbb459.png

表锁了怎么办

锁分类:

  • 从数据库系统角度分为三种:排他锁、共享锁、更新锁。
  • 从程序员角度分为两种:一种是悲观锁,一种乐观锁。
  • 锁原因(通常发生成INSERT甥䑐呁EDELETE之间):
  • A程序执行了对 tableA 的 insert ,并还未 commite时,B程序也对tableA 进行insert 则此时会发生资源正忙的异常就是锁表;
  • 并发情况

避免死锁的办法:

  • 减少INSERT甥䑐呁EDELETE的时间;
  • 优化SQL执行效率;
  • 对异常事务进行回滚;
  • 加大死锁超时时间参数;DB2: LOCKTIMEOUT(锁定超时)LOCKLIST(分配给锁定列表的内存量)MAXLOCKS(应用程序挂起的锁定列表的百分比)

如何解锁

db2:

  • 看看是否有锁住的进程
  • list application for database SNPAS show detail
  • KILL掉死锁的进程
  • force application(进程号)

ORACLE:

  • 查询死锁的会话并生成KILL掉命令DBA用户
  • select 'alter system kill session '''||sn.sid||','||sn.serial#||''';'
  • from v$session sn
  • where sn.sid in (select lk.sid from v$lock lk);

结语

以上的内容都是些干货,但是也有一部分需要结合具体的案例才能够理解的很清楚,但是由于篇幅问题无法给大家介绍案例,不过如果需要的小伙伴可以转发、评论+关注,然后私信我“案例”即可获得~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值