ALTER SYSTEM SET RESOURCE_LIMIT=TRUE;
CREATE PROFILE kyc_pro LIMIT IDLE_TIME 2;
alter user kyc_acc profile kyc_pro;
select * from dba_users where profile='KYC_PRO';
show parameter resource;
select * from dba_profiles where profile like 'K%';

[oracle@cu-dbs-152 admin]$ cat sqlnet.ora
SQLNET.EXPIRE_TIME = 3

==================================
一个session可以反应很多东西

同一个连接,如果打开非共享sql工作表,在会话表中就会出现一条。如果连接断开,并很快连接上,会重用sid,但serial#会增加,不会减少
SADDR, SID, SERIAL#
000000069E7C75F8 1886 231
0000000682B2FDC8 2828 191
0000000686EEB1E8 4243 189

select * from v$session
where schemaname like 'KYC%';
where osuser='ag1';
where paddr='0000000BC94696B8';

根据session的paddr就是process的addr,查找pid
select * from v$process
where addr='0000000685BC4730';

根据session的obj#就是dba_objects的object_id,查找是哪一张表(对象)
select * from dba_objects
where object_id='74120';

根据session的
select * from dba_extents
where block_id='382042';

select * from dba_extents
where file_id=5 and segment_name like '%TRA%';

根据session的port就是系统的端口号,查询进程的端口号

根据session的row_wait_file#查询是哪个数据文件
select * from v$datafile where file#=5;

process的spid就是系统的pid
ps -ef|grep spid
lsof -i -P -n | grep "20721 oracle"

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

查看当前会话的session  ID 有如下三种方法:
desc v$mystat
select * from v$mystat where rownum=1;

select userenv('sid') from dual;

userenv('sessionid') 返回的是session audit id.其对应v$session 的audsid字段。
在session 连接到数据库的时候,会从SYS.AUDSES$序列中获取一个audid 分配给session。
select sid from v$session where audsid=userenv('sessionid'); 
这里返回了3个值,我们直接查看userenv('sessionid')  值:
select userenv('sessionid') from dual;
对于internal用户(’/as sysoper’ 和 ‘/as sysdba’)和后台进程,其对应的AUDID 为0.   
在Oracle 10g中,如果AUDID的值为0,表明是internal 用户,如果AUDID 值是4294967295,那么就表明是用SYS 用户直接连接的。 
我们这里返回三个结果是把所有SYS 用户的session都返回了,所以这种方法有时的准确性并不高。

sid与serial#的关系

sid 会重用,但是同一个SID被重用时,serial#会增加,不会重复。
比如说你在10:00时发现有一个SID 为10 ,serial#为100的session 不正常,想杀掉他,要是直接用kill sid 10 ,而同时这个session 主动退出,新session近来 而又正好用了 10这个SID (这时新session的serial#不会=100,只会比100高),就会发生误杀的情况。所以Oracle要求我们在杀session时,必须同时指定sid和serial#.
从另外一个角度上说,sid 在同一个instance的当前session中是一个unique key, 而sid ,serial#则是在整个instance生命期内的所有session中是unique key。(不考虑serial#超过最大值,重用的情况)

例如之前我需要执行alter system kill session '147, 33306';
执行之后,我还在同一个PL/SQL DEV的SQL WINDOW中重新做一个查询,就会又产生一个SID=147的SESSION,但是此时的SERIAL#变为33308了。

################################

sessions=(1.1*process+5)
show parameter processes
show parameter sessions

alter system set processes=1000 scope=spfile;
shutdown immediate;
startup;

查询数据库当前进程的连接数:
select count(*) from v$process;
查看数据库当前会话的连接数:
select count(*) from v$session;
查看数据库的并发连接数:
select count(*) from v$session where status='ACTIVE';
查看当前数据库建立的会话情况:
select sid,serial#,username,program,machine,status from v$session;
查询数据库允许的最大连接数:
select value from v$parameter where name = 'processes';

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

以上这个RMAN报错例子就是由于防火墙设置timeout原因,当client和server在timeout时间内没有数据传输的时候,会话就会被防火墙断开。而设置SQLNET.EXPIRE_TIME参数,使其小于防火墙的timeout时间,就可以避免这一情况的发生。

