Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11682899
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-07-16 10:44:39

从Oracle10g开始,SQLPLUS连接远端Oracle数据库不再一定要依赖有tnsnames.ora文件。




在SQLPLUS中使用CONNECT连接的时候,如果连接远端数据库,需要指定服务名。这个服务名是在本地$ORACLE_HOME/network/admin/tnsnames.ora中配置的。

SQL> conn test/test@testdata已连接。
SQL>

这个连接所以成功,是由于tnsnames.ora中有如下的配置:

TESTDATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.88.94)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TESTDATA)
(SERVER = DEDICATED)
)
)

和建立数据库链时一样,Oracle在连接的时候也可以不使用服务名,而将服务名对应的所有信息完整的放到@后面:

SQL> conn test/test@(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.88.94)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = TESTDATA)(SERVER = DEDICATED)))已连接。
SQL>

但是这样似乎更加不方便。不但很难记忆,而且很容易出错。

Oracle10g开始可以利用简化的连接方式,只需要输入主机名、端口(可选)和服务就可以完成连接操作:

SQL> conn test/test@172.25.88.94/testdata已连接。
SQL> conn test/test@172.25.88.94:1521/testdata已连接。
SQL> conn test/test@//172.25.88.94:1521/testdata已连接。
SQL>

这种简化方式在sqlplus命令中以及创建CREATE DATABASE LINK中都可以使用。


阅读(237) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~