12c pdb & cdb (1)

基本概念:
Multitenant Environment:多租戶環境
CDB(Container Database):數據庫容器
PD(Pluggable Database):可插拔數據庫
CDB與PDB關係圖

SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
    CON_ID       DBID NAME                           OPEN_MODE
---------- ---------- ------------------------------ ----------
         2 3519850196 PDB$SEED                         READ ONLY
         3 575147372  PDB1                              READ WRITE
         4 2788087049 HJ_PDB                           READ WRITE
SQL> CREATE PLUGGABLE DATABASE hj_pdb ADMIN USER xff IDENTIFIED BY sys  
  2 FILE_NAME_CONVERT= ('/home/oracle/app/oracle/oradata/D12C1/pdbseed/','/home/oracle/app/oracle/oradata/D12C1/HJPDB/');
Pluggable database created.
SQL> CREATE PLUGGABLE DATABASE hj1_pdb ADMIN USER hjsys IDENTIFIED BY sys  
  2 FILE_NAME_CONVERT = ('/home/oracle/app/oracle/oradata/D12C1/','/home/oracle/app/oracle/oradata/D12C1/HJPDB1/');
Pluggable database created.
注意CON_ID:
alter pluggable database hj1_pdb open;
alter pluggable database all close immediate 


SQL> select con_id,name from v$datafile;
    CON_ID NAME
---------- ----------------------------------------------------------------------------------------------------
         1 /home/oracle/app/oracle/oradata/D12C1/system01.dbf
         1 /home/oracle/app/oracle/oradata/D12C1/sysaux01.dbf
         1 /home/oracle/app/oracle/oradata/D12C1/undotbs01.dbf
         2 /home/oracle/app/oracle/oradata/D12C1/pdbseed/system01.dbf
         1 /home/oracle/app/oracle/oradata/D12C1/users01.dbf
         2 /home/oracle/app/oracle/oradata/D12C1/pdbseed/sysaux01.dbf
         3 /home/oracle/app/oracle/oradata/D12C1/PDB1/system01.dbf
         3 /home/oracle/app/oracle/oradata/D12C1/PDB1/sysaux01.dbf
         3 /home/oracle/app/oracle/oradata/D12C1/PDB1/PDB1_users01.dbf
         4 /home/oracle/app/oracle/oradata/D12C1/HJPDB/system01.dbf
         4 /home/oracle/app/oracle/oradata/D12C1/HJPDB/sysaux01.dbf
         5 /home/oracle/app/oracle/oradata/D12C1/HJPDB1/pdbseed/system01.dbf
         5 /home/oracle/app/oracle/oradata/D12C1/HJPDB1/pdbseed/sysaux01.dbf

13 rows selected.
<pre name="code" class="html">SQL> desc v$datafile
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 FILE#                                              NUMBER
 CREATION_CHANGE#                                   NUMBER
 CREATION_TIME                                      DATE
 TS#                                                NUMBER
 RFILE#                                             NUMBER
 STATUS                                             VARCHAR2(7)
 ENABLED                                            VARCHAR2(10)
 CHECKPOINT_CHANGE#                                 NUMBER
 CHECKPOINT_TIME                                    DATE
 UNRECOVERABLE_CHANGE#                              NUMBER
 UNRECOVERABLE_TIME                                 DATE
 LAST_CHANGE#                                       NUMBER
 LAST_TIME                                          DATE
 OFFLINE_CHANGE#                                    NUMBER
 ONLINE_CHANGE#                                     NUMBER
 ONLINE_TIME                                        DATE
 BYTES                                              NUMBER
 BLOCKS                                             NUMBER
 CREATE_BYTES                                       NUMBER
 BLOCK_SIZE                                         NUMBER
 NAME                                               VARCHAR2(513)
 PLUGGED_IN                                         NUMBER
 BLOCK1_OFFSET                                      NUMBER
 AUX_NAME                                           VARCHAR2(513)
 FIRST_NONLOGGED_SCN                                NUMBER
 FIRST_NONLOGGED_TIME                               DATE
 FOREIGN_DBID                                       NUMBER
 FOREIGN_CREATION_CHANGE#                           NUMBER
 FOREIGN_CREATION_TIME                              DATE
 PLUGGED_READONLY                                   VARCHAR2(3)
 PLUGIN_CHANGE#                                     NUMBER
