ORACLE解锁

来源:互联网 发布:php c扩展开发 编辑:程序博客网 时间:2024/05/17 02:41
-----1、ORACLE解锁record is locked by another user -------
在操作ORACLE数据库的时候,由于执行完,没有COMMIT,直接把PL/SQL关闭掉,后来导致那张表被锁住,当编辑时就会出现这个信息,
record is locked by another user! 
当出现这种情况的时候,只要操作下面几个步骤就可以解锁了。 
1、查看锁 
select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid ; 
2、Kill 
--alter system kill session 'sid,serial#'; 
alter system kill session '151,14678


------------------------------------------
--------2、oracle initialization or shutdown in progress解决方法 -------------------------
今儿一直在测试服务器的迁移问题,不断地创建表空间、创建数据库、创建用户。后来感觉创建这么多东西太占用磁盘空间,
心想删除一下吧,于是,我们执行了dbca命令,将没用的数据库统统删除,将dbf和dmp文件也统统删除了,再后来发现服务无法启动了,
连接时会提示oracle initialization or shutdown in progress,后来经过查询发现,原来这些dbf和dmp不是说删除就能删除的
(当时我们明明发现有的不允许删除,我还是故意停停掉oracle服务,然后将其删除滴),最终导致数据库实例无法启动。
我的解决过程如下:
Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.


C:\Documents and Settings\Administrator>sqlplus /nolog


SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 3月 4 18:40:13 2011


Copyright (c) 1982, 2005, Oracle.  All rights reserved.


SQL> connect system/hope;
ERROR:
ORA-01033: ORACLE initialization or shutdown in progress【就是这个错误】


【解决方法】


SQL> connect sys/hope as sysdba
已连接。
SQL> shutdown normal
ORA-01109: 数据库未打开




已经卸载数据库。
ORACLE 例程已经关闭。
SQL> start mount
SP2-0310: 无法打开文件 "mount.sql"
SQL> startup mount
ORACLE 例程已经启动。


Total System Global Area  612368384 bytes
Fixed Size                  1332348 bytes
Variable Size             183151492 bytes
Database Buffers          423624704 bytes
Redo Buffers                4259840 bytes
数据库装载完毕。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 5: 'C:\TYKM.DBF'




SQL> alter database datafile 5 offline drop;【5是数据文件中的5】


数据库已更改。


SQL> alter database open;【我们一直循环这个语句,直至不再提示错误】


数据库已更改。


SQL> shutdown normal
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。


Total System Global Area  612368384 bytes
Fixed Size                  1332348 bytes
Variable Size             187345796 bytes
Database Buffers          419430400 bytes
Redo Buffers                4259840 bytes
数据库装载完毕。
数据库已经打开。
这样就解决啦~~~哈哈哈~~~~~~~~~~~~~~~~~~~~
-------------------------------------------------------
3.oracle union查询中BLOB字段出错问题,ora-00932:数据类型不一致:应为 -,但却获得BLOB:


select blobf from table1


union


select blobf from table2


出错:ora-00932:数据类型不一致:应为 -,但却获得BLOB
因为:union会对字段类型进行比较(相等和不等判断),oracle不支持对大数据类型的比较操作。 


解决办法:使用union all就可以了。union all不涉及比较。


---------------------------------------------------------
0 0
原创粉丝点击