Oracle的企业管理器大家一定不会陌生,在十多年前,我们就使用Grid
Control对主机、数据库、中间件等IT部件进行管理。在Grid Control之后,我们使用EM12c,EM13c以及现在的Oracle
Management Cloud(OMC)对企业中的各种IT资源进行管理。
我们通过5个实验来了解一下如何使用EM13c进行基本的数据库生命周期管理、性能查看与数据库升级。这是一个面向初学者的基础Workshop,我们会在后续的文章中,详细为大家介绍更多的EM13c的相关内容。今天我们为大家介绍第一个实验。
准备环境
您可以在自己的服务器或者虚拟机上安装EM13c,安装方法可以参考docs.oracle.com当中的文档,文档内容细致,将通过step by step的方式为您提供安装说明。
我今天使用的是Oracle公有云为大家免费提供EM13c Workshop环境,您在OCI当中创建Compute instance的时候,按照下图显示,选择EM13c的Image即可。
根据您选择的compute instance shape不同,创建时间也会有些许差异,一般情况下5-10分钟即可创建完毕。当您使用ssh工具登录compute instance并转换到oracle用户之后,将看到下面的提示,表示您的环境已经准备完毕,可以开始使用了。
在今天我们使用的环境当中,配置了18c和19c多个版本的数据库,并创建测试使用的CDB与PDB,您在登录之后,可以在首页上查看当前环境的数据库版本情况。
实验1:多租户数据库生命周期管理
在本小节实验中,将为您介绍如何如何使用EM13c对多租户数据库进行生命周期管理,具体内容如下:
创建PDB
插入、拔出一个已经存在的PDB
克隆PDB
PDB的Compliance管理
使用PDBaaS实现自服务获取PDB
PDBaaS基础管理
实验1-1:创建PDB
我们创建PDB的方式有很多种,比如常见的使用命令行的方式创建,您也可以使用EM13c,通过图形界面方便地创建。比如我们现在想在CDB186这个CDB当中创建一个PDB,可以按照下图所示,在EM13c的菜单中选择“Database provisioning”。
在Database provisioning页面当中选择下图所示的Provision Pluggable Databases。
点击下图中红色框标识的放大镜,选择创建PDB的容器数据库。
本次要在cdb186这个容器数据库上创建PDB,所以在下面的选择界面,选择这个容器数据库即可。
然后选择创建新的PDB,如下图所示:
我们选择创建新的PDB,然后需要给出登录操作系统的首选身份证明,在当前的实验中,我们事先创建了一个首选身份证明叫做ORACLE,它带有操作系统上的oracle用户及对应的口令。如果您没有事先创建,您可以在这里新建,然后选择一个方便记忆且有意义的名字即可。
在下面的页面当中,给出您新创建的PDB的名字,PDB的命名规则遵循Oracle常规对象名的命名规则。大家注意到下面的界面中标记②的部分,这里可以为我们的PDB创建多个副本,默认情况下是不创建副本的。如果您选择创建副本,可以在后面的副本个数那里选择副本的数量。下页面底部,给出PDB的管理者口令。
接下来选择数据文件位置,您可以选择OMF或者文件系统,在本次的实验当中,我们选择了文件系统。然后在下图②所示的部分,选择一个账户解锁脚本,大家可以通过点击下图中③所指的放大镜,在弹出菜单中,以unlock为关键字进行检索,这样就可以在创建PDB的同时,将账户进行解锁,具体的脚本内容,可以通过查阅官方文档获得。
选择立即创建,然后点击下一步。
点击下图中的超链接,可以查看PDB创建过程。
稍等片刻之后,在主菜单当中选择Target,然后选择Database,之后就可以看到我们新创建的PDB了,因为我们在创建的时候,选择了创建两个副本,所以系统将自动为新创建的PDB进行编号。
实验1-2:插入/拔出PDB
对于PDB的插入和拔出是PDB经常要做的操作,我们现在通过例子为大家介绍在EM13c当中只需点几下鼠标就可以完成PDB的插入与拔出。比如我们先将本实验中CDB186这个CDB当中的一个PDB拔出,然后再用一个新的名字把它插入回来。
首先还是来到Database Provisioning如下图所示:
按照下图中序号,首先选择要拔出PDB所在的CDB,然后选择unplug选项。
接下来按照下图中所示,选择要unplug的PDB,在本次的实验中,我们将之前创建的PROV_PDB_HENRY2拔出。在这里需要注意的是,在下图中④和⑤的部分,选择的是操作系统上的首选身份证明,如果没有创建,在这里先创建一个也是可以的。
我们需要为unplug的PDB选择一个template以及保存这个template的位置,在本次实验中,我们选择Software Library作为存储位置,并且Generate PDB Archive。PDB Template Name会自动生成,然后在最下方选择临时工作目录,我们保持默认即可。
选择立即运行即可。
您可以点击图中的按钮,查看unplug job运行的情况。
在Job运行概要当中可以看到这个Job的执行步骤和使用时间。
通过观察Database列表,我们发现原来的PDB已经不在列表当中了。
接下来,我们将刚才unplug的PDB再重新插回来,但要给一个新的名字。首先还是来到Database Provisioning。
需要注意的是,我们想要将PDB插入到CDB,选择的是Create New Pluggable Databases,仔细看下面的说明就知道原因了。
在PDB Creation Options当中选择Unplugged PDB。
接下来给出要插入的PDB的名字,这个名字在当前的CDB中不重复即可,我们将Create as Clone前面的方框选中,这将为新插入的PDB提供新的PDB DBID、GUID以及其他用于识别该PDB的信息。
在PDB template location当中,我们依旧选择Software Library,然后将之前的我们创建的模板选中。
选择PDB数据文件的位置,本次选择了操作系统,然后给出临时工作路径。
大概等待一两分钟就可以在Database的仪表盘中看到新插入的数据库了。
实验1-3:克隆PDB
首先来到Database列表页面,找到打算克隆的PDB
然后右键点击要被克隆的PDB,在弹出菜单中选择创建完整的克隆PDB。
在克隆PDB的页面,首先给出登录该PDB所在CDB的身份证明,如下图①所示,然后给出克隆出的新PDB的名字,如下图②所示,并给出下图④所示的主机身份证明。
等待数据库创建完毕,就可以在数据库列表中看到新的数据库。
实验1-4:PDB合规性管理
合规性一直都是DBA和企业比较关心的问题,在EM13c当中可以方便地对数据库进行合规性审查。当然,如果您有更高级的合规性要求,比如要求满足某国际或地区的合规性要求,您可以使用Oracle Data Safe进行更细致的合规性审核。(参考我们之前发布的文章:Oracle Database 20c与DATA SAFE,Oracle Data Safe开始支持本地数据库)
选中下图②所示的合规性标准,然后添加检测目标。
来到数据库列表界面,找到刚才进行合规性检查的PDB,右键单击,调出菜单,然后按照下图所示,找到该PDB的最新配置信息。
然后点击刷新按钮,,刷新PDB的统计信息。
统计信息的时间与机器配置和数据库中的数据对象数量有关,一般在5分钟左右可以完成。
等待统计信息收集完成,就可以在Compliance Results当中进行查看了。
点击Violations可以查看具体合规性问题。
如果想解决这个问题,可以点击下图中红框标识的Submit from library
在弹出菜单中选择FIX OPEN CURSOR来修复这个问题。面对不同的合规性问题,这里的建议也是不相同的。
我们知道这个修改应该是和初始化参数相关,所以我们来到这个PDB查看一下和游标相关的初始化参数。发现open_cursors参数已经被调整到400。您在做实验之前,可以先来查询,然后进行比较。
实验1-5:使用PDBaaS实现自服务PDB申请
PDB非常适合私有云环境,现在我们就通过实验来了解,如何实现。
首先我们要更换登录的账号,之前我们使用的是sysman账户,是管理账户,我们事先已经创建好了PDB自服务模板。我们现在使用Self-Service User普通用户登录。我们使用普通用户登录之后,可以看到如下界面。
我们首先创建一个PDB实例
然后给出PDB的配置即可,这里的模板是我们事先预定好的,可以在管理端进行修改和配置。在这个界面当中,我们可以选择PDB的shape与我们在公有云当中的配置很相似。也可以在这个页面上设定PDB的生命周期,比如下方⑤所示。
可以通过下图中的云端标志,查看Request情况。
当PDB创建完毕,我们可以在主页上看到该PDB以及它的状态。
点击这个PDB可以进入详细页,并可以修改PDB的shape。
稍等片刻,刷新页面就可以看到新的配置。
关于PDB的连接方式,在首页上有显示。
我们可以随时将这个PDB在主页上删除。您可以在删除之前,保留该PDB的备份,以备日后使用。
实验1-6:管理PDBaaS
使用sysman用户登录,然后来到Cloud->Database页面。
在下拉菜单当中选择Pluggable Database
我们可以通过左侧的链接查看PaaS的基本配置情况,比如该zone当中的资源配置情况等。在今天的实验当中,我们只有一台主机。
接下来我们看看PDB pool,在详细页当中,可以看到PDB pool当中各个成员的运行情况。
我们在实验1-5当中申请创建PDB的时候,有两个PDB模板,在模板当中限制了该PDB的资源使用等。我们可以在Service Templates当中创建自己的模板,因为步骤比较简单,留给大家自己去探索。
今天的内容就到这里,我们将在本系列的第二个教程当中为您介绍数据库性能维护,期待您的关注,谢谢。