tnsnames.ora 监听配置文件详解

说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长,
也允许分配数据。

今天是重要的一天。将XML数据导入ORACLE遇到很多问题,学了好多,其中很长时间花在网络配置上,刚开始学,具体原因不知道,先把搜集到的好文章存下来,以后慢慢研究。

值范围: TRUE | FALSE

监听配置文件
             为了使得外部进程 如 CAMS后台程序 能够访问 Oracle 数据库
必须配
             置 Oracle 网络服务器环境 配置 Oracle
网络服务器环境是通过配置
             listener.ora sqlnet.ora 和 tnsnames.ora 共三个文件来进行的
listener.ora
             即监听配置文件 在本小节说明
另两个文件分别在随后的两个小节说明
             监听配置文件 listener.ora 的存放路径为
$ORACLE_HOME/network/admin
             以下是一个示例
             LISTENER =                          #监听器名称
                (DESCRIPTION_LIST =
               (DESCRIPTION =
                  (ADDRESS_LIST =
                      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
                  )
                  (ADDRESS_LIST =
                      (ADDRESS =
             (PROTOCOL = TCP)
             (HOST = localhost.localdomain)
             (PORT = 1521))
                  )
               )
               (DESCRIPTION =
                  (PROTOCOL_STACK =
                      (divSENTATION = GIOP)
                      (SESSION = RAW)
                  )
                  (ADDRESS =
             (PROTOCOL = TCP)
             (HOST = localhost.localdomain)
             (PORT = 2481))

默认值: FALSE

                  )
            )
            
SID_LIST_LISTENER = #命名规则 SID_LIST_+上面定义的监听器名称
(SID_LIST =
    (SID_DESC =
   (SID_NAME = PLSExtProc1)
   (ORACLE_HOME = /u01/app/oracle/product/8.1.7)
   (PROGRAM = extproc)
    )
    (SID_DESC =
   (GLOBAL_DBNAME = cams)
   (ORACLE_HOME = /u01/app/oracle/product/8.1.7)
   (SID_NAME = cams)
    )
    (SID_DESC =
   (GLOBAL_DBNAME = oid)
   (ORACLE_HOME = /u01/app/oracle/product/8.1.7)
   (SID_NAME = oid)
    )
)

serializable:

& 说明
1 listener.ora 文件中定义一个监听器 其缺省的名称为 LISTENER
这个监听器缺省以tcp/ip为协议地址且端口号为1521运行 在CAMS应用中
监听文件定义的监听器就使用这个缺省名字 并且使用缺省的协议 tcp/ip
和缺省的端口号 1521 待配置好监听文件以及随后说明的 sqlnet.ora 和
tnsnames.ora 文件之后 就可以用以下命令将监听文件中定义的监听器启动
起来
    $ lsnrctl start
停止监听器的命令为
    $ lsnrctl stop
监测监听器当前状态的命令为
    $ lsnrctl status
当 lsnrctl status 命令有如下输出结果
    STATUS of the LISTENER
    ————————
    Alias                LISTENER
    Version                 TNSLSNR for Linux: Version 8.1.7.4.0 –
Production
    Start Date             17-JAN-2004 19:00:08
    Uptime                31 days 15 hr. 27 min. 59 sec
就说明监听器正在运行 否则说明监听器已经停止了 CAMS 系统的后台程
序的正常运行不仅依赖于数据库实例的运行 还依赖于这个数据库监听器的
运行 假如监听器没有启动 即使数据库已经启动 CAMS 后台程序仍然不
能正常工作
2 如(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))所示的一个
IPC 协议地址的监听 是为了外部进程调用用的 在数据库安装时自动设定
不需要改动

说明: 确定查询是否获取表级的读取锁,
以防止在包含该查询的事务处理被提交之前更新任何对象读取。这种操作模式提供可重复的读取,