<span style="color:#ff6666;"> PLUGIN_RESETLOGS_CHANGE#                           NUMBER
 PLUGIN_RESETLOGS_TIME                              DATE
 CON_ID                                             NUMBER</span>


cdb信息
SQL> select tablespace_name,con_id from cdb_tablespaces;

TABLESPACE_NAME                    CON_ID
------------------------------ ----------
SYSTEM                                  1
SYSAUX                                  1
UNDOTBS1                                1
TEMP                                    1
USERS                                   1

SQL> col file_name for a50
SQL> select file_name,con_id from cdb_data_files;
FILE_NAME                                              CON_ID
-------------------------------------------------- ----------
/home/oracle/app/oracle/oradata/D12C1/system01.dbf          1
/home/oracle/app/oracle/oradata/D12C1/sysaux01.dbf          1
/home/oracle/app/oracle/oradata/D12C1/undotbs01.dbf         1
/home/oracle/app/oracle/oradata/D12C1/users01.dbf           1
在root中創建用戶c##1,用戶名需要以c##開頭,在root中創建的用戶會複製到所有的pdbs中,除了seed pdb。
SQL>  create user c##2 identified by password container=all ;
User created.
SQL> select username,common,con_id from cdb_users where username like 'C##%' ;
SQL> col username for a10  
SQL> /
USERNAME   COM     CON_ID
---------- --- ----------
C##2       YES          1
C##2       YES          5
C##2       YES          4
C##2       YES          3
SQL> 
鏈接pdb
SQL> ALTER SESSION SET CONTAINER =PDB$SEED;
Session altered.
SQL>  select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
    CON_ID       DBID NAME                           OPEN_MODE
---------- ---------- ------------------------------ ----------
         2 3519850196 PDB$SEED                       READ ONLY
SQL> ALTER SESSION SET CONTAINER =CDB$ROOT;
Session altered.
SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
    CON_ID       DBID NAME                           OPEN_MODE
---------- ---------- ------------------------------ ----------
         2 3519850196 PDB$SEED                       READ ONLY
         3  575147372 PDB1                           READ WRITE
         4 2788087049 HJ_PDB                         READ WRITE
         5 3892046480 HJ1_PDB                        READ WRITE
SQL>ALTER SESSION SET CONTAINER =HJ1_PDB;</span>
Session altered.
SQL>  select con_id,dbid,NAME,OPEN_MODE from v$pdbs;

    CON_ID       DBID NAME                           OPEN_MODE
---------- ---------- ------------------------------ ----------
         5 3892046480 HJ1_PDB                        READ WRITE
SQL> 
方法2:

hj1_pdb =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ora12.dom)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = hj1_pdb)
    )
  )
[oracle@ora12 admin]$ tnsping hj1_pdb
TNS Ping Utility for Linux: Version 12.1.0.2.0 - Production on 06-JAN-2015 19:29:2
Copyright (c) 1997, 2014, Oracle.  All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ora12.dom)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = hj1_pdb)))
OK (30 msec)
[oracle@ora12 admin]$ sqlplus sys@hj1_pdb as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Tue Jan 6 19:29:49 2015
Copyright (c) 1982, 2014, Oracle.  All rights reserved.
Enter password: 
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL> 

刪除pdb

SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;

    CON_ID       DBID NAME                           OPEN_MODE
---------- ---------- ------------------------------ ----------
         2 3519850196 PDB$SEED                       READ ONLY
         3  575147372 PDB1                           READ WRITE
         4 2788087049 HJ_PDB                         READ WRITE
         5 3892046480 HJ1_PDB                        READ WRITE
SQL> alter pluggable database hj1_pdb close immediate;
Pluggable database altered.
SQL> DROP PLUGGABLE DATABASE  hj1_pdb  INCLUDING DATAFILES;
Pluggable database dropped.
SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
    CON_ID       DBID NAME                           OPEN_MODE
---------- ---------- ------------------------------ ----------
         2 3519850196 PDB$SEED                       READ ONLY
         3  575147372 PDB1                           READ WRITE
         4 2788087049 HJ_PDB                         READ WRITE
SQL> 
<pre name="code" class="html">SQL>  <span style="color:#ff0000;">show con_name;</span>
CON_NAME
------------------------------
CDB$ROOT
SQL> 





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章