专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

「干货分享」史跃东老师:Oracle Database 12C 之多租户(三)

ins518 2024-10-21 07:52:56 技术文章 16 ℃ 0 评论

要使用可插拔数据库,必须在创建CBD时,设置可插拔选项。创建CDB,可以有如下方式:

1,使用create database命令手工创建;

2,使用DBCA;

3,通过DBCA生成脚本,然后修改并手工执行;

4,使用RMAN复制现有的CDB。

这里我们只阐述前两种创建CDB的方式,其他方式,各位小伙伴可以自己琢磨。

使用create database命令创建CDB,实际上就是手工建库了。

手工建库的内容,在官方文档的管理员手册中的第二章中的

Creating a Database with the CREATE DATABASE Statement

已有详细描述。这里不做赘述。只说在创建普通数据库也就是non-CDB和CDB时的区别。

01

参数文件部分:

需要添加enable_pluggable_database,并且该参数必须为true。

02

create database语句部分

(注意目录需要事先创建):

CREATE DATABASE newcdb

USER SYS IDENTIFIED BY sys_password USER SYSTEM IDENTIFIED BY system_password LOGFILE GROUP 1 ('/u01/logs/my/redo01a.log','/u02/logs/my/redo01b.log')

SIZE 100M,

GROUP 2 ('/u01/logs/my/redo02a.log','/u02/logs/my/redo02b.log')

SIZE 100M,

GROUP 3 ('/u01/logs/my/redo03a.log','/u02/logs/my/redo03b.log')

SIZE 100M

MAXLOGHISTORY 1

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 1024

CHARACTER SET AL32UTF8

NATIONAL CHARACTER SET AL16UTF16

EXTENT MANAGEMENT LOCAL

DATAFILE '/u01/app/oracle/oradata/newcdb/system01.dbf'

SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED

SYSAUX DATAFILE '/u01/app/oracle/oradata/newcdb/sysaux01.dbf'

SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED

DEFAULT TABLESPACE deftbs

DATAFILE '/u01/app/oracle/oradata/newcdb/deftbs01.dbf'

SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED

DEFAULT TEMPORARY TABLESPACE tempts1

TEMPFILE '/u01/app/oracle/oradata/newcdb/temp01.dbf'

SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED

UNDO TABLESPACE undotbs1

DATAFILE '/u01/app/oracle/oradata/newcdb/undotbs01.dbf'

SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED

ENABLE PLUGGABLE DATABASE

SEED

FILE_NAME_CONVERT = (

'/u01/app/oracle/oradata/newcdb/',

'/u01/app/oracle/oradata/pdbseed/')

SYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED

SYSAUX DATAFILES SIZE 100M

USER_DATA TABLESPACE usertbs DATAFILE '/u01/app/oracle/oradata/pdbseed/usertbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

这里,着重看一下黑体部分的内容。

需要指定种子容器的文件存放路径。

03

脚本执行部分

原来手工建库完成之后,需要以sys用户执行$ORACLE_HOME/rdbms/admin下面的catalog.sql,以及catproc.sql,当然,还可以执行$ORACLE_HOME/sqlplus/admin下面的pupbld.sql。

但是在创建CDB的时候,oracle建议使用perl脚本运行所有上述sql。

[oracle@ora12 ~]$ cd /u01/oracle/product/11.2.0/rdbms/admin/

[oracle@ora12 admin]$ ls -lrt|grep catcon.pl

-rw-r--r--. 1 oracle oinstall 13220 Jun 14 2014 catcon.pl

[oracle@ora12 admin]$ more catcon.pl

运行命令如下:

[oracle@ora12 admin]$ perl catcon.pl -u sys/oracle -s -e -d $ORACLE_HOME/rdbms/admin -b catalog1 catalog.sql > catalog.log;

[oracle@ora12 admin]$ perl catcon.pl -u sys/oracle -s -e -d $ORACLE_HOME/rdbms/admin -b catproc1 catproc.sql > catproc.log;

[oracle@ora12 admin]$ perl catcon.pl -u system/oracle -s -e -d $ORACLE_HOME/sqlplus/admin -b pupbld1 pupbld.sql > pupbld.log;

完成之后,就可以连接CDB进行维护及后继操作了。

使用DBCA方式相对比较简单,不再赘述。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表