orcle12c的问题解决

本文主要介绍了在Oracle12C中遇到的连接问题及其解决方案,包括CDB和PDB两个部分。对于CDB,问题涉及监听错误、SID_NAME配置、计算机全名的使用以及监听认证。在PDB部分,同样遇到监听错误,解决方法涉及PDB名称确认、全局数据库名设置以及listener.ora和tnsnames.ora的调整。通过这些步骤,可以解决Oracle12C数据库的连接问题。

1.CDB
①问题:安装好Oracle12C之后连接不上,一直报监听错误
解决:确认自己的oralce安装目录下的配置文件是否正确
SID_NAME:可以参照注册表HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDB12Home5\ORACLE_SID的值

②问题:SID_NAME配置好之后,本机可以连接,别人接不上,报socket error code 10061
解决:listener.ora和tnsnames.ora要改为计算机全名

在桌面上找到“此电脑”图标→属性→系统→计算机名

③添加监听需要认证
解决:修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDB12Home5\ORACLE_SVCUSER_PWDREQ:1→0

④services.msc中监听无法启动,可能是认证信息不对
解决:service上邮件→属性→登录→选择系统认证方式

2.PDB
①问题:安装好Oracle12C之后连接不上,一直报监听错误
解决:确认自己的oralce安装目录下的配置文件是否正确
SID_NAME:PDB的名称(可以用show pdbs命令查看)
SID_NAME名称什么的都改好了之后,发现还是起不起来,一直换着报错:ora-12518,ora-12541,ora-12523,ora-12514
所有东西都重新弄了下之后,报错ora-12518
解决:
原来自己没搞懂GLOBAL_DBNAME的含义,通常格式为 db_name.db_domain
全局数据库名访问 用于客户端和服务端在2个不同的域之间
数据库名(实例名)访问 用于客户端和服务端在同一个域内
而我们现在的问题是当前环境中设置了db_domain,查看方式
show parameter domain,不明白为什么参数global_names是false,CDB可以正常连接,但是PDB不行
修改了listener.ora里面的GLOBAL_DBNAME=db_name.db_domain,tnsnames.ora里面定义的那个可变的名称为db_name.db_domain,然后就可以正常连接PDB了

在这里插入图片描述

listener.ora

# listener.ora Network Configuration File: E:\app\user\product\12.1.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.


SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:\app\user05\product\12.1.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:E:\app\user05\product\12.1.0\dbhome_1\bin\oraclr12.dll")
    )
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL05)
      (ORACLE_HOME = E:\app\user05\product\12.1.0\dbhome_1)
      (SID_NAME = ORCL05)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = PDBORCL.docker.internal)
      (ORACLE_HOME = E:\app\user05\product\12.1.0\dbhome_1)
      (SID_NAME = PDBORCL)
    )
  )

ADMIN_RESTRICTIONS_LISTENER = ON

LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = G08XHXYA)(PORT = 1521))
  )

ADR_BASE_LISTENER = E:\app\user05

SAVE_CONFIG_ON_STOP_LISTENER = TRUE


tnsnames.ora

# tnsnames.ora Network Configuration File: E:\app\user05\product\12.1.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

PDBORCL.docker.internal =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = G08XHXYA)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = PDBORCL)
    )
  )

ORCL05 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = G08XHXYA)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL05)
    )
  )


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值