Oracle Database 12C 学习之多租户(连载二)

要使用可插拔数据库,必须在创建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时的区别。

1,参数文件部分:

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

2,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;

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

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

3,脚本执行部分

原来手工建库完成之后,需要以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进行维护及后继操作了。

需要记得前面选择了高级安装模式,然后在这里,你就可以设置数据库为CDB,并且指定pdb的个数及其名称的前缀。

CDB创建完成之后,

SYS@ora12c> select name,cdb from v$database;

NAME  CDB

--------- ---

ORA12C  YES

可以看到,我们创建的就是CDB。

SYS@ora12c> select con_id,name from v$containers;

CON_ID NAME

---------- ------------------------------

 1 CDB$ROOT

 2 PDB$SEED

 3 ORA12C_PDB1

我这里的环境,是使用DBCA方式创建了一个带有一个PDB的CDB。

也可以使用SYS_CONTEXT函数:

SYS@ora12c> SELECT SYS_CONTEXT ('USERENV', 'CON_NAME') FROM DUAL;

SYS_CONTEXT('USERENV','CON_NAME')

--------------------------------------------------------------------------------

CDB$ROOT

管理CDB时,通常需要使用sys用户连接到根容器。只有在使用具有sysdba权限的用户,才可以执行如下操作:

1,实例的启动和关闭;

2,归档的启用和关闭;

3,管理所有与CDB相关的设置,比如修改内存设置;

4,对数据文件进行备份和恢复操作;

5,管理控制文件;

6,管理redo log;

7,管理根容器的undo 表空间;

8,管理根容器的临时表空间;

9,创建公共用户及角色。

ok,我们来看相关的实验:

