-
2021-05-06 06:26:10
oracle 中怎么创建同义词?
我们需要准备的材料分别是:电脑、oracle。
1、首先打开oracle,如果想要实现表空间的方法,则输入以下代码:
2、如果想要实现用户的方法,则输入以下代码:
3、如果想要实现表的方法,则输入以下代码:
4、如果想要实现索引的方法,则输入以下代码:
5、如果想要实现序列号的方法,则输入以下代码:
6、如果想要实现视图的方法,则输入以下代码:
oracle中把表删了重新建同名表,会影响同义词吗
删除表不会导致同义词删除,没有表同义词会变成无效,表出现后重新有效。
那个表的问题需要报错信息,最好提供具体操作步骤和错误以及日志。
oracle里synonym的作用是什么?
CREATE [PUBLIC]SYNONYM synonym For schema.object
隐藏对象的名称和所有者:
select count(*) from hr.employees;
create synonym emp for hr.employees; --默认属于donny用户,是donny的私有对象private
select count(*) from emp;
为分布式数据库的远程对象提供了位置透明性:
访问其他数据库时,要首先建立数据库连结:
CREATE DATABASE LINK test_link CONNECT TO username IDENTIFIED BY pass USING 'orabase';
Select count(*) from hr.employees@test_link;
create synonym link_emp for hr.employees@test_link;
select count(*) from link_emp;
提供对象的公共访问:
create public synonym pub_emp for hr.employees;
pub_emp属于public用户,数据库所有用户都可以访问。
同义词类型
–私有 emp 实际上donny.emp
–公用 pub_emp 所有用户都可以直接访问
当公有对象和私有对象同名时(因为数据不同的用户,所以可以),以私有对象优先。(类似于局部变量)
desc dba_synonyms/ user_synonyms/ all_synonyms 数据字典,复数
tab公有同义词
建立私有的tab表,查看效果。
删除同义词:
drop synonym donny.emp;
drop public synonym pub_emp;
作文知识点推荐
更多相关内容 -
oracle 删除同义词
2021-05-01 07:21:13Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系,下面是小编整理的相关内容,希望对你有帮助。在Oracle中对用户的管理是使用权限的方式来管理的,也就是说,如果我们想...Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系,下面是小编整理的相关内容,希望对你有帮助。
在Oracle中对用户的管理是使用权限的方式来管理的,也就是说,如果我们想使用数据库,我们就必须得有权限,但是如果是别人将权限授予了我们,我们也是能对数据库进行操作的,但是我们必须要已授权的表的名称前键入该表所有者的名称,所以这就是比较麻烦的,遇到这种情况,我们该怎么办呢?创建个Oracle同义词吧!这样我们就可以直接使用同义词来使用表了。
1.同义词的概念
Oracle数据库中提供了同义词管理的功能。同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字。
与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。在Oracle数据库中的大部分数据库对象,如表、视图、序列、存储过程、包等等,数据库管理员都可以根据实际情况为他们定义同义词。
2.Oracle同义词的分类
Oracle同义词有两种类型,分别是公用public同义词与私有同义词
1)公用Oracle同义词:
由一个特殊的用户组Public所拥有。顾名思义,数据库中所有的用户都可以使用公用同义词。公用同义词往往用来标示一些比较普通的数据库对象,这些对象往往大家都需要引用。
2)私有Oracle同义词:
它是跟公用同义词所对应,他是由创建他的用户所有。当然,这个同义词的创建者,可以通过授权控制其他用户是否
有权使用属于自己的私有同义词。
3.创建同义词
1)创建公有Oracle同义词的语法:create [public] synonym 同义词名称 for [username.]objectName; 例如:比如把user1.table1在user2中建一个同义词table1
create synonym table1 for user1.table1;
这样当你在user2中查select * from table1时就相当于查select * from user1.table1;
create public synonym table_name for user.table_name;
其中第一个user_table和第二个user_table可以不一样
2)创建一个远程数据库的对象的同义词
如果要创建一个远程的数据库上的某张表的同义词,需要先创建一个Database Link(数据库连接)来扩展访问,然后在使用如下语句创建数据库同义词:create synonym table_name for table_name@DB_Link;
Oracle同义词在数据库链中的作用
数据库链是一个命名的对象,说明一个数据库到另一个数据库的路径,通过其可以实现不同数据库之间的通信。
create database link 数据库链名 connect to user名 identified by 口令 using '远程数据库的网络服务名';
using后面指定的是链接字符串,也就是远程数据库的网络服务名,这个服务名保存在TNSNAMES.ORA文件中,在该文件中定义了协议、主机名、端口和数据库名。
注意:创建数据库链接的帐号必须有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的系统权限,用来登录到远程数据库的帐号必须有CREATE SESSION权限。这两种权限都包含在CONNECT角色中(CREATE PUBLIC DATABASE LINK权限在DBA中)。
一个公用数据库链接对于数据库中的所有用户都是可用的,而一个私有链接仅对创建它的用户可用,是不可授权的。由一个用户给另外一个用户授权私有数据库链接是不可能的,一个数据库链接要么是公用的,要么是私有的。
创建数据库链接时,还可以使用缺省登录方式,即不指定远程数据库的用户名和密码:
create public database link zrhs_link using ‘zrhs’;
在不指定用户名和口令的情况下,ORACLE使用当前的用户名和口令登录到远程数据库
如果没有配置TNSNAMES.ORA,第二种创建db link的方法:
create database link test connect to scott identified by tiger using'(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.112)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)'
查询创建好的db link:
select * from sys.link$;
一直以为只有private db link可以查到密码,原来public 的dblink 也可以看到密码。
只是需要用sys用户登录查询。
查询dblink的user 密码,用sys 登陆
select * from SYS.link$;
select * from SYS.link$ l, SYS.user$ u
WHERE l.owner# IN (SELECT kzsrorol
FROM x$kzsro) AND l.owner# = u.user#;
如果是private 的dblink,就可以用owner登录,查询 user_db_links
select * from user_db_links;
db link创建好之后,访问对象
访问对象要通过 object名@数据库链名。
4.同义词的删除
drop [public] synonym 同义词名称
要想删除私有同义词就 省略 public 关键字
要想删除公共同义词就要 包括public 关键字
例如:
drop synonym emp; --删除名为emp 的私有同义词
drop public synonym public_emp; --删除名为public_emp的公有同义词
5.查看所有同义词:
select * from dba_synonyms
创建好同义词之后,你可以对它进行DML(,update,)操作,当然select语句时肯定支持的
6.Oracle同义词的作用
同义词拥有如下好处:
节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;
扩展的数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;
同义词可以创建在不同一个数据库服务器上,通过网络实现连接
1) 多用户协同开发中,可以屏蔽对象的名字及其持有者。如果没有同义词,当操作其他用户的表时,必须通过user名.object名的形式,采用了Oracle同义词之后就可以隐蔽掉user名,当然这里要注意的是:public同义词只是为数据库对象定义了一个公共的别名,其他用户能否通过这个别名访问这个数据库对象,还要看是否已经为这个用户授权。
2) 为用户简化sql语句。上面的一条其实就是一种简化sql的体现,同时如果自己建的表的名字很长,可以为这个表创建一个Oracle同义词来简化sql开发。
3)为远程数据库的对象连接提供位置透明性。
[oracle 删除同义词]
-
删除同义词,百科如何删除同义词项
2021-05-08 18:57:46百科如何删除同义词项今年4月、5月底,百抄科对于词条的收录标准更2113高5261了,商业类词条几乎无一4102通过,理由很简1653答:不是公众、不具有重大社会影响力、人气不高的,都不具备收录标准. 正当途径都是无法...百科如何删除同义词项
今年4月、5月底,百抄科对于词条的收录标准更2113高5261了,商业类词条几乎无一4102通过,理由很简1653答:不是公众、不具有重大社会影响力、人气不高的,都不具备收录标准. 正当途径都是无法创建通过的,如有需要可以找本工作室. 任何难度的词条,都可以公关通过. __________________________________________________________
任何类型词条,都可快速通过,百度户用户可以找到我们。
电脑术语中删除的同义词
卸载
oracle中把表删了重新建同名表,会影响同义词吗
删除表不会导致同义词删除,没有表同义词会变成无效,表出现后重新有效。
那个表的问题需要报错信息,最好提供具体操作步骤和错误以及日志。
Oracle 在配置EM时总是提示有错误,按照网上提供的方式删除同义词什么的还是有错误
先删bai除 然后创建的时du候用recreate命令
$ emca -config dbcontrol db -repos recreate
有的时候删除之后直接zhi用create命令会创dao建不成功,需要用recreate命令,回10g中经发生。一答般recreate就能搞定,但是我曾经还碰到一种情况,就是创建OEM的时候会创建三个用户MGMT_VIEW、DBSNMP另一个忘了,oracle在创建这个几个用户的使用默认的是简单的口令,
如果你的口令文件设置profile的话,用户可能会因口令问题创建不成功,查看log会有ORA-28003错误。这个时候禁用一下profile就行
alter profile DEFAULT limit password_verify_function null;
我想删除一个百度百科词条,且要让如果搜索这个词条,自动转到另一个同义词条里去,并作出“…一般指…”
你好,要是违规的词条可以删除,在词条右下角投诉让管理员删除。如果是一个词条有了新的名字,重新创建一个,可以到“百度百科”贴吧去申请把两个词条合并,不需要删除任何一个词条的。
-
Oracle 同义词删除不掉
2022-05-12 13:47:55oralce数据库同义词删除就卡住建立同义词后删除不掉;
分析愿意:
1、锁
2、进程被挡住了
解决方法:
1、杀掉锁进程//查询进程 select sql_fulltext, b.sid, b.serial#, 'alter system kill session''' || b.SID || ',' || b.serial# || ''';', b.username, b.USERNAME, b.MACHINE, b.PROGRAM from v$process a, v$session b, v$sqlarea c where a.addr = b.paddr and b.sql_hash_value = c.hash_value order by sql_text;
查询结果
将查询结果复制出来执行:alter system kill session '198,39'; alter system kill session '493,24696';
1. 其中有个进程是当前plsql'连接的杀不掉,无需理会 2. 强制删除使用关键字IMMEDIATE
alter system kill session '493,24696‘ IMMEDIATE;
2、关闭所有数据库连接进程,然后执行删除
执行sql找到spidselect spid from v$process where ADDR in ( select p.addr from v$process p where pid <> 1 minus select s.paddr from v$session s)
然后在服务器杀掉进程
这种杀进程的方式我没有弄成功。我用的是下面这种方式
我把当前用户表的连接都中断了,发现同义词已经删除了。
感觉是有其他线程在执行,挡住了drop synonym table
的执行。
-
oracle删除同义词
2020-03-26 20:34:02之前做存储过程的时候,加了全局同义词,发版本的时候删除失败,痛不欲生 我的存储过程 create or replace abc is begin end; / create or replace public synonym abc for root.abc grant execute on abc to abc... -
Oracle中定义以及使用同义词的方法
2020-09-09 07:01:39主要给大家介绍了关于Oracle中定义以及使用同义词的相关资料,需要的朋友可以参考下 -
Oracle同义词的创建与删除
2021-05-02 10:40:35普通用户创建的同义词一般都是私有同义词,公有同义词一般由DBA创建,普通用户如果希望创建同义词,则需要CREATE PUBLIC SYNONYM这个系统权限。创建私有同义词的命令是CREATE SYNONYM,它的语... -
Oracle中创建,删除同义词 Synonym
2021-05-01 11:54:47对另一个数据对象而言同义词是一个别名。public同义词是针对所有用户的,相对而言private同义词则只针对对象拥有者或被授予权限的账户。在本地数据库中同义词可以表示表、视图、序列、程序、函数或包等数据对象,也... -
同义词+同义词类别+创建同义词+删除同义词+同义词的作用
2017-06-02 11:44:38同义词1同义词是表、视图、序列、存储过程、包等模式对象的一个别名。 2与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。 3在使用同义词时,Oracle数据库将它翻译成对应方案对象的... -
oracle同义词 创建,查询,删除
2021-05-01 05:25:53创建同义词的时候,需要看是在相同的库还是不同库,相同的库下建同义词不需要创建dblink,不同库需要创建dblink,创建dblink方法见https://my.oschina.net/schuppe/blog/15032001、创建同义词create or replace ... -
【SQL】同义词 SYNONYM
2021-01-16 22:09:28删除同义词DROP SYNONYM 定义 同义词可以是任意表、视图、序列等对象的别名 Use the CREATE SYNONYM statement to create a synonym, which is an alternative name for a table, view, sequence, operator, ... -
ORACLE同义词总结
2021-05-04 09:36:56同义词概念Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据库的使用范围,能够在不同... -
oracle 同义词 synonym 创建与删除表
2018-11-13 18:30:13删除同义表tableB:drop synonym tablenameB 最近工作遇到这样一个问题,我们本来的数据库在A里面,但是新开的项目想在数据库A下面的一个子用户B里面。A里面存在我们部门用到的所有表,但是新开的项目想在B... -
同义词查询_java 同义词查询怎么做?
2021-04-13 00:31:19同义词查询心路同行查询所有同义词查询近义词: 查问,盘问 [拼音] [chá xún] [释义] 查考询问所有近义词:一共,一切,一齐,全体,全数,全盘,全豹,全部,全面,完全,悉数,整个,统统,通盘,总共[拼音] [suǒ... -
Oracle 同义词的简单介绍、创建及删除方法
2020-08-26 15:36:25由创建同义词的用户所有,可以通过授权控制其他用户是否有权使用该同义词 公有: 公有的由一个特殊的用户组所有,数据库中所有用户均可使用 私有创建方法: CREATE OR REPLACE SYNONYM "同义词名字" FOR "参照... -
oracle同义词创建(synonym)
2020-12-20 20:51:38在现在的项目中会有很多...同义词的语法是:CREATE [OR REPLACE] [PUBLIC] SYNONYM [ schema.] 同义词名称 FOR [ schema.] object [ @dblink ];创建同义词的时候还需要赋值相关的权限:首先是:用sys账号给DM账号赋... -
Oracle 同义词synonym创建和删除
2018-05-07 11:58:49一.Oracle 数据库对象又称模式对象数据库对象是逻辑结构的集合,最基本的数据库对象是表其他... 同义词共有两种类型: (1) 私有同义词只能在其模式内访问,且不能与当前模式的对象同名 (2) 公有同义词可被所有... -
Oracle 原理: 公有同义词 和 私有同义词
2020-02-28 00:38:55同义词是现有对象的一个别名,和 C++ 里面的typedef关键字很像。同义词都能简化SQL语句,隐藏对象的名称和所有者,也可以提供对对象的公共访问。在Oracle中,同义词分为公有同义词和私有同义词。公有同义词可被所有... -
创建同义词synonym
2021-05-05 03:03:23还有就是,删除了同义词,不会连同删除源表,这也是确保源表数据的安全。以下是创建同义词并测试的过程。---创建同义词:--使用suxing用户尝试给测试表创建一个同义词:suxing@PROD>create sy... -
Oracle的sql基本语法总结(3)-- Oracle synonym 同义词的创建、查看、删除、作用
2019-12-17 19:50:18一、Oracle synonym 同义词。 语法结构: 案例解析: --基础准备与说明: synonym 同义词创建: 创建同义词补充说明(远程操作)。 二、Oracle synonym 同义词作用。 -
Oracle synonym 同义词创建与删除
2021-02-07 15:23:46Oracle synonym 同义词1、Oracle...2、Oracle同义词常常是给表、视图、函数、过程、包等制定别名,可以通过CREATE 命令进行创建、ALTER 命令进行修改、DROP 命令执行删除操作。3、Oracle synonym 同义词按照访问权限... -
达梦数据库-同义词
2020-07-30 19:01:34千里之行始于足下,梦想不付之行动,终究是纸上谈兵 经过一段时间的达梦DCP培训让学习了好多支持点。让我对达梦的理解更加深刻。...3、普通同义词:在某个模式下面定义的同义词,引用同义词需要加上 -
Oracle同义词总结归纳
2021-06-01 18:57:39同义词概念 Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据库的使用范围,能够... -
Oracle批量创建同义词
2021-05-04 01:45:47一、介绍Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据库的使用范围,能够在不同的... -
oracle同义词
2021-05-02 03:10:45oracle同义词----------------------------------------------------------------------------相关知识:Oracle SYNONYM(同义词)----------------------------------------------------------------------------是一... -
oracle同义词说明
2021-05-02 03:35:22oracle同义词说明:1....普通用户创建的同义词一般都是私有同义词,公有同义词一般由DBA创建,普通用户如果希望创建同义词,则需要CREATE PUBLIC SYNONYM这个系统权限。创建私有同义词的命令是CREA...