本文主要是介绍Oracle 12.2多租户增强:PDB online relocate,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简介
本文是Oracle 12.2多租户增强系列的第3篇,其它两篇参见以下链接:
- Oracle 12.2多租户增强:PDB Hot Clone
- Oracle 12.2多租户增强:Refreshable PDB
实验环境
源CDB为ORCLCDB,目标CDB为ORCLCDB2,均位于同一服务器(可以在不同服务器上)。
数据库版本为19.3.
在源数据库中有PDB名为orclpdb1,在目标数据库中尚无PDB。
源数据库:
ORCLCDB> show pdbs;CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------3 ORCLPDB1 READ WRITE NO
目标数据库:
ORCLCDB2> show pdbs;CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO
先决条件
数据库版本
源和目标数据库均需为12.2或以上。
归档模式
源和目标数据库均需打开归档。
SQL> select log_mode from v$database;LOG_MODE
------------
ARCHIVELOG
local undo
源数据库需启用local undo,19c默认是打开的:
SQL> select property_name from database_properties where property_name like upper('%local_undo%');PROPERTY_NAME
--------------------------------------------------------------------------------
LOCAL_UNDO_ENABLED
目标数据库有指向源数据库的Database Link
SQL> select username, db_link from DBA_DB_LINKS;USERNAME DB_LINK
---------------- ----------------
C##CLONE_ADMIN CLONE_LINK
源和目标数据库有相同的byte order(endianness)
因为都是在同一虚机,因此没有问题。可以是不同平台,但byte order需一致。
SQL> select platform_name from v$database;PLATFORM_NAME
--------------------------------------------------------------------------------
Linux x86 64-bit
其它的一些小的需求就略过了。
Relocate操作
在目标数据库操作:
ORCLCDB2> CREATE PLUGGABLE DATABASE orclpdb2 FROM orclpdb1@clone_link FILE_NAME_CONVERT=('ORCLPDB1', 'ORCLPDB2') RELOCATE;Pluggable database created.ORCLCDB2> show pdbs;CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 ORCLPDB2 MOUNTED
ORCLCDB2> alter pluggable database orclpdb2 open;Pluggable database altered.
在目标PDB打开时,源PDB才会关闭。因此alter pluggable database … open的时间就是业务中断的时间。
在源数据库中,确认PDB已被挪走:
SQL> show pdbs;CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO
结论
- 源和目标数据库无需共享存储,但需网络可达,因需要Database Link
- 最小中断而不是无中断
- 目标数据库是可写的。
参考
- Multitenant : Relocate a PDB in Oracle Database 12c Release 2 (12.2)
- Oracle Multitenant Database Provisioning and Relocation Services
这篇关于Oracle 12.2多租户增强:PDB online relocate的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!