精华内容
下载资源
问答
  • plsql_session.docx

    2019-07-09 19:02:05
    主要列举了oracle中session中各个列代表意思及作用。以及如何取使用。
  • plsqlsession monitor

    2018-09-17 09:45:45
    能看懂的拿 ---locked obj select object_name,machine,s.sid,s.serial#,s.inst_id from gv$locked_object l,dba_...where l.object_id = o.object_id and l.session_id=s.sid and l.inst_id =s.i...

    能看懂的拿

    ---locked obj

    select object_name,machine,s.sid,s.serial#,s.inst_id
    from gv$locked_object l,dba_objects o ,gv$session s
    where l.object_id = o.object_id and l.session_id=s.sid and l.inst_id =s.inst_id
    order by 5,3

     

    ---waiting time too long

     

    select * from (select sid,event,p1,p2,p3,p1text,WAIT_TIME,SECONDS_IN_WAIT from gv$session_wait where wait_class# <> 6
    order by wait_time desc) where rownum <=10

     

    ---rac session active

     

    select b.SPID,a.SID,a.INST_ID,a.OSUSER,a.MACHINE,a.TERMINAL,a.PROGRAM,a.ACTION,a.*,b.* from gv$session a,gv$process b
    where a.username is not null and a.status = 'ACTIVE' and  a.PADDR=b.ADDR
    order by a.logon_time, a.INST_ID,a.sid

     

    ---event

     

    select action,program,module,event,wait_class,wait_time,
    row_wait_obj#,
    row_wait_file#,
    row_wait_block#,
    sql_address,sql_id,sql_hash_value,gv$session.* from gv$session
    where username is not null and status='ACTIVE'
    order by logon_time, sid

     

    ---oracle9i superlock

     

    SELECT    bs.username "Blocking User", bs.username "DB User",
              ws.username "Waiting User", bs.SID "SID", ws.SID "WSID",
              bs.serial# "Serial#", bs.sql_address "address",
              bs.sql_hash_value "Sql hash", bs.program "Blocking App",
              ws.program "Waiting App", bs.machine "Blocking Machine",
              ws.machine "Waiting Machine", bs.osuser "Blocking OS User",
              ws.osuser "Waiting OS User", bs.serial# "Serial#",
              ws.serial# "WSerial#",
              DECODE (wk.TYPE,
                      'MR', 'Media Recovery',
                      'RT', 'Redo Thread',
                      'UN', 'USER Name',
                      'TX', 'Transaction',
                      'TM', 'DML',
                      'UL', 'PL/SQL USER LOCK',
                      'DX', 'Distributed Xaction',
                      'CF', 'Control FILE',
                      'IS', 'Instance State',
                      'FS', 'FILE SET',
                      'IR', 'Instance Recovery',
                      'ST', 'Disk SPACE Transaction',
                      'TS', 'Temp Segment',
                      'IV', 'Library Cache Invalidation',
                      'LS', 'LOG START OR Switch',
                      'RW', 'ROW Wait',
                      'SQ', 'Sequence Number',
                      'TE', 'Extend TABLE',
                      'TT', 'Temp TABLE',
                      wk.TYPE
                     ) lock_type,
              DECODE (hk.lmode,
                      0, 'None',
                      1, 'NULL',
                      2, 'ROW-S (SS)',
                      3, 'ROW-X (SX)',
                      4, 'SHARE',
                      5, 'S/ROW-X (SSX)',
                      6, 'EXCLUSIVE',
                      TO_CHAR (hk.lmode)
                     ) mode_held,
              DECODE (wk.request,
                      0, 'None',
                      1, 'NULL',
                      2, 'ROW-S (SS)',
                      3, 'ROW-X (SX)',
                      4, 'SHARE',
                      5, 'S/ROW-X (SSX)',
                      6, 'EXCLUSIVE',
                      TO_CHAR (wk.request)
                     ) mode_requested,
              TO_CHAR (hk.id1) lock_id1, TO_CHAR (hk.id2) lock_id2,
              DECODE
                 (hk.BLOCK,
                  0, 'NOT Blocking',          /**//* Not blocking any other processes */
                  1, 'Blocking',              /**//* This lock blocks other processes */
                  2, 'Global',           /**//* This lock is global, so we can't tell */
                  TO_CHAR (hk.BLOCK)
                 ) blocking_others
         FROM v$lock hk, v$session bs, v$lock wk, v$session ws
        WHERE hk.BLOCK = 1
          AND hk.lmode != 0
          AND hk.lmode != 1
          AND wk.request != 0
          AND wk.TYPE(+) = hk.TYPE
          AND wk.id1(+) = hk.id1
          AND wk.id2(+) = hk.id2
          AND hk.SID = bs.SID(+)
          AND wk.SID = ws.SID(+)
          AND (bs.username IS NOT NULL)
          AND (bs.username <> 'SYSTEM')
          AND (bs.username <> 'SYS')
    ORDER BY 1

     

     

    ----superlock

    select 'alter system kill session ''' || a.SID || ',' || a.SERIAL# || ''';',
           a.sid,
           a.inst_id,
           a.final_blocking_session,
           a.final_blocking_instance,
           action,
           program,
           module,
           event,
           wait_class,
           wait_time,
           row_wait_obj#,
           (select object_name from dba_objects where object_id = row_wait_obj#) objname,
           row_wait_file#,
                (select file_name from dba_data_files where file_id = row_wait_file#) filename,
           row_wait_block#,
           dbms_rowid.rowid_create(1, (select data_object_id from dba_objects where object_id = row_wait_obj#), ROW_WAIT_FILE#, ROW_WAIT_BLOCK#,
     ROW_WAIT_ROW#) rid,
           sql_address,
           sql_id,
           sql_hash_value,
           a.*
      from gv$session a
     where a.final_blocking_session is not null
        or a.sid || a.inst_id in
           (select final_blocking_session || final_blocking_instance
              from gv$session)
     order by a.logon_time, a.sid

     

    ---sql-locking-session

     

    select 'alter system kill session ''' || a.SID || ',' || a.SERIAL# || ''';',
    (select to_char( wm_concat( b.SPID ))  from  gv$process b  where  a.PADDR = b.ADDR  ) SPID,
           a.sid,
           a.inst_id,
           a.final_blocking_session,
           a.final_blocking_instance,
           action,
           program,
           module,
           event,
           wait_class,
           wait_time,
           row_wait_obj#,
           (select object_name from dba_objects where object_id = row_wait_obj#) objname,
           row_wait_file#,
                (select file_name from dba_data_files where file_id = row_wait_file#) filename,
           row_wait_block#,
           sql_address,
           sql_id,
           sql_hash_value,
           a.*
      from gv$session a
     where a.final_blocking_session is not null
        or a.sid || a.inst_id in
           (select final_blocking_session || final_blocking_instance
              from gv$session)
     order by a.logon_time, a.sid

     

    ---Active sessions

     

    select * from gv$session
    where username is not null and status = 'ACTIVE'
    order by logon_time, sid

     

     

    =================================

     

    展开全文
  • 设置 plsql 用户session

    千次阅读 2016-05-09 16:00:49
     COMPOSITE_LIMIT:一个会话的资源成本限制,CPU_PER_SESSION, CONNECT_TIME, LOGICAL_READS_PER_SESSION, and PRIVATE_SGA   七、分配给一个用户:  CREATE USER 名称。。。。。。  PROFILE 名称 ...
    一、设置初始化参数resource_limit= true
     
    二、创建profile文件,在profile文件里设置idle值。 
     
    SQL>  Create      profile     文件名     limit 
             FAILED_LOGIN_ATTEMPTS:指定锁定用户的登录失败次数 
             PASSWORD_LOCK_TIME:指定用户被锁定天数 
             PASSWORD_LIFE_TIME:指定口令可用天数 
             PASSWORD_REUSE_TIME:指定在多长时间内口令不能重用 
             PASSWORD_REUSE_MAX:指定在重用口令前口令需要改变的次数   
             SESSIONS_PER_USER:限制用户并发会话个数 
             CPU_PER_SESSION:限制会话所占用的CPU时间(百分之一秒) 
             CPU_PER_CALL:限制每次调用所占用的CPU时间(百分之一秒) 
             CONNECT_TIME:限制会话的总计连接时间(分钟)   
             IDLE_TIME:限制会话的空闲时间(分钟));        
             
    二、创建用户,将刚才创建的profile通过 alter  user 付给用户
     
    SQL>  Create      user      用户名 
             IDENTIFIED      BY      口令 
             Default      tablespace     表空间名 
             TEMPORARY      tablespace     临时表空间名 
             Profile     profile文件名 
             Quota     限制空间大小      on      表空间名;







    PROFILE的管理(资源文件)
          当需要设置资源限制时,必须设置数据库系统启动参数RESOURCE_LIMIT,此参数默认值为FALSE
          可以使用如下命令来启动当前资源限制:
          alter system set RESOURCE_LIMIT=true;
          当需要以后启动时也启动限制,必须在init<SID>.ora中设置
          RESOURCE_LIMIT=true

    建立语法:
    CREATE PROFILE profile LIMIT 
    { resource_parameters | password_parameters } 
    [ resource_parameters | password_parameters ]...;

    { { SESSIONS_PER_USER | CPU_PER_SESSION | CPU_PER_CALL | CONNECT_TIME | IDLE_TIME    
         | LOGICAL_READS_PER_SESSION | LOGICAL_READS_PER_CALL | COMPOSITE_LIMIT }
         { integer | UNLIMITED | DEFAULT }
    | PRIVATE_SGA { integer [ K | M ] | UNLIMITED | DEFAULT }
    }

    { { FAILED_LOGIN_ATTEMPTS | PASSWORD_LIFE_TIME | PASSWORD_REUSE_TIME
         | PASSWORD_REUSE_MAX | PASSWORD_LOCK_TIME | PASSWORD_GRACE_TIME }
         { expr | UNLIMITED | DEFAULT }
    | PASSWORD_VERIFY_FUNCTION { function | NULL | DEFAULT }
    }

    CREATE PROFILE new_profile
         LIMIT PASSWORD_REUSE_MAX DEFAULT
               PASSWORD_REUSE_TIME UNLIMITED;

    CREATE PROFILE app_user LIMIT 
          SESSIONS_PER_USER             UNLIMITED 
          CPU_PER_SESSION               UNLIMITED 
          CPU_PER_CALL                  3000 
          CONNECT_TIME                  45 
          LOGICAL_READS_PER_SESSION     DEFAULT 
          LOGICAL_READS_PER_CALL        1000 
          PRIVATE_SGA                   15K
          COMPOSITE_LIMIT               5000000; 

    CREATE PROFILE app_user2 LIMIT
          FAILED_LOGIN_ATTEMPTS 5
          PASSWORD_LIFE_TIME 60
          PASSWORD_REUSE_TIME 60
          PASSWORD_REUSE_MAX UNLIMITED
          PASSWORD_VERIFY_FUNCTION verify_function
          PASSWORD_LOCK_TIME 1/24
          PASSWORD_GRACE_TIME 10;
              
    一、PROFILE的管理内容:
           1、CPU的时间
           2、I/O的使用
           3、IDLE TIME(空闲时间)
           4、CONNECT TIME(连接时间)
           5、并发会话数量
           6、口令机制:

    二、DEFAULT PROFILE:
           1、所有的用户创建时都会被指定这个PROFILE
           2、DEFAULT PROFILE的内容为空,无限制

    三、PROFILE的划分:
           If a user attempts to perform an operation that exceeds the limit for other session resources, 
    Oracle aborts the operation, rolls back the current statement, and immediately returns an error. 
    The user can then commit or roll back the current transaction, and must then end the session. 
           that exceeds the limit(超过限制) for other session resources(范围之外的其他资源) 
           被理解为:连接控制资源范围之外的其他资源。
        
           当一个用户试图操作超过限制的资源时,Oracle终止当前操作,取消正在执行的处理,并且返回一个错误,
    用户可以提交或回滚当前事物,之后必须断开会话。

           如果一个用户试图操作一个超出他限制的资源,Oracle将放弃这个操作,取消正在执行的处理,并立即返
    回一个错误。这个用户然后提交或回滚当前的处理,之后必须终止这个会话。

           如果是调用限制时,Oracle终止当前操作,取消正在执行的处理,并且返回一个错误,回滚整个事务。

           1、CALL级LIMITE:
              对象是语句:
              当该语句资源使用溢出时:
              A、该语句终止
              B、事物回退
              C、SESSION连接保持

           2、SESSION级LIMITE:
              对象是:整个会话过程
              溢出时:连接终止

    四、如何管理一个PROFILE
           1、CREATE PROFILE
           2、分配给一个用户
           3、象开关一样打开限制。

    五、如何创建一个PROFILE:
           1、命令:
              CREATE PROFILE 名称 
              LIMIT 
              SESSION_PER_USER 2
              CPU_PER_SESSION 1000
              IDLE_TIME 60     用户在数据库终止前,可以让连接空闲多长时间(分钟)
              CONNECT_TIME 480
           
    六、限制参数:
           0、UNLIMITED 取消资源限制
              DEFAULT      缺剩资源限制,即使用default资源限制

           1、CONNECT_TIME        :一个连接会话的最长连接时间(分钟)
                                 当用户会话时间超过CONNECT_TIME指定的时间,Oracle将回滚当前事务,并且结束他的会话
              IDLE_TIME           :一个连接会话的最长连接时间
                                 当用户空闲时间超过IDLE_TIME指定的时间,Oracle将回滚当前事务,并且结束他的会话

           2、SESSIONS_PER_USER:一个用户允许同时(并发)会话的总数,超过后系统禁止该用户的后续会话,并返回错误:
                                 ORA-02391 exceeded simultaneous SESSIONS_PER_USER limit


           3、SESSION级LIMITE:
              CPU_PER_SESSION:定义了一个SESSION占用的CPU的时间(1/100 秒),当达到这个限制用户不能在此会话中执行任何操作,
                               此时必须先断开连接,再连接才行。
              CPU_PER_CALL      :限制每次调用SQL语句期间(parse、execute、fetch)可用的CPU时间总量,单位是百分之一秒。达到限制时
                               语句以报错结束。不同于CPU_PER_SESSION的是,没达到CPU_PER_SESSION限制,还可以进行新的查询。
        
           4、LOGICAL_READS_PER_SESSION: 一个会话允许读写的逻辑块的数量限制
        
           5、CALL级LIMITE
              CPU_PER_CALL:每个语句占用的CPU时间
              LOGICAL_READS_PER_CALL:一次调用的SQL期间,允许读数据库块数限制
           6、PRIVATE_SGA:一个会话允许分配的最大SGA大小,使用K/M定义
              COMPOSITE_LIMIT:一个会话的资源成本限制,CPU_PER_SESSION, CONNECT_TIME, LOGICAL_READS_PER_SESSION, and PRIVATE_SGA
           
    七、分配给一个用户:
           CREATE USER 名称。。。。。。
           PROFILE 名称
           ALTER USER 名称 PROFILE 名称

    八、打开资源限制:
           1、RESOURCE_LIMT:资源文件中含有
           2、ALTER SYSTEM SET RESOURCE_LIMIT=TRUE;
           3、默认不打开

    九、修改PROFIE的内容:
           1、ALTER PROFILE 名称参数      新值
           2、对于当前连接修改不生效。

           DROP一个PROFILE
           1、DROP PROFILE 名称
              删除一个新的尚未分配给用户的PROFILE,
           2、DROP PROFILE 名称 CASCADE
           3、注意事项
              A、一旦PROFILE被删除,用户被自动加载DEFAULT PROFILE
              B、对于当前连接无影响
              C、DEFAULT PROFILE不可以被删除

    十、信息获取:
           1、DBA_USERS:
              用户名,PROFILE 
           2、DBA_PROFILES:
              PROFILE及各种限制参数的值
              每个用户的限制:PROFILE(关键字段)

    十一、PROFILE的口令机制限制
           1、限制内容
              A、限制连续多少次登录失败,用户被加锁
              B、限制口令的生命周期
              C、限制口令的使用间隔
           2、限制生效的前提:
              A、RESOURCE_LIMIT:=TRUE
              B、ORACLE\RDBMS\ADMIN\UTLPWDMG.SQL
           3、如何创建口令机制:
              CREATE PROFILE 名称
              SESSIONS_PER_USER 
              .....
              password_life_time 30
              failed_log_attempts 3
              password_reuse_time 3
           4、参数的含义:
              A、FAILED_LOGIN_ATTEMPTS      :当连续登陆失败次数达到该参数指定值时,用户被加锁;
                                           经过DBA解锁(或PASSWORD_LOCK_TIME天)后可继续使用
              B、PASSWORD_LIFE_TIME         :口令的有效期(天),默认为UNLIMITED
              C、PASSWORD_LOCK_TIME         :帐户因FAILED_LOGIN_ATTEMPTS锁定时,加锁天数
              D、PASSWORD_GRACE_TIME        :口令修改的宽限期(天)
              E、PASSWORD_REUSE_TIME        :口令被修改后原有口令隔多少天被重新使用,默认为UNLIMITED
              F、PASSWORD_REUSE_MAX         :口令被修改后原有口令被修改多少次才允许被重新使用。
              G、PASSWORD_VERIFY_FUNCTION:口令效验函数

    十二、错误信息及解决方法
    ORA-02390 exceeded COMPOSITE_LIMIT, you are being logged off
    Cause: The COMPOSITE_LIMIT for the profile is exceeded. That is, the weighted sum of the connection time, logical reads per session, CPU usage per session, and private SGA space used during the session exceeded the limit set by the COMPOSITE_LIMIT clause set in the user profile.
    Action: If this happens often, ask the database administrator to raise the COMPOSITE_LIMIT of the user profile, or determine which resource is used the most and raise the limit on that resource.

    ORA-02391 exceeded simultaneous SESSIONS_PER_USER limit
    Cause: An attempt was made to exceed the maximum number of concurrent sessions allowed by the SESSIONS_PER_USER clause of the user profile.
    Action: End one or more concurrent sessions or ask the database administrator to increase the SESSIONS_PER_USER limit of the user profile. For more information about SESSIONS_PER_USER and the database administrator's specific tasks of adjusting concurrent sessions, see the Oracle9i SQL Reference and the Oracle9i Database Administrator's Guide.

    ORA-02392 exceeded session limit on CPU usage, you are being logged off
    Cause: An attempt was made to exceed the maximum CPU usage allowed by the CPU_PER_SESSION clause of the user profile.
    Action: If this happens often, ask the database administrator to increase the CPU_PER_SESSION limit of the user profile.

    ORA-02393 exceeded call limit on CPU usage
    Cause: An attempt was made to exceed the maximum CPU time for a call, a parse, execute, or fetch, allowed by the CPU_PER_CALL clause of the user profile.
    Action: If this happens often, ask the database administrator to increase the CPU_PER_CALL limit of the user profile.

    ORA-02394 exceeded session limit on IO usage, you are being logged off
    Cause: An attempt was made to exceed the maximum I/O allowed by the LOGICAL_READS_PER_SESSION clause of the user profile.
    Action: If this happens often, ask the database administrator to increase the LOGICAL_READS_PER_SESSION limit of the user profile.

    ORA-02395 exceeded call limit on IO usage
    Cause: An attempt was made to exceed the maximum I/O for a call, a parse, execute, or fetch, allowed by the LOGICAL_READS_PER_CALL clause of the user profile.
    Action: If this happens often, ask the database administrator to increase the LOGICAL_READS_PER_CALL limit of the user profile.

    ORA-02396 exceeded maximum idle time, please connect again
    Cause: A user has exceeded the maximum time allowed to remain idle.
    Action: The user must reconnect to the database.

    ORA-02397 exceeded PRIVATE_SGA limit, you are being logged off
    Cause: This error occurs only when using a multi-threaded server.
    Action: Contact the database administrator to expand the PRIVATE_SGA limit.

    http://www.cnblogs.com/rootq/archive/2008/10/29/1321911.html
    展开全文
  • plsql session

    2012-04-05 16:11:54
    V$SESSION是基础信息视图,用于找寻用户SID或SADDR。不过,它也有一些列会动态的变化,可用于检查用户。如例: SQL_HASH_VALUE,SQL_ADDRESS:这两列用于鉴别默认被session执行的SQL语句。如果为null或0,那就说明...
    V$SESSION是基础信息视图,用于找寻用户SID或SADDR。不过,它也有一些列会动态的变化,可用于检查用户。如例:
    
    SQL_HASH_VALUE,SQL_ADDRESS:这两列用于鉴别默认被session执行的SQL语句。如果为null或0,那就说明这个session没有执行任何SQL语句。 PREV_HASH_VALUE和PREV_ADDRESS两列用来鉴别被session执行的上一条语句。

    注意:当使用SQL*Plus进行选择时,确认你重定义的列宽不小于11以便看到完整的数值。

    STATUS:这列用来判断session状态是:
    Achtive:正执行SQL语句(waiting for/using a resource)
    Inactive:等待操作(即等待需要执行的SQL语句)
    Killed:被标注为删除

    下列各列提供session的信息,可被用于当一个或多个combination未知时找到session。

    Session信息
    SID:SESSION标识,常用于连接其它列
    SERIAL#:如果某个SID又被其它的session使用的话则此数值自增加(当一个 SESSION结束,另一个SESSION开始并使用了同一个SID)。
    AUDSID:审查session ID唯一性,确认它通常也用于当寻找并行查询模式
    USERNAME:当前session在oracle中的用户名。

    Client信息
    数据库session被一个运行在数据库服务器上或从中间服务器甚至桌面通过SQL*Net连接到数据库的客户端进程启动,下列各列提供这个客户端的信息
    OSUSER:客户端操作系统用户名
    MACHINE:客户端执行的机器
    TERMINAL:客户端运行的终端
    PROCESS:客户端进程的ID
    PROGRAM:客户端执行的客户端程序
    要显示用户所连接PC的 TERMINAL、OSUSER,需在该PC的ORACLE.INI或Windows中设置关键字TERMINAL,USERNAME。

    Application信息
    调用DBMS_APPLICATION_INFO包以设置一些信息区分用户。这将显示下列各列。
    CLIENT_INFO:DBMS_APPLICATION_INFO中设置
    ACTION:DBMS_APPLICATION_INFO中设置
    MODULE:DBMS_APPLICATION_INFO中设置
    下列V$SESSION列同样可能会被用到:
    ROW_WAIT_OBJ#
    ROW_WAIT_FILE#
    ROW_WAIT_BLOCK#
    ROW_WAIT_ROW#

    V$SESSION中的连接列

    Column View Joined Column(s)
    SID V$SESSION_WAIT,,V$SESSTAT,,V$LOCK,V$SESSION_EVENT,V$OPEN_CURSOR SID
    (SQL_HASH_VALUE, SQL_ADDRESS) V$SQLTEXT, V$SQLAREA, V$SQL (HASH_VALUE, ADDRESS)
    (PREV_HASH_VALUE, PREV_SQL_ADDRESS) V$SQLTEXT, V$SQLAREA, V$SQL (HASH_VALUE, ADDRESS)
    TADDR V$TRANSACTION ADDR
    PADDR V$PROCESS ADDR


    示例:
    1.查找你的session信息
    SELECT SID, OSUSER, USERNAME, MACHINE, PROCESS
    FROM V$SESSION WHERE audsid = userenv('SESSIONID');

    2.当machine已知的情况下查找session
    SELECT SID, OSUSER, USERNAME, MACHINE, TERMINAL
    FROM V$SESSION
    WHERE terminal = 'pts/tl' AND machine = 'rgmdbs1';

    查找当前被某个指定session正在运行的sql语句。假设sessionID为100
    select b.sql_text
    from v$session a,v$sqlarea b
    where a.sql_hash_value=b.hash_value and a.sid=100
    寻找被指定session执行的SQL语句是一个公共需求,如果session是瓶颈的主要原因,那根据其当前在执行的语句可以查看session在做些什么。
    展开全文
  • plsql上关闭session会话

    2021-01-13 08:35:50
    可以使用sql语句进行查询,但使用PL/SQL查看或杀掉oracle的session更为方便。  1、打开PL/SQL Developer,输入用户名密码和数据库等信息。  2、在工具栏中选择Tools,在弹出的窗口选择sessions即可。      如图...

    Oracle多用户操作有时候会造成session阻塞,形成了锁表等问题。可以使用sql语句进行查询,但使用PL/SQL查看或杀掉oracle的session更为方便。
      1、打开PL/SQL Developer,输入用户名密码和数据库等信息。
      2、在工具栏中选择Tools,在弹出的窗口选择sessions即可。
      在这里插入图片描述
      在这里插入图片描述
      如图所示,所有的session和sid都列了出来,我们需要找status为active(活动)的点击一下即可。
    选择其中一个session后在下方可以查看此session的更多信息。
      在SQL Text一栏中可以查看正在执行的sql语句。
      在Locks一栏中,可以查看现在锁表等信息。
      若要杀掉其中一个session,那么,对这个session一行点击右键,选择“kill”即可。

    展开全文
  • 增强plsql developer的session monitor工具

    千次阅读 2009-08-11 15:32:00
    增强plsql developer的session工具... 1一, 过滤器... 11.1 all session. 21.2 user sessions. 21.3 active sessions. 31.4 所有session 的当前等待... 3二, 详细资料... 42.1 游标... 42.2 sql文本... 52.3 统计表....
  • Oracle中,要实现session间的通信,并不能像C++或java一样直接实现。而要通过dbms_pipe或dbms_alert包实现。dbms_pipe的概念类似于unix下的管道,可以异步输出中间结果。dbms_pipe...
  • plsql 查看锁表

    2021-09-16 09:54:14
    --锁表查询的代码有以下的形式: select count(*) from v$locked_...select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id; ...
  • plsql查看锁表

    2014-03-28 23:36:30
    select b.owner TABLEOWNER, b.object_name TABLENAME, c.OSUSER LOCKBY, c.USERNAME LOGINID, c.sid SID, c.SERIAL# SERIALfrom v$locked_object a,dba_objects b, v$session c where b.object_id = a.object_i...
  • DBMS_SESSION 这个包提供了从PL/SQL访问SQL ALTER SESSION和SET ROLE语句,以及其他会话信息。可以使用DBMS_SESSION设置首选项和安全级别。 本章包括以下主题: 安全模型 操作记录 DBMS_SESSION用法 数据...
  • http://bbs.csdn.net/topics/350152441 http://www.linuxidc.com/Linux/2015-09/123286.htm
  • --工作中的点滴积累 SELECT l.session_id sid, s.serial#, l.locked_mode 锁模式, l.oracle_username 登录用户, l.os_user_name 登录机器用户名, s.machine 机器名,
  • 1、查找process SELECT t.os_process_id FROM fnd_concurrent_requests t ...2、在plsql developer上点开“tool”>“sessions…” 修改sql筛选出对应的session 3、查看下面对应sql脚本、锁情况等信息 ...
  • SQL> r 1 declare 2 v_sid v$session.sid%type; #定义如下两个type类型,用于接收cursor 3 v_serial# v$session.serial#%type;...
  • plsql,test调试存储过程120分钟, session被自动kill掉,查询 active session已不存在, test窗口仍然显示正常
  • ![图片说明]...只要一点击左边的小箭头就报错,而且无法查看里面的内容,但是打开一个sql窗口却可以查询数据,并不是真的连接不上数据库,还请各位大神帮忙
  • oracle plsql

    2014-08-06 09:07:04
    PLSQL 概念: oracle公司在SQL基础上进行扩展的一种过程语言,具有高级语言的特性,如封装、例外处理机制、信息隐藏、面向对象等,SQL语言可以直接写到PLSQL的‘块’中或者是PLSQL的过程、函数中。PLSQL消除了存取...
  • 当oracle中一个数据库有两个实例时,使用pl/sql工具中的session工具,有时看不到自己正在执行的语句。因为,pl/sql工具中的session工具无法判断,需要查询的是哪个实例下的session 打开session工具,...
  • 报‘ORA-01045: user lacks CREATE SESSION privilege; logon denied’,原来是创建User时没有给赋上create session权限,解决办法:grant create session,resource to 用户名或在pl/sql developer里,创建user时...
  • PLSQL Developer 10.02

    热门讨论 2013-04-11 13:32:25
    Session mode: Multi OCI Library: Use OCI7: False Allow Multiple Connections: True Preference Files D:\PLSQL Developer\Preferences\Default\Default.ini C:\Users\Administrator\AppData\Roaming\...
  • <br />錯誤原文 - sequence NAME.CURRVAL is not yet defined in this session <br />錯誤原因 - 要執行CURRVAL 指令前未執行NEXTVAL 的最後一個序號 <br />處理辦法 使用seq.CURRVAL前執行seq...
  • 求高人详细解析下
  • PLSql使用

    2017-11-16 17:51:00
    PLSQL: 1. 连接数据库 安装oracle客户端,注意oracle客户端的版本号与oracle服务端的版本号互相不支持,会使得plsql连接不上。找不到tnsnames.ora. 因此要注意32和64. 常用的oracle简易版是32位。 打开安装后...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,978
精华内容 4,391
关键字:

plsql查看session