12c中,如何连接pluggable database:

  1. 使用默认的service连接pdb,创建pdb之后,在监听中自动添加以pdb为名的service;
  2. 用户在cluster中创建service,用户使用srvctl命令创建一个service并且关系到pdb上;
  3. 使用命令alter session set container=pdb;
  4. 使用Enterprise Manager Express。

 1. 使用默认service连接pdb:

  当创建pdb之后,使用lsnrctl status命令可以看到多了一个以pdb为名的service,如下的pdb01:

[oracle@ora12c ~]$ lsnrctl status

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 12-MAY-2017 15:33:43

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ora12c)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date 12-MAY-2017 15:32:16
Uptime 0 days 0 hr. 1 min. 26 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/12.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/ora12c/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora12c)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "4d852a2714024610e0537838a8c07c53" has 1 instance(s).
Instance "db12g", status READY, has 1 handler(s) for this service...
Service "db12g" has 1 instance(s).
Instance "db12g", status READY, has 1 handler(s) for this service...
Service "db12gXDB" has 1 instance(s).
Instance "db12g", status READY, has 1 handler(s) for this service...
Service "pdb01" has 1 instance(s).
Instance "db12g", status READY, has 1 handler(s) for
this service...
The command completed successfully

  这里修改tnsname.ora这个文件,添加一个pdb的记录,就可以连接pdb:

[oracle@ora12c admin]$ vi tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools. LISTENER_DB12G =
(ADDRESS = (PROTOCOL = TCP)(HOST = ora12c)(PORT = 1521)) DB12G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ora12c)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = db12g)
)
) pdb01 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ora12c)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdb01)
)
)

  使用该service进行连接:

[oracle@ora12c admin]$ sqlplus scott/tiger@pdb01

SQL*Plus: Release 12.2.0.1.0 Production on Fri May 12 15:47:26 2017

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

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> show con_name CON_NAME
------------------------------
PDB01

2. 使用srvctl命令在群集中添加服务连接pdb(这种方式应用于RAC环境):

  创建service,其中cdb名称为cpdb,pdb名称为pdb01,service为das,首选节点实例名称为cpdb1,次选节点实例名称为cpdb2:

[oracle@node1 bin]$ srvctl add service -d cpdb -s das -pdb pdb01 -preferred cpdb1 -available cpdb2

  查看创建的service:

[oracle@node1 bin]$ srvctl config service –d <databasename> -s <servicename>

  同样添加tnsname.ora记录:

das =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = scan-ip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = das)
)
)

  启动service:

[oracle@nsnode1 bin]$ srvctl start service -d cpdb -service das

  测试连接:

SQL> connect sys/oracle@das AS SYSDBA

Connected.

SQL> SHOW CON_ID;

CON_ID

3

SQL> SHOW CON_NAME;

CON_NAME

PDB01

3. 使用命令进行切换:

[oracle@node1 bin]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on Wed May 12 14:56:27 2017

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

Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Advanced Analytics and Real Application Testing options
SQL> show con_name; CON_NAME CDB$ROOT SQL> ALTER SESSION SET CONTAINER = PDB01; Session altered. SQL> SHOW CON_NAME; CON_NAME PDB01

4.使用Enterprise Manager Express进行连接:

  在使用之前检查是否为EM配置了端口,需要为EM配置端口:

SQL> select dbms_xdb_config.gethttpsport from dual;

GETHTTPSPORT
------------
0 SQL> exec dbms_xdb_config.sethttpsport(5500); PL/SQL procedure successfully completed. SQL> select dbms_xdb_config.gethttpsport from dual; GETHTTPSPORT
------------
5500

  切换到pdb,为pdb配置EM端口:

SQL> alter session set container = pdb01;

Session altered.

SQL> select dbms_xdb_config.gethttpport from dual;

 GETHTTPPORT

       5051

  然后使用EM和配置的端口连接pdb。

