连接到Oracle的几种命名方式

数据库 Oracle
从事Oracle相关工作的人,每天都会使用各种工具连接到Oracle数据库,比如:SQL*Plus、PL/SQL、TOAD、SQLDeveloper等等,下面就列举了几种连接到Oracle的方式,本例中使用的是SQL*Plus为例。

从事Oracle相关工作的人,每天都会使用各种工具连接到Oracle数据库,比如:SQL*Plus、PL/SQL、TOAD、SQLDeveloper等等,下面就列举了几种连接到Oracle的方式,本例中使用的是SQL*Plus为例。

[[193857]]

1、Easy Connect命名方式

这种方式是一种很简单的方式,它不需要去访问tnsnames.ora文件,而去直接连接数据库。

语法:

  1. CONNECT username@[//]host[:port][/[service_name][:server]][/instance_name]] 
  2.  
  3. Enter passwordpassword 

使用示例:

  1. [oracle@rhel6 admin]$ sqlplus /nolog 
  2.   
  3. SQL*Plus: Release 11.2.0.1.0 Production on Thu Jun 1 15:34:21 2017 
  4.   
  5. Copyright (c) 1982, 2009, Oracle.  All rights reserved. 
  6.   
  7. idle>conn zx@192.168.56.2:1522/orcl 
  8. ERROR: 
  9. ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA 
  10.   
  11. idle>conn zx@'192.168.56.2:1522/orcl' 
  12. Enter password:  
  13. Connected. 
  14. zx@ORCL>conn zx/zx@'192.168.56.2:1522/orcl' 
  15. Connected. 
  16. zx@ORCL>conn zx/zx@192.168.56.2:1522/orcl 
  17. Connected. 
  18. zx@ORCL>conn zx@192.168.56.2:1522/orcl 
  19. ERROR: 
  20. ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA 
  21.   
  22.   
  23. 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文件中,每个网络服务器对应一个连接描述符。这种方法也是工作中最常会用到的方法。

下面是一个连接描述符的例子:

  1. orcl= 
  2. (DESCRIPTION=  
  3.   (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=1522)) 
  4.   (CONNECT_DATA=  
  5.      (SERVICE_NAME=orcl))) 

tnsnames.ora文件一般存放在$ORACLE_HOME/network/admin目录下。

使用语法:

  1. CONNECT username@net_service_name  
  2. Enter passwordpassword 

连接示例:

  1. [oracle@rhel6 admin]$ sqlplus /nolog 
  2.   
  3. SQL*Plus: Release 11.2.0.1.0 Production on Thu Jun 1 15:49:55 2017 
  4.   
  5. Copyright (c) 1982, 2009, Oracle.  All rights reserved. 
  6.   
  7. idle>conn zx@orcl 
  8. Enter password:  
  9. Connected. 
  10. 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

责任编辑:武晓燕 来源: 51CTO博客
相关推荐

2010-09-25 14:48:55

SQL连接

2009-12-15 18:24:02

Ruby连接到orac

2018-02-05 08:36:22

NetAppVeeam AWS存储

2010-07-16 13:41:08

SQL Serverl

2010-03-31 16:28:11

Oracle数据库

2021-08-06 18:37:50

SQL表连接方式

2010-09-28 09:08:40

Oracle

2010-04-06 11:02:30

Oracle 数据库

2011-05-20 09:55:26

Oracle连接

2010-04-08 18:45:35

Oracle数据库

2021-05-07 16:19:36

异步编程Java线程

2021-01-19 11:56:19

Python开发语言

2010-04-07 18:26:43

Oracle数据库

2010-04-08 18:54:32

Oracle数据库

2011-03-25 09:05:02

Oracle数据库共享连接专用连接

2009-12-15 18:15:24

Ruby连接到LDAP

2010-04-06 10:52:06

Oracle数据库

2021-08-02 11:13:28

人工智能机器学习技术

2010-11-24 09:56:20

mysql拷贝表

2021-10-07 20:36:45

Redis集群场景
点赞
收藏

51CTO技术栈公众号