01_Oracle12c 培训课程资料中文版cn

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.1OracleDatabase12cMultitenantAdministrationCopyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.3Agenda多租户架构服务和连接数据字典结构CDB中的安全管理一个CDBCopyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.4Agenda多租户架构服务和连接数据字典结构CDB中的安全管理一个CDBCopyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.5多租户架构多租户数据库(CDB)的组件PluggableDatabases(PDBs)PDBsRootCDBCopyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.6多租户架构的优势减少资本支出和运营成本,增加灵活性,容易采用每个应用程序独立的PDB应用无需改变快速供应(通过克隆)可移植性(通过可插拔)共享内存和后台进程每个服务器的更多应用程序在CDB级别执行的通用操作将多个数据库作为一个(升级,HA,备份)适当的时候进行细粒度控制Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.7多租户架构–动态PDBs共享共同的SGA和后台进程PDB只能看到他们连接到的前台会话Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.800.511.522.53CRMHCMERPBIGBPluggableDatabaseMEMORY00.511.522.53CRMHCMERPBIDWGBPluggableDatabaseMEMORY多租户可扩展性添加PDB只有很少的内存的增加00.511.522.53CRMHCMERPGBPluggableDatabaseMEMORYCopyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.9多租户架构多租户架构目前最多可以支持252个PDB单个PDB的使用感觉和操作与非CDB相同对连接的客户端用户而言,无法分清使用的是PDB还是非CDBDatabaseLinkCopyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.10多租户架构一个容器数据库(CDB)包含下列容器:–Root:root容器,命名为CDB$ROOT,存储Oracle提供的元数据和公共用户–Seed(PDB$SEED):seed容器,命名为PDB$SEED,是一个可以你可以使用它来创建新的PDBs的模板–PDBs:一个PDB对终端用户与应用程序看来与non-CDB完全相同每个CDB只包含一个root,一个seedPDB和零个或者多个用户创建的PDBsCopyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.11容器数据库架构Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.12PDBs中的文件每个PDB都有自己的一套包括SYSTEM和SYSAUX在内的表空间PDBs共享UNDO,REDO和控制文件默认每个CDB都有自己一个TEMP表空间,但是每个PDB可以创建自己的TEMP表空间Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.13Agenda多租户架构服务和连接数据字典结构CDB中的安全管理一个CDBCopyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.14在一个CDB中的services客户端必须使用services连接到PDBs“current”容器是用户连接到的容器在CDB创建的时候,一个与CDB同名的service会自动创建–也被注册到侦听器在一个PDB创建的时候,一个与该PDB同名的service会自动创建并在CDB内启动–配置侦听器以对该service进行侦听–此service不能被用户/管理员管理Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.15在一个CDB中的servicesCopyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.16HRg1wc为什么使用service?在单实例环境中,默认的service可能已经足够CDB的默认服务在启动CDB的时候会自动启动.这是一个管理service.PDB默认service对于已经在已启动的CDB中挂载的PDB的连接是可用的.如果应用程序使用默认service进行连接,则该service一旦在侦听器中进行注册即可连接到该service.rudolphcdb1sqlplususer/pwd@MySCAN/crmsvcCRMPDBDefaultserviceHRPDBCRMSVCCopyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.17HRg1wc为什么使用service?在移动PDBs时,默认的service是不够的PDBs提供位置独立性(plug/unplug/clone),但存在于一个环境在环境之间移动PDB,可能需要对PDB的名字进行改变.使用service为你的应用程序提供一个“拨入账号”.如果你的PDB移动到其它位置,你可以对该“拨入账号”进行保留.–这就要求service名称的唯一性rudolphcdb1CRMPDBHRPDBCRMSVCcupidcdb1NewHRPDBCopyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.18在一个CDB中的service不要为应用程序使用默认的PDBservice–作为一种最佳实践,创建一个新的、用户自定义的service你可以使用如下方式为一个PDB创建,修改,或者删除一个:–如果正在使用OracleRestart对一个单实例数据库进行管理,或者正在使用OracleClusterware对OracleRAC数据库进行管理使用ServerControl实用工具(SRVCTL)–否则,使用DBMS_SERVICE在一个CDB中的每个数据库service的名字必须是唯一的–此外,使用同一侦听器进行侦听的所有CDBs中的数据库service的名称也必须是唯一的Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.19连接到CDBs和PDBs连接到CDBRootcontainer(CDB$ROOT),使用:–ServiceName(简单连接命名方法或者TNS名称的别名)简单连接:@host:port/service–E.g.sqlplusSYS/oracle@localhost:1521/cdb1ASSYSDBA–OS认证E.g.sqlplus/ASSYSDBA连接到PDB,使用:–ServiceName,使用简单连接或者TNS名称别名Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.20连接到CDBs和PDBs两个新的、有用的命令确认你当前连接到的容器:SHOWCON_ID:获取当前连接的容器的ContainerID–1forRoot(CDB$ROOT)–3orgreaterforusercreatedPDBsSHOWCON_NAME:获取容器名称–CDB$ROOT(forRoot)Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.21Agenda多租户架构服务和连接数据字典结构CDB中的安全管理一个CDBCopyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.22公共数据字典12.1之前:Oracle和用户元数据随着时间的推移混合DatabaseCreatedDataDictionaryUserDataMetaDataMatureDatabaseDataDictionaryUserDataMetaDataTables,Code,DataaddedDataDictionaryUserDataMetaDataCopyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.23OBJ$TAB$SOURCE$…Oracle数据和用户数据OBJ$TAB$SOURCE$…EMPDEPT…OBJ$TAB$SOURCE$…多租户修复:水平的-分区的数据字典仅保留Oracle系统定义Oracle和客户元数据混在一起Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.24水平分区的数据字典OBJ$TAB$SOURCE$…EMPDEPT…OBJ$TAB$SOURCE$…Oracle提供的对象,例如views,PL/SQL,等使用objectlinks被所有PDBs共享PDB使用元数据链访问字典对象的元数据在数据库内的虚拟化Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.25容器数据对象容器数据对象是包含与多个容器以及可能是作为一个整体的CDB相关的数据的表或者视图有机制来限制数据对于一个或多个容器的特定的公共用户可见容器的数据对象的例子是Oracle提供的视图的名称以V$和CDB_开头Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.26CDB_xxx在多租户数据库中跨所有PDBs的所有对象USER_xxx由当前用户拥有的对象ALL_xxx由当前用户访问的对象DBA_xxx在一个容器或一个可插拔数据库中的所有对象数据字典视图–CDB_pdbs:在CDB中的所有PDB–CDB_tablespaces:在CDB中的所有表空间–CDB_users:在CDB中的所有用户(包括公共的和本地的)DBA字典视图提供在PDB内的信息:SQLSELECTview_nameFROMdba_viewsWHEREview_namelike'CDB%';SQLSELECTtable_nameFROMdictWHEREtable_namelike'DBA%';Copyright©2013,Oracleand/oritsaffiliates.Allrightsreserved.27性能视图当从一个PDB中查询的时候,查询v$视图将只显示与PDB相关或以CDB作为整体的信息当从ROOT中查询时,v$视图和CDB_视图可以返回多个容器的行–由这些视图返回的行有一个额外的con_id列–这些视图被称为container_data视图–对正在发布查询的公共用户的container_data设置将决定哪些行进行聚合和可见Copyright©2013,Oracleand/oritsaffiliates

1 / 46
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功