oracle连接-会话-进程的更多相关文章

  1. oracle锁表查询,资源占用,连接会话,低效SQL等性能检查

    查询oracle用户名,机器名,锁表对象 select l.session_id sid, s.serial#, l.locked_mode, l.oracle_username, l.os_user ...

  2. Oracle体系结构之进程

    Oracle体系结构之进程 一.概述 Oracle中的每个进程都要执行一个特定的任务(或者一组任务),每个进程都会为自己分配内存(PGA)来完成它的任务.一个Oracle实例主要有以下3类进程: (1 ...

  3. oracle连接的三个配置文件(转)

           Oracle中TNS的完整定义:transparence Network Substrate透明网络底层,监听服务是它重要的一部分,不是全部,不要把TNS当作只是监听器 ORACLE当中 ...

  4. Oracle彻底杀掉进程

    kill session 是DBA经常碰到的事情之一.如果kill 掉了不该kill 的session,则具有破坏性,因此尽可能的避免这样的错误发生.同时也应当注意,如果kill 的session属于 ...

  5. ORACLE 的前后台进程

    关于oracle用户进程,服务进程,后台进程 用户进程(User Process) 是一个需要与Oracle Server交互的程序 运行于客户端 当用户运行某个工具或应用程序(如SQL*Plus)时 ...

  6. Oracle连接odbc数据源

    Oracle连接odbc数据源 说明 oracle连接ODBC数据源有两种方式,hsodbc和dg4odbc,简单说dg4odbc是hsodbc的升级.两种连接方法大致一样,现将连接步骤说明如下: 检 ...

  7. ORACLE连接SQLSERVER

    一.实验(实验成功) 1.实验目标:ORACLE连接SQLSERVER以及查询数据 2.搭建的环境: oracle 9i 9.0.2.0.1 地址:192.168.40.139 sql2000 的数据 ...

  8. Oracle 连接 Visual Studio 的工具

    Oracle 连接 Visual Studio 的工具 ① ② ③

  9. oracle连接和执行流程总结

    参考关于oracle连接及一个事务的完整流程分析的资料,做整理如下 参考资料: http://blog.csdn.net/wyzxg/archive/2010/08/16/5815335.aspx h ...

随机推荐

  1. raw镜像与qcw2镜像互相转换

    qcow2是最小使用,raw是置零使用 . raw格式是原始镜像,会直接当作一个块设备给虚拟机来使用,至于文件里面的空洞,则是由宿主机的文件系统来管理的,linux下的文件系统可以很好的支持空洞的特性 ...

  2. 微信小程序---存储本地缓存数据

    微信小程序之数据缓存 开发中常用setStorageSync来实现本地数据缓存操作 (1)点击缓存案例: <button bindtap="toStorage">存储& ...

  3. Django之路——6 Django的模型层(一)

    ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的 ...

  4. webpack打包后服务端__dirname失效问题

    在webpack.config.js中添加如下配置: target: 'node', node: { __dirname: false, __filename: false, } 详见:https:/ ...

  5. go语言-流程控制--if

    一.基本语法介绍 表达式后一定要带{},表达式不需要带(),在if中支持直接定义一个变量,如a:=2 if 表达式{ 代码执行块 }else if{ 代码执行块 }else{ 代码执行块 } 案例1. ...

  6. python - django (路由)

    # """ # Django路由分配系统简介: Django project目录中的urls.py文件中, 以Python [ ( ) ]的数据类型记录了可以访问到该站点 ...

  7. CQOI2016 不同的最小割 (最小割树模板)(等价流树的Gusfield构造算法)

    题目 最小割树模板 算法详解及证明见: 2016年国家队候选队员论文 <浅谈无向图最小割问题的一些算法及应用--绍兴一中 王文涛> 3.2节 CODE #include <bits/ ...

  8. 2、Hadoop 2.X 概述及生态系统

    Hadoop官网 http://hadoop.apache.org/ Hadoop来源 GFS -> HDFS MapReduce -> MapReduce BigTable -> ...

  9. HTTP文件上传

    看到网上很多链接文件(word.pdf...)可以下载,想制作http下载链接. 其实是将某文件直接放在服务器上搭建的网站上某目录下即可,例如:http://xxx:port/UpgradePack/ ...

  10. 布局 Bootstrap Table的 文本内容 垂直居中

    原文:https://blog.csdn.net/peng_hong_fu/article/details/70662979 样式(注意样式优先级): #div-component-info .tab ...