3 在监听文件后部还有一个 SID_LIST_LISTENER 段 该段用于定义监听
器的服务 即为哪些数据库实例提供监听服务 以 cams 实例为例 其对应的
服务信息为
(SID_DESC =
(GLOBAL_DBNAME = cams) #数据库名
    (ORACLE_HOME = /u01/app/oracle/product/8.1.7)
(SID_NAME = cams) #数据库实例名
)

并确保在同一事务处理种对相同数据的两次查询看到的是相同的值。

1.2.5 sqlnet.ora 文件
             sqlnet.ora 文件的存放路径为 $ORACLE_HOME/network/admin
以下是一
             个示例

值范围: TRUE | FALSE

NAMES.DEFAULT_DOMAIN = localdomain
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
& 说明
NAMES.DEFAULT_DOMAIN 指定网络域名 NAMES.DIRECTORY_PATH
指定当解析客户端连接标识符时命名方法 naming metthods 采用的优先顺
序 从左至右递减        在 CAMS 应用中 这两个参数采用上述所示的系统缺
省值

默认值: FALSE

1.2.6 tnsnames.ora 文件
tnsnames.ora 文件的存放路径为 $ORACLE_HOME/network/admin 以下
是一个示例
OID.LOCALDOMAIN =
(DESCRIPTION =
    (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT =
1521))
    )
    (CONNECT_DATA =
   (SERVICE_NAME = oid)
    )
)
CAMS.LOCALDOMAIN =
(DESCRIPTION =
    (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT =
1521))
    )
    (CONNECT_DATA =
   (SERVICE_NAME = cams)
    )
)
INST1_HTTP.LOCALDOMAIN =
(DESCRIPTION =
    (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT =

row_locking:

1521))
    )
    (CONNECT_DATA =
   (SERVER = SHARED)
   (SERVICE_NAME = MODOSE)
   (divSENTATION = )
    )
)
EXTPROC_CONNECTION_DATA.LOCALDOMAIN =
(DESCRIPTION =
    (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    )
    (CONNECT_DATA =
   (SID = PLSExtProc1)
   (divSENTATION = RO)
    )
)
 

说明: 指定在表已更新或正在更新时是否获取行锁。如果设置为 ALWAYS,
只有在表被更新后才获取行锁。如果设置为 INTENT,

& 说明
tnsnames.ora 文件中定义一个或多个网络服务 net service cams 实例对
应的网络服务为
CAMS.LOCALDOMAIN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
   (PROTOCOL = TCP)
   (HOST = localhost.localdomain)
   (PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = cams)
)
)
注意 这里 ADDRESS项包含三个子参数

只有行锁将用于

PROTOCOL :默认协议TCP

SELECT

HOST :ip地址

FOR

PORT:端口,默认1521

UPDATE, 但在更新时将获取表锁。

CAMS.LOCALDOMAIN为数据名

值范围: ALWAYS | DEFAULT | INTENT

要确保在监听文件中也有对应的一个 ADDRESS 项也包含同样的三个子参
数 并且子参数的值对应都相等 另外 这里 SERVICE_NAME 的值必需确
保与监听文件中某 SID_DESC项下的 SID_NAME参数的值相等

默认值: ALWAYS

shared_servers

说明 : 指定在启动例程后, 要为共享服务器环境创建的服务器进程的数量。

值范围: 根据操作系统而定。

默认值 : 1

circuits:

说明 : 指定可用于入站和出站网络会话的虚拟电路总数。
该参数是构成某个例程的总 SGA 要求的若干参数之一。

默认值 : 派生: SESSIONS 参数的值 (如果正在使用共享服务器体系结构);
否则为 0。

Mts_multiple_listeners:

说明: 指定多个监听程序的地址是分别指定的, 还是用一个 ADDRESS_LIST
字符串指定。如果该值为 TRUE,

MTS_LISTENER_ADDRESS 参数可被指定为:

(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(PORT=5000)(HOST=zeus))

(ADDRESS=(PROTOCOL=decnet)(OBJECT=outa)(NODE=zeus))

此参数在 8.1.3 版中已废弃。

值范围: TRUE | FALSE

默认值: FALSE

相关文章