• ORACLE总结系列1--network文件夹里的admin的三个文件信息


    • sqlnet.ora  

    作用类似于linux或者其他unix的 nsswitch.conf文件,通过这个文件来决定怎么样找一个连接中出现的连接字符串(connect descriptor)
     
      假如sqlnet.ora 是下面这个样子

    NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)
    当客户端输入sqlplus sys/oracle@orcl时, 就会首先在 tnsnames.ora文件中找orcl的记录.如果没有相应的记录则尝试把orcl当作一个主机名
    括号中还有其他选项,如LDAP等,但HOSTNAME,LDAP通常并不常用,通常只设TNSNAME即可.


     

    • tnsnames.ora

       1. 提供tnsname到主机名或者ip的对应

    ORCL =
     (DESCRIPTION =
         (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))        #对应的SOCKET信息
          (CONNECT_DATA =                   
               (SERVER = DEDICATED)               #使用专用服务器模式去连接
                (SERVICE_NAME = orcl)           #这里填入对应 service_name,
                                                可以通过"SQLPLUS>show parameter service_name;"查看
      )       
      
    SALES =
     (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.188.219)(PORT = 1521))
        (CONNECT_DATA =
           (SERVER = DEDICATED)
           (SERVICE_NAME = sales)
         )
     )

       2. 配tnsname.ora里面的service_name,可以用下面命令查看:

    SQL> show parameter service_name;

    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    service_names                        string      orcl

      3. tnsnames.ora是为oracle客户端访问数据库而设的,不是为了远程客户端连接oracle 服务器而设的

    删除tnsnames.ora
    [oracle@oracle admin]$ rm tnsnames.ora
    重启oracle

    本地客户端无法访问数据库了
    [oracle@oracle ~]$ sqlplus scott/scott@orcl

    SQL*Plus: Release 10.2.0.1.0 - Production on Tue Feb 16 17:32:41 2010

    Copyright (c) 1982, 2005, Oracle.  All rights reserved.

    ERROR:
    ORA-12154: TNS:could not resolve the connect identifier specified
    在远端(另一台机器)
    通过sqlplus方式连接oracle数据库,没问题
    通过jdbc连接orcle数据库,没问题 



    listener.ora
    listener进程接受远程对数据库的接入请求
    Listener.ora

        #SID_LIST_LISTENER 定义, 定义LISTENER进程监听SID
      SID_LIST_LISTENER =
      (SID_LIST =                            #可以监听多个SID,都存在一个SID表中

        (SID_DESC =
            (GLOBAL_DBNAME = boway)         # GLOBAL_DBNAME不是必需的除非使用HOSTNAME做数据库连接
            (ORACLE_HOME = E:oracleproduct10.1.0Db_2)
            (SID_NAME = orcl)
        )
      )
      
      #监听器定义,一台数据库可以有不止一个监听器
      LISTENER =
        (DESCRIPTION =
             (ADDRESS = (PROTOCOL = TCP)(HOST = boway)(PORT = 1521))
         )

    JDBC连接请求的URL 要对应Listener.ora 

     jdbc:oracle:thin:@192.168.3.98:1521:orcl
  • 相关阅读:
    单例模式的七种写法
    Android省电开发 浅析
    android省电开发之cpu降频
    什么是签名、为什么要给应用程序签名、如何给应用程序签名
    内存溢出和内存泄漏的区别、产生原因以及解决方案
    Android Studio 使用GitHub
    sharesdk 的使用
    当ViewPager嵌套在ScrollView/ListView里时,手势冲突如何处理?
    laravel安装笔记
    erlang的一些小技巧(不定期更新)
  • 原文地址:https://www.cnblogs.com/selfimprove/p/3624767.html
Copyright © 2020-2023  润新知