oracle的一些tips技巧_Oracle应用_脚本之家

oracle的一些tips技巧

最近群里好多人讨论oracle安全问题,今天找了些资料学习了下

获取Oracle当前会话的一些属性 (对于sql注射的环境判断很有用哦)

SYS_CONTEXT 函数返回是与上下文名称空间相关的属性值。这个函数可以用在SQL和PL/SQL语句中。
注意: SYS_CONTEXT 返回的是用户会话期间的属性,所以,你无法使用它在并行的查询或实时应用集群环境。

对于名称空间和变量, 你可以定义它(们)为常量字符串,也可以定义一个变量,来代替名称空间或属性的字符串。名称空间必须是已经在数据库中定义好的, 并且相关的参数和值已经被指定到DBMS_SESSION中。名称空间必须是一个合法的SQL标识符。变量名字可以是任意的字符串。它们不区分大小写, 但是长度不能超出30个字节。

函数返回的数据类型是VARCHAR2,回归值的缺省最大长度是256个字节。你也可以通过设置函数参数length来修改这个缺省长度值。值的合法的长度范围是1到4000字节。(如果你指定的值不在这个范围内, Oracle将使用缺省长度。)

Oracle9i 提供了一个内置的”USERENV”名称空间, 用来表示当前的会话信息。该名称空间预定义的参数如表1, 表的最后一列标识了返回值的长度。

语法:
SYS_CONTEXT(namespace, attribute[, length])

例子:
select SYS_CONTEXT (‘USERENV’, ‘TERMINAL’) TERMINAL,
SYS_CONTEXT (‘USERENV’, ‘LANGUAGE’) LANGUAGE,
SYS_CONTEXT (‘USERENV’, ‘SESSIONID’) SESSIONID,
SYS_CONTEXT (‘USERENV’, ‘INSTANCE’) INSTANCE,
SYS_CONTEXT (‘USERENV’, ‘ENTRYID’) ENTRYID,
SYS_CONTEXT (‘USERENV’, ‘ISDBA’) ISDBA,
SYS_CONTEXT (‘USERENV’, ‘NLS_TERRITORY’) NLS_TERRITORY,
SYS_CONTEXT (‘USERENV’, ‘NLS_CURRENCY’) NLS_CURRENCY,
SYS_CONTEXT (‘USERENV’, ‘NLS_CALENDAR’) NLS_CALENDAR,
SYS_CONTEXT (‘USERENV’, ‘NLS_DATE_FORMAT’) NLS_DATE_FORMAT,
SYS_CONTEXT (‘USERENV’, ‘NLS_DATE_LANGUAGE’) NLS_DATE_LANGUAGE,
SYS_CONTEXT (‘USERENV’, ‘NLS_SORT’) NLS_SORT,
SYS_CONTEXT (‘USERENV’, ‘CURRENT_USER’) CURRENT_USER,
SYS_CONTEXT (‘USERENV’, ‘CURRENT_USERID’) CURRENT_USERID,
SYS_CONTEXT (‘USERENV’, ‘SESSION_USER’) SESSION_USER,
SYS_CONTEXT (‘USERENV’, ‘SESSION_USERID’) SESSION_USERID,
SYS_CONTEXT (‘USERENV’, ‘PROXY_USER’) PROXY_USER,
SYS_CONTEXT (‘USERENV’, ‘PROXY_USERID’) PROXY_USERID,
SYS_CONTEXT (‘USERENV’, ‘DB_DOMAIN’) DB_DOMAIN,
SYS_CONTEXT (‘USERENV’, ‘DB_NAME’) DB_NAME,
SYS_CONTEXT (‘USERENV’, ‘HOST’) HOST,
SYS_CONTEXT (‘USERENV’, ‘OS_USER’) OS_USER,
SYS_CONTEXT (‘USERENV’, ‘EXTERNAL_NAME’) EXTERNAL_NAME,
SYS_CONTEXT (‘USERENV’, ‘IP_ADDRESS’) IP_ADDRESS,
SYS_CONTEXT (‘USERENV’, ‘NETWORK_PROTOCOL’) NETWORK_PROTOCOL,
SYS_CONTEXT (‘USERENV’, ‘BG_JOB_ID’) BG_JOB_ID,
SYS_CONTEXT (‘USERENV’, ‘FG_JOB_ID’) FG_JOB_ID,
SYS_CONTEXT (‘USERENV’, ‘AUTHENTICATION_TYPE’) AUTHENTICATION_TYPE,
SYS_CONTEXT (‘USERENV’, ‘AUTHENTICATION_DATA’) AUTHENTICATION_DATA
FROM DUAL;

