会话查询
数据库管理员(SYSDBA)具备数据库连接会话查询和管理的能力,通过系统表能够查看到当前所有的会话信息,管理员可以分析会话的状态来管理会话。数据库会话包含会话属性(会话变量)和全局变量。
- 会话变量:当客户端连接到数据库后,数据库会复制全局变量以自动生成会话变量。会话变量的修改只对当前会话生效。
- 全局变量:数据库实例共享全局变量。这意味着不同用户共享这些全局变量,且数据库会保存对全局变量做出的更改,断开连接并再次进入数据库时,更改依旧有效。
数据库会话的连接信息查询(系统表):
会话系统表 | 作用 |
---|---|
DBA_SESSIONS | 查看连接会话所在节点的所有数据库连接会话 |
SYS_ALL_SESSIONS | 查看数据库系统内所有数据库连接会话 |
SYS_ALL_THD_SESSION | 用于管理数据库当前任务线程信息 |
SYS_ALL_THD_STATUS | 用于管理数据库当前节点线程状态信息 |
数据库会话的会话变量查询可通过SHOW
命令进行查看,具体的会话变量及查看命令参照《SQL语法参考》的会话变量章节。
数据库会话的全局变量可通过SHOW sys_vars;
命令进行查看。
执行命令
查看数据库会话全局变量。
sql
SQL> SHOW sys_vars;
VAR_NAME | IS_GLOBAL | ACCESS | DESCRI |
------------------------------------------------------------------------------
listen_port| T | R/W| 侦听端口|
nio_timeout| T | R/W| 网络读写超时(单位:秒)|
login_timeout| T | R/W| 登录超时时间(单位:秒)|
use_std_nio| T | R/W| 是否使用标准网络监听器(若为假,则使用依赖于操作系统的效率更高的网络侦听器)|
max_idle_time| T | R/W| 最大闲置时间(单位:秒,在此时间内若无请求,则断开连接)|
min_pass_len| T | R/W| 口令的最短长度|
pass_mode| T | R/W| 口令模式 1:任意字符或数字 2:必须含字母和数字 3:必须含字母和数字和特殊符号|
def_timezone| T | R/W| 默认客户端时区|
def_timefmt| T | R/W| 默认客户端时间格式|
def_charset| T | R/W| 默认客户端字符集|
send_warning| T | R/W| 是否发送警告信息|
conn_fail_cnt| T | R/W| 禁止登陆的失败次数|
max_act_conn_num| T | R/W| 最大活动事务连接数|
max_conn_num| T | R/W| 系统最大连接数|
session_per_user| T | R/W| 用户默认可用连接数|
......
参数说明
- VAR_NAME:全局变量名称。
- IS_GLOBAL:是否数据库全局变量,T:是,F:否。
- ACCESS:是否允许修改,R:只读,R/W:读写。
- DESCRI:全局变量描述。