1、同义词:
在分布式数据库环境中,为了识别一个数据库对象,必须规定主机名、服务器名、对象的拥有者和对象名。这无疑增加了访问者的访问难度。为了给不同的用户使用数据库对象时提供一个简单的、唯一标识数据库对象的名称,可以为数据库对象创建同义词。
举例说明:假设我们在数据库database中有一个用户user拥有表table,那么当数据库database中的其他用户需要访问table表的时候需要使用user.table的方式访问,这就要求我们在访问table表的时候必须知道table表的拥有者是谁。为了避免这种现象我们可以建立一个同义词synonym指向user.table表,那么以后任何用户都可以直接使用synonym访问user的table表了。
同义词可以指向的对象有表、视图、过程、函数、包和序列。
同义词有公共同义词和私有同义词两种。公共同义词是数据库中所有用户共享,而私有同义词是只有自己可以使用。
使用SQL创建同义词:
create [public] synonym [schema.]synonymName for [schema.]object[@dblink]
--public表示创建一个公共同义词,默认是私有的。@dblink表示创建的是远程数据库的同义词,dblink是远程数据库链接的名称。
使用SQL删除同义词:
drop [public] synonym [schema.]synonymName
--public表示删除一个公用同义词,如果不指定则默认是删除私有同义词,当对应的私有同义词不存在时则报错。
2、数据库链接:
作为一个分布式数据库系统,Oracle提供了使用远程数据库的功能。如果表在远程数据库中,为了指定远程数据库中一个对象的访问路径,必须创建一个数据库链接,使本地用户通过这个数据库链接登录到远程数据库上使用它的数据。数据库链接也有公有和私有两种,私有则只有创建者可以访问,默认是私有的。
创建数据库链接:
create [public] database link dababaseLinkName [connect to user identified by password] using connectString.
--当创建一个数据库链接时,必须指定与数据库相链接的用户名、用户口令以及与远程数据库相连的服务器名字。如果不指定用户,则Oracle
--将使用本地用户名和口令来建立与远程数据库的链接。假设:我现在以admin/admin登录到了本地的Oracle数据库中,那么如果在我创建数据库
--链接的时候没有指定user和password,Oracle将使用本地的用户名和口令admin/admin进行登录建立数据库链接。
--connectString是类似于这种形式“127.0.0.1:1521/Orcl”,就是主机ip:端口号/数据库服务名。其中端口号默认是1521,主机ip默认是本地的。
--所以当建立本地的数据库链接时connectString可以写成‘ORCL’,即数据库服务名。
--创建数据库链接的例子:create public database link localLink connect to username identified by password using '127.0.0.1:1521/ORCL';
使用远程数据库链接:
创建了远程数据库链接以后,我们就可以使用它了。假设我们现在创建了一个到远程数据库ORCL的数据库链接orclLink,在ORCL的当前用户中有一个表t_module, 用户scott有一个表emp,那么我们就可以利用如下方式访问t_module中的数据了:
select * from t_module@orclLink
但是当我们需要访问scott的emp表的时候则需要加入schema,访问方式如下:
select * from scott.emp@myLink
我们也可以为t_module建立远程的同义词:
create synonym moduleSyn for t_module@orclLink
为其他用户表如scott的emp表建立同义词的时候则需要加入schema,如:
create synonym scottEmp for scott.emp@orclLink
建立了远程的同义词后,我们就可以使用如下访问方式了:
select * from moduleSyn;
select * from scottEmp;
删除数据库链接:
drop [public] database link databaseLinkName;
--默认是删除私有的数据库链接。
分享到:
相关推荐
本章节主要介绍了Oracle数据库中的几个核心概念,包括表空间以及多种数据库对象,如同义词、序列、视图和索引等。这些概念对于理解Oracle数据库的架构与管理至关重要。 #### 二、表空间 **表空间**(Tablespace)是...
【标题】: "MLDN魔乐科技JAVA培训_Oracle课堂22_序列、同义词.rar" 涉及到的Oracle数据库中的两个关键概念——序列(Sequences)和同义词(Synonyms),这些都是在数据库管理和开发中常用的数据对象。 【序列...
### Oracle经典教程1——走进Oracle #### Oracle简介 Oracle是一种基于对象的关系型数据库管理系统,它由美国甲骨文公司开发并维护。Oracle数据库系统因其高度可靠性和强大的数据处理能力而闻名,广泛应用于各种...
本文主要探讨了一种特殊的升级方式——采用Oracle的表空间传输模式进行数据库系统升级,这种方式尤其适用于特定环境下的数据库迁移和升级。 一、升级背景与问题提出 随着信息化进程的加速,数据库中存储的油田生产...
- 视图与同义词:如何创建和使用视图来提供数据访问的安全性,以及同义词在权限管理和简化SQL语句中的应用。 5. **备份与恢复策略** - RMAN(Recovery Manager):Oracle的备份工具RMAN的使用方法,包括全量备份...
【文章内容概述】 这篇学术论文主要探讨了新出土的殷墟花园庄东地甲骨卜辞中的动词同义词现象。...同时,文中提到的研究方法——归纳词义项来识别同义词,也为古文字学和古汉语研究提供了有价值的参考。
在实际应用中,视图经常与其他数据库对象结合使用,如表、约束、序列、索引和同义词。表是存储数据的基本单位,约束用于确保数据的完整性,序列生成唯一的数值,索引加速查询速度,同义词则为数据库对象提供别名,...
- 应用架构描述了应用程序如何与Oracle数据库交互的方式。它涵盖了客户端/服务器模型以及多层架构的应用场景。 - **1.1.3 物理数据库结构纵览** - 物理数据库结构是指实际存储在磁盘上的文件组织方式,包括数据...
此外,还可以创建同义词来简化对远程表的引用: ```sql CREATE SYNONYM sdta_benefits FOR T_INFO_BENEFITS@SDTALINK; ``` 这样,以后就可以通过`sdta_benefits`来代替`T_INFO_BENEFITS@SDTALINK`进行查询了。 ##...
同义词是Oracle数据库中的一种别名,用于提供数据库对象(如表、视图、过程等)的替代名称。同义词可以是公共的(对所有用户可见)或私有的(仅对创建它的用户可见)。它们增强了数据库的可访问性和灵活性,简化了...
标题中提到的"oracle11g数据库三种方式导入导出必备的exe文件"——exp.exe、imp.exe和sqlplus.exe,是Oracle数据库管理员常用的三个实用程序,它们各自承担着不同的任务。 1. **exp.exe**: EXP是Export的简称,它是...
### 升级到Oracle数据库11g第2版——诀窍与方法 #### 一、为何选择升级? 在《升级到Oracle数据库11g第2版—诀窍和方法》中,作者杨欣,作为Oracle Corporation的华北区售前技术顾问,强调了升级至Oracle数据库11g...
- 第三部分:**模式对象** —— 覆盖了模式对象空间管理、表管理、索引管理、分区表和分区索引管理、簇管理、视图管理、序列和同义词管理,还包括数据块损坏的检测和修复方法。 - 第四部分:**数据库安全** —— ...
根据提供的文件信息,我们可以推断出这是一本关于Oracle SQL的专业书籍——《精通Oracle SQL 第2版》。接下来,我们将围绕这一主题展开深入探讨,包括Oracle SQL的基本概念、本书的主要内容以及学习Oracle SQL的一些...
公共同义词使得数据库对象对于所有用户可见,如果未经适当管理,可能会增加数据泄露的风险。 为了避免这类安全问题,数据库管理员必须重视对DBSNMP用户的管理。首要任务是立即修改DBSNMP的默认密码,确保只有授权的...
深入研究了数据库中各类模式对象,如表、视图、索引、同义词等,它们构成了数据库的核心结构。 #### 第六章:模式对象之间的依赖性 解释了模式对象之间的相互依赖关系,这对于数据库设计和维护具有重要意义。 ###...
- **序列和同义词**:阐述了序列和同义词的概念及其在数据库设计中的应用。 - **SQL优化**:提供了SQL查询优化的策略和技巧,以提高查询效率。 ### 5. 实践与工具 - **iSQL*Plus**:作为Oracle官方的命令行工具...