从事Oracle相关工作的人,每天都会使用各种工具连接到Oracle数据库,比如:sql*Plus、PL/sql、TOAD、sqlDeveloper等等,下面就列举了几种连接到Oracle的方式,本例中使用的是sql*Plus为例。
1、Easy Connect命名方式
这种方式是一种很简单的方式,它不需要去访问tnsnames.ora文件,而去直接连接数据库。
语法:
CONNECTusername@[//]host[:port][/[service_name][:server]][/instance_name]] Enterpassword:password
使用示例:
[oracle@rhel6admin]$sqlplus/nolog sql*Plus:Release11.2.0.1.0ProductiononThuJun115:34:212017 Copyright(c)1982,2009,Oracle.Allrightsreserved. idle>connzx@192.168.56.2:1522/orcl ERROR: ORA-12504:TNS:listenerwasnotgiventheSERVICE_NAMEinCONNECT_DATA idle>connzx@'192.168.56.2:1522/orcl' Enterpassword: Connected. zx@ORCL>connzx/zx@'192.168.56.2:1522/orcl' Connected. zx@ORCL>connzx/zx@192.168.56.2:1522/orcl Connected. zx@ORCL>connzx@192.168.56.2:1522/orcl ERROR: ORA-12504:TNS:listenerwasnotgiventheSERVICE_NAMEinCONNECT_DATA Warning:YouarenolongerconnectedtoORACLE.
从上面的例子中可以看到在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目录下。
使用语法:
CONNECTusername@net_service_name Enterpassword:password
连接示例:
[oracle@rhel6admin]$sqlplus/nolog sql*Plus:Release11.2.0.1.0ProductiononThuJun115:49:552017 Copyright(c)1982,Oracle.Allrightsreserved. idle>connzx@orcl Enterpassword: 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
原文链接:https://www.f2er.com/oracle/209012.html