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日

相关文章

  • 如何在Python中使用ORM操作MySQL数据库?

    以下是如何在Python中使用ORM操作MySQL数据库的完整使用攻略,包括导入模块、连接数据库、创建模型、执行查询操作等步骤。同时,提供了两个示例以便更好理解如何在Python中使用ORM操作MySQL数据库。 步骤1:导入模块 在Python中,我们需要导入相应的模块来使用ORM操作MySQL数据库。以下是导入SQLAlchemy模块的基本语法: fro…

    python 2023年5月12日
    00
  • html css javascript mysql php一些简单随笔

    1.格式 <!doctype html> 声明文档类型,说明html版本号 <html> 说明代码格式 <head>  网页的头部 <meta charset=”utf-8″> 定义网页字符集,关键词等内容:例如:<meta name=”keywords” content=”html”> <t…

    MySQL 2023年4月12日
    00
  • MySQL 数据查重、去重的实现语句

    当我们在处理大量数据时,经常会遇到数据重复或者需要去除重复数据的情况。MySQL 作为一种常用的数据库管理软件,提供了多种方法去重,本文将会讲解三种 MySQL 数据查重、去重的实现语句。 一、使用 Distinct 去重 Distinct 可以去除 SELECT 关键字之后所选结果集中的重复数据。Distinct 只返回不同的值,并且返回值的顺序为第一次出…

    database 2023年5月22日
    00
  • 一文学习MySQL 意向共享锁、意向排他锁、死锁

    一文学习MySQL 意向共享锁、意向排他锁、死锁 基本概念 在MySQL中,锁分为共享锁和排他锁。通过给表或行加锁,可以控制并发访问,保证数据的一致性。但在实际中,使用锁的时候需要考虑多个事务的锁的申请与释放顺序,否则会导致死锁。 MySQL还引入了意向锁的概念。在行级别加锁之前,通过意向锁标记表上接下来需要加的锁类型,以便它能和其他请求的锁协调。在MySQ…

    database 2023年5月19日
    00
  • Qt入门学习之数据库操作指南

    下面就来详细讲解“Qt入门学习之数据库操作指南”的完整攻略。 一、前置知识 在学习Qt的数据库操作指南之前,需要掌握以下前置知识: Qt的基础知识:信号与槽、Qt对象模型等; C++的基础知识:类、对象、继承、虚函数等; 数据库的基础知识:SQL语句、数据库设计等。 如果你对以上知识都比较熟悉,那么就可以进入本文的正题了。 二、Qt数据库模块 Qt提供了一个…

    database 2023年5月21日
    00
  • Oracle 19c的参数sec_case_sensitive_logon与ORA-01017错误问题分析

    下面是Oracle 19c的参数sec_case_sensitive_logon与ORA-01017错误问题分析的完整攻略。 问题背景 在使用Oracle 19c时,可能会遇到ORA-01017错误,该错误通常是由于用户名或密码错误引起的。但在实际情况中,有些用户检查了用户名和密码都没有问题,却仍然遇到了ORA-01017错误,这很可能是由于Oracle 1…

    database 2023年5月21日
    00
  • Python连接mysql数据库的正确姿势

    对于连接 MySQL 数据库,我们可以采用 Python 提供的三种方式:Python DB-API、MySQLdb、PyMySQL。 下面是详细步骤: 安装 MySQL 首选需要在本地电脑上安装 MySQL 数据库,建议在官网下载挺好 https://dev.mysql.com/downloads/mysql/。 安装 Python MySQL 驱动 Py…

    database 2023年5月22日
    00
  • Linux下Mysql5.7.19卸载方法

    以下是关于Linux下卸载Mysql5.7.19的完整攻略: 1. 确认当前系统中是否已经安装Mysql5.7.19 打开终端,执行如下命令: mysql -V 如果已经安装了Mysql5.7.19,会显示如下信息: mysql Ver 14.14 Distrib 5.7.19 2. 停止并删除Mysql5.7.19的服务 执行以下命令: systemctl…

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