oracle 12c 怎样配置TNS来访问PDB

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 12c 怎样配置TNS来访问PDB相关的知识,希望对你有一定的参考价值。

Oracle 12c连接PDB时,listener和tnsnames.ora配置

 

1、配置监听

首先要明确,所有的PDB都使用1个监听,配置多个实际上启动时也只有第1个有意义。

LISTENER=

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST =ora12c_A)(PORT = 1521))

  )

 

接下来使用SID_LIST_LISTENER来进行静态注册服务。

 

SID_LIST_LISTENER=

(SID_LIST=

  (SID_DESC =

  (GLOBAL_DBNAME = ora12c) #该服务是我配置的cdb信息

  (SID_NAME = ora12c)

  )

 

  (SID_DESC =

  (GLOBAL_DBNAME = pdborcl)#该服务是我配置的pdb信息

  (SID_NAME = ora12c)

  )

)

 

ADR_BASE_LISTENER= /opt/oracle

 

2、tnsnames.ora配置

观察发现,在tnsnames中配置pdb跟CDB,即原来11g的配置完全一样。这里SERVICE_NAME = pdborcl使用得是PDB的名字,可以在v$pdbs中查看。

 

ORA12C=

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST =ora12c_A)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = ora12c)

    )

  )

 

pdborcl=

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST =ora12c_A)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = pdborcl)

    )

  )

 

3、为了保险,检查下sqlnet.ora

NAMES.DIRECTORY_PATH=(TNSNAMES, EZCONNECT)

这一句是为了保证优先使用TNSNAMES解析。

配置完,在PDB启动的情况下(怎么启动这里不多讲了),就可以直接连接到PDB了。(Oracle12c是没有scott用户的,我自己在PDB下面新建的)。

参考技术A 通过配置本地数据库的tns配置文件实现:
去oracle安装目录下oracle\product\10.2.0\db_2\NETWORK\ADMIN\ 找到tnsnames.ora,用记事本打开,里边有远程数据库的tns连接配置串如下
ORCL23 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.23)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ORCL)
)
)
添加好ip、端口和目标数据库的实例名(SID),然后确保tns名称(ORCL23)在整个文档中唯一,保存后打开数据库连接工具,输入远程数据库上的用户名密码,选择数据库对象为你配置的连接名就可以了本回答被提问者和网友采纳

以上是关于oracle 12c 怎样配置TNS来访问PDB的主要内容,如果未能解决你的问题,请参考以下文章

oracle 12c 怎样配置TNS来访问PDB

Oracle 12C impdp权限问题

oracle 12c service之cdb和pdb

oracle12c怎么安装

ORACLE 12C采坑之 ORA-12541:TNS:无监听程序

Oracle 12c 多租户家族(12c 18c 19c)如何在 PDB 中添加 HR 模式