SQL> desc v$mystat
Name Null? Type
------------------------------------------------- --------------
SID NUMBER
STATISTIC# NUMBER
VALUE NUMBER
SQL>
select sid from v$mystat where rownum=1;
----------
这种方法只能在oracle 10g以后可以使用。
SQL>
select userenv('sid') from dual;
USERENV('SID')
--------------
userenv('sessionid') 返回的是session audit id.其对应v$session 的audsid字段。
这在之前的blog中有说明。
OracleSYS.AUDSES$ 序列 说明
http://blog.csdn.net/tianlesoftware/article/details/7239890
在session 连接到数据库的时候,会从SYS.AUDSES$序列中获取一个audid 分配给session。
SQL>
select sid from v$session where audsid=userenv('sessionid');
----------
--这里返回了3个值,我们直接查看userenv('sessionid') 值:
SQL> select userenv('sessionid') from dual;
USERENV('SESSIONID')
--------------------
4294967295
在之前的AUDSES$的blog中提到:
对于internal用户(’/as sysoper’ 和 ‘/as sysdba’)和后台进程,其对应的AUDID 为0.
在Oracle 10g中,如果AUDID的值为0,表明是internal 用户,如果AUDID 值是4294967295,那么就表明是用SYS 用户直接连接的。
我们这里返回三个结果是把所有SYS 用户的session都返回了,所以这种方法有时的准确性并不高。
查看当前会话的session ID 有如下三种方法: 1. v$mystat视图 SQL> desc v$mystat Name Null? Type ------------------------------------------------- ----------
在PL/SQL中操作
数
据表时,长时间没反应,并且编辑某个表中
数
据时,出现“record is locked by another user”等情况,即出现了死锁。
下面,简述解决办法:
step1.PL/SQL
查看
锁:
select t2.username, t2.s
id
, t2.serial#,t2.logon_time
from v$locked_object t1,v$sessio
(1)
查看
哪个表被锁
select b.owner,b.object_name,a.
session
_
id
,a.locked_mode from vKaTeX parse error: Expected 'EOF', got '#' at position 115: …,b.s
id
,b.serial#̲,logon_time fro…locked_object a,v$
session
b where a.
session
_
id
= b.s
id
order by b.logon_time;
(3)杀掉对应进程
spl
id
可以在中间增加分区。
引言:
Oracle
的range,hash,list三大分区可能我们大家在熟悉不过了,但什么每种分区适用于什么场景可能是很多人的疑惑点,那么在选择不同的分区时应该注意什么,
为什么这么选,有哪些需要我们加以注意的地方,让我们一一来探索一下吧:)
11g之前,维护分区需要手工。11g之后使用interval来实现自动扩展分区,简化了维护。
根据年: IN
beeline命令
PL/SQL对分号的支持
inceptor默认对pl/sql语句的分号是不支持的,需要手动打开支持。手动打开后,需要在
数
据块后面加上一个只包含斜杠/的单独行来标识
数
据块结束。详情见: 分号支持详解.
--打开支持分号
!set plsqlUseSlash true
--关闭支持分号
!set plsqlUseSlash false