时间:2016-12-16来源:本站原创作者:佚名

  前言:Oracle12C加入了一个非常有新意的功能“可插拔数据库”特性,实现了数据库(PDB)在“容器”(CDB)上的拔功能,既能提高系统资源的利用率,也简化大面积数据库的管理和迁移工作。

原理图

下面我们体验一下可插拔数据库的CDB和PDB的操作:

基本信息:

根容器(CDB):CUP

可插拔数据库(PDB):TEA

启动根容器:

[oracle

eric~]$exportORACLE_SID=cup

[oracle

eric~]$sqlplus/assysdba

SQL*Plus:Release12.1.0.2.0ProductiononWedJan:00:

Copyright(c),,Oracle.Allrightsreserved.

Connectedtoanidleinstance.

SQLstartup-----不会直接启动所有可插拔数据库,如需启动所有可插拔数据库,执行命令:alterpluggabledatabaseallopen

ORACLEinstancestarted.

TotalSystemGlobalAreabytes

FixedSizebytes

VariableSizebytes

DatabaseBuffersbytes

RedoBuffersbytes

Databasemounted.

Databaseopened.

停止根容器:

SQLshutdownimmediate

Databaseclosed.

Databasedismounted.

ORACLEinstanceshutdown.

查看是否创建了CDB,如果有显示名字:

SQLselectname,cdbfromv$database;

NAMECDB

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

CUPYES

SQLshowparameterservice;

NAMETYPEVALUE

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

service_namesstringcup

查看容器名字,其中有3个容器:根容器、种子容器和自己创建的容器:

注:12C中除了容器DB,就是非容器DB

SQLselectcon_id,namefromv$containers;

CON_IDNAME

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

1CDB$ROOT---根容器

2PDB$SEED---种子容器,只可读

3TEA---自己创建的可插拔数据库

SQLselectfile_namefromdba_data_files;

FILE_NAME

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

/oracle/app/oradata/CUP/datafile/o1_mf_system_bch07kvz_.dbf

/oracle/app/oradata/CUP/datafile/o1_mf_sysaux_bchoo_.dbf

/oracle/app/oradata/CUP/datafile/o1_mf_undotbs1_bch0d2on_.dbf

/oracle/app/oradata/CUP/datafile/o1_mf_users_bch0d15n_.dbf

SQLselectfile_namefromcdb_data_files;

FILE_NAME

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

/oracle/app/oradata/CUP/datafile/o1_mf_system_bch07kvz_.dbf

/oracle/app/oradata/CUP/datafile/o1_mf_sysaux_bchoo_.dbf

/oracle/app/oradata/CUP/datafile/o1_mf_undotbs1_bch0d2on_.dbf

/oracle/app/oradata/CUP/datafile/o1_mf_users_bch0d15n_.dbf

创建公共用户:

SQLcreateuserc##ericidentifiedbygao;

Usercreated.

SQLconnc##eric/gao

ERROR:

ORA-:userC##ERIClacksCREATESESSIONprivilege;logondenied----没有权限,我们可以单独给其赋予权限,也可以给其指定角色。

Warning:YouarenolongerconnectedtoORACLE.

SQLconn/assysdba

Connected.

SQLgrantdbatoc##ericcontainer=all;---给其DBA角色,角色范围覆盖所有的容器

Grantsucceeded.

SQLconnc##eric/gao

Connected.---连接成功

切换容器:

首先启动自己创建的容器数据库:

SQLalterpluggabledatabaseteaopen;---首先启动PDB数据库

SQLaltersessionsetcontainer=tea;

Sessionaltered.

SQLshowcon_name---查看当前所在的容器名

CON_NAME

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

TEA

关闭可插拔数据库:

SQLalterpluggabledatabaseteacloseimmediate;

Pluggabledatabasealtered.

小结:本篇简单讲述了CDB、PDB、NONCDB的含义,实验部分给大家演示了启动容器、切换容器、关闭PDB等操作,请大家一起交流与探讨。









































北京白癜风正规医院
北京治疗白癜风的中医院哪家好

转载请注明原文网址:http://www.helimiaopu.com/hjpz/3727.html
------分隔线----------------------------