ORACLE 12C PDB 维护基础知识介绍

ORACLE 12C PDB 维护基础知识介绍

什么是ORACLE 12C PDB

ORACLE 12C PDB 是Oracle数据库12C版本中提供的一种新的数据库容器化技术,其全名为“Pluggable Database”. And PDB是一个可以独立部署、管理和维护的数据库对象,它是若干个Pluggable Database的容器,每个容器内可以有独立的用户和数据,同时也可以与其他容器共享配置和数据。这种架构提供了更好的资源隔离和灵活性,并使得应用程序更容易部署和维护。

PDB维护的基础知识

在ORACLE 12C PDB维护工作中,需要了解以下的基础知识:

1. 连接PDB

通过下述命令可以连接PDB:

sqlplus sys/oracle@HOSTNAME:PDBNAME as sysdba

其中HOSTNAME为主机名,PDBNAME为PDB的名称。

2. 查看PDB状态

通过下述命令可以查看PDB的状态:

select name, open_mode from v$pdbs;

其中,name为PDB的名称,open_mode为PDB的开启模式。

3. 开启或关闭PDB

通过下述命令可以开启或关闭PDB:

alter pluggable database PDBNAME open/close;

其中,PDBNAME为PDB的名称。

4. 备份和恢复PDB

备份PDB的方法和备份传统数据库的方法类似,其中需要注意:

  1. 需要备份PDB及其所在的Container Database(CDB),因为CDB保存了PDB的元数据和配置信息。

  2. 为每个PDB分别备份,可以使用expdp命令。

例如:

expdp username/password@PDBNAME directory=BACKUP_DIR dumpfile=PDBNAME_backup.dmp logfile=PDBNAME_backup.log

恢复PDB的命令如下:

impdp username/password@PDBNAME directory=BACKUP_DIR dumpfile=PDBNAME_backup.dmp logfile=PDBNAME_restore.log

5. 移动PDB

移动PDB的方法和移动传统数据库的方法类似,其中需要注意:

  1. 使用dbms_pdb.desist以及dbms_pdb.deregister命令,使得PDB从源CDB中移除。

  2. 使用dbms_pdb.register以及dbms_pdb.startup命令,将PDB添加到目标CDB中。

例如:

-- 源CDB
sqlplus sys/oracle@SOURCE_CDB as sysdba
SQL> alter pluggable database PDBNAME close immediate;
SQL> execute dbms_pdb.desist('PDBNAME');
SQL> execute dbms_pdb.deregister('PDBNAME');

-- 目标CDB
sqlplus sys/oracle@TARGET_CDB as sysdba
SQL> execute dbms_pdb.register('PDBNAME','/u01/app/oracle/oradata/12c/pdb/PDBNAME.xml');
SQL> alter pluggable database PDBNAME open;

示例1:移动PDB

假设目前有一个PDB名为“mydb”,需要从旧的CDB(OLD_CDB)迁移到新的CDB(NEW_CDB)中,迁移步骤如下:

  1. 在源CDB中关闭PDB,然后移除它。
sqlplus sys/oracle@OLD_CDB as sysdba
SQL> alter session set container=mydb;
SQL> alter pluggable database mydb close immediate;
SQL> execute dbms_pdb.desist('mydb');
SQL> execute dbms_pdb.deregister('mydb');
  1. 将PDB的所有数据文件和xml文件复制到目标CDB服务器上后,在目标CDB上进行注册,并以非容器模式打开PDB。
sqlplus sys/oracle@NEW_CDB as sysdba
SQL> execute dbms_pdb.register('mydb','/u01/app/oracle/oradata/12c/pdb/mydb.xml');
SQL> alter pluggable database mydb open;
SQL> exit

示例2:备份PDB

假设需要对名为PDB1的PDB进行备份操作,备份的细节如下:

  1. 在RMAN中备份PDB及其所在的CDB,并记录备份信息:
rman target sys/oracle@CDB1 auxiliary sys/oracle@CDB2
RMAN> backup pluggable database PDB1 format '/backup/%d_%U' plus archivelog tag='PDB1';
RMAN> exit
  1. 使用expdp命令备份PDB内的数据:
expdp username/password@PDB1 directory=BACKUP_DIR dumpfile=PDB1_backup.dmp logfile=PDB1_backup.log
  1. 恢复PDB1的步骤:

