oracle查看context,oracle context(上下文)

context在计算机领域翻译为上下文

context的信息也就是当前会话中的环境变量,如:登录的session_id,用户名,语言等信息

查看context中的属性信息。

oracle默认的为我们创建了一个context叫userenv(user environment)

SYS_CONTEXT('USERENV','TERMINAL')

SYS_CONTEXT('USERENV','LANGUAGE')

SYS_CONTEXT('USERENV','SESSIONID')

SYS_CONTEXT('USERENV','INSTANCE')

SYS_CONTEXT('USERENV','ENTRYID')

SYS_CONTEXT('USERENV','ISDBA')

SYS_CONTEXT('USERENV','NLS_TERRITORY')

SYS_CONTEXT('USERENV','NLS_CURRENCY')

SYS_CONTEXT('USERENV','NLS_CALENDAR')

SYS_CONTEXT('USERENV','NLS_DATE_FORMAT')

SYS_CONTEXT('USERENV','NLS_DATE_LANGUAGE')

SYS_CONTEXT('USERENV','NLS_SORT')

SYS_CONTEXT('USERENV','CURRENT_USER')

SYS_CONTEXT('USERENV','CURRENT_USERID')

SYS_CONTEXT('USERENV','SESSION_USER')

SYS_CONTEXT('USERENV','SESSION_USERID')

SYS_CONTEXT('USERENV','PROXY_USER')

SYS_CONTEXT('USERENV','PROXY_USERID')

SYS_CONTEXT('USERENV','DB_DOMAIN')

SYS_CONTEXT('USERENV','DB_NAME')

SYS_CONTEXT('USERENV','HOST')

SYS_CONTEXT('USERENV','OS_USER')

SYS_CONTEXT('USERENV','EXTERNAL_NAME')

SYS_CONTEXT('USERENV','IP_ADDRESS')

SYS_CONTEXT('USERENV','NETWORK_PROTOCOL')

SYS_CONTEXT('USERENV','BG_JOB_ID')

SYS_CONTEXT('USERENV','FG_JOB_ID')

SYS_CONTEXT('USERENV','AUTHENTICATION_TYPE')

SYS_CONTEXT('USERENV','AUTHENTICATION_DATA')

例子:

产看当前session的字符集信息

SQL> select userenv('language') from dual;

USERENV('LANGUAGE')

----------------------------------------------------

AMERICAN_AMERICA.AL32UTF8

创建自定义oracle context

Application Context是内存中的一组name-value对,application context从属于某个命名空间(namespace);

用户只能通过一个自定义封装包或存储过程中调用dbms_session.set_context来设置application context的值;

用户使用sys_context(,)来获取某个application context的值。

语法:

DBMS_SESSION.SET_CONTEXT

( namespaceVARCHAR2, attribute VARCHAR2, value VARCHAR2, username VARCHAR2, client_idVARCHAR2 );

namespacecontext的命名空间--必要参数

attribute属性值--必要参数

value值--必要参数

username用户名(默认为Null)--可选参数

client_id指定的clientid --可选参数

Application context分为三种

dabase session-based application context--local application context

global application context--global application context

client session-based application context--通过OCI管理使用的,存储在客户端内存的context

Local applicationcontext

context存储在UGA中,本地context是session/server process级别的,当会话/serverprocess终止时,context也会结束

Global application context

context存储在SGA中,SGA消失,全局context也就会结束;它常常用于跨会话,应用于与会话无关的场景

例子:

1.创建一个context

SQL> create context context_only using pkg_only;

Context created.

2.建立与上下文先关的包来封装(也就是上面的pkg_name)

SQL> create package pkg_only

2  as

3  procedure put(key varchar2,value varchar2);

4  end;

5  /

Package created.

SQL> create package body pkg_only

2  as

3  procedure put(key varchar2,value varchar2)

4  as

5  begin

6  dbms_session.set_context('context_only',key,value);

7  end;

8  end;

