Oracle 12c 新特性之 Multitenant Architecture (三)

时间:2021-06-19 21:47:33

1、 CDB的创建

    CDB的创建有两种方式 :

          1)使用DBCA  

          2)使用sqlplus

  因为只用DBCA创建比较简单,基本和创建non-CDB的流程差不多,有几个细微的地方需要特殊设置下,都是图形界面,理解起来简单,所以在这里就不讲解了,下面主要讲如何通过sqlplus来创建。

  创建一个CDB必须要在CREATEDATABASE命令里指定ENABLE PLUGGABLE DATABASE,有了这个选项后,会自动创建root和seed容器,如果没指定这个子句,那么创建出来的数据库就是non-CDB的。

1、 创建相应目录:

/u01/oracle/oradata/newcdb/pdbseed/

2、 准备参数文件:

db_name='newcdb' ##CDB的实例名

enable_pluggable_database=true

3、 启动实例到nomount状态

4、 在sqlplus中输入如下命令

 
 CREATE DATABASE newcdb
USER SYS IDENTIFIED BY Oracle2013
USER SYSTEM IDENTIFIED BY system_password
LOGFILE GROUP 1 ('/u01/oracle/oradata/newcdb/redo01.log')
SIZE 100M BLOCKSIZE 512,
GROUP 2 ('/u01/oracle/oradata/newcdb/redo02.log')
SIZE 100M BLOCKSIZE 512,
GROUP 3 ('/u01/oracle/oradata/newcdb/redo03.log')
SIZE 100M BLOCKSIZE 512
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 1024
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/u01/oracle/oradata/newcdb/system01.dbf'
SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
SYSAUX DATAFILE '/u01/oracle/oradata/newcdb/sysaux01.dbf'
SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
DEFAULT TABLESPACE deftbs
DATAFILE '/u01/oracle/oradata/newcdb/deftbs01.dbf'
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u01/oracle/oradata/newcdb/temp01.dbf'
SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
UNDO TABLESPACE undotbs1
DATAFILE '/u01/oracle/oradata/newcdb/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
ENABLE PLUGGABLE DATABASE
SEED
FILE_NAME_CONVERT = ('/u01/oracle/oradata/newcdb/',
'/u01/oracle/oradata/newcdb/pdbseed/')
SYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
SYSAUX DATAFILES SIZE 100M
USER_DATA TABLESPACE usertbs
DATAFILE '/u01/oracle/oradata/newcdb/pdbseed/usertbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

5、运行SQL脚本
         @?/rdbms/admin/catcdb.sql
         ##这里有个BUG需要注意

Bug 17033183 : MISSING FILE CATCDB.SQL IN$ORACLE_HOME/RDBMS/ADMIN.

It installs all of the components required by a CDB: PL/SQLpackages in the root, etc.

   万恶啊!最关键的一步卡壳了,如果觉得这些步骤麻烦,那用DBCA吧。