Oracle 静态监听注册的处理过程

Oracle 静态监听注册的处理过程


背景

好久不弄 windows了
上面一个之前安装的Oracle19c的环境存在问题. 

根本原因是自己修改了一下机器名.
自己忘记修改了监听, 所以一直不可用
一开始以为是静态注册的问题
改了半天发现不改其实也可以. 
想了想还是记录一下吧. 避免以后再犯错误.

修改hosts

其实也可以不修改
为了稳妥起见可以修改 
c:\windows\system32\driver\etc\hosts 文件
增加上 ip hostname的配置. 
然后这样一定可以找到对应的机器地址. 

修改配置文件

比如我这边的文件位置是:
C:\oracle19c\network\admin\listener.ora
C:\oracle19c\network\admin\tnsnames.ora
C:\oracle19c\network\admin\sqlnet.ora

需要说明的是:
listener.ora 提供外部服务的监听用.
tnsnames.ora 本地使用
sqlnet.ora   网络配置,比如超时断开, 安全防护等.

需要说明: tnsnames.ora 其实跟监听是没有关系的

添加的内容

    (SID_DESC =
       (SID_NAME = ORA19C)
       (ORACLE_HOME = C:\oracle19c)
       (GLOBAL_DBNAME = ORA19C)
       (ENVS = "EXTPROC_DLLS=ONLY:C:\oracle19c\bin\oraclr19.dll")
    )

完整的配置文件为:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\oracle19c)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\oracle19c\bin\oraclr19.dll")
    )
    (SID_DESC =
       (SID_NAME = ORA19CPDB)
       (ORACLE_HOME = C:\oracle19c)
       (GLOBAL_DBNAME = ORA19CPDB)
       (ENVS = "EXTPROC_DLLS=ONLY:C:\oracle19c\bin\oraclr19.dll")
    )
    (SID_DESC =
       (SID_NAME = ORA19C)
       (ORACLE_HOME = C:\oracle19c)
       (GLOBAL_DBNAME = ORA19C)
       (ENVS = "EXTPROC_DLLS=ONLY:C:\oracle19c\bin\oraclr19.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = Win2022DCTLS12)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
)

开机步骤

sqlplus / as sysdba
startup 打开数据库
alter pluggable database all open ;
然后打开监听
lsnrctl start
然后返回
sqlplus / as sysdba
alter system register
# 如果注册失败, 在使用
静态注册进行访问. 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章