oracle
Flying_Hawk
干一行爱一行
展开
-
分析数据库死锁原因的方法
常看到死锁的问题,一般都是KILL进程,但如果不查出引起死锁的原因,死锁会时常发生 可以通过查找引起死锁的的操作,就可以方便的解决死锁,现将日常解决问题的方法总结,也许对大家有帮助 1/死锁发生时,通过如下语法,查询出引起死锁的操作use mastergodeclare @spid int,@bl intDECLARE s_cur CURSOR FOR select 0 ,bloc转载 2009-01-07 09:17:00 · 706 阅读 · 0 评论 -
oracle的数据导入到pgsql数据库中的测试
因为一直在研究compiere,现在测试的环境为oracle,现在需要将测试环境转为pgsql,所以需要将oracle的数据导入到pgsql中。为了以后业务的情况,需要将oracle的数据直接导入到pgsql。现在测试使用squirrel这种工具,看看效果如何。原创 2009-07-06 11:06:00 · 1890 阅读 · 0 评论 -
oralce中文排序
一、中文排序 1. //按照笔划排序 2. select * from dept order by nlssort(name,NLS_SORT=SCHINESE_STROKE_M); 3. //按照部首排序 4. select * from dept order by nlssort(name,NLS_SORT=SCHINESE_RADIC转载 2009-04-27 10:39:00 · 570 阅读 · 0 评论 -
Compiere on Oracle XE
Compiere on Oracle XE By Jorg Janke on August 23, 2008 4:10 PM | Permalink | Comments (2) | TrackBacks (0)|Email thisOver time转载 2009-03-06 08:48:00 · 938 阅读 · 0 评论 -
ORA-28000: the account is locked-的解决办法
第一种ORA-28000: the account is locked第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;第二步:选择myjob,查看users;第三步:选择system,右击点击“编辑”;第四步:修改密码,把“帐户被锁住”的勾去掉;第五步:点击“应用”再点击“关闭”;第六步:重新登录就可以通过验证了;第二转载 2008-12-18 12:33:00 · 8095 阅读 · 1 评论 -
20.6 Select…For Update语句与锁
20.6Select…For Update语句与锁Select…ForUpdate语句的语法与select语句相同,只是在select语句的后面加FOR UPDATE [NOWAIT]子句。该语句用来锁定特定的行(如果有where子句,就是满足where条件的那些行)。当这些行被锁定后,其他会话可以选择这些行,但不能更改或删除这些行,直到该语句的事务被commit语句或rollba转载 2009-02-18 13:37:00 · 726 阅读 · 0 评论 -
对oracle锁的一点见解
Oracle 9i 关于锁的一点心得锁定的概念:锁定是数据库用来控制共享资源并发布访问的机制。在多用户环境下,多个用户可同时访问相同的数据。Oracle提供锁以确保在多用户环境下数据的完整性和一致性。在提交或回滚事务之前,Oracle会锁定正被修改的数据。在用户完成或回滚事务之后,锁会自动释放。只有在提交或回滚事物之后,其他用户才可以更新这些数据。锁的两种级别为:行级锁和表级锁。转载 2009-01-14 10:35:00 · 2326 阅读 · 0 评论 -
ORACLE锁机制研究
数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。 加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。 在转载 2009-01-13 16:38:00 · 675 阅读 · 0 评论 -
由sys用户通过查询与锁相关的视图来了解锁,了解阻塞会话与被阻塞会话的sid、serial#、用户名及其所使用的DML操作语句。
set pagesize 40 linesize 150column blockers format a45column waiters format a45select 阻塞者(||sb.sid||:||sb.serial#||-||sb.username||)-||qb.sql_text blockers, 等待者(||sw.sid||:转载 2009-01-13 16:19:00 · 821 阅读 · 0 评论 -
Oracle数据库封锁和select...[for update [of tab.col]]的研究
表封锁查询对比 表封锁查询对比 Table A For Update 1.有where条件时,锁定条件中指定的数据行(行级封锁);2.无where条件是,锁定表A(表级封锁)。 For Update of A.Id1.有where条件时,锁定条件中指定的数据行(行级封锁);2.无where条件是,锁定表A(表级封锁)。A,B转载 2009-01-14 12:25:00 · 992 阅读 · 0 评论 -
for update 的使用例子
WHERE CURRENT OF WHERE CURRENT OF YOUR_CURSOR_NAME 其实还是很有用的,特别是在循环游标中。例如:需要把所有job=SALESMAN的加5%的工资。=CLERK的加10%的工资。=MANAGER加15%的工资。[Copy to clipboard] [ - ]CODE: declare cursor myc转载 2009-01-14 16:18:00 · 829 阅读 · 0 评论 -
关于for update的问题
假设表test 有两列col1和col2:不太清楚以下两个sql语句的区别:(1)select * from test for update; (2)select * from test for update of col1;第一句是对所有行加锁,其他事务无法修改数据;第二句我本来以为只是不能修改col1列的值,但我在oracle9.2.0.1.0下测试,col2转载 2009-01-14 10:27:00 · 816 阅读 · 0 评论 -
关于使用FOR UPDATE引起阻塞的问题
关于使用FOR UPDATE引起阻塞的问题请教我有一个存储过程完成以下操作1、select id,col1,con2 into v_id,v_col1,v_col2 from table1 where rownum=1 for update2、update table1 set v_col1 = 1 where rownum=1 commit;这种语句在什么情转载 2009-01-14 08:58:00 · 1598 阅读 · 0 评论 -
查询数据库中锁的持有者和被阻塞者的SQL
查询数据库中锁的持有者和被阻塞者的SQL朋友介绍的代码,感觉不错,与大家分享SELECT s1.username "WAITING USER" , s1.osuser "OS User" , w.session_id "Sid" , p1.spid "PID" , s2.username "HOLDING User"转载 2009-01-13 16:08:00 · 877 阅读 · 0 评论 -
增加oracle 10g xe 连接数
问题:Oracle XE 允许连接的用户数不足,如何解决?解答:在数据库服务器上运行 sqlplus system/password@xe (其中 system 是数据库用户无需改变;password 是数据库密码应指定为实际密码;xe 是数据库实例名称无需改变) ,然后执行:alter system set session_cached_cursors=200 sco转载 2009-09-08 11:12:00 · 2808 阅读 · 1 评论