【DB宝26】在Oracle 19c中创建容器数据库(3)--手动创建CDB

0    7610    4

👉 本文共约1810个字,系统预计阅读时间或需7分钟。

之前的2篇:

【DB宝24】在Oracle 19c中创建容器数据库(1)--DBCA静默创建CDB

【DB宝25】在Oracle 19c中创建容器数据库(2)--DBCA图形化创建CDB

这是Oracle OCP课件给出的创建CDB的过程:

【DB宝26】在Oracle 19c中创建容器数据库(3)--手动创建CDB

使用DBCA或SQL*Plus创建新CDB所需的步骤相同。

•对于任何数据库(非CDB或CDB)来说,第一步都是使用init.ora参数文件配置实例。

•第二步是启动实例。

•第三步是使用CREATE DATABASE命令和新子句ENABLE PLUGGABLE DATABASE指定数据库为容器数据库而不是非CDB,从而创建CDB。此操作会在装载阶段创建根容器及控制文件,并在打开阶段创建重做日志文件和根数据文件。根数据文件用于SYSTEM表空间(其中包括Oracle提供的元数据和数据字典)以及针对AWR的SYSAUX表空间。还会创建种子可插拔数据库,及该数据库自己的数据文件(用于SYSAUX和SYSTEM表空间)。您可以使用新子句SEED FILE_NAME_CONVERT重命名种子可插拔数据库的数据文件,同时从根容器执行复制操作。该子句会创建种子可插拔数据库及该数据库自己的数据文件。种子数据文件会从根数据文件复制到另一个位置。种子数据文件可用作创建未来PDB的模板。如果省略此子句,Oracle Managed Files会决定种子文件的名称和位置。

•第四步是通过执行连接到根容器的catcdb.sql脚本创建目录和其他组件。

麦老师不建议手工建库,因为很多组件不全,而且创建过程非常麻烦。

这是手工建库后的组件:

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

这是静默建库后的组件:

手动创建CDB可以使用新子句SEED FILE_NAME_CONVERT,也可以使用新实例参数PDB_FILE_NAME_CONVERT,或者使用OMF格式。下面给出一种使用OMF格式来手动创建CDB的示例。

如果不使用明确的数据文件名,则使用 Oracle Managed Files (OMF)。使用在语句中指定的SYSTEM、SYSAUX、UNDO和USERS表空间的数据文件的目标目录值设置DB_CREATE_FILE_DEST实例参数。Oracle为所有数据文件、控制文件和重做日志文件选择默认大小和属性。

1、创建参数文件并启动到NOMOUNT阶段

启动实例之前,使用常用参数准备init.ora参数文件:DB_NAME、CONTROL_FILES(如果不使用OMF)以及DB_BLOCK_SIZE。root的全局数据库名是CDB的全局数据库名。需要使用一个新参数,定义已启动实例可用于创建CDB而不是非CDB。ENABLE_PLUGGABLE_DATABASE参数必须设置为TRUE。设置ORACLE_SID环境变量。启动SQL*Plus,以属于DBA OS组的OS验证用户的身份进行连接,然后执行STARTUP NOMOUNT命令。

常用命令如下:

2、使用create database创建数据库

通过使用CREATE DATABASE命令和新子句ENABLE PLUGGABLE DATABASE创建CDB。该子句指定数据库为CDB而不是非CDB。此时会创建根容器和种子可插拔数据库。您可以使用另一个子句SEED FILE_NAME_CONVERT指定种子文件的位置。如果省略此子句,OMF会决定种子文件的名称和位置。FILE_NAME_CONVERT指定复制到目标种子目录的根数据文件的源目录。

在本例中,/oracle/dbs和/oracle/seed目录必须存在。在语句中定义的字符集依然是CDB的唯一字符集,如果不指定字符集,那么默认的字符集为US7ASCII:

3、运行catcdb.sql SQL脚本

从12.2开始可以只运行如下脚本:

若是其他版本,那么也可以运行:

运行catcdb.sql时需要输入几个参数:

脚本跑完后,查询组件的脚本如下:

跑脚本非常慢,安装组件也非常麻烦,最后需要保证所有的组件状态都是VALID,所以,麦老师不建议使用这种办法。手工建库只是在特殊场景中才会用到。

本文结束。

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

3 × 4 =

 

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部