📄 ͺ
字号:
作者:一面湖水
日期:2000-1-23 4:35:58
支 持32 位 的ORACLE7 产 品-Sql*Net V2 的 安 装 与 应 用
山 东 省 肥 城 市 肥 城 矿 务 局 中 心 医 院 刘 茂 忠
---- 摘 要: 本 文 通 过 一 个 例 子, 详 细 介 绍 了UNIXSERVER 上 和WIN95 CLIENT 端( 网 络 协 议 为TCP/IP) 安 装32 位 支 持 的ORACLE7 产 品-Sql*Net V2 的 方 法, 并 介 绍 一 些 应 用 经 验。
---- 1 前 言
---- 在CILENT/SERVER 结 构 中 运 行 的ORACLE7 数 据 库, 它 们 之 间 的 连 接 多 是 通 过SQL*Net 建 立 和 撤 消 的, 它 将ORACLE 应 用 程 序 的 调 用 和 数 据 库 请 求 转 换 成 了 网 络 上 的 请 求, 并 支 持 多 种 通 信 协 议 之 间 的 转 移, 解 决 了 复 杂 环 境 中 的 网 络 连 接 问 题, 是ORACLE7 最 有 效 的 网 络 通 讯 工 具。
---- 随 着ORACLE 产 品 的 不 断 升 级, 用 户 都 陆 续 地 安 装 上 了ORACLE7, 抛 弃 了 原 来 的 通 讯 工 具SQL*NET V1 产 品, 换 上 了SQL*NET V2。 而 用 户 以 前 安 装 的 客 户 端SQL*NET V2 产 品 多 是 支 持16 位 的, 因 为 当 时 的 操 作 平 台 多 为WINDOWS3.1/3.2, 不 支 持32 位 处 理。 随 着WIN95 平 台 的 普 及, 出 现 了 支 持32 位 的SQL*NET V2 产 品, 使 用 它 能 够 更 好 地 改 善 数 据 通 讯 性 能。 本 文 以UNIX 上 的ORACLE7 数 据 库 为 例( 网 络 协 议 为TCP/IP), 简 明 地 介 绍 一 下SERVER 端 和CLIENT 端32 位SQL*NET V2 的 安 装 与 应 用 方 面 的 知 识, 希 望 能 够 对 用 户 带 来 帮 助。
---- 2 SQL*NET V2 的 安 装
---- 2 .1 SERVER 端 的 安 装
---- 在UNIX 操 作 系 统 下 安 装ORACLE7 时, 将SQL*NET V2 产 品 选 上, 装 入 就 行 了, 剩 下 的 工 作 是 配 置 两 个 文 件: 监 听 器 配 置 文 件listener.ora 和 连 接 描 述 符 文 件tnsnames.ora, 举 例 如 下:
---- 进 入ORACLE 的" 家" 目 录 下( 比 如 说 是/u/oracle), 继 续 进 入 下 列 目 录:
---- #cd network/admin
---- 然 后 用vi 编 辑 器 编 辑 监 听 器 配 置 文 件listener.ora, 并 存 盘。 下 面 是 一 个listener.ora 文 件 的 例 子:
LISTENER=
(ADDRESS_LIST=
(ADDRESS=
(PROTOCOL=TCP) -- 网 络 协 议
(HOST=111.1.1.1) -- 主 机 地 址
(PORT=1521) -- 监 听 进 程 端 口
)
)
STARTUP_WAIT_TIME_LISTENER=0
CONNECT_TIMEOUT_LISTENER=10
SID_LIST_LISTENER=
(SID_DESC=
(SID_NAME=ora72)
(ORACLE_HOME=/u/oracle)
)
TRACE_LEVEL_LISTENER=OFF
再 编 辑 连 接 描 述 符 文 件tnsnames.ora,
并 存 盘( 也 是 一 个 例 子):
snname1= -- 服 务 器 一 的SQL*NET 服 务 器 名snname1
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=111.1.1.1) -- 服 务 器 一 的 主 机 地 址
(PORT=1521)
)
(CONNECT_DATA=(SID=ora72))
)
snname2 = -- 数 据 库 服 务 器 二
的SQL*NET 服 务 器 名snname2
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=111.2.1.1) -- 服 务 器 二 的 主 机 地 址
(PORT=1521)
)
(CONNECT_DATA=(SID=ora7))
)
---- 有 了 上 述 两 个 参 数 文 件 后, 还 要 查 看"/etc" 目 录 下 的services 文 件 中 是 否 有1521 端 口 的 说 明, 没 有 就 加 上, 举 例 如 下:
# vi services
…
orasrv 1525/tcp oracle
listener 1521/tcp oracle
…
---- 然 后 启 动UNIX 和ORACLE 库,SQL*NET V2 就 可 以 在SERVER 端 启 动 了。
---- 2 .2 在SERVER 端 启 动SQL*NET V2
---- 进 入ORACLE 用 户, 键 入 下 列 命 令, 就 完 成 了SQL*NET V2
---- SERVER 端 的 启 动 工 作。
---- $ lsnrctl start 监 听 器 名
---- 一 般 情 况 下, 监 听 器 名 就 设 为 默 认 的 名 字listener, 所 以, 直 接 键 入 下 列 命 令 就 可 以 启 动:
$ lsnrctl start
可 用 下 列 命 令 检 测SQL*NET V2 的 运 行 状 态:
$ lsnrctl stat
---- 2 .3 在CLIENT 端 安 装32 位 的SQL*NET V2
---- ORACLE7 产 品-Oracle Developer 2000 和 Oracle Enterprise
---- Manager 都 提 供 了CLIENT 端32 位SQL*NET V2 的 安 装 程 序, 这 里 以 用Oracle
---- Enterprise Manager 为 例, 具 体 地 说 明 一 下 安 装 过 程:
---- 2 .31 安 装 程 序setup.exe
---- 需 要 选 择 的 产 品 是:SQL*Net 2.3.3.0.0
---- 网 络 协 议 选 择TCP/IP, 按 提 示 说 明 向 下 进 行。
---- 2 .32 建 立 数 据 库 别 名, 便 于 用SQL*NET 通 讯
---- 运 行SQL*NET Easy configuration
---- 选 择:Add Database Alias:snname1
---- 然 后 输 入 选 用 的 数 据 库 服 务 器 信 息:
---- TCP/IP Host Name:111.1.1.1
---- Database Instance:ora72
---- 正 常 退 出 后,SQL*NET V2 就 能 够 工 作 了。
---- 如 果 存 在 字 符 集 选 择 错 误 的 问 题, 会 出 现 汉 字 显 示 成 乱 字 符 的 现 象, 还 要 做2 .33 的 工 作。
---- 2 .33 从 注 册 表 中 选 择 正 确 的 字 符 集
---- 在WIN95 下 运 行REGEDIT, 选 择HKEY_LOCAL_MACHINE, 再 选 择SOFTWARE, 再 选 择ORACLE, 然 后 选 择NLS_LANG( 语 言 的 国 际 支 持), 键 入 和 服 务 器 端 相 同 的 字 符 集。 例 如 服 务 器 端 的 字 符 集 为AMERICAN_AMERICAN.US7ASCII, 在 此 也 输 入 此 项 就 行 了。
---- 至 此,TCP/IP 网CLIENT 端WIN95 下 的32 位ORACLE7 SQL*NET V2 安 装 完 毕。
---- 2 .34 CLIENT 端SQL*NET V2 的 应 用
---- CLIENT 端 通 过Sql*Net V2 和SERVER 上 的ORACLE 库 连 接, 命 令 格 式 如 下( 以scott/tiger 用 户 为 例):
---- scott/tiger@snname1( 假 定 据 库 服 务 器 的SQL*NET
---- 服 务 器 名 为snname1), 即 连 通snname1 所 标 识 的ORACLE 库。 如 果 另 一 台ORACLE7 SERVER 上 也 启 动 了 监 听 进 程, 假 定 数 据 库 服 务 器 的SQL*NET 服 务 器 名 为snname2, 那 么, 执 行scott/tiger@ snname2 命 令, 则 和snname2 所 标 识 的ORACLE 库 连 通。
---- 3 几 点 说 明
---- 3 .1 CLIENT 端SQL*NET V2
---- 安 装 完 毕 后, 自 动 生 成 如 下 连 接 说 明 文 件tnsnames.ora( 一 般 为c:\orawin95\network\admin\tnsnames.ora), 该 文 件 不 能 乱 动, 否 则 会 导 致 连 接 失 败:
#c:\orawin95\network\admin\tnsnames.ora:
#This is a SQL*Net Configuration
file generated by SQL*Net Easy
Configuration.
#Attention: Do not modify this file yourself.
#If you do, your SQL*Net Easy
Configuration may not function properly.
。。。
snname1.world =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = 111.1.1.1)
(Port = 1521)
)
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = 111.1.1.1)
(Port = 1526)
)
)
(CONNECT_DATA = (SID = ora72)
)
)
---- 3 .2 安 装 了32 位 的SQL*NET
---- V2 后, 相 应 的 软 件 开 发 工 具 要 随 着 更 新。 比 如 说,POWERBUILDER 要 安 装 支 持32 位 的, 用 支 持16 位 的 开 发 工 具 将 不 能 在ORACLE 库 上 做 开 发。
Sun, 25 Oct 1998
"houston houston" houston971202@hotmail.com
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -