重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1355|回复: 0
打印 上一主题 下一主题

[Oracle] ORACLE 19c 使用热克隆创建PDB,每5分钟刷新一次,并SWITHOVER

[复制链接]
跳转到指定楼层
楼主
发表于 2023-9-17 14:35:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如 在一个CDB DEVCDB中,创建一个PDB hotclone_pdb1,来自于另外一个CDB PRODCDB中的PDB pdbprod1,每5分钟刷新一次,最后,可以SWITHOVER

source: prodcdb -->prdprod1
destion:devcdb -->hotclone_pdb1

步骤如下:

1. 前提条件:
   源和目标:
   archivelog
    local undo

2. 在源 prodcdb ,授权给SYSTEM用户 create pluggable database 权限
  sql>conn sys/oracle_4U@prodcdb as sysdba
  SYS@prodcdb> grant create pluggable database to system container=all;
  SYS@prodcdb> alter pluggable database pdbprod1 open;

3. 在目标库 devcdb 创建DBLINK LINK_PRODCDB指向 源 prodcdb
  sql>conn sys/oracle_4U@devcdb as sysdba
  SYS@devcdb> create database link link_prodcdb
      connect to system identified by oracle_4U
      using 'prodcdb';

4. 在目标库创建 PDB,使用热克隆方式,每5分钟刷新一次

  sql>conn sys/oracle_4U@devcdb as sysdba
  sql>create pluggable database hotclone_pdb1 from   pdbprod1@link_prodcdb
       refresh mode every 5 minutes
       create_file_dest='/u01/app/oracle/oradata/';
5.验证   
SYS@devcdb> select pdb_name,status,REFRESH_MODE,REFRESH_INTERVAL from cdb_pdbs

PDB_NAME                       STATUS          REFRES REFRESH_INTERVAL
------------------------------ ---------- ------ ----------------
PDB$SEED                       NORMAL          NONE
HOTCLONE_PDB1                       REFRESHING AUTO                        5

在源端创建一个表,并插入数据
SYS@prodcdb> create table hr.ref(test_id number);
SYS@prodcdb> insert into hr.ref values(100);
SYS@prodcdb> commit;

SYS@prodcdb> select systimestamp from dual;
SYSTIMESTAMP
---------------------------------------------------------------------------
10-SEP-23 03.38.49.356125 PM +08:00


在目标端 DEVCDB,确认是否数据同步

SYS@devcdb> select systimestamp from dual;

SYSTIMESTAMP
---------------------------------------------------------------------------
10-SEP-23 03.43.59.229046 PM +08:00



SYS@devcdb> alter session set container=HOTCLONE_PDB1;
SYS@devcdb> alter database open read only;
SYS@devcdb> show pdbs

    CON_ID CON_NAME                          OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         5 HOTCLONE_PDB1                  READ ONLY  NO
SYS@devcdb> select * from hr.ref;

   TEST_ID
----------
       100

6. 如果要做SWITCHOVER 需要几个地方注意
1.权限上,需要有SYSOPER权限
   grant sysoper to system container=all
2.在源库,也需要创建DBLINK 到目标库
3. 需要在源和目标启用 "_exadata_feature_on"=true 参数
4.execute switchover at source pdb pdbprod1  
  ALTER PLUGGABLE DATABASE
REFRESH MODE every 5 minutes
FROM hotclone_pdb1@link_devcdb
SWITCHOVER;

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-25 11:03 , Processed in 0.115971 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表