前言:Oracle12C加入了一个非常有新意的功能“可插拔数据库”特性,实现了数据库(PDB)在“容器”(CDB)上的拔功能,既能提高系统资源的利用率,也简化大面积数据库的管理和迁移工作。 原理图 下面我们体验一下可插拔数据库的CDB和PDB的操作: 基本信息: 根容器(CDB):CUP 可插拔数据库(PDB):TEA 启动根容器: [oracle eric~]$exportORACLE_SID=cup[oracle eric~]$sqlplus/assysdbaSQL*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 |