9  /

Package body created.

3.设置存储过程输入输出

SQL> exec pkg_only.put('name','only');

PL/SQL procedure successfully completed.

4.调用context

SQL> select sys_context('context_only','name') from dual;

SYS_CONTEXT('CONTEXT_ONLY','NAME')

--------------------------------------------------------------------------------

only

dbms_session.set_context有两个默认值为NULL的参数:username、client_id

username= null , client_id=null。所有用户都能访问。

username= null, client_id=。只要session 的client_id =,而不管username,都能访问。

username= , client_id=null。只要session使用指定的oracle schema登陆,不管client_id,都能访问。

username= , client_id=. 常用于statless web session ,如http。

username= , client_id= . 该username将用于数据库连接池的owner。

整理自网络

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533014.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle标量子查询的优势,标量子查询

--标量子查询select e.empno, e.ename, e.sal, e.deptno,(select d.dname from dept d where e.deptno d.deptno)as dnamefrom emp e--插入一条数据insert into emp(empno,deptno) values(9999,null)--返回结果15条记录--改成left join(hash outer)select e.empno, e.ename, e…

切割照片php上传,php下ajax的文件切割上传

var myForm document.getElementById("myForm");var upfile document.getElementById("upfile");myForm.onsubmit function() {//获取文件对象var file upfile.files[0];//获取文件大小var fileSize file.size;//一次截取的大小(字节)var CutSize 10…

oracle插补缺失日期,Oracle连接 ORA-28001: 口令已经失效解决方法

cmd进入命令行C:UsersAdministrator>sqlplus / as sysdbaSQL*Plus: Release 11.2.0.1.0 Production on 星期四 9月 24 15:19:21 2020Copyright (c) 1982, 2010, Oracle. All rights reserved.连接到:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Pr…

PHP 蒙太奇马赛克拼图,AndreaMosaic制作一幅马赛克拼图

大家在网上应该都见过用很多幅图片拼成的马赛克图片,今天小编就为大家介绍AndreaMosaic制作一幅马赛克拼图方法,不会的朋友快快来学习吧!软件名称:AndreaMosaic(蒙太奇图片制作软件) V6.1.0.4 中文安装免费版软件大小:…

php mongo 查询count,[PHP] 使用PHP在mongodb中进行count查询

原文:https://www.cnblogs.com/taoshihan/p/12362111.html在php7的mongodb扩展中,当要查询某个集合在某个条件下的数据个数时,可以使用下面的方式来获取。比原生的命令要复杂许多比旧版mongo扩展也复杂许多需要使用到MongoDB\Driver\Command …

oracle字段类型设计,Oracle字段类型设计与实际业务不符引发的问题

在Oracle表的设计过程中,开发人员总是对字段的类型不以为然,下面来演示一个例子,按照应该设计为number的,结果设计成了varcha在Oracle表的设计过程中,开发人员总是对字段的类型不以为然,下面来演示一个例子…

linux下进程监控6,Linux进程监控技术—精通软件性能测试与LoadRunner最佳实战(6)...

8.2.5 Linux操作系统进程监控技术Linux在进程监控方面同样出色,不仅可以通过图形用户界面的管理工具,还可以用命令方式显示进程相关信息。像“Windows的任务管理器”一样,在RedHat 9中可以通过单击“系统工具”→“系统监视器”,…

linux pcie命令,setpci命令_Linux setpci 命令用法详解:查询和配置PCI设备的使用工具...

setpci命令是一个查询和配置PCI设备的使用工具。语法setpci(选项)(参数)选项-v:显示指令执行的细节信息;-f:当没有任何操作需要完成时,不显示任何信息;-D:测试模式,并不真正将配置信息写入寄存器…

linux proc文件 write的原子性,Linux命令之write调用的原子性

linux命令是对Linux系统进行管理的命令。本文介绍的关于linux命令中write调用的原子性的详细描述,具体内容如下所述。UNIX环境高级编程中关于原子操作的介绍,其中有一种情形是在文件尾端添加数据。文中说,如果多个进程都需要将数据添加到某一…

linux 命令行 迅雷替代,Mac/Linux下迅雷替代方案

还记得我两年前写的《DIY了家用NAS》吗?现在又带来新的升级啦。当初的NAS最多能使用Transmission来进行BT下载,那时就在想,如果能下载普通的http资源就好了。再进一步,有什么方案可以通吃所有下载方式呢? 记得那个时候…

linux好用的编译器,推荐几款Linux下比Notepad++好的编辑器软件

Notepad这一段又出风头了,好好的做你软件多好,非得参杂入政治。前两天开源文本编辑器 Notepad 发布了 7.8.1 版本,然后在该版本中作者居然摸黑中国,具体的内容请大家自行百度。而且这已经不是 Notepad 第一次这么干了!…

linux下调用python脚本,Linux下QT调用Python脚本的解决方案,Qt,python,一种,解决办法

最近在做一个深度学习对图片中对象识别效果的检测工具,其主要功能就是将自己标注的图片与识别结果图片进行对比然后计算识别的准确等参数,并提供原图与结果图片的显示功能。脚本主要完成识别与计算功能,QT完成数据的整理显示与图片的显示。我…

linux获取bind返回值信息,v$sql_bind_capture 获取绑定变量信息

截取自v$sql_bind_capture 对于游标中定义的每一个绑定变量都会有视图中的一行对应。主要包含三个部分:指向父游标(hash_value, address)和子游标(hash_value, child_address)的信息,变量类型定义,变量的值(不包含复杂的值:LONG,LOB,和…

linux boost教程,Linux上安装使用Boost入门指导

获得boostboost分布只需要头文件的库使用boost建立一个简单的程序准备使用boost二进制文件库把你的程序链接到boost库1.获得boost解压2.boost分布boost_1_46_1.........................boost根目录boost/.....................................所有boost头文件libs/..........…

vps如何linux内核4.19,Linux kernel 4.19 RC1 发布,一个相当大的版本

原标题:Linux kernel 4.19 RC1 发布,一个相当大的版本Linus Torvalds今天发布了第一个候选版本(RC),正式启动了即将推出的Linux 4.19内核系列的开发周期。自Linux 4.18内核系列推出以来已经过去两周了,因此下一个主要版本Linux ke…

linux下变量名长度,Linux中shell的变量介绍

Linux中shell的变量介绍发布时间:2020-06-24 16:20:39来源:亿速云阅读:112作者:元一这期内容当中的小编将会给大家带来有关Linux中shell的变量介绍,以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可…

0 0/2 * * * ? linux文本含义,Linux基础2.0

1、硬盘使用的步骤识别硬盘 > 分区规划 > 格式化 > 挂载使用2、列出创建ext3、ext4、xfs、fat32文件系统的格式化工具及用法mkfs.ext3 分区设备路径mkfs.ext4 分区设备路径mkfs.xfs 分区设备路径mkfs.vfat -F 32 分区设备路径3、开机自动挂载配置文件及6个字段/etc/fs…

linux如何加载镜像,linux可以加载iso镜像文件到启动项吗

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼楼主的需求描述不清,不作评述。只说下关于楼上一些吧友提到的grub loopback设备可mount iso并读取其中文件的功能未读过grub1/2的源码,不太了解其实现原理,但从应用上来说,这个设备不…

10个linux awk文本处理经典案例,关于AWK的10个经典案例

1、分析访问日志(Nginx为例)日志格式: $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" 统计访问IP次数: # awk…

arm linux 存储,linux arm的存储分布那些事

原标题:linux arm的存储分布那些事linux arm 内存分布总览上图是linux的arm的虚拟地址分布总览,我们按从低地址到高地址的顺序逐个描述,每项的描述包括如下的内容的组和:地址范围大小,虚拟转物理的接口函数&#xff0c…