a. 使用impdp命令将数据恢复到目标PDB中。

impdp username/password@PDB1 directory=BACKUP_DIR dumpfile=PDB1_backup.dmp logfile=PDB1_restore.log

b. 更改目标PDB的状态,并打开它。

sqlplus sys/oracle@CDB1 as sysdba
SQL> alter session set container=PDB1;
SQL> alter pluggable database PDB1 open;

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ORACLE 12C PDB 维护基础知识介绍 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • nodejs基础应用

    Node.js基础应用攻略 Node.js(简称Node)是一种基于Chrome V8引擎的JavaScript运行时环境,可用于快速构建高性能、可扩展的网络应用程序。 Node.js安装 访问Node官方网站,下载适用于你的系统的安装程序。 运行安装程序,按照提示进行安装。 Node.js开发环境配置 开发Node.js需要安装以下工具: 编辑器:可以选择…

    database 2023年5月22日
    00
  • 用命令创建MySQL数据库(de1)的方法

    下面是用命令创建MySQL数据库的方法的完整攻略: 步骤一:打开终端 在终端中输入以下命令,连接到MySQL服务器: mysql -u username -p 其中,username代表你在MySQL服务器中的用户名。输入以上命令后,会提示输入密码。输入对应的密码,按Enter键进入MySQL的命令模式。 步骤二:创建数据库 在MySQL的命令模式中,输入以…

    database 2023年5月22日
    00
  • MySQL SHOW 命令的使用介绍

    MySQL SHOW 命令的使用介绍 MySQL SHOW 命令用于显示数据库的信息,包括数据库中的表、列、数据等内容。以下是 SHOW 命令中常用的几种选项: SHOW DATABASES SHOW DATABASES; 可以显示 MySQL 服务器上的所有数据库。 mysql> SHOW DATABASES; +——————…

    database 2023年5月22日
    00
  • MySQL 和 PostgreSQL 的区别

    MySQL和PostgreSQL都是非常流行的开源的关系型数据库管理系统(RDBMS)。MySQL是由瑞典MySQL AB公司开发的,现在属于Oracle公司。PostgreSQL则是由PostgreSQL Global Development Group开发。两者都拥有广泛的用户群,但是它们也有一些不同之处。下面就对MySQL和PostgreSQL的区别进…

    database 2023年3月27日
    00
  • linux下多个mysql5.7.19(tar.gz)安装图文教程

    下面是“linux下多个mysql5.7.19(tar.gz)安装图文教程”的完整攻略: 简介 在 Linux 操作系统中,如果需要同时使用多个 MySQL 数据库,我们可以通过安装多个 MySQL 版本的方式来实现。这里提供的是在 linux 下使用源码安装的方式来安装多个 MySQL5.7.19 数据库的详细攻略。 准备工作 在安装多个 MySQL 数据…

    database 2023年5月22日
    00
  • gorm golang 并发连接数据库报错的解决方法

    下面是“gorm golang 并发连接数据库报错的解决方法”的完整攻略。 问题现象 使用 Golang 并发访问数据库时,使用 gorm 作为 ORM 库时可能会出现报错,报错信息可能类似如下: panic: sql: database is closed 解决方法 在使用 Golang 和 gorm 并发访问数据库时,需要遵循一些规则,否则会引起一些奇奇…

    database 2023年5月19日
    00
  • MYSQL必知必会读书笔记第七章之数据过滤

    下面是MYSQL必知必会读书笔记第七章之数据过滤的完整攻略。 什么是数据过滤 数据过滤,也就是数据筛选或数据查询,是指从数据库中选择满足某些特定条件的记录的过程。通过数据过滤可以实现对数据的快速检索和筛选,提高数据查询的效率和精确度。 数据过滤的语法 数据过滤的基本语法是SELECT语句,需要使用WHERE子句来指定数据过滤的条件。 例如,下面的SELECT…

    database 2023年5月22日
    00
  • Linux中dd命令使用实例教程

    Linux中dd命令使用实例教程 dd是 Linux 操作系统中的一个非常强大且常用的命令行工具,它可以在不加安装的情况下被Linux操作系统直接调用,用于将数据位一段文件复制到另一个文件或设备上。下面将介绍 dd 命令的语法、选项以及两个实际的示例。 dd命令语法 dd命令的语法格式如下: dd [选项] 其中 [选项] 是可选项,不同的选项可以控制 dd…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部