Oracle 12c 如何串連到 CDB 和 PDB,12ccdb
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: 251097186
Email: tianlesoftware@gmail.com
Blog: http://blog.csdn.net/tianlesoftware
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(滿)