从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) |