0
点赞
收藏
分享

微信扫一扫

Oracle本机能登录,同网段其他机器无法

我是小瘦子哟 2022-03-31 阅读 40
oracle

如题,最近在做oracle数据迁移,把数据迁入到服务器之后,出现了题目的问题,查阅的网上的资料,最终解决,做下记录,防止忘记。


数据库版本:12c

解决步骤:

1.关闭防火墙

2.修改listener.ora文件

在oracle的安装目录内,找到此文件,我的安装目录是如下图

打开文件,在SID_LIST中添加代码,如下(红色部分为添加或修改)

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:\app\orcl\product\12.1.0\dbhome_3)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:E:\app\orcl\product\12.1.0\dbhome_3\bin\oraclr12.dll")
    )
    (SID_DESC = 
      (GLOBAL_DBNAME = ORCL) 
      (ORACLE_HOME = E:\app\orcl\product\12.1.0\dbhome_3) 
      (SID_NAME = ORCL) 
    )

  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xx.xxx)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
xxx.xxx.xx.xxx 本机的IP地址

3.修改tnsnames.ora文件

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
xxx.xxx.xx.xxx 本机的IP地址

4.最后关闭监听、关闭服务 、开启服务、开启监听

成功!


最后,有的同学可能会遇到一个问题,当使用java代码,链接oracle数据库的时候,会链接不上,报出No matching authentication protocol,产生问题的原因是你数据库的版本与你java项目中odbc.jar包版本不对应,你可以去官网下载与你oracle数据库对应的版本,也可以在下图文件中,加上一句话。SQLNET.ALLOWED_LOGON_VERSION=8

 

举报

相关推荐

0 条评论