[oracle@ora12 ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Thu Dec 17 09:13:35 2015

Copyright (c) 1982, 2014, Oracle. All rights reserved.

Connected to an idle instance.

SYS@ora12c> startup

ORACLE instance started.

Total System Global Area 838860800 bytes

Fixed Size  2929936 bytes

Variable Size  687868656 bytes

Database Buffers  142606336 bytes

Redo Buffers  5455872 bytes

Database mounted.

Database opened.

SYS@ora12c> show pdbs;

CON_ID CON_NAME  OPEN MODE RESTRICTED

---------- ------------------------------ ---------- ----------

 2 PDB$SEED  READ ONLY NO

 3 ORA12C_PDB1  MOUNTED

SYS@ora12c> alter pluggable database ora12c_pdb1 open;

--打开某一个可插拔数据库。

SYS@ora12c> show pdbs;

CON_ID CON_NAME  OPEN MODE RESTRICTED

---------- ------------------------------ ---------- ----------

 2 PDB$SEED  READ ONLY NO

 3 ORA12C_PDB1  READ WRITE YES

SYS@ora12c> alter pluggable database all open;

Pluggable database altered.

--当然,也可以打开所有的可插拔数据库。

接下来,看容器切换:


SYS@ora12c> show con_name;

CON_NAME

------------------------------

CDB$ROOT

当前容器为根容器。

切换到种子容器:

SYS@ora12g> alter session set container=PDB$SEED;

Session altered.

SYS@ora12g> select file_name from dba_data_files;

FILE_NAME

--------------------------------------------------------------------------------

/u01/oracle/oradata/ora12g/pdbseed/system01.dbf

/u01/oracle/oradata/ora12g/pdbseed/sysaux01.dbf

SYS@ora12g> select file_name from dba_temp_files;

FILE_NAME

--------------------------------------------------------------------------------

/u01/oracle/oradata/ora12g/pdbseed/pdbseed_temp012015-10-08_07-32-05-PM.dbf

--可见,种子容器中默认只有system,sysaux以及temp表空间。

SYS@ora12c> shutdown immediate;

ORA-65017: seed pluggable database may not be dropped or altered

切换到可插拔数据库:

SYS@ora12c> alter session set container=ORA12C_PDB1;

Session altered.

SYS@ora12c> shutdown immediate;

Pluggable Database closed.

---可插拔数据库是可以关闭或者打开的,但是种子容器就不行了。

本文来自合作伙伴“DBGEEK”

时间: 2024-09-28 07:33:31

Oracle Database 12C 学习之多租户(连载二)的相关文章

Oracle Database 12C 学习之多租户(连载一)

关于可插拔数据库,或者叫做多租户环境这一部分的内容,在oracle 12c的官方文档Database Administrator's Guide中,其第六部分即为多租户环境管理. 从第36到第46章,一共用了11章的内容来详细介绍其内容和相关操作实验.链接如下: https://docs.oracle.com/database/121/ADMIN/toc.htm 另外,在oracle官方网站上,也有关于多租户的白皮书,链接如下: http://www.oracle.com/technetwork

Oracle Database 12C 学习之多租户(连载四)

使用克隆现存PDB的方式创建新的PDB:这里有两种情况,一种为使用本地PDB,另外一种为使用远程PDB.二者并无太大差异.只是第二种需要使用DBLINK而已. 克隆本地方式: SYS@ora12g> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORA12C_PDB1

Oracle Database 12c新特性对企业影响的思考

当今的世界,是云的世界. 而关系型数据库管理系统 (RDBMS) 也正在发生一场重大变革 ---- 从固定的服务器和存储转向灵活的云部署,从存储优化的数据库管理转向内存优化的数据库管理. 新一代的数据库环境已经来临.传统数据库中的Oracle也发布了12C的版本,经过一段时间的使用和测试,我们感觉Oracle Database 12C能为我们提供进行创新的基础,并企业以安全.可靠且经济高效的方式进行IT管理.本文主要探讨12C中的几个对新特性带来的影响. 1. 多租户架构(Multitenant

Grid+ASM+Oracle Database 12c安装配置教程

备注:工作需要开始学习oracle,之前只学习过mysql的一些基础东东,oracle对我而言是一个新的数据体系,作为初学者,很多地方可能写的不对,只是个人理解,误导之处,请谅解,求指正![Byrd:2016年7月3日]   环境基础:   虚拟机IP(LINUX):1.1.1.212  本地IP(WIN):1.1.1.1  变量配置:   [root@oracle01 ~]# uname -a  Linux oracle01.db.hangzhou.t4x.org 2.6.32-358.el6

Oracle Database 12c - Global Data Services

手记:Oracle 12c新加入的GDS特性是针对复制数据库(使用复制技术,例如ADG,Ogg等)的完整自动化工作负载管理解决方案.今天我们一起来学习GDS的相关知识. 注:文档内容来自Global-Data-Service白皮书翻译. 为满足企业各种业务需求,如高可用性.灾难恢复.内容本地化和缓存.可扩展性等,许多组织在本地或远程的数据中心维护一个或多个生产数据库的复制.Oracle数据库一般通过Oracle ADG和Oracle GoldenGate技术策略用于完成数据库的复制. 1 业务需

Oracle Database 12c Release 2安装详解

第1章 Oracle Database 12c Release 2安装详解 1.1 下载方法 oracle官网https://www.oracle.com 1)打开官方网站,找到下载连接 2)选择更多下载. 3)选择数据库版本,这里选择的是目前的最新版本 4)接收许可协议,选在linux版本进行下载 5) 接收许可协议,点击linuxx64_12201_database.zip 6)登陆oracle账户,没有的可以自己创建一个 7)然后就能够进行下载 https://docs.oracle.co

Linux 平台安装Oracle Database 12c

1)下载Oracle Database 12cRelease 1安装介质 官方的下载地址: 1:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 2:https://edelivery.oracle.com/EPD/Download/get_form?egroup_aru_number=16496132 URL地址2需要先注册,然后才能登陆下载,注册登陆界面https://edel

好书推荐—《精通Oracle Database 12c SQL&PL/SQL编程》

这是学习SQL和PL/SQL的一本好书,适合没有一点SQL基础的入门者.看过很多学习SQL与PL/SQL的书,要么是需要一定的基础,要么是大量的基础知识堆砌而没有形成系统.这本书不一样.首先,它是官方出品的.其次,作者是Oracle公司的产品经理,既会开发,又会管理.最后,本人购买并仔细阅读了这本书,并且是在当当满200减100的时候,所以折算下来,只需要35左右,600页,值了.本书SQL基础打头,PL/SQL接踵而至,章节分的很细腻,阅读轻松,收货却不少. 最后的最后,这不是打广告,是好书推

【OH】Deprecated and Desupported Features for Oracle Database 12c

                                  >                                             >