oracle 12c连接pdb的更多相关文章

  1. oracle 12c 创建PDB用户即Local User (PDB与CDB)

    Oracle 12C用户创建与表空间分配  数据库安装完成后,首先用系统用户链接数据库容器(CDB), 在数据库容器(CDB)中创建表空间‘imei’ SQL>create tablespace ...

  2. [转帖]ORACLE 12C连接时报ORA28040和ORA01017的错误

    ORACLE 12C连接时报ORA28040和ORA01017的错误 http://blog.itpub.net/12679300/viewspace-2150667/ 我一直在的处理方式是让更新or ...

  3. java开发连接Oracle 12c采用PDB遇到问题记录

    今天初次使用java连接Oracle 12c,遇到各种问题,为方便后续查询,在汇总了问题记录及解决方案如下. ORA-28040: No matching authentication protoco ...

  4. Oracle 12c CDB PDB

    先说基本用法: 先按11G之前进行 conn / as sysdba; create user test identifed by test; ORA-65096: 公用用户名或角色名无效. 查官方文 ...

  5. Oracle 12c在PDB中创建scott/tiger

    scott/tiger一直以来是oracle数据的默认用户,但是跟之前的版本相比,Oracle 12c引入了PDB管理,所以要麻烦一些 下面假设管理员为SYS/Oracle12csys,在orcl实例 ...

  6. Oracle 12c CDB PDB 安装/配置/管理

    Oracle安装参考:https://www.cnblogs.com/zhichaoma/p/9288739.html 对于CDB,启动和关闭与之前传统的方式一样,具体语法如下:     STARTU ...

  7. Oracle 12C -- 删除PDB

    删除PDB SQL> select con_id,pdb_name,status from cdb_pdbs; CON_ID PDB_NAME STATUS ---------- ------- ...

  8. oracle 12c多租户下的日常操作变化

    Oracle 12c创建用户时出现“ORA-65096: invalid common user or role name”的错误 在oracle中,引入了多租户概念,以前是一个instance对应一 ...

  9. Oracle 12c 用户创建、角色、权限

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAADHCAIAAAA4UqVzAAAgAElEQVR4nOy9Z5Bk13UmyN/6vZrlrG

随机推荐

  1. 【codeforces 750A】New Year and Hurry

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  2. Erlang入门

    Erlang简史(翻译) Erlang入门(二)—并发编程 Erlang入门(三)——分布式编程 Erlang入门(四)——错误处理和鲁棒性 Erlang入门(五)——补遗

  3. 解决gdb 调试 core 文件函数名显示为问号的问题

    关于gdb调试core文件总是一堆问号的问题 问题描写叙述:已经在编译选项中增加了-g,可是查看core文件时.还是一堆问号,使用的命令为:gdb -c core 解决方式:因为gdb -c core ...

  4. lucene 7.x 查询

    @Test public void indexSearch() throws IOException, ParseException { //Termquery:精确string查询 // Query ...

  5. C# 反射调用私有事件

    原文:C# 反射调用私有事件 在 C# 反射调用私有事件经常会不知道如何写,本文告诉大家如何调用 假设有 A 类的代码定义了一个私有的事件 class A { private event EventH ...

  6. Alien Widgets加速了绘制、减少了闪烁。但通过设置,还可以使用Native Widget

    QWidget::createWindowContainer和QWindow::setParentNative Widgets vs Alien Widgets http://doc.qt.io/qt ...

  7. CUDA—使用GPU暴力破解密码

    GPU支持大规模的并行加速运算,胜在量上,CPU处理大量的并行运算显得力不从心,它是胜在逻辑上.利用显卡加速的应用越来越多,但如果说GPU即将或最终将替代CPU还有点言过其实,二者最终将优势互补,各尽 ...

  8. C++于public、protected和private说明(From MSDN)

    public(C# 參考): https://msdn.microsoft.com/zh-cn/library/yzh058ae.aspx protected(C# 參考):https://msdn. ...

  9. Linux性能测试 tcpdump命令

    用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的“头” ...

  10. Linux性能测试 pmap命令

    名称:       pmap - report memory map of a process(查看进程的内存映像信息)用法       pmap [ -x | -d ] [ -q ] pids... ...