关于进程与会话的实验

SQL> create user zxd identified by zxd;

User created.

SQL> grant connect,resource to zxd;

Grant succeeded.

SQL> select A.spid dedicated_server,B.process clientpid from v$process A,v$session B where A.addr=B.paddr and B.sid=(select sid from v$mystat where rownum=1);

DEDICATED_SE CLIENTPID
------------ ------------
25659        25658


SQL> set linesize 180
SQL> select username,sid,serial#,server,paddr,status from v$session where username='SYS';

USERNAME                              SID    SERIAL# SERVER    PADDR            STATUS
------------------------------ ---------- ---------- --------- ---------------- --------
SYS                                   159         43 DEDICATED 0000000070E62980 ACTIVE

SQL> set autot on
SQL> @$ORACLE_HOME/rdbms/admin/utlxplan.sql

Table created.

SQL> create public synonym plan_table for plan_table;
create public synonym plan_table for plan_table
                      *
ERROR at line 1:
ORA-00955: name is already used by an existing object


SQL> grant all on plan_table to public;

Grant succeeded.

SQL> @$ORACLE_HOME/sqlplus/admin/plustrce.sql
SQL>
SQL> drop role plustrace;
drop role plustrace
          *
ERROR at line 1:
ORA-01919: role 'PLUSTRACE' does not exist


SQL> create role plustrace;

Role created.

SQL>
SQL> grant select on v_$sesstat to plustrace;

Grant succeeded.

SQL> grant select on v_$statname to plustrace;

Grant succeeded.

SQL> grant select on v_$mystat to plustrace;

Grant succeeded.

SQL> grant plustrace to dba with admin option;

Grant succeeded.

SQL>
SQL> set echo off
SQL> grant plustrace to public;

Grant succeeded

SQL> select username,sid,serial#,server,paddr,status from v$session where username='SYS';

USERNAME                              SID    SERIAL# SERVER    PADDR            STATUS
------------------------------ ---------- ---------- --------- ---------------- --------
SYS                                   146        541 DEDICATED 0000000070E62980 INACTIVE
SYS                                   159        102 DEDICATED 0000000070E62980 ACTIVE                                 这里有2,因为一个进程是AUTOTRACE的撒


Execution Plan
----------------------------------------------------------
Plan hash value: 3733760267

--------------------------------------------------------------------------------------------
| Id  | Operation                | Name            | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT         |                 |     1 |   140 |     0   (0)| 00:00:01 |
|   1 |  NESTED LOOPS            |                 |     1 |   140 |     0   (0)| 00:00:01 |
|*  2 |   FIXED TABLE FULL       | X$KSUSE         |     1 |   127 |     0   (0)| 00:00:01 |
|*  3 |   FIXED TABLE FIXED INDEX| X$KSLED (ind:2) |     1 |    13 |     0   (0)| 00:00:01 |
--------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   2 - filter("S"."KSUUDLNA"='SYS' AND "S"."INST_ID"=USERENV('INSTANCE') AND
              BITAND("S"."KSSPAFLG",1)<>0 AND BITAND("S"."KSUSEFLG",1)<>0)
   3 - filter("S"."KSUSEOPC"="E"."INDX")


Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
          0  consistent gets
          0  physical reads
          0  redo size
        936  bytes sent via SQL*Net to client
        492  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          2  rows processed

下面来个KILLSESSION的实验

重新打开一个会话:

SQL> set sqlp 'SEESION B> '
SEESION B> conn zxd/zxd
Connected.

在原来那个会话中执行:

SQL> set autot off
SQL> set sqlp 'SESSION A> '
SESSION A> select saddr,sid,serial#,paddr,user#,username,process,server,status from v$session where username ='ZXD';

SADDR                   SID    SERIAL# PADDR                 USER# USERNAME                       PROCESS      SERVER    STATUS
---------------- ---------- ---------- ---------------- ---------- ------------------------------ ------------ --------- --------
0000000070F73E98        148       1535 0000000070E64138         58 ZXD                            26304        DEDICATED INACTIVE

SEESION B> set autot on

SESSION A> select saddr,sid,serial#,paddr,user#,username,process,server,status from v$session where username ='ZXD';

SADDR                   SID    SERIAL# PADDR                 USER# USERNAME                       PROCESS      SERVER    STATUS
---------------- ---------- ---------- ---------------- ---------- ------------------------------ ------------ --------- --------
0000000070F65320        137         83 0000000070E64138         58 ZXD                            26304        DEDICATED INACTIVE
0000000070F73E98        148       1537 0000000070E64138         58 ZXD                            26304        DEDICATED INACTIVE

KILL掉那个新的进程

SESSION A> alter system kill session '137,83';

System altered.

SEESION B> select * from dual;
Error ORA-22 while gathering statistics
SP2-0612: Error generating AUTOTRACE report

D
-
X

SP2-0612: Error generating AUTOTRACE report           报错了撒,因为这个进程已经被KILL掉了的嘛

Execution Plan
----------------------------------------------------------
Plan hash value: 272002086

--------------------------------------------------------------------------
| Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |      |     1 |     2 |     2   (0)| 00:00:01 |
|   1 |  TABLE ACCESS FULL| DUAL |     1 |     2 |     2   (0)| 00:00:01 |
--------------------------------------------------------------------------

SP2-0612: Error generating AUTOTRACE STATISTICS report

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21158541/viewspace-667355/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21158541/viewspace-667355/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值