下面的语句返回登录用户的名字:

CONNECT OE/OE
select SYS_CONTEXT (‘USERENV’, ‘SESSION_USER’)
FROM DUAL;
SYS_CONTEXT (‘USERENV’, ‘SESSION_USER’)

网上找的
[code]AUTHENTICATION_DATA
Data being used to authenticate the login user. For X.503 certificate authenticated sessions, this field returns the context of the certificate in HEX2 format.
256

Note: You can change the return value of the AUTHENTICATION_DATA attribute using the length parameter of the syntax. Values of up to 4000 are accepted. This is the only attribute of USERENV for which Oracle implements such a change.

AUTHENTICATION_TYPE
How the user was authenticated:

DATABASE: username/password authentication

OS: operating system external user authentication

NETWORK: network protocol or ANO authentication

PROXY: OCI proxy connection authentication

30

BG_JOB_ID
Job ID of the current session if it was established by an Oracle background process. Null if the session was not established by a background process.
30

CLIENT_INFO
Returns up to 64 bytes of user session information that can be stored by an application using the DBMS_APPLICATION_INFO package.
64

CURRENT_SCHEMA
Name of the default schema being used in the current schema. This value can be changed during the session with an alter SESSION SET CURRENT_SCHEMA statement.
30

CURRENT_SCHEMAID
Identifier of the default schema being used in the current session.
30

CURRENT_USER
The name of the user whose privilege the current session is under.
30

CURRENT_USERID
User ID of the user whose privilege the current session is under
30

DB_DOMAIN
Domain of the database as specified in the DB_DOMAIN initialization parameter.
256

DB_NAME
Name of the database as specified in the DB_NAME initialization parameter
30

ENTRYID
The available auditing entry identifier. You cannot use this option in distributed SQL statements. To use this keyword in USERENV, the initialization parameter AUDIT_TRAIL must be set to true.
30

EXTERNAL_NAME
External name of the database user. For SSL authenticated sessions using v.503 certificates, this field returns the distinguished name (DN) stored in the user certificate.
256

FG_JOB_ID
Job ID of the current session if it was established by a client foreground process. Null if the session was not established by a foreground process.
30

HOST
Name of the host machine from which the client has connected.
54

INSTANCE
The instance identification number of the current instance.
30

IP_ADDRESS
IP address of the machine from which the client is connected.
30

ISDBA
TRUE if you currently have the DBA role enabled and FALSE if you do not.
30

LANG
The ISO abbreviation for the language name, a shorter form than the existing ‘LANGUAGE’ parameter.
62

LANGUAGE
The language and territory currently used by your session, along with the database character set, in this form:

language_territory.characterset
52

NETWORK_PROTOCOL
Network protocol being used for communication, as specified in the ‘PROTOCOL=protocol’ portion of the connect string.
256

NLS_CALENDAR
The current calendar of the current session.
62

NLS_CURRENCY
The currency of the current session.
62

NLS_DATE_FORMAT
The date format for the session.
62

NLS_DATE_LANGUAGE
The language used for expressing dates.
62

NLS_SORT
BINARY or the linguistic sort basis.
62

NLS_TERRITORY
The territory of the current session.
62

OS_USER
Operating system username of the client process that initiated the database session
30

PROXY_USER
Name of the database user who opened the current session on behalf of SESSION_USER.
30

PROXY_USERID
Identifier of the database user who opened the current session on behalf of SESSION_USER.
30

SESSION_USER
Database user name by which the current user is authenticated. This value remains the same throughout the duration of the session.
30

SESSION_USERID
Identifier of the database user name by which the current user is authenticated.
30

SESSIONID
The auditing session identifier. You cannot use this option in distributed SQL statements.
30

TERMINAL
The operating system identifier for the client of the current session. In distributed SQL statements, this option returns the identifier for your local session. In a distributed environment, this is supported only for remote select statements, not for remote insert, update, or delete operations. (The return length of this parameter may vary by operating system.)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/439009.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月7日 17:47:54
下一篇 2025年11月7日 17:48:37

