知识篇 | Oracle之环境上下文信息的预定义函数sys_context介绍

本文详细介绍了Oracle数据库中的SYS_CONTEXT函数,它用于获取环境上下文信息,如会话用户、认证类型、数据库信息等。同时,还展示了如何自定义namespace和parameter来传递值,通过DBMS_SESSION.set_context设置和获取自定义上下文参数。这些功能对于理解和诊断数据库会话状态非常有用。
摘要由CSDN通过智能技术生成

sys_context函数是Oracle提供的一个获取环境上下文信息的预定义函数。
该函数用来返回一个指定namespace下的parameter值;可以在sql和PL/SQL语言中使用。

sys_context实际是一个Oracle存储和传递参数的容器访问函数

Session会话在登入Oracle时,是带有会话信息和其他一些属性信息的。其中,有一些是Oracle预定义的,登录系统的时候自动填入到指定的变量中。另一个函数userenv()保留与之兼容。

SYS_CONTEXT函数的用法如下:SYS_CONTEXT(‘namespace’, ‘parameter’ [, length ])

Oracle已经有内置的命名空间namespace(USERENV)用来返回当前会话的信息,

USEREN命名空间有以下参数:
select
SYS_CONTEXT(‘USERENV’,‘ACTION’) ACTION,
SYS_CONTEXT(‘USERENV’,‘AUDITED_CURSORID’) AUDITED_CURSORID,
SYS_CONTEXT(‘USERENV’,‘AUTHENTICATED_IDENTITY’) AUTHENTICATED_IDENTITY,
SYS_CONTEXT(‘USERENV’,‘AUTHENTICATION_DATA’) AUTHENTICATION_DATA,
SYS_CONTEXT(‘USERENV’,‘AUTHENTICATION_METHOD’) AUTHENTICATION_METHOD,
SYS_CONTEXT(‘USERENV’,‘BG_JOB_ID’) BG_JOB_ID,
SYS_CONTEXT(‘USERENV’,‘CLIENT_IDENTIFIER’) CLIENT_IDENTIFIER,
SYS_CONTEXT(‘USERENV’,‘CLIENT_INFO’) CLIENT_INFO,
SYS_CONTEXT(‘USERENV’,‘CURRENT_BIND’) CURRENT_BIND,
SYS_CONTEXT(‘USERENV’,‘CURRENT_SCHEMA’) CURRENT_SCHEMA,
SYS_CONTEXT(‘USERENV’,‘CURRENT_SCHEMAID’) CURRENT_SCHEMAID,
SYS_CONTEXT(‘USERENV’,‘CURRENT_SQL’) CURRENT_SQL,
SYS_CONTEXT(‘USERENV’,‘CURRENT_SQL_LENGTH’) CURRENT_SQL_LENGTH,
SYS_CONTEXT(‘USERENV’,‘DB_DOMAIN’) DB_DOMAIN,
SYS_CONTEXT(‘USERENV’,‘DB_NAME’) DB_NAME,
SYS_CONTEXT(‘USERENV’,‘DB_UNIQUE_NAME’) DB_UNIQUE_NAME,
SYS_CONTEXT(‘USERENV’,‘ENTRYID’) ENTRYID,
SYS_CONTEXT(‘USERENV’,‘ENTERPRISE_I

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值