1.问题描述:

用户查询表一定要加上表空间名的问题
ORACLE 10G 创建了一个测试用的用户TEST,打算这个用户只有查询的权限,缺省的表空间指向THGE的这个表空间,给这个用户赋予了connect 和resource的角色,权限为SELECT ANY TABLE

查询一个表, 这样写就没错
SELECT COUNT(*) FROM TL.TL_ATTACHMENT_ACCESS_V;
这样写就说这个表或视图没找到
SELECT COUNT(*) FROM TL_ATTACHMENT_ACCESS_V;
不明白为何一定要加表空间名,还要给啥权限?

2.解决方法:

为表空间所在的表创建同义词;不使用public关键字时,则是为创建该同义词的用户创建的私有同义词。

CREATE 【PUBLIC】 SYNONYM TL_ATTACHMENT_ACCESS_V FOR TL.TL_ATTACHMENT_ACCESS_V;       -- tl 用户名

删除同义词:

drop [public] synonym table_name;

查询同义词:

select * from dba_synonyms;

3.理论知识:

在Oracle中对用户的管理是使用权限的方式来管理的,也就是说,如果我们想使用数据库,我们就必须得有权限,但是如果是别人将权限授予了我们,我们也是能对数据库进行操作的,但是我们必须要已授权的表的名称前键入该表所有者的名称,所以这就是比较麻烦的,遇到这种情况,我们该怎么办呢?创建个Oracle同义词吧!这样我们就可以直接使用同义词来使用表了。

Oracle的同义词(synonyms)从字面上理解就是别名的意思,和试图的功能类似,就是一种映射关系。

在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字。与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。在Oracle数据库中的大部分数据库对象,如表、视图、同义词、序列、存储过程、包等等,数据库管理员都可以根据实际情况为他们定义同义词。

同义词分类:

公有同义词:由一个特殊的用户组Public所拥有。顾名思义,数据库中所有的用户都可以使用公用同义词。公用同义词往往用来标示一些比较普通的数据库对象,这些对象往往大家都需要引用。

私有同义词:跟公用同义词所对应,他是由创建他的用户所有。当然,这个同义词的创建者,可以通过授权控制其他用户是否有权使用属于自己的私有同义词。

4.Oracle同义词的作用

1) 多用户协同开发中,可以屏蔽对象的名字及其持有者。如果没有同义词,当操作其他用户的表时,必须通过user名.object名的形式,采用了Oracle同义词之后就可以隐蔽掉user名,当然这里要注意的是:public同义词只是为数据库对象定义了一个公共的别名,其他用户能否通过这个别名访问这个数据库对象,还要看是否已经为这个用户授权。

2) 为用户简化sql语句。上面的一条其实就是一种简化sql的体现,同时如果自己建的表的名字很长,可以为这个表创建一个Oracle同义词来简化sql开发。

3)为分布式数据库的远程对象提供位置透明性。

5.Oracle同义词在数据库链中的作用

数据库链是一个命名的对象,说明一个数据库到另一个数据库的路径,通过其可以实现不同数据库之间的通信。

Create database link 数据库链名 connect  to  user名 identified by 口令  using ‘Oracle连接串’; 访问对象要通过 object名@数据库链名。同义词在数据库链中的作用就是提供位置透明性

