dblink解析
1)给当前用户授予创建dblink的权限,创建的dblink是public的
CREATE PUBLIC DATABASE LINK system
2)、创建dblink
create public database link dbTest connect to scoot identified by 1234
using 'test
';
dbTest:创建的dblink名字
scoot:需要连接的远程用户的名字
1234:密码
test:在本地数据库的tnsnames.ora配置文件中配置的服务名称
tnsnames.ora配置文件解析
G:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN:oracle的安装目录中的指定路径下找到
tnsnames.ora配置文件用记事本打开如下图,添加
FUN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =ip)(PORT = 端口号))
)
(CONNECT_DATA =
(SERVICE_NAME = 服务名)
)
)
或者用如下SQL语句创建dblink,但是容易出问题,很容易跟本地的orcl服务起冲突
create public database link LinkRemoteTestDB2 connect to scoot identified by orcl
using 'ORACLE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.3.129)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)';
--删除dblink
drop database link DBLINKTEST;
--查询所有创建的dblink
select * from dba_db_links;
--查询远程的数据库中的表数据
select * from tb@
dbTest
tb:远程数据库中的表名
dbTest:dblink名字
create public database link foundation3
connect to foundation identified by foundation
using '
(DESCRIPTION =((ADDRESS =(PROTOCOL = TCP)
(HOST = 10.254.11.102)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';
--查询服务的名字
SELECT * FROM GLOBAL_NAME
出错解析
1、
出现如图的错误时,说明没有创建好正确的dblink,
解决方法参考上面的2)、创建dblink中的创建方法即可