Oracle数据库 Synonym和DBLink
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的更多相关文章
- 在oracle数据库中创建DBLink
涉及到两个数据库之间的访问时,可以创建datebase link来互相访问. ’创建方法: 1.通过PL/SQL客户端,找到datebase link,右键新建 输入相应信息 2.直接用命令行创建 一 ...
- 【代码备份】ORACLE数据库表同步DBLINK
---创建目标数据库连接DBLINKcreate database link testdblink connect to xxx identified by "xxx"using ...
- SQLSERVER 创建对Oracle数据库的DBlink以及查询使用
1. 与针对oracle数据库一样, 在sqlserver中创建对oracle数据库的dblink 安全性上面也进行定义(貌似不需要跟访问字符串只需要填一个即可) 发现有的版本改注册表不管用 还得修改 ...
- Oracle数据库通过DBLINK实现远程访问
什么是DBLINK? dblink(Database Link)数据库链接顾名思义就是数据库的链接 ,就像电话线一样,是一个通道,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就 ...
- Oracle数据库如何创建DATABASE LINK?
Oracle数据库如何创建DATABASE LINK? 2011-08-09 14:54 taowei20061122 CSDN博客 http://blog.csdn.net/taowei20061 ...
- Oracle数据库设计规范建议
Oracle数据库设计规范建议 1 目的 本规范的主要目的是希望规范数据库设计,尽量提前避免由于数据库设计不当而产生的麻烦:同时好的规范,在执行的时候可以培养出好的习惯,好的习惯是软件质量的很好的保证 ...
- asp.net中membership使用oracle数据库(一)
第一步 数据库的准备 使用 oracle 11g的数据库 需要安装好,安装过程中先决条件检查失败的处理:确认server服务已运行 cmd->net share c$=c: 就可以通过 orac ...
- 【转】oracle数据库开发的一些经验积累
1.不安装Oracle客户连接Oracle 8的方法 请将以下文件拷贝到运行文件所在目录 一.ODBC动态库 : ctl3d32.dll msvcrt40.dll odbc16gt.dll odbc ...
- Oracle 数据库对象
数据库对象是数据库的组成部分,常常用CREATE命令进行创建,可以使用ALTER命令修改,用DROP执行删除操作.前面已经接触过的数据库对象有表.用户等. 今天将学习更多的Oracle数据库对象: 同 ...
随机推荐
- js基础语句
// for 循环语句 // if else 条件判断语句 // switch 条件循环语句 // while // do while // 这里的 i 是循环变量 一般初始值为0,因为下标从0开始 ...
- Linux 搭建批量网络装机
- 集训队日常训练20181201 C 1003 : 种类数
时间限制(普通/Java):2000MS/6000MS 内存限制:65536KByte总提交: 8 测试通过:5 描述 一共有 n个数,第 i 个数是 xi ,其中xi ...
- Git基本命令整理
git help <command> # 显示command的help git show # 显示某次提交的内容 git show $id git co -- <file> # ...
- Javascript回调函数中的this指向问题
使用js中的定时器(setInterval,setTimeout),很容易会遇到this指向的问题. 直接上例子: 1 var name = 'my name is window'; 2 var ob ...
- XV Open Cup named after E.V. Pankratiev. GP of Siberia-Swimming
给出两个点,找到过这两个点的等角螺线,并求出中间的螺线长 $c = \frac{b}{a}$ $p = a \times c^{\frac{\theta}{angle}}$ 对弧线积分 #includ ...
- h5软键盘弹起 底部按钮被顶起问题解决
解决思路: 当键盘弹起时隐藏掉按钮,键盘隐藏时按钮显示 监测键盘是否弹起(浏览器页面是否发生变化) 代码: 1.定义一个底部按钮 <div class="returnbtn" ...
- hashlib 和 hmac 算法的区别
-----md5 = hashlib.md5() md5.update(password+salt) md5.hexdigest() ----- h = hmac.new(key,password,d ...
- Envoy 源码分析--network L4 filter manager
目录 Envoy 源码分析--network L4 filter manager FilterManagerImpl addWriteFilter addReadFilter addFilter in ...
- SQL server 2012安装中出现的INSTALLSHAREDDIR 和 INSTALLSHAREDWOWDIR 参数具有相同的值问题
出现的问题如下: INSTALLSHAREDDIR 和 INSTALLSHAREDWOWDIR 参数具有相同的值“D:\soft\sql”.但是,这些参数必须具有不同的值.请为其中一个参数指定不同的值 ...