• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >oracle > oracle的一些tips技巧

oracle的一些tips技巧

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了销售技巧销售tips,oracle技巧,oracle使用技巧,oracle sql技巧,oracle等相关知识,希望本文的分享对您有所帮助
最近群里好多人讨论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 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • oracle的一些tips技巧

相关文章

  • 2017-05-11深入浅析mybatis oracle BLOB类型字段保存与读取
  • 2017-05-11Oracle 8i在P4上的安装
  • 2017-05-11oracle 查询表名以及表的列名
  • 2017-05-11oracle 常用的几个SQL
  • 2017-05-11Oracle导出excel数据
  • 2017-05-11oracle SQL递归的使用详解
  • 2017-09-17Oracle12c通过SQL Developer工具调试procedure报错: ORA-24247解决方法
  • 2017-05-11oracle创建删除用户示例分享(oracle删除用户命令及授权)
  • 2017-05-11Oracle 表空间查询与操作方法
  • 2017-05-11Oracle数据库TNS常见错误的解决方法汇总

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • [Oracle] 浅谈Lock与Latch
    • oracle 在一个存储过程中调用另一个返回游标的存储过程
    • oracle 11g的警告日志和监听日志的删除方法
    • oracle报错(ORA-00600)问题处理
    • oracle ora-00054:resource busy and acquire with nowait specified解决方法
    • 一个oracle指令的好网站
    • 对比Oracle临时表和SQL Server临时表的不同点
    • ORACLE数据库查看执行计划的方法
    • Oracle minus用法详解及应用实例
    • ORACLE出现错误1033和错误ORA-00600的解决方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有