1.同一数据库下面
--创建同义词,(下述PORTALWWW为WWW的数据库用户名)
grant select on t_searchstat to mm_dls --(mm_dls当前用户)
create or replace synonym T_SEARCHSTAT for PORTALWWW.T_SEARCHSTAT;
2.不同数据库下面:
ORACLE 同义词(Synonyms和DBLinks)
数据库中 用户a 访问 用户b 中表t_department
首先在 库a中建立DBLinks 来链接两个库具体如下:
create database link TESTLINK1
connect to ACSYS//库b的某个用户名
identified by "djzcq"//对应的密码
using 'b';
//所在服务器的库命名 例如:HP240 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 101.101.211.101)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = test1)
)
)
那么 b对应的就是HP240(具体机子下的配置)
然后建立同义词 具体如下:
CREATE SYNONYM user1.t_dpt_01 FOR acsys.t_department@TESTLINK1;//t_department是库b中的表名
commit;
最后可以在库a中访问到库b中的表了,具体如下:
select * from t_dpt_01 ;
值得主意的是:只能访问指定的用户所拥有访问权限的表,例如库a的用户user1只能访问库b中用户acsys所拥有权限的表或其它对象。
--创建同义词,(下述PORTALWWW为WWW的数据库用户名)
grant select on t_searchstat to mm_dls --(mm_dls当前用户)
create or replace synonym T_SEARCHSTAT for PORTALWWW.T_SEARCHSTAT;
2.不同数据库下面:
ORACLE 同义词(Synonyms和DBLinks)
数据库中 用户a 访问 用户b 中表t_department
首先在 库a中建立DBLinks 来链接两个库具体如下:
create database link TESTLINK1
connect to ACSYS//库b的某个用户名
identified by "djzcq"//对应的密码
using 'b';
//所在服务器的库命名 例如:HP240 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 101.101.211.101)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = test1)
)
)
那么 b对应的就是HP240(具体机子下的配置)
然后建立同义词 具体如下:
CREATE SYNONYM user1.t_dpt_01 FOR acsys.t_department@TESTLINK1;//t_department是库b中的表名
commit;
最后可以在库a中访问到库b中的表了,具体如下:
select * from t_dpt_01 ;
值得主意的是:只能访问指定的用户所拥有访问权限的表,例如库a的用户user1只能访问库b中用户acsys所拥有权限的表或其它对象。