Oracle中用户查询表一定要加上表空间名的问题相关推荐

  1. oracle自动释放表空间,Oracle中关于清除数据和释放表空间

    一.表的重命名 flashback table test2 to before drop rename to test3;--[to test3]将表重命名 drop table test3 purg ...

  2. oracle新建用户,授权,建表空间语句

    oracle创建表空间,创建用户(转) 关键字: oracle 表空间 用户  //创建临时表空间 create temporary tablespace test_temp  tempfile 'E ...

  3. oracle建用户之前是否必须建表空间,Oracle数据库-建库、建表空间,建用户

    Oracle数据库-建库.建表空间,建用户 Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库. 对于初学者来说,为了避免麻烦,可以用'Database ...

  4. Oracle中用户和架构之间的区别?

    本文翻译自:Difference between a user and a schema in Oracle? Oracle中的用户和架构有什么区别? #1楼 参考:https://stackoom. ...

  5. oracle只导入dmp中指定表,oracle 如何导入dmp文件到指定表空间

    oracle 如何导入dmp文件到指定表空间 2010年01月14日星期四 13:27 1. 打开工具Oracle SQL Plus 以dba身份登录sys用户 user: sys password: ...

  6. 查询oracle中用户的角色,oracle中用户角色的查询和授权

    用户拥有的系统权限 select  privilege  from dba_sys_privs  where grantee='&USERNAME' union select  privile ...

  7. Oracle中select函数以及分组多表连接等重要点以及示例

    Oracle中select函数以及分组多表连接等重要点 函数 –函数 –内置函数和自定义函数 –单行函数:一条记录返回一个结果的 –多行函数|组函数|聚合函数:多条记录返回一条结果的 单行函数 单行函 ...

  8. 笔记: 解决oracle impdp导入dmp时, 用户名和表空间与dmp中的不相同导致无法导入的问题

    解决oracle impdp导入dmp时, 用户名和表空间与dmp中的不相同导致无法导入的问题 impdp导入时, 需要增加两个特殊的参数 remap_schema 更改用户名 remap_schem ...

  9. oracle中删除yuj_oracle三种删除表的方法解译

    DELETE FROM表名 WHERE 条件; 注意:删除记录并不能释放ORACLE里被占用的数据块表空间. 它只把那些被删除的数据块标成unused. 如果确实要删除一个大表里的全部记录, 可以用 ...

  10. Oracle数据库初学者:sql语句创建数据库表空间,建表语句

    1. 表空间的创建 表空间的创建,格式: create tablespace 表空间名 datefile '路径名/表空间名.dbf' size 60M(初始空间大小为:60M) autoextend ...

最新文章

  1. 为什么会出现__pycache__文件夹?
  2. js中判断两个数字的大小
  3. leetcode 169. Majority Element
  4. 深度剖析Kubernetes API Server三部曲 - part 1
  5. Android开发之第三方推送JPush极光推送知识点详解 学会集成第三方SDK推送
  6. ajax: PopupControlExtender使用
  7. Android 缓存目录 Context.getExternalFilesDir()和Context.getExternalCacheDir()方法
  8. codeforces1486 F. Pairs of Paths(倍增+树上数数)
  9. 有效运维的 on-call 机制
  10. 关于虚拟机linux密码的那点事
  11. 专家点评Science | 朱冰/许瑞明合作团队报道CpG岛结合蛋白BEND3作用机制
  12. php安装sqlserver2008,php53 mssql2008_sqlserver2008安装环境_php mssql库
  13. c语言打程序时会遇到什么问题,Sublime text3 实现C语言编译运行以及过程中可能遇到的问题...
  14. php判断当前页面是否有权限,php判断是否有权限下载
  15. cilium插件测试_Cilium网络概述
  16. vb实时曲线的绘制和保存
  17. DeepLearning tutorial(7)深度学习框架Keras的使用-进阶
  18. Word,Excel联动结合邮件合并功能实现批量打印员工个人信息表桌牌奖状出试卷
  19. AM335x TP驱动解析
  20. unity shader中关于Tags的整理

热门文章

  1. J.K.罗琳 哈佛大学毕业演讲
  2. 【学渣告诉你】到底神马是傅里叶级数!!!!!!
  3. Andriod Studio安装教程
  4. c语言求成绩标准差,C语言中求和、计算平均值、方差和标准差的实例
  5. How to Write and Publish a Scientific Paper: 7th Edition(科技论文写作与发表教程)
  6. win8/win10任务栏/语言栏跳动/闪烁
  7. Pycharm使用技巧:Split Vertically/Horizontally(垂直/水平拆分窗口)
  8. IOI2021集训队作业
  9. SAP云平台里的三叉戟应用
  10. 督查督办管理系统在企业管理中起到的作用