广告
返回顶部
首页 > 资讯 > 数据库 >oracle cdb、pdb参考
  • 186
分享到

oracle cdb、pdb参考

2024-04-02 19:04:59 186人浏览 八月长安
摘要

CDB、PDB概念介绍CDB与PDB是oracle 12C引入的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多

CDB、PDB概念介绍

CDB与PDB是oracle 12C引入的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container Database,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。下面为CDB与PDB的关系图:

oracle cdb、pdb参考

一个CDB容器数据库通常包含CDB$ROOT、PDB$SEED组件:
a. CDB$ROOT存储着ORACLE提供的元数据和Common User,Common User 是指在每个容器中都存在的用户,查看:

show con_name;

oracle cdb、pdb参考
b.PDB$SEED是创建PDB数据库的模板。一个CDB中有且只能有一个Seed,查看:

show pdbs

oracle cdb、pdb参考
c.PDB可插拔数据库,CDB中可以有一个或多个PDB,查看:

show pdbs

oracle cdb、pdb参考

创建CDB容器数据库

dbca在创建数据库的时候,可以选择是创建容器数据库还是传统的数据库,如下图选择为创建CDB:

oracle cdb、pdb参考

创建pdb:

a.命令create pluggable database创建:

create pluggable database app1 admin user pdba identified by pdba123;

oracle cdb、pdb参考

指定路径创建pdb:

mkdir -p /u01/app/oracle/oradata/prod/data

create pluggable database app1 admin user pdba identified by pdba123 FILE_NAME_CONVERT=('/u01/app/oracle/oradata/prod/pdbseed','/u01/app/oracle/oradata/prod/data');

oracle cdb、pdb参考

b.dbca创建pdb:

oracle cdb、pdb参考

oracle cdb、pdb参考

oracle cdb、pdb参考

oracle cdb、pdb参考

oracle cdb、pdb参考

oracle cdb、pdb参考

oracle cdb、pdb参考

oracle cdb、pdb参考

oracle cdb、pdb参考

确认:

oracle cdb、pdb参考

启动pdb:

alter pluggable database APP1 open;

oracle cdb、pdb参考

c. 克隆pdb数据库:

alter system set db_create_file_dest='/u01/app/oracle/oradata/prod/';

oracle cdb、pdb参考

create pluggable database app3 from app2;

oracle cdb、pdb参考

删除pdb

先关闭对应的pdb,然后删除pdb:

alter pluggable database app3 close immediate;

drop pluggable database app3 including datafiles;

oracle cdb、pdb参考

只是删除库,不删除文件:

drop pluggable database app3 keep datafiles;

oracle cdb、pdb参考

alter pluggable database app3 unplug into '/home/oracle/app3.xml';

oracle cdb、pdb参考

drop pluggable database app3 keep datafiles;

show pdbs

oracle cdb、pdb参考

create pluggable database app5 using '/home/oracle/app3.xml' nocopy;

oracle cdb、pdb参考

切换容器

切换到app1 pdb下面:

alter session set container=app1;

oracle cdb、pdb参考
切换到CDB容器

alter session set container=CDB$ROOT;   

oracle cdb、pdb参考

查看当前属于哪个容器:

show con_name

oracle cdb、pdb参考

select sys_context('USERENV','CON_NAME') from dual;

oracle cdb、pdb参考

启动、关闭pdb

a. 指定pdb进行关闭和启动:

alter pluggable database app1 open;

oracle cdb、pdb参考

startup pluggable database app1;

oracle cdb、pdb参考

启动到只读模式,新建的pdb必须启动一次后才可以设置为read only,否则报

ERROR at line 1:

ORA-65085: cannot open pluggable database in read-only mode:

可以从dba_pdbs视图进行确认,对于NEW的pdb,需要先open:

sql> col pdb_name for a10

SQL> select pdb_name,status from dba_pdbs;

PDB_NAME STATUS

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

APP1 NORMAL

PDB$SEED NORMAL

APP2 NORMAL

APP3 NORMAL

APP4 NEW

新建一个app3 数据库,然后执行启动到read only:

create pluggable database app3 from app2;

oracle cdb、pdb参考

alter pluggable database app3 open read only;

oracle cdb、pdb参考

alter pluggable database app3 open read only;

show pdbs;

oracle cdb、pdb参考

alter pluggable database app1 close immediate;

oracle cdb、pdb参考

b.切换到对应的pdb进行关闭启动:
alter session set container= app1; 

startup;

oracle cdb、pdb参考

alter session set container= app1;

shutdown immediate;

oracle cdb、pdb参考

c.集中操作pdb:

开启所有pdb:

alter pluggable database all open; 

oracle cdb、pdb参考

关闭所有pdb:

alter pluggable database all close immediate;

oracle cdb、pdb参考

pdb自动启动:

oracle 12.1和oracle12.2版本,默认情况下PDB不会随着CDB启动而启动,oracle 12.1只能通过触发器实现:

CREATE TRIGGER open_all_pdbs

