
数据库
dream_lixiang
人生如逆旅,我亦是行人。
展开
-
postgresql死锁处理
今天在利用navicat对postgresql数据库某张表进行清空操作时,由于表的数据量太大,导致操作卡死,客户端奔溃。重启客户端后,想分页对表数据进行删除,但发现,怎么都操作不了,甚至单条数据也无法删除,猜想刚刚进行整表清空的sql进程还在,锁住了数据表,所以导致当前的操作无法进行。 1.检索出死锁进程的ID SELECT * FROM pg_stat_activity WHER原创 2017-02-21 14:33:51 · 3601 阅读 · 0 评论 -
基于hibernate的BaseDao
1.BaseDao接口:package com.dear.simpler.dao;import java.io.Serializable;import java.util.List;import com.dear.simpler.db.utils.SPLDBException;/** * * @author lixiang * * 定义所有表的公共的方法接口 */pu原创 2017-03-03 11:02:45 · 760 阅读 · 0 评论 -
oracle建库脚本
把之前写的项目中的oracle数据库的建库sql脚本放在这里备份一下。 -- create_db.smb.orcl.sql-- SHOULD EXECUTE WITH THE SUPPER USER 'sysdba'.-- Before executing this script, should create a directory for the tablespace, -- th原创 2017-03-07 11:30:56 · 619 阅读 · 0 评论 -
sqlplus执行语句报错:unknown command beginning解决方案
今天在sqlplus中执行一个建表脚本的时候,报错“SP2-0734: unknown command beginning "crea..." - rest of line ignored."。但是这个建表脚本在navicat客户端执行是正常的。因为sql脚本是在windows下编写的,一开始认为是windows和linux的一些格式符不同导致sqlplus不识别脚本中的命令,于是打开vim原创 2017-03-07 11:19:20 · 14111 阅读 · 0 评论 -
并发delete导致oracle死锁问题的解决
项目中有一个批处理任务,用来删除数据库中过期的数据(包括说话人的语音、模型、记录等),当程序被分布式部署后,就会有多个批处理线程同时进行删除,不过不同的线程,会根据元信息表得到不同的说话人信息,从而删除不同的数据,并不存在竞争的问题,但是,当项目使用oracle数据库在线上运行时,却频繁出现了ORA-00060: deadlock detected while waiting for resour原创 2017-08-16 14:57:33 · 10494 阅读 · 0 评论