• oracle 12c连接pdb


    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。

  • 相关阅读:
    关于 相对论 的 一些 讨论推理 杂集
    反相 大全
    收录 猴哥 对于 相对论 水星进动 星光偏折 引力透镜 GPS 的 说法
    哲学 一词 起源于 古希腊 的 “爱智慧”
    字符流的父类
    字符编码
    对象流
    BufferStream 缓存流
    OutputStream 以及 使用文件输入输出流实现文件的复制操作
    InputStream
  • 原文地址:https://www.cnblogs.com/zx3212/p/6846363.html
Copyright © 2020-2023  润新知