AFTER STARTUP ON DATABASE

BEGIN

EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';

END ;

/

删除触发器:

drop trigger open_all_pdbs;

oracle12.2之后可以使用save state来保存pdb数据库的当前状态。

show pdbs;

alter pluggable database app1 save state;

oracle cdb、pdb参考

startup force;

show pdbs;

oracle cdb、pdb参考

查看state状态:

col con_name for a10

select con_name, state from dba_pdb_saved_states;

oracle cdb、pdb参考

删除discard state状态:

alter pluggable database app1 discard state;

oracle cdb、pdb参考

查看pdb信息

查看所有pdb:
show pdbs

oracle cdb、pdb参考

col name for a20

select con_id,dbid,name,open_mode from v$pdbs;

oracle cdb、pdb参考

select name,cause ,type,message,status from pdb_plug_in_violations;

您可能感兴趣的文档:

--结束END--

本文标题: oracle cdb、pdb参考

本文链接: https://www.lsjlt.com/news/40987.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle cdb、pdb参考
    CDB、PDB概念介绍CDB与PDB是Oracle 12C引入的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多...
    99+
    2022-10-18
  • CDB、PDB参数的区别有哪些
    本篇内容主要讲解“CDB、PDB参数的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CDB、PDB参数的区别有哪些”吧!1、CDB和PDB共用一个参数...
    99+
    2022-10-18
  • Oracle 12C RMAN transport tablespace from PDB of RAC CDB to remote PDB
    这个例子是将Linux 平台上的RAC CDB数据库中PDB(jypdb)数据库中的tts,cs表空间(tts,cs用户的缺省永久表空间)传输到Linux 平台上的单实例CDB数据库中的PDB(jypd...
    99+
    2022-10-18
  • Oracle 12c CDB&PDB 基本维护
    1.查看数据库是否为多租户数据库(CDB)SQL> SELECT CDB FROM V$DATABASE; CDB YES2.查看当前容器名字以下命令只能在12c客户端输入SQL> sh...
    99+
    2022-10-18
  • Oracle 12C CDB、PDB常用管理命令
    --查看PDB信息(在CDB模式下) show pdbs --查看所有pdb select name,open_mode from v$pdbs; --v$pdbs为PDB信息视图 sele...
    99+
    2022-10-18
  • 浅谈oracle 12C的新特性-CDB和PDB
    最近看到好多人都在尝试oracle中的12C新特性-容器数据库,今年3月orcle推出了Release2版本,可以算是一个稳定版本了。下午着手尝试了一下,还是蛮不错得1.前言CDB与PDB是Oracle&n...
    99+
    2022-10-18
  • Oracle 12c Non CDB 数据库切换成PDB
    数据库从10.2(11g)升级到12c或者在12c中创建的,数据库就是NON CDB,和12c 之前的版本就没有什么区别,所以一般会把12cnoncdb转为pdb进行管理。 测试步骤如下: 一:源库 1. ...
    99+
    2022-10-18
  • Oracle 12c中怎么利用Non-CDB创建PDB
    本篇文章给大家分享的是有关Oracle 12c中怎么利用Non-CDB创建PDB,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。可以移动Non-...
    99+
    2022-10-18
  • ORACLE 12C 开机自动启动监听、CDB、PDB
    linux下数据库实例监听开机自启动设置2018年8月1日 zhanky 测试介绍系统版本:Oracle linux 7.2 x64数据库版本:Oracle Database 12c Enterprise ...
    99+
    2022-10-18
  • oracle 12c PDB随CDB启动以及链接PDB的方式是什么
    今天就跟大家聊聊有关oracle 12c PDB随CDB启动以及链接PDB的方式是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。本来不知道有这个...
    99+
    2022-10-19
  • Oracle ASMCMD命令参考
    1.实例管理命令: dsget     返回discovery diskstring dsset     设置dis...
    99+
    2022-10-18
  • HANA SQL参考及Oracle对照
    HANA SQL参考及Oracle对照 在本部分中,主要参考了《SAP_HANA数据库SQL参考手册》,以及《ORACLE sql参考手册》,针对我们日常使用的sql方式、内置函数、关键字,进行了对比 常用SQL写法1. 递归查询...
    99+
    2023-06-05
  • oracle 分析函数总结--仅供参考
          --1.分析函数的语法 :函数名() over (分区 排序 滑动窗口/开窗)   ...
    99+
    2022-10-18
  • Oracle安装TNS_ADMIN环境变量设置参考
    很多oracle产品都有自己的TNS文件,如果你的系统里装了多个Oracle的产品的话,那么客户端连instance的时候,到底是使用那个tnsnames.ora呢?这个时候就需要看...
    99+
    2022-11-12
  • Oracle官方文档(11G r 2)【安装需要参考的文档】
    Oracle的官方文档相关的笔记:仅供大家参考,欢迎大家前来指正、提出建议哦步骤:点击左上角的Master Book List然后进入一个书本目录然后找到如下图所示:然后根据自己的系统的版本去找相应的文档就...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作