相关推荐

  • 重要知识点:掌握CSS响应式布局的必备技巧

    重要知识点:掌握CSS响应式布局的必备技巧,需要具体代码示例 在现代互联网时代,越来越多的人使用移动设备来浏览网页,因此网页的响应式布局变得尤为重要。响应式布局是指网页能够根据不同的屏幕尺寸和设备类型自动调整布局和样式,以适应不同的用户体验。 掌握CSS响应式布局的技巧对于前端开发人员来说是必备的。…

    2025年12月24日
    000
  • 使用CSS实现响应式图片卡片布局的技巧

    使用CSS实现响应式图片卡片布局的技巧 随着移动设备的普及和网络速度的提升,人们在浏览网页时越来越重视页面的响应式布局。作为页面设计的关键元素之一,图片在响应式布局中扮演着重要角色。本文将介绍一种使用CSS实现响应式图片卡片布局的技巧,帮助你在不同设备上展示美观且兼容的图片卡片。 实现响应式图片卡片…

    2025年12月24日
    000
  • CSS属性实现平滑滚动效果的技巧

    CSS属性实现平滑滚动效果的技巧 在网页设计中,滚动效果被广泛应用于菜单导航、页面到顶部和底部的平滑滚动等方面,使用户体验更加流畅和舒适。本文将介绍一些常用的CSS属性和代码示例,帮助你实现平滑滚动效果。 一、通过CSS属性scroll-behavior实现平滑滚动 scroll-behavior是…

    2025年12月24日
    000
  • 实现炫酷滚动效果的CSS属性技巧

    实现炫酷滚动效果的CSS属性技巧,需要具体代码示例 CSS是网页设计中不可或缺的一部分,通过CSS可以实现各种各样的效果来提升网页的交互体验。其中,滚动效果是一种非常常见也非常炫酷的效果,它可以使网页元素以流畅的动画效果滚动到指定位置。本文将介绍一些实现炫酷滚动效果的CSS属性技巧,并提供具体代码示…

    2025年12月24日
    000
  • CSS属性实现瀑布流布局的技巧

    CSS属性实现瀑布流布局的技巧,需要具体代码示例 瀑布流布局是一种常见的网页布局方式,特点是将网页内容像瀑布一样从上到下依次排列,且每个内容块的宽度固定,高度可以不同。这种布局方式可以使网页显示更加美观,给用户带来良好的视觉体验。 在CSS中,我们可以使用一些属性来实现瀑布流布局,下面将介绍一些常用…

    2025年12月24日
    000
  • CSS实现无缝滚动效果的技巧和方法

    CSS实现无缝滚动效果的技巧和方法,需要具体代码示例 随着互联网技术的发展,无缝滚动效果在网页设计中被广泛应用。它可以给用户带来更好的浏览体验,也能增加网页的动感和视觉效果。在本文中,我将介绍几种常用的CSS实现无缝滚动效果的技巧和方法,并提供具体的代码示例。 使用CSS动画实现无缝滚动效果 CSS…

    2025年12月24日
    000
  • 如何通过纯CSS实现图片的放大缩小效果的方法和技巧

    如何通过纯CSS实现图片的放大缩小效果的方法和技巧 在现代的网页设计中,图片的展示和处理是非常重要的一部分。而图片的放大缩小效果可以为网站的视觉呈现增添趣味和交互性。在这篇文章中,我们将介绍如何通过纯CSS实现图片的放大缩小效果,并提供具体的代码示例。 使用transition属性实现平滑的过渡效果…

    2025年12月24日
    000
  • 如何通过纯CSS实现瀑布流布局的方法和技巧

    如何通过纯CSS实现瀑布流布局的方法和技巧 瀑布流布局(Waterfall Layout)是一种在网页设计中常见的布局方式,它通过将内容以多列的方式排列,每一列的高度不一致,从而形成像瀑布般的视觉效果。这种布局常常被应用于图片展示、商品展示等需要展示大量内容的情景中,具有良好的用户体验。 实现瀑布流…

    2025年12月24日
    000
  • CSS实现文字动画效果的方法和技巧

    CSS实现文字动画效果的方法和技巧 在网页设计与开发中,文字动画效果能够为页面增添活力和趣味性,吸引用户的眼球,提升用户体验。而CSS是实现文字动画效果的重要工具之一。本文将介绍一些常用的CSS属性与技巧,帮助你实现各种各样的文字动画效果。 一、基础动画属性 transition:transitio…

    2025年12月24日
    000
  • 利用CSS实现折叠内容面板特效的技巧和方法

    利用CSS实现折叠内容面板特效的技巧和方法 在网页设计中,折叠内容面板是一种非常常见的特效。通过点击或其他交互形式,隐藏或展示特定内容,以提供更好的用户体验。而利用CSS实现折叠内容面板特效,则是一种简单而有效的方法。本文将介绍一些实现这一特效的技巧和方法,并提供具体的代码示例。 使用checkbo…

    2025年12月24日
    000
  • CSS布局技巧:实现悬浮菜单栏的最佳实践

    CSS布局技巧:实现悬浮菜单栏的最佳实践 在网页设计中,悬浮菜单栏是一种常见的设计模式,它可以提供导航功能,并且在用户滚动网页时始终保持可见,提高用户体验。这篇文章将介绍一些实现悬浮菜单栏的最佳实践,并提供具体的代码示例。 使用position属性 要实现悬浮菜单栏,需要使用CSS的position…

    2025年12月24日
    000
  • CSS Positions布局实现网页加载动画的技巧

    CSS Positions布局实现网页加载动画的技巧 在当今互联网时代,网页设计越来越注重用户体验,其中网页加载动画是吸引用户注意力的重要元素之一。而CSS Positions布局是一种常用的网页布局方式,通过合理运用它,可以实现网页加载动画的效果。本文将介绍如何利用CSS Positions布局实…

    2025年12月24日
    000
  • 学习CSS3的几个关键技巧和常见问题解答

    学习CSS3的几个关键技巧和常见问题解答 【引言】CSS3是一种用于定义网页样式的标准,它提供了更多的样式选择器和特效功能,使得网页设计更加丰富多样。然而,学习CSS3的过程中,也会遇到一些常见问题,本文将为大家介绍几个关键技巧并解答这些问题。 【一、使用CSS3新增的选择器】在CSS3中,新增了许…

    2025年12月24日
    000
  • 基于CSS3的网页设计技巧及实践经验分享

    基于CSS3的网页设计技巧及实践经验分享 在当今互联网时代,网页设计越来越重要。随着CSS3出现,设计师们现在可以使用各种令人惊叹的效果来吸引用户。本文将分享一些基于CSS3的网页设计技巧和实践经验,旨在帮助读者提升网页设计水平。 一、使用过渡效果 过渡效果可以使元素在一种状态到另一种状态之间产生平…

    2025年12月24日
    000
  • CSS3学习的必备基础知识和技巧

    CSS3学习的必备基础知识和技巧 CSS3是指级联样式表(Cascading Style Sheets)的第三个版本。它是网页设计中不可或缺的一部分,用于控制网页的样式和布局。CSS3带来了很多新的特性和技巧,让我们的网页变得更加出色和专业。本文将介绍CSS3的一些基础知识和常用技巧,并通过代码示例…

    2025年12月24日
    000
  • css网页布局小技巧

    前端网页布局小技巧: (视频教程推荐:css视频教程) 1、ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值。 2、同一个的class选择符可以在一个文档中重复出现,而id选择符却只能出现一次;对一个标签同时使用class和id进行CSS定义,如果定义有重复,id…

    2025年12月24日
    000
  • 高手分享25个CSS网页布局实用小技巧

    本篇文章给大家带来的内容是关于CSS网页布局实用小技巧,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值。 2、同一个的class选择符可以在一个文档中重复出现,而id选择符却只能出现一次;对一个…

    2025年12月24日
    000
  • CSS Tips段落每行渐变色文本效果的实现方法

    今天小编在codepen上看到一个css写的效果。一个段落的每行文本是渐变效果。对于单行文本或单个词实现渐变填充效果并不是什么奇怪的事情,不过对于一个段落的每一行实现一个文本渐变填充的效果。估计还是会令很多人感到好奇。如果你是其中好奇的一员,请继续往下阅读,一探其中之究竟! 目标效果 今天的目标效果…

    2025年12月24日 好文分享
    000
  • 运用CSS改进网站设计的3个技巧

      CSS是一种分离表述编码和实际内容的一种最有用的方式,也是一种使搜索引擎最优化的方式,通常,网站设计中会建立一整套的css样式标准,这些标准存储在一个扩展名为css的单独文件中。然后利用HTML标签设计网页的时候,就会用到CSS文件中的内容。三种简单但很有效的设计技术来指导你正确地利用css改进…

    2025年12月23日
    000
  • CSS的技巧

    有些经典的css技巧,我们还是需要记住的,这样可以节省我们大量的时间,下面零度就为大家推荐几个比较好的css技巧: 1、在不同页面上使用同样的导航代码 许多网页上都有导航菜单,当进入某页时,菜单上相应这一项就应该变灰,而其他页亮起来。一般要实现这个效果,需要写程序或专门为每一页做设计,现在靠CSS就…

    好文分享 2025年12月23日
    000

发表回复

登录后才能评论
关注微信