oracle数据同步 建同义表后报错:无法解析指定的连接标识符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据同步 建同义表后报错:无法解析指定的连接标识符相关的知识,希望对你有一定的参考价值。
/*******************************************/
--可用数据库
--1.本地库
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx )(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
) )
--2.统计库
BFSAS =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx )(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bfsas)
) )
/********************************************/
--在本地库和统计库里都有test1表,结构一样.
--现需要当统计库中的test1表变化时,本地库里的test1也相应变化
/*******************************************/
--当从统计库向本地库同步数据时,在统计库上做了所有的设置:
--在统计库中建立bfsas与orcl的dblink,创建dblink名为 DBLINK01
create public database link DBLINK01
connect to scott
identified by tiger
using 'orcl'
--对test1表建立同义表test001
create or replace synonym test001
for orcl.test1@DBLINK01
/********以上运行都没问题*********/
--运行统计库上的test001;
select * from test001;
--此时,报错:
ORA-12154:TNS:无法解析指定的连接标识符
在guanam 亲的指导下,我在统计库tnsname下边加了orcl的tns entry
重新运行出现新的报错,如图。
ORA-00942:表或视图不存在
ORA-02063:紧接着line(起自dblink01)
语句本身就错了,你的的用户是scott,不是orcl,改成如下试试:
create or replace synonym test001 for scott.test1@DBLINK01; 参考技术A 统计库上的tnsname加下边的tns entry了没有
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx )(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
) )
无法在 Oracle 中使用函数、过程或序列的同义词
【中文标题】无法在 Oracle 中使用函数、过程或序列的同义词【英文标题】:Unable to use synonym of functions, procedures or seq in Oracle 【发布时间】:2014-03-21 13:18:32 【问题描述】:我在用户 ID XXX 的用户 ID YYY 中创建了 functions/proc/seq 的同义词。
create SYNONYM my_seq FOR XXX.my_seq
当我尝试在用户 YYY 中使用 seq 时,出现以下错误:
ORA-00942:表或视图不存在
and with functions : ORA-00904: : invalid identifier
请告诉我哪里做错了。
【问题讨论】:
它显示在 Sqldeveloper 的同义词列中。 您需要在对象上修复 GRANTS。 您能帮帮我吗?实际上,我对 Oracle DB 很固执:D 【参考方案1】:我将用一个简单的例子来演示。我在一台服务器上有两个模式。 Schema1 和 Schema2。
我登录到 Schema1 并运行下面的脚本。
-- Create sequence
create sequence originalSeq
minvalue 1
maxvalue 999999999999999999999999
start with 1
increment by 10
cache 20;
GRANT SELECT ON originalSeq TO SCHEMA2;
然后我登录到 Schema2 并运行以下脚本。
create or replace synonym pointertooriginalsreq
for SCHEMA1.originalSeq;
select pointertooriginalsreq.nextval from dual
这应该适用于 Oracle 8.1.7 以上的所有版本。如果您仍然遇到问题,请告诉我。
【讨论】:
【参考方案2】:您必须提供来自 XXX 用户的授权:
GRANT SELECT ON my_seq TO YYY;
【讨论】:
以上是关于oracle数据同步 建同义表后报错:无法解析指定的连接标识符的主要内容,如果未能解决你的问题,请参考以下文章
SQLPLUS能连接oracle10g,PLSQL也能连,但网页程序却报错ORA-12154: TNS: 无法解析指定的连接标识符
PLSQL链接oracle报错--ORA-12154: TNS: 无法解析指定的连接标识符
PLSQL链接oracle报错--ORA-12154: TNS: 无法解析指定的连接标识符
exp/imp报错:ORA-12154: TNS: 无法解析指定的连接标识符