Oracle 12c 如何连接到 CDB 和 PDB

时间:2021-01-16 21:31:53


 注:本文谢绝转载!

 

 

1  连接到CDB

 

和普通实例一样的连接。 指定ORACLE_SID 以后可以使用OS认证,也可以使用密码进行连接。

 

[oracle@Ora12c /]$ echo $ORACLE_SID

cndba

[oracle@Ora12c /]$ sqlplus / as sysdba

 

SQL*Plus: Release 12.1.0.1.0 Production onMon Apr 28 11:33:43 2014

 

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

 

 

Connected to:

Oracle Database 12c Enterprise EditionRelease 12.1.0.1.0 - 64bit Production

With the Partitioning, OLAP, AdvancedAnalytics and Real Application Testing options

 

SQL> conn system/oracle         

Connected.

SQL>

 

--查看CDB中可用的service:

SQL> COLUMN name FORMAT A30

SQL> SELECT name,pdb

  2 FROM   v$services

  3  ORDER BY name;

 

NAME                           PDB

------------------------------------------------------------

SYS$BACKGROUND                 CDB$ROOT

SYS$USERS                      CDB$ROOT

cndba                          CDB$ROOT

cndbaXDB                       CDB$ROOT

pcndba2                        PCNDBA2

pdbcndba                       PDBCNDBA

 

6 rows selected.

 

--通过lsnrctl 也可以判断:

[oracle@Ora12c /]$ lsnrctl service

 

LSNRCTL for Linux: Version 12.1.0.1.0 -Production on 28-APR-2014 11:35:31

 

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

 

Connecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

Services Summary...

Service "cndba" has 1instance(s).

 Instance "cndba", status READY, has 1 handler(s) for thisservice...

   Handler(s):

     "DEDICATED" established:0 refused:0 state:ready

        LOCAL SERVER

Service "cndbaXDB" has 1instance(s).

 Instance "cndba", status READY, has 1 handler(s) for thisservice...

   Handler(s):

     "D000" established:0 refused:0 current:0 max:1022 state:ready

        DISPATCHER <machine: Ora12c, pid: 10085>

        (ADDRESS=(PROTOCOL=tcp)(HOST=Ora12c)(PORT=14696))

Service "pcndba2" has 1instance(s).

 Instance "cndba", status READY, has 1 handler(s) for thisservice...

   Handler(s):

     "DEDICATED" established:0 refused:0 state:ready

        LOCAL SERVER

Service "pdbcndba" has 1instance(s).

 Instance "cndba", status READY, has 1 handler(s) for thisservice...

   Handler(s):

     "DEDICATED" established:0 refused:0 state:ready

         LOCAL SERVER

The command completed successfully

[oracle@Ora12c /]$

 

通过这些service,就可以远程连接CDB。

 

--EZCONNECT

C:\Users\Dave>sqlplussystem/oracle@192.168.1.10:1521/cndba

 

SQL*Plus: Release 11.2.0.1.0 Production on 星期三 4月 30 11:36:48 2014

 

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

 

 

连接到:

Oracle Database 12c Enterprise EditionRelease 12.1.0.1.0 - 64bit Production

With the Partitioning, OLAP, AdvancedAnalytics and Real Application Testing options

 

SQL>

 

--通过TNSNAMES.ORA连接:

 

在tnsnames.ora 中配置如下:

cndba =

 (DESCRIPTION =

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

   (CONNECT_DATA =

     (SERVER = DEDICATED)

     (SERVICE_NAME = cndba)

    )

  )

 

--连接:

C:\Users\Dave>sqlplussystem/oracle@cndba

 

SQL*Plus: Release 11.2.0.1.0 Production on 星期三 4月 30 11:40:01 2014

 

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

 

 

连接到:

Oracle Database 12c Enterprise EditionRelease 12.1.0.1.0 - 64bit Production

With the Partitioning, OLAP, AdvancedAnalytics and Real Application Testing options

 

SQL>

 

2  在不同Container database中切换

 

在12c的架构中,因为有CDB和 PDB的存在,所以会有很多不同的container,所以在连接到不同的container时,就需要进行切换。

 

--查看当前的container

SQL> show con_name

 

CON_NAME

------------------------------

CDB$ROOT

SQL> SELECT SYS_CONTEXT('USERENV','CON_NAME') FROM   dual;

 

SYS_CONTEXT('USERENV','CON_NAME')

--------------------------------------------------------------------------------

CDB$ROOT

 

SQL> set lin 140

SQL> select con_id, dbid,guid, name , open_mode from v$pdbs;

 

   CON_ID       DBID GUID                             NAME       OPEN_MODE

---------- ------------------------------------------ ---------- ----------

        2 4088301206 F7C1E3C96BBF0585E0430A01A8C05459 PDB$SEED   READ ONLY

        3  426143573F7C209EB1DFC0854E0430A01A8C0B787 PDBCNDBA   READ WRITE

        4 1231796139 F812DE1B6A8F363AE0430A01A8C0C759 PCNDBA2    READ WRITE

 

--切换container

SQL> alter session setcontainer=pcndba2;

Session altered.

 

SQL> show con_name

 

CON_NAME

------------------------------

PCNDBA2

 

3  连接到PDB

 

--EZCONNECT:

 

C:\Users\Dave>sqlplussystem/oracle@192.168.1.10:1521/pcndba2

 

SQL*Plus: Release 11.2.0.1.0 Production on 星期三 4月 30 11:54:30 2014

 

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

 

 

连接到:

Oracle Database 12c Enterprise EditionRelease 12.1.0.1.0 - 64bit Production

With the Partitioning, OLAP, AdvancedAnalytics and Real Application Testing options

 

SQL>

 

 

--TNSNAMES.ora

 

在tnsnames.ora 中添加如下内容:

pcndba =

 (DESCRIPTION =

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

   (CONNECT_DATA =

     (SERVER = DEDICATED)

     (SERVICE_NAME = pcndba2)

    )

  )

 

C:\Users\Dave>sqlplussystem/oracle@pcndba

 

SQL*Plus: Release 11.2.0.1.0 Production on 星期三 4月 30 11:55:50 2014

 

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

 

 

连接到:

Oracle Database 12c Enterprise EditionRelease 12.1.0.1.0 - 64bit Production

With the Partitioning, OLAP, AdvancedAnalytics and Real Application Testing options

 

SQL>

 

 

 

 

 

 

 

--------------------------------------------------------------------------------------------

版权所有,文章禁止转载,否则追究法律责任!

 

AboutDave:

--------------------------------------------------------------------------------------------

QQ:492913789

Email:ahdba@qq.com

Blog:  http://www.cndba.cn/dave

Weibo:    http://weibo.com/tianlesoftware

Twitter:  http://twitter.com/tianlesoftware

Facebook: http://www.facebook.com/tianlesoftware

Linkedin: http://cn.linkedin.com/in/tianlesoftware

 

Dave 的QQ群:

--------------------------------------------------------------------------------------------

注意:加群必须注明表空间和数据文件关系 | 不要重复加群

CNDBA_1: 104207940 (满)    CNDBA_2: 62697716 (满)   CNDBA_3: 283816689

CNDBA_4: 391125754   CNDBA_5: 62697850    CNDBA_6: 62697977   CNDBA_7: 142216823(满)