Oracle网络管理


一、配置文件说明

网络相关的3个配置文件,分别为listener.oratnsname.orasqlnet.orawindows目录在Oracle_HOME/dbhome_1/NETWORK/ADMIN文件夹下

其中listener.ora是服务器端的配置,如果数据库要让远程客户端访问就必须配置该文件;tnsname.ora是客户端的配置,如果客户端要连接某服务器就必须配置该配置文件;sqlnet.ora决定客户端如何查找连接字符串。sqlnet.ora的配置如下

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, HOSTNAME)

tnsname.ora目录中有如下配置

lala =

(DESCRIPTION=

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST=192.168.7.31)(PORT = 1522)

)

)

(CONNECT_DATA=

(SERVER = SHARED)

(SERVICE_NAME = orcl)

)

)

如果通过sqlplus连接数据库

C:\ >sqlplus sys/oracle@lala as sysdba

首先该操作数据库首先会查找tnsname.ora配置文件中是否有lala的配置记录如果tnsname.ora没有改配置记录,那么就会把lala当做是主机名。

如果sqlnet.ora的配置如下

SQLNET.AUTHENTICATION_SERVICES= (NTS)

 

NAMES.DIRECTORY_PATH= (TNSNAMES)

那么sqlplus就只会查找tname.ora的配置。

二、服务端(listener.ora)配置文件

动态注册:

配置如下

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.31)(PORT = 1521))

)

)

如果需要配置多个监听器只需要增加类似配置文件

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.31)(PORT = 1521))

)

)

LISTENER1 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.31)(PORT = 1522))

)

)

动态监听,数据库必须指定local_listener参数的值,登录数据库修改参数

SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS = (PROTOCOL = TCP)(HOST=192.168.7.31)(PORT = 1522)))'

说明数据库会动态注册到LISTENER1监听器,然后注册监听

SQL> alter system register;

静态注册:

配置如下

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.31)(PORT = 1521))

)

)

 

SID_LIST_LISTENER=

(SID_LIST=

(SID_DESC=

(SID_NAME= orcl)

(ORACLE_HOME=C:\app\oracle\product\11.2.0\dbhome_1)

(GLOBAL_DBNAME=orcl)

)

 

)

查看监听状态是会不管orcl实例有没有启动会有orcl的记录,但是都是UNKNOWN状态。

三、客户端(tnsname.ora)配置文件

如果服务器配置有共享连接,那么客户端可以使用共享方式连接,也可以设置专用连接。客户端的连接默认按照服务器端的连接方式。配置文件如下

#共享连接方式

orcl_shared =

(DESCRIPTION=

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST=192.168.7.31)(PORT = 1521)

)

)

(CONNECT_DATA=

(SERVER = SHARED)

(SERVICE_NAME = orcl)

)

)

#专用连接方式

orcl_dedicated =

(DESCRIPTION=

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST=192.168.7.31)(PORT = 1521)

)

)

(CONNECT_DATA=

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

 

现在可以测试客户端连接的状态,首先查看服务器监听器的状态

C:\Users\dkzx>lsnrctl service aa

 

LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 13-2 -2014 20:46:10

 

Copyright (c) 1991, 2010, Oracle. All rights reserved.

 

正在连接到

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.7.31)(PORT=1521)))

服务摘要..

服务 "orcl" 包含 1 个实例。

实例 "orcl", 状态 READY, 包含此服务的 7 个处理程序...

处理程序:

"D005" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready

DISPATCHER <machine: DKZX-PC, pid: 7480>

(ADDRESS=(PROTOCOL=tcp)(HOST=dkzx-PC)(PORT=60195))

"D004" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready

DISPATCHER <machine: DKZX-PC, pid: 18340>

(ADDRESS=(PROTOCOL=tcp)(HOST=dkzx-PC)(PORT=60194))

"D003" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready

DISPATCHER <machine: DKZX-PC, pid: 12164>

(ADDRESS=(PROTOCOL=tcp)(HOST=dkzx-PC)(PORT=60193))

"D002" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready

DISPATCHER <machine: DKZX-PC, pid: 17708>

(ADDRESS=(PROTOCOL=tcp)(HOST=dkzx-PC)(PORT=60192))

"D001" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready

DISPATCHER <machine: DKZX-PC, pid: 14068>

(ADDRESS=(PROTOCOL=tcp)(HOST=dkzx-PC)(PORT=60191))

