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数据库对象: 同 ...
随机推荐
- .NET Core到底有多强?
测试代码: C# Release 未优化 class Program { static long counter = 0; static void Main(string[] args) { for ...
- IT项目管理十大要素
1.项目需求PgMp.mypm.net 当项目混乱和不可控的时候,往往是源头出了问题,解决源头才能治本.项目管理者联盟文章 软件项目中的范围管理重点就是项目需求,需求包括原始需求,用户需求,产品需求和 ...
- SAP 跨公司销售业务
SAP 跨公司销售业务 http://blog.sina.com.cn/s/blog_95ac31e30102x5wh.html 分类: SAP_SD SAP 跨公司销售业务 一.业务简介 在由 ...
- contenOs7
echo 'export PATH="/home/conda/ls/bin:$PATH"'>>~/.bashrc source ~/.bashrc python
- GT sport赛道详解 - Dragon Trail | 龙之径
参考:GT sport所有赛道简介 今天的心情变化挺大,从绝望放弃到豁然开朗. 前言:GT sport有个排位赛,是每位sim赛车手提升自己等级的唯一途径,其中一个排位赛就是龙之径II(逆时针跑),我 ...
- linux环境下 python环境import找不到自定义的模块
linux环境下 python环境import找不到自定义的模块 问题现象: Linux环境中自定义的模块swport,import swport 出错.swport模块在/root/sw/目录下. ...
- django面试题
1. 对Django的认识? #1.Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构.以及全功能的管理后台. #2.D ...
- Creed_颓知乎
题目背景 二轮省选前的一个最后周,Creed_还在颓知乎. 突然,她看到一个有趣的回答. 紧接着,Creed_点开了评论区,又看到了一个有趣的评论. Creed_想了一下,发现自己并不会,于是她又顺着 ...
- idea使用eclipse 代码format风格
为了保证大家代码格式一样,避免在合代码时很出现大面积冲突.针对eclipse和idea两种开发工具进行了代码风格统一. Eclipse 使用方法:Windows → Preferences → Jav ...
- vue+vue-cli+淘宝lib-flexible做移动端自适应
总结用vue+vue-cli+淘宝lib-flexible做移动端自适应方案: 1.安装淘宝lib-flexible npm install lib-flexible --save 2.在入口文价ma ...