在数据库里创建了db-link,总是在后面缀有.REGRESS.RDBMS.DEV.US.ORACLE.COM
无法去掉。
在网上搜索了很多方法,根本不行。很多方法试过以后,偶尔有一次去掉了。但是到现在还是糊里糊涂的,都搞不清正确的步骤。请教有实践经验的给个完整的步骤,而且是能实现的。有些人随便粘贴的方法自己都没试验过,把我害得好苦啊。
谢了。
无法去掉。
在网上搜索了很多方法,根本不行。很多方法试过以后,偶尔有一次去掉了。但是到现在还是糊里糊涂的,都搞不清正确的步骤。请教有实践经验的给个完整的步骤,而且是能实现的。有些人随便粘贴的方法自己都没试验过,把我害得好苦啊。
谢了。
解决方案 »
- 安装时oracle9i出现的奇怪问题,
- oracle 表结构导入导出问题
- 向信息表policy成批插入数据并删除重复数据 40-100万数据 oracle
- 数据库查询
- 求一個存储过程
- imp的错误,别人的oracle数据库EXP出来的.DMP文件,导入失败?
- 数据库开发版大斑竹IronPromises已经同意我辞去oracle版斑竹了,离别前散分!
- minus是什么意思?是个函数吗?怎么用?
- ORACLE 11G R2 RAC 设置监听密码并取消本地用户认证后 无法动态注册
- 请教下这个存储过程编译不过,是什么原因呢?
- 单表并发10W条数据插入,是否会导致性能问题?
- 控制文件损坏导致的ora-600 急,在线等
里面有没有 NAMES.DEFAULT_DOMAIN 的设置
$vi $ORACLE_HOME/network/admin/tnsnames.ora
添加如下行,其中DBLINK为连接名(可自定义),HOST和PORT为数据库侦听的IP及端口,SERVICE_NAME为数据库的SID,
TESTDBLINK =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.202)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TEST)
)
)
2.登录本地数据库,创建DBLINK
执行如下查询语句,其中TESTDB为DBLINK名(可自定义),TESTDBLINK为先前在tnsnames.ora中定义的连接名,dbuser为用户名,***为密码
create database link TESTDB
connect to dbuser identified by ***
using 'TESTDBLINK';
dblink 创建语法参考:
Oracle DB Link
http://blog.csdn.net/tianlesoftware/article/details/4698642楼主后面的:.REGRESS.RDBMS.DEV.US.ORACLE.COM 是由Global_names 参数决定的。 Global_names 是一个布尔值,global_names的作用是创建db link时是否强制使用远程数据库的global_name,如果global_names=true,则db link name必须要求是remote database的global_name,否则创建之后db link 不能连同,缺省值是false。多用于分布式系统。具体参考:
DBID,SID,DB_NAME,DB_DOMAIN,INSTANCE_NAME,DB_UNIQUE_NAME,SERVICE_NAMES 及监听参数的说明
http://blog.csdn.net/tianlesoftware/article/details/6086066
中的2.8 小节
建的DBLINK就不会带后面那么多的后缀了~~~
-- 即修改 tnsnames.ora 文件!
-- (此文件一般在:$ORACLE_HOME/network/admin 目录下,
-- 如:D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora)
-- 类似代码如下:# 我本地的服务名
LYMORA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = luoyoumou)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = lymora)
)
)# 远程机器的服务名:
SZTYORALF7 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.7)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = sztyora)
)
)# 192.168.5.7 是远程机器的 IP 地址
# sztyora 是远程服务器的 Oracle SID
# SZTYORALF7 是你创建的服务名!-----------------------------------------------------------------------
# 然后在你本地机器的相应用户(你想哪个用户连接远程机器,就是哪个用户)
# 下创建一个 DBLink (数据库链接),如:sqlplus /nolog
conn / as sysdba
sys@LYMORA> grant create database link to scott;授权成功。已用时间: 00: 00: 00.07-- 此时创建远程数据库链接有两种方法:-- *1) 不依赖你本机器已经新建的远程服务名 ( sztyoralf7 )
scott@LYMORA> create database link sztylf7
2 CONNECT TO hll IDENTIFIED BY szty2009hll
3 using '(DESCRIPTION =
4 (ADDRESS_LIST =
5 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.7)(PORT = 1521))
6 )
7 (CONNECT_DATA =
8 (SERVICE_NAME = sztyora)
9 )
10 )';数据库链接已创建。已用时间: 00: 00: 00.15# *1) sztylf7 是新建的链接名;
# *2) hll 是远程机器的一个用户;
# *3) szty2009hll 是远程机器 hll 用户的密码;
# *4) 192.168.5.7 是远程机器的IP;
# *5) 1521 是远程机器的 Oracle 端口号;
# *6) sztyora 是远程机器的 ORACLE SID;scott@LYMORA> select count(*) from city@sztylf7; COUNT(*)
----------
397已选择 1 行。已用时间: 00: 00: 05.65-- *2) 依赖你本机器已经新建的远程服务名 ( sztyoralf7 )scott@LYMORA> create database link sztylf7b connect to hll
2 identified by szty2009hll using 'SZTYORALF7';数据库链接已创建。已用时间: 00: 00: 00.00
scott@LYMORA> select count(*) from city@sztylf7b; COUNT(*)
----------
397已选择 1 行。已用时间: 00: 00: 04.48-- 以上创建的都是私有链接(没有 public 关键字)
-- 若要创建公共链接:
scott@LYMORA> create public database link sztylf7b connect to hll
2 identified by szty2009hll using 'SZTYORALF7';-- 此时你本地数据库的其他用户可以用此链接连接到远程数据库!-- 删除链接:
drop database link sztylf7b; -- 删除私有链接
drop public database link sztylf7b; -- 删除公共链接-------------------------------------------------------------------------------------------------------------------------
-- DB link使用步骤
--1.设置global_names=false--
alter system set global_names=false
--2.创建DB link---
---------------- 创建私有链接名 -----------------------------------
create database link sztylf8
CONNECT TO hll IDENTIFIED BY szty2009hll
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.8)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = sztyora)
)
)';-- 其中
-- *(1) hll 是远程数据库的用户名
-- *(2) szty2009hll 是远程数据库的密码
-- *(3) 192.168.5.7 是远程数据库的IP(我这里是用的内网IP,你也可以用外网IP,但是那将影响你的查询速度)
-- *(4) 1521 是远程数据库启用的端口号
-- *(5) sztyora 是远程数据库的SID-- 若要创建公共链接名的话:
create public database link sztylf
......