oracle 检查被锁的表及解锁
处理方法一 :
检查那个表被锁
select sess.sid,sess.serial#, lo.oracle_username,lo.os_user_name,ao.object_name,lo.locked_mode
from v$locked_object lo,dba_objects ao,v$session sess
where ao.object_id = lo.object_id
and lo.session_id = sess.sid;
解锁
alter system kill session '273,45';
处理方法二 :
找到你要杀掉的那个SESSION, 并记下paddr
SELECT sid, username, paddr, status from v$session WHERE username = 'JCUSER' and sid=上面查出来的sid;
找到这个SESSION所对应的spid
SELECT ADDR,PID,SPID,USERNAME,SERIAL#,TERMINAL from v$process WHERE addr = '上面的PADDR';
杀掉spid所标识的那个进程
orakill sid spid
相关文档:
转自:http://hi.baidu.com/dashuaiwang/blog/item/47cc680ec35055c37acbe1f8.html
打开oracle 数据库时出现了错误:
ORA-00313: 无法打开日志组 1 (线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: 'D:\ORACLE\ORADATA\GOCOM\REDO01.LOG'
SQL> connect / as sysdba;
已连接。
SQL> shutdown immediate;
ORA- ......
关键词:with read only
作用:用于指定所创建的试图不可以通过本视图更新表
执行一下SQL,创建表T,和两个试图V1,V2:
CREATE TABLE T(ID INTEGER);
CREATE VIEW V1 AS SELECT * from T;
CREATE VIEW V2 AS SELECT * from T WITH READ ONLY;
执行SQL:
INSERT INTO V1 VALUES(1);
--------------------
1 row cre ......
ORACLE的lpad函数、rpad函数用法
语法:select lpad('12345678',1,'0') from dual;
返回字符串‘12345678’的从左边长度为1的字符串,如果不够,左边补‘0’
语法:select rpad('12345678',1,'0') from dual;
返回字符串‘12345678’的从左边长度为1的字符串,如果不够,右边补&ls ......
更新多行的步骤:
步骤多,但效率比较高:
1、create table 临时表 value (select a.id,a.name,b.name,... from table1 a,table2 b where a.id=b.id)
2、删除table1中的记录,不要drop
3、insert into table1 select 你需要的字段 from 临时表。
select * from tb_ai03
create table tb_ai031 as select * from tb ......
select sysdate 当前时间,
sys.login_user 数据库用户,
machine 登录机器名,
SYS_CONTEXT('USERENV', 'IP_ADDRESS') 登录IP,
&n ......