1.1数据库创建同义词(synonym)

Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;Oracle数据库中提供了同义词管理的功能。同义词是数据库对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字。与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。在Oracle数据库中的大部分数据库对象,如表、视图、物化视图、序列、函数、存储过程、包、同义词等等,数据库管理员都可以根据实际情况为他们定义同义词。创建同义词,访问不同用户下的表,不用加用户名。(意思就是取了一个公用的别名)

1.1.1在同一数据库下创建同义词(synonym)

第一步:创建新用户,以及访问不同用户下的表,必须授予以下权限

(1)   create user test_1/test_2 identified by 123;

(2)   grant resource,connect to test_1;

(3)   grant select any table to test_1;

第二步:授予创建同义词(synonym)的权限

grant create any synonym to test_1;

第三步:创建同义词,并进行访问

(1) create synonym teacher for test_2.teacher;

(2) select * from teacher;(在用户test_1中进行查询)

1.1.2在不同数据库下创建同义词(synonym)

第一步:建立DBLink

create public database link test_others_course

connect to test_others identified by "456"

using'(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.106)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ORCL)

)

)';

第二步:建立同义词

create synonym course for course@test_others_course;

第三步:进行操作(在用户test_1中进行操作)

select * from course;

update course set cname='计算机导论' where tno='825';

2.1数据库创建数据库连接(DBLink)

dblink(Database Link)数据库链接顾名思义就是数据库的链接,就像电话线一样,是一个通道,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。

第一步:查询用户是否具备创建DBLink的权限,并赋予权限

(1)   select * from user_sys_privs where privilege like upper('%DATABASE LINK%');

(2)   grant create public database link,drop public database link to test_1;

第二步:创建DBLink

已经配置本地服务:

create public database link test_others_course

connect to test_others identified by "456"

using'ORCL';

直接建立连接:

create public database link test_others_course

connect to test_others identified by "456"

using'(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.106)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ORCL)

)

)';

第三步:查询DLink,删除DBLink

查询DLink(在dba下执行):select * from dba_db_links;

select owner,object_name from dba_objects where object_type='DATABASE LINK';

删除DBLink:drop public database link test_others_course;

第四步:执行DBLink

select * from course@test_others_course;

3.1 赋予/移除用户增、删、改、查其他用户所属表权限

3.1.1所有表

(1)grant/revoke  update any table to test_1;

(2)grant/revoke  insert any table to test_1;

(3)grant/revoke delete any table to test_1;

(4)grant/revoke select any table to test_1;

3.1.2单独表

(1)grant/revoke select on test_2.teacher to test_1;

(2)grant/revoke delete on test_2.teacher to test_1;

(3)grant/revoke insert on test_2.teacher to test_1;

(4)grant/revoke update on test_2.teacher to test_1;

3.1.3查询用户拥有权限

select * from dba_sys_privs where grantee='TEST_1';(用户名要大写)

3.1.3查询用户拥有角色

select * from dba_role_privs where grantee='TEST_1';(用户名要大写)

Oracle数据库 Synonym和DBLink的更多相关文章

  1. 在oracle数据库中创建DBLink

    涉及到两个数据库之间的访问时,可以创建datebase link来互相访问. ’创建方法: 1.通过PL/SQL客户端,找到datebase link,右键新建 输入相应信息 2.直接用命令行创建 一 ...

  2. 【代码备份】ORACLE数据库表同步DBLINK

    ---创建目标数据库连接DBLINKcreate database link testdblink connect to xxx identified by "xxx"using ...

  3. SQLSERVER 创建对Oracle数据库的DBlink以及查询使用

    1. 与针对oracle数据库一样, 在sqlserver中创建对oracle数据库的dblink 安全性上面也进行定义(貌似不需要跟访问字符串只需要填一个即可) 发现有的版本改注册表不管用 还得修改 ...

  4. Oracle数据库通过DBLINK实现远程访问

    什么是DBLINK? dblink(Database Link)数据库链接顾名思义就是数据库的链接  ,就像电话线一样,是一个通道,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就 ...

  5. Oracle数据库如何创建DATABASE LINK?

    Oracle数据库如何创建DATABASE LINK? 2011-08-09 14:54 taowei20061122 CSDN博客  http://blog.csdn.net/taowei20061 ...

  6. Oracle数据库设计规范建议

    Oracle数据库设计规范建议 1 目的 本规范的主要目的是希望规范数据库设计,尽量提前避免由于数据库设计不当而产生的麻烦:同时好的规范,在执行的时候可以培养出好的习惯,好的习惯是软件质量的很好的保证 ...

  7. asp.net中membership使用oracle数据库(一)

    第一步 数据库的准备 使用 oracle 11g的数据库 需要安装好,安装过程中先决条件检查失败的处理:确认server服务已运行 cmd->net share c$=c: 就可以通过 orac ...

  8. 【转】oracle数据库开发的一些经验积累

    1.不安装Oracle客户连接Oracle 8的方法  请将以下文件拷贝到运行文件所在目录 一.ODBC动态库 : ctl3d32.dll msvcrt40.dll odbc16gt.dll odbc ...

  9. Oracle 数据库对象

    数据库对象是数据库的组成部分,常常用CREATE命令进行创建,可以使用ALTER命令修改,用DROP执行删除操作.前面已经接触过的数据库对象有表.用户等. 今天将学习更多的Oracle数据库对象: 同 ...

随机推荐

  1. CentOS7安装GUI图形界面

    本文转自centOS7下安装GUI图形界面,侵权删. 1. 在命令行下 输入下面的命令来安装Gnome包. # yum groupinstall "GNOME Desktop" & ...

  2. jquery延迟加载(懒加载)插件

    Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...

  3. Linux下“/”和“~”的区别

    在linux中,”/“代表根目录,”~“是代表目录.Linux存储是以挂载的方式,相当于是树状的,源头就是”/“,也就是根目录. 而每个用户都有”家“目录,也就是用户的个人目录,比如root用户的”家 ...

  4. Vue小项目二手书商城:(四)详情页和购物车(emit、prop、computed)

    实现效果: 点击对应商品,对应的商品详情页出现,详情页里面还有“Add to cart”按钮和“×”退出按钮. 点击“Add to cart”可以将商品加入购物车,每件商品只能添加一次,如果把购物车的 ...

  5. 数据结构|-用C#实现一个简单的链表

    我们知道C#中是没有链表的,我们可以自己实现一个 整个单链表能实现的功能有: 功能 方法 返回值 备注 获取链表长度 GetLength() int 返回值是链表长度 清空链表 Clear() voi ...

  6. SQL 函数 coalesce()、row_number()的用法

    coalesce()函数 ①用途: 将空值替换成其他值 返回第一个非空值 ②表达式: COALESCE是一个函数, (expression_1, expression_2, ...,expressio ...

  7. C#_计算目前时间到指定的周X、指定的时间X 还有多少秒

    比如:当前时间到下周二 05:00:00还剩下多少秒? /// <summary> /// 计算距离下一个 周XX XX时XX分XX秒,还剩下多少秒 /// </summary> ...

  8. Ctrl+Alt+Down/Up 按键冲突

    I mapped Ctrl-Alt-Up/Down to open web-browser and email client but it didn't take effect. Ctrl-Alt-U ...

  9. .class 缓存

    项目用的是Ant. 场景: Class A{ private static final String HHH="hello"; } Class B{ public void met ...

  10. 使用js实现放大镜效果

    点击预览放大镜效果,图片比较大,因为需要精细的图片去凸显放大的效果,请耐心 可以通过滑轮控制放大倍数,由于图片太大 如果放大镜没有出现 可刷新一下网页