版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OracleOracleCertifiedProfessionalOCPCode:1Z0-06311g前言(版本理解文档系OracleOracleDatabaseRelease19c:DatabaseAdministrator'sOracleOracleDatabaseRelease19c:BackupandRecoveryOracleDatabaseRelease19c:BackupandRecoveryUser'sGuideOracleDatabaseRelease19c:DatabaseConceptsOracleDatabaseRelease19c:DatabaseNewFeaturesOracleDatabaseRelease12c:DatabaseAdministrator'sGuide(PartVIManagingaMultitenantEnvironment)OracleDatabaseRelease12c:BackupandRecoveryUser'sOracleDatabaseRelease12c:BackupandRecoveryUser'sOracleDatabaseRelease12c:Database1章企业管理器12cemcaconfigdbcontroldbreposrecreate命令EnterpriseManager(EM)DatabaseExpress是一个轻量级管理工具。该工具可为单OracleDB(或数据库集群)提供基于Web的现成管理解决方案,包括性能监视、配置管理、管理、诊断和优化。EMDatabaseExpress的目标是公开随数据库安装提供的主要EnterpriseManager数据库功能,其开发成本较低并且在数据库中占用的空间很少。EMDatabaseExpress50-100MBCPU和内存开销在数据库内运行,因为数据库仅运行SQL调用,而在浏览器中执行UI呈现。EMExpressUI使用基于Web的控制台与XMLDB中提供的内置Web服务器进EMExpressservlet在处理这些请求,包括验证、会话管理、压缩和高速缓存。该servlet处理报告的请求并返回由Web浏览器呈现的XML页面。通常每个页面只有一个请求,以减少与数据库之间的往返次数。12c之后的单实例数据库。CDBCDBEMDatabaseDISPATCHERSSQL>showparameter配置使用DBMS_XDB_CONFIG.setHTTPsPortSQL>execdbms_xdb_config.sethttpsport(5500);注意:浏览器需要有Flash插件。 OracleDatabase12c,EMDatabaseControlEMDatabaseExpress取代。EMDatabaseExpressDatabaseConfigurationAssistant(DBCA)中通过一EnterpriseManagerCloudControlEnterpriseManagerCloudControl计费和容量计划:根据目标类型提供计费,使用自动工作量资料库(AWR)数据仓库合并企业多个数据库中的AWR报告ExadataExalogicExadata配置管理:提供一组集成的工具、无搜索、与MyOracleSupport的集成以及定ApplicationTesting以及包括应用程序数据模型的测试数据库管理OracleDBTh命周期管理。FusionMiddlewareFusionApplicationsCloudControlOracleManagementService包含特定于目标的插件的OracleManagementAgent(OMA或CloudControlOracleManagementAgent在主机上运行,并搜集有关这些主机环境的度量数据,以及使用插件来监视可用性、配置和性能并管理在主机上运行的目标。这些可与OracleManagementService进行通信,以便上载它们及其插件所收集的度量数据。然后,OMS会将其收集的数据在OracleManagementRepository中,OMS可以从中这些数据以执行自动和手动报告和监视。OMS还可以与进行通信,以便组织对所监视目标的管理。除了协调之外,OMS还可运行CloudControlConsoleWeb页面,管理员和用户可使用这些页面来监视和管理CloudControl通过及其插件可见的计算环境CloudControlRACServerControlSQL*Plus或ServerControl。如果安装了OracleRestart,并向OLR了数据库,则可以使用ServerControl。要启动和停止程序,请使用ServerControl实用程序或lsnrctl命令。示例srvctlstopdatabase-dorcl-oimmediatesrvctlstartdatabase-dorcl-oopenCloudControlEnterpriseManagerCloudControlSQL>OMS(OHSWebLogic受管服务器启动(在OMS/资料库主机上注:如果资料库具有RAC实例,请使用SRVCTL命令CloudControlEnterpriseManagerCloudControl停止(在OMS/资料库主机上OMS(OHSWebLogic受管服务器$ORACLE_HOME/bin/sqlplus/assysdbaSQL>shutdownimmediate注:如果资料库具有RAC实例,请使用SRVCTL命令2章容器数据库体系(CDB12.1之前版本的数据库的一种简称CDB:ContainerDatabaseOracle11gCDB体系结构(CDB12.1之前版本的数据库的一种简称12.1之前版本的体系结构,需要它自己的实例,因而需要它自己的进程、SGA的内存分配并且需要在它的数据字典中Oracle元数据。乘以实例数量,从而得到进程数量、SGA的内存分配,并且为这些数据库的所有数本幻灯片是将部署到三个不同的非CDB中的三个应用程序合并为一个应用程序的示插入数据库具有其自己的应用程序,由其自己的DBA或由容器管理员进行管理,该SYSSYS用户可以管理根容器和每个可CDB一样有一个数据库实例和多个数据库CDBCDBOracle将多个应用程序归为一组的CDB最后具有一个实例,因此在根容器中有一组进程、一个SGA分配和一个数据字典,这些是所有PDB共有的,而每个PDB将自当应用程序需要打补丁或升级时,仅在CDB中执行一次操作,随后,所有应用在物理级别,CDBCDBCDBPDB的标识。CDB中的所有PDB都共享CDB的ARCHIVELOG模式。CDBPDB的任何附加表12.2CDBUNDO表空间。(12.2版本开始,UNDO可在PDB中)PDBPDB每个容器都将自己的数据字典在相应的SYSTEM表空间(其中包含自己的元数据)中,还有一个SYSAUX表空间。根据应用程序的需要,PDBPDB详细可参考文档https OracleDatabase12cCDBCDBCDB具有单独的相异实例。实例不能在非CDB和CDB之间共享。OracleDatabase12cCDBPDB,但是任何时候可以一次存放零个、一个或许多PDB,从而利用新体系结构的全部功能,这需要的Oracle多租户选项CDBOracleDatabase11gCDBOracleOracle特定PDB$SEEDPDB12.2版本之前限制一个CDB中(包括)只能有253个PDB,12.2版本之后制一个CDB中(包括)可以有4098个PDB(SQL>showparametermax_pdbs)–限制一个CDB中只能有1024个服务供的元数据和数据。存在根容器时,您可以创建其他类型的容器,即PDB。CDB中仅有一个PDB。PDB是用于创建新PDB的系统提供的模板3章用户权限非CDBPDBPDBPDBPDBPDBPDB的应用程序。而且,不能在根中定义任何本地用户。rootPDB中的用户CDBPDBPDBPDBCDBPDBPDB自己的数据字典中定义,所以在该PDB之外不知道该角色,并且只能在其PDB内使用该角色。次创建将在所有PDB中的角色。在创建时指定角色的性质:本地或公用。公用角色Oracle提供的预定义的角色都是公用角色。权限通常称为本地或公用权限,但是更准确地说,使用CONTAINER=CURRENT子句在本地授予权限或者使用CONTAINER=ALL子句普遍授予权限。这一规则也适用于角色:可以普遍或者在本地将公用角色授予公用用户或角色。公用角色可以包含在CDB中应用的PDB,为支持CDB管理员的职责,将支持具有类似CDB_xxx名称的新的一系列数据字典视DBA_xxxCDB_xxxCon_ID,显示列出的事实源自的容器。从根以及任何PDB都可以查询CDB_xxx视图。从根查询时CDB_xxx视CDB_xxx视图的结果是PDB上的相应DBA_xxx视图的结果的集合。从PDB查询CDB_xxx视图时,其仅显示它在相应DBA_xxxCDB_USERS,将得到每个容器的公用和DBA_USERS,将得到公用用户的列表(在根中仅存在公用用户。现在如果连接到PDB并查询CDB_USERS或DBA_USERSPDB的相同公4章创建容器数据库和可插入数DBCASQL*PlusCDB对于任何数据库(CDBCDB)init.ora参数文件配置实CREATEDATABASEENABLEPLUGGABLEDATABASE指定数CDBCDB。此操作会在装载阶段创建根容器及控制SYSTEM表空间(其中包括Oracle提供的元数据和数据字典)以及针对AWR的SYSAUX表空间。还会创建可插入数据库,及该数据库自己的数据文件(用于SYSAUXSYSTEM表空间SEEDFILE_NAME_CONVERT重命名可插入数据库的数据文件,同时从根容器执行操作。该子句会创建可插入数据库及该数据库自己的数据文件。数据文件会从根数据文件到另一个位置。数据文件可用作创建未来PDB的模板。如果省略此子句,OracleManagedFiles会决定文第四步是通过执行连接到根容器的catcdb.sql创建和其他组件管理员手册中关于手工创建数据库章节管理员手册中关于手工创建数据库章节 CreatingaDatabasewiththeCREATEDATABASEStatement Completesteps1-8inthe“CreatingaDatabasewiththeCREATEUsetheCREATEDATABASEstatementtocreateanewRunthecatcdb.sqlSQLEnterthefollowinginSQL*PlustoruntheWhenpromptedbythescript,enterthelogfiledirectoryforparameter1andthelogfilenameforparameter2.Forfollowingexampleenters/tmpforthefirstpromptandcreate_cdb.logforthesecondprompt:SQL>hostperl-I&&rdbms_admin&&rdbms_admin_catcdb--logDirectory&&1--logFilename&&2Entervaluefor1:/tmpEntervaluefor2:create_cdbWhenpromptedbythescript,enteranyotherrequiredForexample,thescriptspromptsforadministratorpasswordsandthetemporarytablespacename:EnternewpasswordforSYS:********EnternewpasswordforSYSTEM:********Entertemporarytablespacename:Aftercatcdb.sqlcompletes,performsteps12-14inthe“CreatingaDatabasewiththeCREATEDATABASEStatement”topicinOracleDatabaseAdministrator’s实验:具体例子创建文件cd创建静态参数文件cd$ORACLE_HOME/dbs/viminitNEWCDB.ora切换环境并启动到sqlplus/assysdba执行建库语句CREATEDATABASENEWCDBUSERSYSIDENTIFIEDBYoracleUSERSYSTEMIDENTIFIEDBYoracleLOGFILEGROUP1SIZE100MBLOCKSIZEGROUPSIZE100MBLOCKSIZEGROUPMAXLOGHISTORY1MAXDATAFILES1024EXTENTMANAGEMENTLOCALNEXT10240KMAXSIZEUNLIMITEDAUTOEXTENDONNEXT10240KMAXSIZEUNLIMITED500MREUSEAUTOEXTENDONMAXSIZEUNLIMITED'/u01/app/oracle/oradata/NEWCDB/temp01.dbf'SIZE20MREUSEAUTOEXTENDONNEXT640KMAXSIZEUNLIMITED200MREUSEAUTOEXTENDONNEXT5120KMAXSIZEUNLIMITEDSEEDFILE_NAME_CONVERT=SYSTEMDATAFILESSIZE125MAUTOEXTENDONNEXT10MMAXSIZEUNLIMITEDSYSAUXDATAFILESSIZE100MMAXSIZEUNLIMITED;执行vim------------utilqw改为Utilqw------------useGetopt::Long;useuseuseusecatconqw(catconSqlplus);sqlplus/assysdbaSQL>hostperl-I&&rdbms_admin&&rdbms_admin_catcdb--logDirectory&&1--logFilenameEntervaluefor1:/tmpEntervaluefor2:abc.logEnternewpasswordforSYS:oracleEnternewpasswordforSYSTEM:oracleEntertemporarytablespacename:TEMPcatcon:ALLcatcon-relatedoutputwillbewrittento[/tmp/utlrp_catcon_18009.lst]catcon:See[/tmp/utlrp*.log]filesforoutputgeneratedbyscriptscatcon:See[/tmp/utlrp_*.lst]filesforspoolfiles,ifanycatcon.pl:completedsuccessfullyDBCA创建数据库需要选中“CreateAsContainerDatabase(创建为容器数据库”复选框,否则数据库会创建为非CDB。选中“CreateaDatabasewithDefaultConfiguration(使用默认配置创建数据库”复选框时,您还必须提供可插入数据库名称。如果选中“AdvancedMode(高级模式”复选 SEED如果您希望数据库为容器数据库,所需的第一个重要子句是ENABLEPLUGGABLE 的法是使用SEEDFILE_NAME_CONVERT子句。FILE_NAME_CONVERT指定到目标的根数据文件的源 /u01/app/oradata/CDB1和/u01/app/oradata/CDB1/seed必须存在ENABLEPLUGGABLE使用在语句中指定的SYSTEM、SYSAUX、UNDO和USERS表空间的数据文件的目标目录值设置DB_CREATE_FILE_DEST实例参数。Oracle为所有数据文件、控制文件和重做日志 PDB_FILE_NAME_CONVERT实例参数PDB_FILE_NAME_CONVERT实例参数会将现有文件(在本例中为根数据文件)的名称/u01/app/oradata/CDB1和 CDBPDB从(即PDB$SEEDPDB)创建新PDB,例如用于新应用程序实施的PDB。此类PDB创建工作几乎可以即时完成。CDBPDBCDBCDB整合到一个CDB中也是不错的方法。将若干个非CDB克隆到一个CDB中是一种保留非CDB的好方法,这有机会比较新PDB和原始非CDB的性能,或者至少等到您认PDBCDBPDBPDB首先,在克隆的PDB中克隆生产应用程序,然后给克隆的PDB打补丁以进试。您也CDBPDBPDB:当您希望诊断应用程序的性能问题或对将移走的PDB插入到另一个CDB中。例如,您必须将PDB升级到的Oracle版本,但您不想将其应用到所有PDB。此时您可以从一个OracleDB版移走PDB,然后将其插入从更高版新建的CDB,而不是将CDB从一个版升级到另一个用创建新PDB几乎可以即时完成。此操作会将数据文件从READONLY 还会创建表空间,例如用于完整 (其中包括指向Oracle提供的对象的元数据)的SYSTEM,用于本地辅助数据的SYSAUX,用于临时数据的TEMP。SYS,以及能够管理PDB的SYSTEM。还会创建授予本地PDB_DBA角色的本地用户(PDBA)PDBSYSPDB_DBAPDBA无法执行除连接到PDB以外的任何其他操作。PDB使用位置子句从从PDBCREATEPLUGGABLEDATABASE语句。ADMINUSERCONNECTPDB_DBAPDBPDBAPDB的数据文件的目 CREATE_FILE_DEST子句为PDB中的数据文件定义默认位置,覆盖为CDB指定的Oracle托管数据文件的默认位置。NONEPDBOMF。使用此子句时会使用scope=SPFILE在PDB中隐式设置DB_CREATE_FILE_DEST参数。如果不使用OMF,FILE_NAME_CONVERT子句首先指定文件的源 ,然后指定PDB数据文件的目标 CDB_PDBSPDB列表,CDB_TABLESPACESPDBSSAUX以任何PDB中都存在的SYS用户或以admin1用户连接到PDBcreatepluggabledatabasepdbprod1adminuserhenryidentifiedbyhenryroles=(connect)createpluggabledatabasepdbprod2adminuserhenryidentifiedbyhenry不使用位置子句如果使用OMF或PDB_FILE_NAME_CONVERT,首先以SYS连接到CDB的根OMFinit.oraDB_CREATE_FILE_DESTPDB的数据文件的目 不使用OMF时,将PDB_FILE_NAME_CONVERT新实例参数设置为数据文件的源和新PDB数据文件的目标 /CDBS/CDB1/pdb1和/CDBS/CDB1/pdb2 都必须存在。然后,使用cdb_pdbs视图验证新PDB及其表空间是否存在:SQL>SELECT*FROMcdb_pdbs;SQL>SELECT*FROMcreatepluggabledatabasepdbprod3adminuserhenryidentifiedbyhenryPDB_FILE_NAME_CONVERTaltersystemsetcreatepluggabledatabasepdbprod4adminuserhenryidentifiedbyhenryCDBCDBCDB进入事务处理一致状态,并在受限模式下将其打(TTS)、完整常规导出/(TDB),在使用可DBMS_PDBCDBXMLCDBPDBCDBCDBOracle12cDB或者,使用GoldenGate执行。使用DBMS_PDB程序包是最简便的方案如果不使用DBMS_PDB程序包,则使用导出/导入通常比使用GoldenGate更简单,但使用导出/导入时,从非CDB切换到PDB期间所需的停机时间可能更长。如果选择使用导出/CDBCDB(TDB)通常是最佳选择。如果选择将部分非CDB导出并导入CDB,可传输表空间(TTS)则是最佳选在用DBMS_PDB程序包的方法从OracleDatabase12c非CDB创建移走的PDB。然PDBPDBCDBCDBDBMS_PDB.DESCRIBE过程Th成一个XML文件,描述未来的PDB。您可以使用XML文件和非CDB数据文件,按照插入移走的PDB的方式插入此移走的PDB。具体步骤如下所示:CDBORCLCDBORCL处于事务处理一致状态,而且使其进入DBMS_PDB.DESCRIBETh成的文件名。XML文件包含要插入的数据文件列表。XML文件和XML文件中描述的数据文件构成移走的PDB。CDBORCLPDB2插入移走的PDB之前,确保可以使用DBMS_ PATIBILITY过程将其插入CDB。使用新子句USING'XMLfile.xml'执行CREATEPLUGGABLESTATEMENT。ORCL中的数据文件列表会从XML文件,以定位和命名PDB2的数据文件。SYSTEM表空间里不需要的元数据。此必须在首次打开PDB之前运行。仅在插入CDB时才需要运行此PDB2PDB2实验:具体例子将非CDB数据库设置为只读并导出sqlplus/asstartupmount;alterdatabaseopenreadexecCDBPDB.oraenvshowpdbscreatepluggabledatabasepdbprod5using'/tmp/PROD5.xml';执行并清尾工sqlplussys/oracle@pdbprod5assysdbaalterpluggabledatabasepdbprod5openreadwrite;execdbms_service.delete_service('PROD5XDB');execdbms_service.delete_service(' alterpluggabledatabasepdbprod5close;打开CDB数据库sqlplus/assysdba克隆本地此方法从CDBPDB并将其插入CDB。源PDB可以位于本地CDB或CDBPDB)以拥有CREATEPLUGGABLEDATABASE权限的公用用户连接到CDB的根CREATEPLUGGABLEDATABASEpdb1PDBpdb3PDBpdb1如果不使用OMF,则使用CREATEPLUGGABLEDATABASE命令和FILE_NAME_CONVERT=('pdb1dir','pdb3dir')子句定义要从PDB1的源文件的 PDB3的新文件的目标 实验:具体例子克隆非CDB或此方法非CDB或PDB并将副本插入CDB。将非CDB或PDB克隆到将非CDB或PDB设置为只读模式CDB或PDB。CREATEPLUGGABLEDATABASECDB。PDB,则使用源PDB名代替NON$CDB。确保新PDBCDB中任何容器的名称。。最后,您可以重新打开非CDB或PDB实验:具体例子sqlplus/assysdbastartupmount;alterdatabaseopenreadcreatepluggabledatabasepdbprod5fromNON$CDB@prod5;db_create_file_dest路径,可以直接在语句里面使用create_file_dest参数指定。例如:createpluggabledatabasepdbprod5fromNON$CDB@prod5 sqlplussys/oracle@pdbprod5assysdba您可以通过移走/CDBPDBPDBPDBCDBPDBPDBPDBPDB1CDB1PDB1CDB2PDB1CDB1CDB1PDB是否已关闭。然后,使用ALTERPLUGGABLEDATABASEUNPLUGXML文件。必须先将PDB从CDB删除,才能将其重新插入同一CDB中。将PDB插入另一个CDB时如果了数据文件,则无需删除PDB。将PDB1插入CDB2之前,您可以选择使用 PDBCDB2要将PDB1插入CDB2,请以公用用户的连接到CDB2根并使用CREATEPLUGGABLEDATABASEpdb1USING'xmlfile1.xml'。最后一步是打开PDB。实验:具体例子CDBOCPUNPLUGINTO[oracle@henry~]$.oraenvORACLE_SID=[CDBOCP]?NEWCDBTheOraclebaseremainsunchangedwithvalue/u01/app/oracle[oracle@henry~]$sqlplus/assysdbaPluggabledatabasecreated.SQL>showpdbs OPEN READWRITE 打开PDB2(原CDBOCP中的SQL>alterpluggabledatabasepdb2open;Pluggabledatabasealtered.PDBPDBKEEPDATAFILESPDB后保留与PDB相关的数据文件。KEEPDATAFILES为默认行为。PDBCDBPDBINCLUDINGDATAFILES,控制文件中列出的所有数据文件均会制文件PDBCDB数据库迁移至CDB11g12cCDB。第法包括两个步骤:11g12cCDB12cCDBCDBDBMS_PDB.DESCRIBEThXML文件,将数据文件作为新的PDB插入CDB。在CDB中从PDB预创建PDB。此操作将在新建的PDB中建立Oracle12c使用导出/导入或将11g数据加载到CDB中新创建的PDB中5章管理容器数据库和可插入数CDBCDBOSORACLE_SIDCDBCONNECTASSYSDBA,则会以授予系统权限的公用SYS用户的连接至根,以管理和所有PDB。EasyConnecttnsnames.oraSQL>CONNECTtnsnames.oraSQL>CONNECTPDBEasyconnecttnsnames.ora文件中的别名,例如本幻灯片所示的方式。在本例中,tnsnames.ora中的net_service_name与服务名匹配。OracleRestartOracleClusterwareDBMS_SERVICEPDB创建或修改服务。在这种情况下,PDB属性设置为当前执行操作的PDB。SQL>CONNECTSQL>EXECDBMS_SERVICE.START_SERVICE('salesrep')11gEZconnecttnsnames.ora配置Sqlplus注意:采用EZCONNECT方式连接,IP地址(端口默认1521可省略)后面直接跟Servicename,Servicename如何获取?查看状态即可:lsnrctlstatus。关于OracleNet062体系结构第三章:OracleNet网络(这章~狠~狠~狠~重通过EZ方式连接CDBOCP里面的PDB1tnsnames.ora[oracle@henry~]$sqlplus/asaltersessionsetPDB如何切换到connasaltersessionsetPDBPDB之间如何切CDBPDB,还是PDBPDB之间切换,直接指定名字即可,根容器的名字为:CDB$ROOT,容器的名字为:PDB$SEED,从con_id=3开始,都为用户自定从CDB根容器切换到PDB2:altersessionsetcontainer=pdb2;从PDB2切换到PDB$SEED:altersessionsetaltersessionsetconnas连接到该PDB中SQL>altersessionsetSessionPL/SQLproceduresuccessfullycompleted.PL/SQLproceduresuccessfullycompleted.startupup;startupmount;alterdatabasemount;atlerdatabseopen;shutdownimmediate;shutdownnormal;shutdowntransactional;shutdownabort;RAC环境中,CDB用一个实例运行。CDB数据库的STARTUPNOMOUNT语句SYSDBACDBV$PDBS视图PDBCDB可以使用MOUNT选项启动。用于装载CDB令与非CDB数据库的载命令相同,都使用STARTUPMOUNT语句。同样,您需要以SYSDBA的连接到CDB的根,才能执行此操作。CDB装载时根也会装载,这意味着控制文件已打开,PDBopen_modePDBCDB打开时根也会打开,这意味着所有重做日志文件和根数据文件都已打开,但所PDB仍然处于仅装载状态。PDB在STARTUPDATABASE后自动打开PDB。V$PDBSopen_modePDB仍然处于装载状态,但处于只读模式的除外。这允许从创建新的PDB。CDBPDB全部关闭,然后所有控制文件全部关闭,最后则是实例关闭。PDB关闭时,这意味PDB要打开一个PDB或打开部分或全部PDB,请以SYSOPER或SYSDBA的连ALTERPLUGGABLEDATABASEOPENPDBALLEXCEPTALLV$PDBSopen_modePDBREADWRITE打开模式,但仍然处于READONLY打开模式的除外。您也可以在以SYSDBA连接的PDB中打开PDB。在这种情况下,不必命名要打开的PDB。alterpluggabledatabasepdbprod1alterpluggabledatabaseallalterpluggabledatabaseallexceptpdbprod1要关闭一个PDB或关闭部分或全部PDB,请以SYSOPER或SYSDBA的连接到根,然后发出ALTERPLUGGABLEDATABASECLOSE语句,以指定一个或多个PDB名称或指定ALLEXCEPT或ALL。如果使用CLOSEIMMEDIATE子句,PDB中的事务处理将回退,且会话将断开IMMEDIATE子句,语句将PDBPDB都已关闭,但依然可以从根执行操作,例如删除PDB,或从创建新PDB。PDBSHUTDOWNIMMEDIATEALTERPLUGGABLEDATABASECLOSE。它将关闭PDB。注:SHUTDOWNIMMEDIATEORACLEinstanceshutdown,但这并不意味着实例已关闭。请将其理解成PDB已关闭。SQL>shutdownCLOSEIMMEDIATEPDB中的事务处理将回退,且会话将断开。如果省略IMMEDIATE子句,语句将挂起,直到所有会话全部断开为止。alterpluggabledatabaseallatlerpluggabledatabaseallexceptpdbprod1CDB实例后,默认情况下,PDBPDB在CDB重新启动后自动打开,请使用ALTERPLUGGABLEDATABASE命令的SAVESTATE子句,以便在CDB重新启动后保留PDB打开模式。SAVESTATE子PDB的最后打开状态。因此,PDBCDB重新启动后打开,但前提条件是PDB在系统使用SAVESTATE子句保存最后状态时处于打开状态。要恢复默认行为,请使用DISCARDSTATE子句。Alterpluggabledatabaseallsavestate; Alterpluggabledatabasealldiscardstate; PDB第一个示例在RESTRICTEDREADWRITE模式下打开PDB。此模式仅允许拥有RESTRICTEDSESSIONPDB的本地管理员管V$PDBSPDBRESTRICTEDREADWRITE打开模式。READONLYPDBPDB您PDBPDB的设置PDB中连接,才DATAFILEPDBpdb1_tbs。PDBtemp_tbs第四个示例将属于PDB的所有表空间的限制设为2GBPDBpdbAPP1PDB的新全局数据库名必须不同于CDB中任意容器的全局数据库名称,而且此操作只能在受限模式下执行。每个CDB有一个SPFILE用于参数。参数值与根相关联,应用于根,并且可用您可以在PDB中为参数设置不同的值,前提是V$PARAMETER中的列ISPDB_MODIFIABLETRUEPDBPDB关闭再打开后以及在CDB实例关闭又启动后都会相应地保留。执行克隆和移走/插入操作后,也SQL>selectPDB_UID,NAME,VALUE$from optimizer_use_sql_n_baselinesFALSEoptimizer_use_sql_n_baselinesFALSE 在本例中,pdb2DDL_LOCK_TIMEOUT参数设置了不同的值。PDB关闭再打开后,更改的值会保留。V$SYSTEM_PARAMETER视图中的新列CON_ID显示每个容器(即根、pdb1和pdb2)中的DDL_LOCK_TIMEOUT值。6章管CDBPDB中表空间和CDBCDB中,一组表空间属于根容器,并且每个PDB都有一组其自己的表空间。CREATEDATABASEDBCAUSER_DATATABLESPACEUSERS以外的默认表空间XDB12.1UNDOPDBCDB实例只有一个活动UNDO表空间,称之为共享UNDO。12.2版本中UNDO表空间可以应用到每个PDB中,也就是每个PDB也可以有自己的UNDO表空间,称之为本地UNDO。CDBPDBCREATETABLESPACECDB中已更改通过PDB将数据文件分隔成不同的 可帮助确定哪些文件属于哪个PDB,但这不根中不应存在任何应用程序数据PDB中。尽管可以在根和PDB中执行相同的表空间操作,但所有对象都应在PDB中。CDB根容器的默认表空间,必须作ALTERDATABASE命令。该操作不会更改PDB的默认永久表空间。要更改PDB的默认表空间,必须作为具有适当权限的用户连接到PDB,并发出ALTERPLUGGABLEDATABASE命令。PDB后,ALTERDATABASEALTERPLUGGABLEDATABASEPDB的相同修改。允许使用ALTERDATABASE命令,以实现向后兼容。CDBPDBPDB只能有一个默认临时表空间或表空间组。CDB一样,每个容器可以PDBPDBPDB一起传输。在CDB中创建临时表空间或临时表空间组:sqlplussys/oracle@CDBOCPassysdbacreatetemporarytablespacecdb_xxxtempfile'/u01/app/oracle/oradata/CDBOCP/temp02.dbf'size100m;createtemporarytablespacecdb_xxxtempfilecreatetemporarytablespacepdb_xxxtempfile'/u01/app/oracle/oradata/CDBOCP/PDB1/temp02.dbf'size100m;createtemporarytablespacepdb_xxxtempfilePDB设置一个默认临时表空间(或表空间组。PDB可以具有多个临时表空间,但每个PDB仅有一个默认临时表空间。PDBSQL>createuserc##jimidentifiedbyjimPDBPDB中具有相同公用用户的名称不能与所有PDB中任何本地用户的名称相同。可以且仅可以在根容器中创建公用用户:公用用户是在根和每个现有和将来的PDB中具有相同的数据库CONTAINER=ALL子句创建公用用户。要创建PDBSETCONTAINER权限。公用用户可以连接到特定的PDB,并且可以利用PDB中的适当权限通过CONTAINER=CURRENTPDBPDB的公用用户和本地用户将不可见,因为元数据是从PDBSYSTEM表空间检索的。PDBCREATEUSERSETCONTAINERPDBCONTAINER公用用户,必须连接到根容器。公用用户的名称必须以C##字符开头。为CONTAINER=ALL。如果公用用户连接到PDB,则默认值为CREATE命令中指定的任何表空间、表空间组或概要文件必须存在于每个PDB中。如果未指定上述任何一项,系统将使用PDB的默认TABLESPACE、TEMPORARYTABLESPACE和PROFILE。注:DROPUSER和ALTERUSER命令与非CDB中令相同CONTAINER=ALL子句以全局方式创建c##r1角色。在所有容器中CREATE操作。因此,会在每个容器中创建同一角色c##r1。在特定的PDB中创建的角色是本地角色。在本幻灯片中的示例中,在本地创建了l_role1角色。不在所有容器中CREATE操作。因此,仅在PDB_SALES容器中创建l_role1角色。本地用户创建本地角色时,CDB中的语法和权限相同PDBCREATEROLESETCONTAINER权限,则该用户可以创建公用角色。如果公用用户对该PDB具有CREATEROLE和SETCONTAINERCONTAINER子句确定角色是公用角色还是本地角色。公用角色必须以C##字符开头。PDB的上下文。CREATESESSIONC##R1C##R1角色授予公用用户C##TEST时,该用户可以连接到任何PDB。但是,将C##R1角色授予在PDB_HR中定义的lu_PDB1时,该本地用户只能连接到PDB_HR。是公用权限。在特定的PDB中授予的权限是本地权限。公用用户和本地用户可以行使在其连接的PDB上下文中授予的公用权限和本地权OCM12cuser2在PDB1role1CDB(PDB)createtable的权限,并将该角色给用户user1。授予角色role2在PDB1中只具有createview的权限,并将该角色给user2SQL>createuserc##user1identifiedbyuser1container=all;SQL>altersessionsetcontainer=pdb1;SQL>createuseruser2identifiedbyuser2;SQL>conn/assysdbaSQL>createrolec##role1container=all;SQL>altersessionsetcontainer=pdb1;SQL>createrolerole2;SQL>conn/asSQL>grantcreatesessiontoc##user1container=all;SQL>connsys/oracle@pdb1assysdbaSQL>grantcreatesessiontouser2;SQL>conn/assysdbaSQL>grantcreatetabletoc##role1container=all;SQL>grantc##role1toc##user1;SQL>connsys/oracle@pdb1assysdbaSQL>grantcreateviewtorole2;SQL>grantrole2toSQL>grantc##role1to7CDBPDB的备份与RMANRecoveryManager(RMAN)EnterpriseManager备份和恢复整个CDBCDBPDBPDB(PDB的表空间/数据文以具有SYSDBA或SYSBACKUP权限的用户连接到根或PDB。传统语法(如BACKUPDATABASE、RESTOREDATABASE、RECOVERDATABASE)对根及其所PDB有效,因此,是对CDB执行操作PDB执行操作,具体取决于须使用CDB$ROOT。可以使用PDB名称限定RMANTABLESPACE语法,以便用户可以指定ABLESPACEPDB所已知的。如果未使用PDB限定符,则默认使用根。要列出表空间及其关联的PDB,请使用REPORTSCHEMA语法。RMANCDBPDBPDB。此外,可以从特定的PDB备份单独的表空间或数据文件。CDB的整个数据库备份方式与非CDB相似PDB数据文件以及控制文件。系统会自动备份服务器参数文件(SPFILE)和控制文件。可以选择包括归档重做日志文件。使用RMAN生成所有CDB文件的映像副本仅要求使用SYSDBA或SYSBACKUPCDBRMAN、连接到根,然后输入本幻灯片中显示的BACKUP命令。此外,在备份归档日志文件时还可以提供DELETEINPUT选RMAN>BACKUPCOPYOFCDBPDB的所有数据文件以及控制文件和SPFILE。BACKUPPLUGGABLEDATABASE"CDB$ROOT",sales_pdb命令备份根容器的所有数据文件,即SYSTEM、SYSAUXUNDO数据文件,以及sales_pdbPDB的所有数据文件,即SYSTEM、SYSAUX和TBS2数据文件。PDBPDBSPFILE(控制文件自动备份开启情况下,如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 各学科教学重点与难点研究计划
- 生物课例展示与评比方案计划
- 节日营销对品牌的影响计划
- 经济环境变化对业务的影响计划
- 校内外教学资源的利用计划
- 班级志愿者活动的规划与实施计划
- 部编版三年级语文下册全册单元试卷及答案
- 当前经济环境下的财务挑战计划
- 2025年中考数学考点分类专题归纳之二次根式
- 2023年银行管理(初级)考试模拟练习(含解析)
- 2024浙江绍兴市人才发展集团第1批招聘4人(第1号)高频难、易错点500题模拟试题附带答案详解
- 幼儿园说课概述-课件
- 冠状动脉介入风险预测评分的临床应用
- 35导数在经济中的应用
- 苏科版(2024新版)七年级上册数学期中学情评估测试卷(含答案)
- 部编版《道德与法治》三年级上册第10课《父母多爱我》教学课件
- 北师大版八年级数学上册 数学上学期作业设计勾股定理 实数 含学生版作业及答案
- 气管插管操作规范(完整版)
- 2024-2025学年外研版英语八年级上册期末作文范文
- 四级劳动关系协调员试题库含答案
- 运城中学2023-2024学年八年级上学期期中考试数学试卷(含解析)
评论
0/150
提交评论