热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle如何通过同义词定位对象

准备工作:如何将V$视图查询权限赋给其他用户:sys@ORCLgt;grantselectonv$paramtertoscott;grantselectonv$paramt

准备工作: 如何将V$视图查询权限赋给其他用户: sys@ORCLgt;grant select on v$paramter toscott; grant select on v$paramt

准备工作:


sys@ORCL>grant select on v$paramter toscott;

grant select on v$paramter to scott

*

第 1 行出现错误:

ORA-00942: 表或视图不存在

sys@ORCL>grant select on v$parameter toscott

grant select on v$parameter to scott

*

第 1 行出现错误:

ORA-02030: 只能从固定的表/视图查询

这是因为v$ paramter不是一个视图,其实它是一个同义词。

sys@ORCL>SELECT SYNONYM_NAME,TABLE_NAMEFROM DBA_SYNONYMS WHERE SYNONYM_NAME='V$PARAMETER';

SYNONYM_NAME TABLE_NAME

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

V$PARAMETER V_$PARAMETER

因此,需要将同义词对应的视图进行授权。

sys@ORCL>grant select on v_$parameter toscott;

授权成功。

sys@ORCL>conn scott/tiger

已连接。

scott@ORCL>select * from v$parameterwhere rownum<5;

Oracle如何通过同义词定位对象:

sys@ORCL>alter session set events '10046trace name context forever,level 12';

会话已更改。

sys@ORCL>select * from v$diag_info wherename='Default Trace File';

INST_ID NAME VALUE

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

1 Default Trace File d:\app\lenovo\diag\rdbms\orcl\orcl\trace

\orcl_ora_19068.trc

第一段重要的代码如下:
PARSING IN CURSOR #3 len=202 dep=1 uid=0 oct=3 lid=0 tim=1683213424hv=3819099649 ad='7ffc8919a70' sqlid='3nkd3g3ju5ph1'

select obj#,type#,ctime,mtime,stime,status, dataobj#, flags, oid$, spare1, spare2 from obj$ where owner#=:1 andname=:2 and namespace=:3 and remoteowner is null and linkname is null andsubname is null

END OF STMT

PARSE #3:c=0,e=976,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=4,plh=0,tim=1683213422

BINDS #3:

Bind#0

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=08 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=1cc02bf8 bln=22 avl=02 flg=05

value=84

Bind#1

oacdty=01 mxl=32(11) mxlc=00 mal=00 scl=00 pre=00

oacflg=18 fl2=0001 frm=01 csi=852 siz=32 off=0

kxsbbbfp=1cc02bc0 bln=32 avl=11 flg=05

value="V$PARAMETER"

Bind#2

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=08 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=1cc02b90 bln=24 avl=02 flg=05

value=1

oracle根据传入参数owner#=84name=V$PARAMETER namespace=1来判断对象类型,按照表,视图优先规则来定位判断,,对于本例用户scott下面是不存在这个表或视图的

接下来oracle继续判断,此时需要验证同义词:
PARSING IN CURSOR #3 len=46 dep=1 uid=0 oct=3 lid=0 tim=1683217830hv=1343089354 ad='7ffc84fa2d8' sqlid='1mjd9xp80vuqa'

selectnode,owner,name from syn$ where obj#=:1

ENDOF STMT

PARSE#3:c=15600,e=501,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=4,plh=0,tim=1683217829

BINDS#3:

Bind#0

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00pre=00

oacflg=08 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=1e108c18 bln=22 avl=03 flg=05

value=1456

传入绑定变量值是1456:

更多详情见请继续阅读下一页的精彩内容:

相关阅读:

Oracle同义词创建及其作用

使用datapump 导出导入同义词(export and import synonym using datapump)

Oracle创建dblink和同义词小记

Oracle同义词的创建与删除

Oracle 同义词synonym 学习

Oracle数据库常见对象—索引和同义词

linux

推荐阅读
  • 构建Python自助式数据查询系统
    在现代数据密集型环境中,业务团队频繁需要从数据库中提取特定信息。为了提高效率并减少IT部门的工作负担,本文探讨了一种利用Python语言实现的自助数据查询工具的设计与实现。 ... [详细]
  • 详解MyBatis二级缓存的启用与配置
    本文深入探讨了MyBatis二级缓存的启用方法及其配置细节,通过具体的代码实例进行说明,有助于开发者更好地理解和应用这一特性,提升应用程序的性能。 ... [详细]
  • 本文探讨了在SharePoint环境中使用BDC(Business Data Catalog)时遇到的问题及其解决策略,包括XML文件导入SSP后的不可见性问题以及与远程SQL Server 2005连接的难题。 ... [详细]
  • 本文提供了一个SQL脚本,用于在Microsoft SQL Server中创建一个数据字典视图,该视图详细列出了表名、表描述、字段名称、字段描述、字段类型、字段大小、字段精度、是否可为空、默认值以及是否为标识或主键等信息。 ... [详细]
  • MyBatis入门指南:环境搭建与基础配置详解
    本文详细介绍了MyBatis的基础配置流程,包括在Maven项目中添加MyBatis依赖、IDEA中配置数据库连接、导入SQL脚本以及编写mybatis-config.xml配置文件等关键步骤。 ... [详细]
  • 本文基于最新版SQLite 3.33.0(发布于2020年8月20日),详细介绍如何使用ORDER BY语句进行数据排序,包括单列和多列排序的方法。 ... [详细]
  • 本文探讨了Android系统中联系人数据库的设计,特别是AbstractContactsProvider类的作用与实现。文章提供了对源代码的详细分析,并解释了该类如何支持跨数据库操作及事务处理。源代码可从官方Android网站下载。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文详细介绍了在MyBatis框架中如何通过#和$两种方式来传递SQL查询参数。使用#方式可以提高执行效率,而使用$则有助于在复杂SQL语句中更好地查看日志。此外,文章还探讨了不同场景下的参数传递方法,包括实体对象、基本数据类型以及混合参数的使用。 ... [详细]
  • 本文通过一系列实验,探讨了Oracle 11g数据库中密码错误验证延迟特性对用户登录速度的影响。实验旨在验证当某个用户因输入错误密码而触发延迟时,是否会影响其他用户的正常登录速度。 ... [详细]
  • SQL查询与事务管理:深入解析
    本文详细介绍了SQL查询的基本结构和高级特性,包括选择、分组查询以及权限控制等内容,并探讨了事务管理中的并发控制策略,旨在为数据库管理员和开发人员提供实用指导。 ... [详细]
  • PHP 图形函数中实现汉字显示的方法
    本文详细介绍了如何在 PHP 的图形函数中正确显示汉字,包括具体的步骤和注意事项,适合初学者和有一定基础的开发者阅读。 ... [详细]
  • 2023年1月28日网络安全热点
    涵盖最新的网络安全动态,包括OpenSSH和WordPress的安全更新、VirtualBox提权漏洞、以及谷歌推出的新证书验证机制等内容。 ... [详细]
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • 本文深入探讨了MySQL中的高级特性,包括索引机制、锁的使用及管理、以及如何利用慢查询日志优化性能。适合有一定MySQL基础的读者进一步提升技能。 ... [详细]
author-avatar
航头党员之家
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有