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. 2019 年 SpreadJS产品路线图(Roadmap)

    前言 | 问题背景 SpreadJS已经发展成为市场上最好的纯前端JavaScript电子表格之一,但对于用户的需要和产品功能的改善,我们才刚刚开始! 在过去的一年中,我们发布了两个Service P ...

  2. vue使用$http服务端收不到参数

    老夫子我正在憋方案书,听到身后传来细软的声音:“李哥,我这有个Bug调了很长时间了,您能帮我看一下吗?”.说这话的是我的好朋友,公司新来的前端小妹伊万卡.我起身向她走去,看到因长时间调试Bug漂亮的脸 ...

  3. Yum安装时出现 The program yum-complete-transaction is found in the yum-utils package

    yum安装时出现 The program yum-complete-transaction is found in the yum-utils package yum之后,会显示上信息,并且最终执行结 ...

  4. Cow Cycling 动态规划

    1552: Cow Cycling 时间限制(普通/Java):1000MS/10000MS     内存限制:65536KByte总提交: 39            测试通过:20 描述 The ...

  5. Apache和Nginx的区别

    Nginx 轻量级,采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源 抗并发,nginx 以 epoll and kqueue 作为开发模型,处理请求是异步非阻塞的,负载能力比 apa ...

  6. stress负载生成器使用简介

    一.Stress工具原始网页: https://people.seas.harvard.edu/~apw/stress/ 二.Docker镜像的构建过程(dockerfile): progrium/s ...

  7. Effective java 系列之异常转译

    异常转译:当位于最上层的子系统不需要关心底层的异常细节时,常见的作法时捕获原始异常,把它转换一个新的不同类型的异常,在将新异常抛出. 通常方法捕获底层异常,然后抛高层异常. public static ...

  8. Elinks介绍

    Elinks是基于文本的免费浏览器,用于Unix及基于Unix的系统.Elinks支持 HTTP,HTTP Cookies以及支持浏览Perl和Ruby脚本.也很好的支持选项卡浏览.最棒的是它支持鼠标 ...

  9. Android Satudio的使用记录

    Satudio的使用记录之导入新项目: Satudio导入项目的心得[基本分为4步完成]1.需要保证自己的satudio中项目能够运行,同时找到该工作空间的和项目的各个参数 {项目-->右键—— ...

  10. 简单的python购物车

                 这几天,一直在学python,跟着视频老师做了一个比较简单的python购物车,感觉不错,分享一下 products = [['Iphone8',6888],['MacPro ...