Oracle Net8 网络配置和联接

王朝oracle·作者佚名  2008-05-31
宽屏版  字体: |||超大  

1)服务器端配置Listener:

添加Listeners , 设置选择 DataBase Name方式,填写2个参数 { HomeDir = /ora/ , SID =ora8 }

2)启动Net8服务lsnrctl start

3)停止Net8服务lsnrctl stop

4)参数文件摘要

5)客户端配置:添加 Net Service Name ,同Windows客户端一样格式

1)服务器端配置Listener:

执行/ora/bin/netasst

填写描述-首选Oracle服务:

。PROTOCOL = TCP

。HOST = 172.17.2.22

。PORT = 1521

查看生成的 Net8 Server配置文件:listener.ora

[oracle@lin admin]$ more listener.ora

# LISTENER.ORA Configuration File:/ora/network/admin/listener.ora

# Generated by Oracle Net8 Assistant

LISTENER =

(DESCRIPTION =

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

(PROTOCOL_STACK =

(PRESENTATION = TTC)

(SESSION = NS)

)

)

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(ORACLE_HOME = /ora)

(SID_NAME = ora8)

)

)

### 假如指明监听服务的"全局名",则有类似这一行:(GLOBAL_DBNAME = ora8)

2)启动Net8服务lsnrctl start

首先你可以这样取得帮助:

[oracle@lin /ora]$ lsnrctl

LSNRCTL help

然后开始启动:start

[oracle@lin bin]$ lsnrctl start

联接时,机器会逐步告诉你正在启动…,正在联接…,已经联接的状态,最后他说成功啦! 下面是一些简要信息:

LSNRCTL for Linux: Version 8.1.5.0.0 - ProdUCtion on 19-NOV-99 22:02:54

(c) Copyright 1998 Oracle Corporation. All rights reserved.

Starting /ora/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 8.1.5.0.0 - Production

System parameter file is /ora/network/admin/listener.ora

Log messages written to /ora/network/log/listener.log

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.17.2.22)(PORT=1521))

(PROTOCOL_STACK=(PRESENTATION=TTC)(SESSION=NS)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.17.2.22)(PORT=1521))

(PROTOCOL_STACK=(PRESENTATION=TTC)(SESSION=NS)))

STATUS of the LISTENER

------------------------

Alias LISTENER

Version TNSLSNR for Linux: Version 8.1.5.0.0 - Production

Start Date 19-NOV-99 22:02:54

Uptime 0 days 0 hr. 0 min. 0 sec

Trace Level off

Security OFF

SNMP OFF

Listener Parameter File /ora/network/admin/listener.ora

Listener Log File /ora/network/log/listener.log

Services Summary...

ora8 has 1 service handler(s)

The command completed successfully

以上提示说,1个服务被处理,命令成功完成。

3)停止Net8服务lsnrctl stop

最简单的方法是 [oracle@lin /ora]$ lsnrctl stop

有时侯,进程出了差错,tnslsnr没有响应,像WindowsNT常犯的毛病一 样,

这里有一个强硬的手段:先找出它的进程号,然后 kill掉!

[oracle@lin /ora]$ ps -efgrep tns

oracle 1331 1 0 15:51 ? 00:00:00 /ora/bin/tnslsnr LISTENER -inher

或使用更少的参数也能找到tnslsnr:

[oracle@lin /ora]$ ps -e

PID TTY TIME CMD

1331 ? 00:00:00 tnslsnr

现在杀死PID = 1331的进程:

[oracle@lin /ora]$ kill 1331

LSNRCTL象 SVRMGRL一样,是一个服务器治理程序,有不少参数,或者说是 子程序,带星号的是一个外部程序。

[oracle@lin bin]$ lsnrctl stop

LSNRCTL for Linux: Version 8.1.5.0.0 - Production on 19-NOV-99 22:02:50

(c) Copyright 1998 Oracle Corporation. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.17.2.22)(PORT=1521))

(PROTOCOL_STACK=(PRESENTATION=TTC)(SESSION=NS)))

The command completed successfully

Listeners =DataBase Name = Global DB Name =ora8, HomeDir = /ora/ ,SID =ora8

[oracle@lin oracle]$ cd /ora/net*/ad*

[oracle@lin admin]$ ls

listener.ora namesini.sql samples sqlnet.ora

namesdrp.sql namesupg.sql sqlnet.fdf tnsnames.ora

下面是在 Windwos NT/98 上远程控制 TNSLSNR 的情形(图略)。

4)参数文件摘要

[oracle@lin admin]$ more /u01/app/oracle/admin/ora8/pfile/initora8.ora

db_name = ora8

instance_name = ora8 ## "事例名"是要害字

service_names = ora8

control_files = ("/u01/app/oracle/oradata/ora8/control01.ctl", "/u01/app/oracle/oradata/ora8/control02.ctl")

db_block_buffers = 8192

shared_pool_size = 4194304

log_checkpoint_interval = 10000

log_checkpoint_timeout = 1800

processes = 50

log_buffer = 163840

log_archive_start = true

log_archive_dest_1 = "location=/u01/app/oracle/admin/ora8/arch"

log_archive_format = %t_%s.dbf

# 切记打开回滚段

rollback_segments = (r01, r02, r03, r04)

# global_names = false ### 监听服务无需指明"全局名"

# oracle_trace_enable = true

# define Directories to store trace and alert files

background_dump_dest = /u01/app/oracle/admin/ora8/bdump

core_dump_dest = /u01/app/oracle/admin/ora8/cdump

user_dump_dest = /u01/app/oracle/admin/ora8/udump

db_block_size = 2048

remote_login_passWordfile = exclusive

os_authent_prefix = ""

compatible = "8.1.5" ## 也可以兼容 "8.0.5"

5)客户端网络配置

[oracle@lin admin]$ more tnsnames.ora

# TNSNAMES.ORA Configuration File:/ora/network/admin/tnsnames.ora

# Generated by Oracle Net8 Assistant

使用net8助理,结果自动保存在 tnsnames.ora 中,

[oracle@lin /ora]$ netass* 添加Service: 名称ora8,参数如下:

PROTOCOL=TCP HOST=172.17.2.22 PORT=1521 Oracle_SID=ora8

机器解释成一个Oracle服务器地址包:

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

(PROTOCOL_STACK=(PRESENTATION=TTC)(SESSION=NS))

)

一般说来,客户端采用Windows9x/NT/2000,因为这里软件开发轻易,程序员和工具较为普及。

Windows 客户端网络配置与此类似,其内容见于: \OraNT\net80\Admin\tnsname.ora

ORA8.WORLD =

(DESCRIPTION =

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

(CONNECT_DATA = (SID = ora8))

)

-------------------------------------------

在Windows2000(beta3专业版)中安装Personal Oeacle8.05时,监听服务安装失败,

只要理解以上oracle结构原理,可以手工复制Net8文件,修改配置:

copy CD-ROM\.\NT_x86\server\lsnrctl80.exe,tnslsnr80.exe,tnsping80.exe C:\orant\bin

copy CD-ROM\.\listener.ora C:\orant\net80\admin

我不久前有这么一次经历。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有