共计 2071 个字符,预计需要花费 6 分钟才能阅读完成。
从事 Oracle 相关工作的人,每天都会使用各种工具连接到 Oracle 数据库,比如:SQL*Plus、PL/SQL、TOAD、SQLDeveloper 等等,下面就列举了几种连接到 Oracle 的方式,本例中使用的是 SQL*Plus 为例。
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
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-06/144438.htm