从事Oracle相关工作的人,每天都会使用各种工具连接到Oracle数据库,比如:SQL*Plus、PL/SQL、TOAD、SQLDeveloper等等,下面就列举了几种连接到Oracle的方式,本例中使用的是SQL*Plus为例。
创新互联公司基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业大邑服务器托管报价,主机托管价格性价比高,为金融证券行业服务器托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。
1、Easy Connect命名方式
这种方式是一种很简单的方式,它不需要去访问tnsnames.ora文件,而去直接连接数据库。
语法:
CONNECT username@[//]host[:port][/[service_name][:server]][/instance_name]] Enter password: password
使用示例:
[oracle@rhel6 admin]$ sqlplus /nolog SQL*Plus: Release 11.2.0.1.0 Production on Thu Jun 1 15:34:21 2017 Copyright (c) 1982, 2009, Oracle. All rights reserved. idle>conn zx@192.168.56.2:1522/orcl ERROR: ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA idle>conn zx@'192.168.56.2:1522/orcl' Enter password: Connected. zx@ORCL>conn zx/zx@'192.168.56.2:1522/orcl' Connected. zx@ORCL>conn zx/zx@192.168.56.2:1522/orcl Connected. zx@ORCL>conn zx@192.168.56.2:1522/orcl ERROR: ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA Warning: You are no longer connected to ORACLE.
从上面的例子中可以看到在Linux平台上使用Easy Connect连接时,如果连接串中没有密码,则需要把连接串使用引号引起来,否则会报错ORA-12504。而连接串中包含密码时则不需要使用引号引起来。
这是一种很简单的连接数据库的方法,不需要配置任何文件。
更详细的信息参考:http://docs.oracle.com/cd/E11882_01/network.112/e41945/naming.htm#NETAG255
2、Local命名方式
Local命名方式需要把网络服务名添加到tnsnames.ora文件中,每个网络服务器对应一个连接描述符。这种方法也是工作中最常会用到的方法。
下面是一个连接描述符的例子:
orcl= (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=1522)) (CONNECT_DATA= (SERVICE_NAME=orcl)))
tnsnames.ora文件一般存放在$ORACLE_HOME/network/admin目录下。
使用语法:
CONNECT username@net_service_name Enter password: password
连接示例:
[oracle@rhel6 admin]$ sqlplus /nolog SQL*Plus: Release 11.2.0.1.0 Production on Thu Jun 1 15:49:55 2017 Copyright (c) 1982, 2009, Oracle. All rights reserved. idle>conn zx@orcl Enter password: Connected. zx@ORCL>
从上面的例子中可以看到,在连接串中只需要指定对应的连接服务名就可以连接到对应的数据库。
可以使用OEM、netmgr、netca对tnsnames.ora进行配置。
tnsnames.ora中各参数的含义详细描述详见:http://docs.oracle.com/cd/E11882_01/network.112/e10835/tnsnames.htm#NETRF007
3、Directory命名方式
详细参考:http://docs.oracle.com/cd/E11882_01/network.112/e41945/naming.htm#NETAG265
4、External命名方式
详细参考:http://docs.oracle.com/cd/E11882_01/network.112/e41945/naming.htm#NETAG277