"D000" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready

DISPATCHER <machine: DKZX-PC, pid: 9144>

(ADDRESS=(PROTOCOL=tcp)(HOST=dkzx-PC)(PORT=60190))

"DEDICATED" 已建立:0 已拒绝:0 状态:ready

LOCAL SERVER

命令执行成功

如图,共享连接方式(D00x)和专用连接方式(DEDICATED)目前都没有建立连接,现在用共享连接方式连接数据库。

C:\ >sqlplus sys/oracle@orcl_shared as sysdba

再次查看服务器监听状态,发现已经建立一条共享连接方式(D000),专用连接方式(DEDICATED)没有建立连接。

C:\Users\dkzx>lsnrctl service aa

 

LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 13-2 -2014 20:50:06

 

Copyright (c) 1991, 2010, Oracle. All rights reserved.

 

正在连接到

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.7.31)(PORT=1521)))

服务摘要..

服务 "orcl" 包含1 个实例。

实例 "orcl", 状态 READY, 包含此服务的 7 个处理程序...

处理程序:

"D005" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready

DISPATCHER <machine: DKZX-PC, pid: 7480>

(ADDRESS=(PROTOCOL=tcp)(HOST=dkzx-PC)(PORT=60195))

"D004" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready

DISPATCHER <machine: DKZX-PC, pid: 18340>

(ADDRESS=(PROTOCOL=tcp)(HOST=dkzx-PC)(PORT=60194))

"D003" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready

DISPATCHER <machine: DKZX-PC, pid: 12164>

(ADDRESS=(PROTOCOL=tcp)(HOST=dkzx-PC)(PORT=60193))

"D002" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready

DISPATCHER <machine: DKZX-PC, pid: 17708>

(ADDRESS=(PROTOCOL=tcp)(HOST=dkzx-PC)(PORT=60192))

"D001" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready

DISPATCHER <machine: DKZX-PC, pid: 14068>

(ADDRESS=(PROTOCOL=tcp)(HOST=dkzx-PC)(PORT=60191))

"D000" 已建立:1 已被拒绝:0 当前: 1 最大: 1022 状态: ready

DISPATCHER <machine: DKZX-PC, pid: 9144>

(ADDRESS=(PROTOCOL=tcp)(HOST=dkzx-PC)(PORT=60190))

"DEDICATED" 已建立:0 已拒绝:0 状态:ready

LOCAL SERVER

命令执行成功

下面使用专用连接登陆数据库

C:\ >sqlplus sys/oracle@orcl_dedicated as sysdba

查看服务端监听状态,发现专用连接方式(DEDICATED)也有一个连接

C:\Users\dkzx>lsnrctl service aa

 

LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 13-2 -2014 20:53:15

 

Copyright (c) 1991, 2010, Oracle. All rights reserved.

 

正在连接到

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.7.31)(PORT=1521)))

服务摘要..

服务 "orcl" 包含 1 个实例。

实例 "orcl", 状态 READY, 包含此服务的 7 个处理程序...

处理程序:

"D005" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready

DISPATCHER <machine: DKZX-PC, pid: 7480>

(ADDRESS=(PROTOCOL=tcp)(HOST=dkzx-PC)(PORT=60195))

"D004" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready

DISPATCHER <machine: DKZX-PC, pid: 18340>

(ADDRESS=(PROTOCOL=tcp)(HOST=dkzx-PC)(PORT=60194))

"D003" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready

DISPATCHER <machine: DKZX-PC, pid: 12164>

(ADDRESS=(PROTOCOL=tcp)(HOST=dkzx-PC)(PORT=60193))

"D002" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready

DISPATCHER <machine: DKZX-PC, pid: 17708>

(ADDRESS=(PROTOCOL=tcp)(HOST=dkzx-PC)(PORT=60192))

"D001" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready

DISPATCHER <machine: DKZX-PC, pid: 14068>

(ADDRESS=(PROTOCOL=tcp)(HOST=dkzx-PC)(PORT=60191))

"D000" 已建立:1 已被拒绝:0 当前: 1 最大: 1022 状态: ready

DISPATCHER <machine: DKZX-PC, pid: 9144>

(ADDRESS=(PROTOCOL=tcp)(HOST=dkzx-PC)(PORT=60190))

"DEDICATED" 已建立:1 已拒绝:0 状态:ready

LOCAL SERVER

命令执行成功

相关内容

    暂无相关文章