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)
)
drop
database link
DBLINKTEST;
--查询所有创建的dblink
select
* from
dba_db_links;
select
* from
tb@dbTest
tb:远程数据库中的表名
create
public
database link
foundation3
connect
to foundation
identified by
foundation
(DESCRIPTION =((ADDRESS =(PROTOCOL = TCP)
(HOST = 10.254.11.102)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';
--查询服务的名字
SELECT
* FROM
GLOBAL_NAME
出错解析
1、
出现如图的错误时,说明没有创建好正确的dblink,
解决方法参考上面的2)、创建dblink中的创建方法即可
|