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

yizhihongxing

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日

相关文章

  • MongoDB服务端JavaScript脚本使用方法

    MongoDB是一种基于文档的数据库,可以使用JavaScript编写脚本进行数据的查询、更新、删除等操作。下面是MongoDB服务端JavaScript脚本使用方法的完整攻略。 1. MongoDB服务端JavaScript脚本概述 MongoDB支持在服务端使用JavaScript编写脚本来操作数据。MongoDB内置了一些使用JavaScript编写的…

    database 2023年5月21日
    00
  • MySQL事务与并发控制的知识点有哪些

    这篇文章主要介绍了MySQL事务与并发控制的知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL事务与并发控制的知识点有哪些文章都会有所收获,下面我们一起来看看吧。 事务 概念 一个事务可以理解为一组操作,这一组操作要么全部执行,要么全部不执行。 特性 Read Uncommit Read Commit Repe…

    2023年4月8日
    00
  • Oracle 查询死锁并解锁的终极处理方法

    Oracle 查询死锁并解锁的终极处理方法 死锁是数据库中常见的问题之一,它会导致应用程序被挂起、性能下降,从而影响整个系统的可用性。本文将介绍Oracle查询死锁并解锁的终极处理方法,包括以下步骤: 检测死锁 Oracle提供了一些技术来检查是否存在死锁: 查询v$session视图 sqlSELECT s.sid, s.serial#, l.*, dec…

    database 2023年5月21日
    00
  • 详解在python操作数据库中游标的使用方法

    下面我就详细讲解一下“详解在Python操作数据库中游标的使用方法”。 什么是游标(Cursor) 在Python中操作数据库时,游标是不可或缺的一个组件。游标(Cursor)是连接到数据库的一个对象,通过它可以对数据库进行操作。一般情况下,我们需要先创建一个游标对象,然后再使用该对象来执行 SQL 语句,并获取执行结果。在 Python 的 DB API …

    database 2023年5月21日
    00
  • MySQL和Redis的数据一致性问题

    MySQL和Redis都是常用的数据库软件,它们在业务开发中常常被同时使用。而在使用中,我们需要解决MySQL和Redis之间数据一致性的问题。这里提供一些解决数据一致性问题的完整攻略: 1、简述MySQL和Redis的数据一致性问题 MySQL和Redis作为两个不同的数据库,它们之间的数据交互是不可避免的。在实际开发中,我们可能需要在Redis中缓存部分…

    database 2023年5月22日
    00
  • 优化 SQL Server 索引的小技巧

    优化SQL Server索引是优化数据库性能的关键之一。以下是一些小技巧可以帮助您更好地优化SQL Server索引。 1. 执行索引维护 对于经常更新的表,索引可能会变得损坏或不完整。执行索引维护可回收空间,优化索引,并且可以提高查询性能。SQL Server提供了内置的过程,例如“sp_msforeachtable”,可以为数据库中的所有表执行索引维护。…

    database 2023年5月19日
    00
  • MSSQL基本语法及实例操作语句

    下面我将详细讲解MSSQL基本语法及实例操作语句的完整攻略。 一、MSSQL基本语法 1.1 数据库操作 1.1.1 创建数据库 创建一个名为test的数据库: CREATE DATABASE test; 1.1.2 删除数据库 删除名为test的数据库: DROP DATABASE test; 1.2 表操作 1.2.1 创建表 创建一个名为student…

    database 2023年5月21日
    00
  • MySQL基础随笔记

    【1】SQL语言入门      我们都知道,数据库管理人员(DBA)通过数据库管理系统(DBMS)可以对数据库(DB)中的数据进行操作,但具体是如何操作的呢?这就涉及到我们本节要讲的SQL语言。SQL(Structured Query Language)是结构化查询语言的简称,它是一种数据库查询和程序设计语言,同时也是目前使用最广泛的关系型数据库操作语言。在…

    MySQL 2023年4月11日
    00
合作推广
合作推广
分享本页
返回顶部