签到成功

知道了

CNDBA社区CNDBA社区

Oracle 18c 新特性--可刷新PDB的switchover

2018-08-15 13:46 2248 0 原创 Oracle 18c
作者: Expect-乐

1.说明    

18c 中支持将通过 dblink 创建的可刷新 PDB 进行源 PDB 和克隆 PDB 进行 switchover ,源 PDB 将成为克隆 PDB ,原来的克隆 PDB 将成为源 PDB

2.具体过程

1)         确认源PDB处于读写模式

以LEIPDB为源PDB来克隆。

SQL> show pdbs;

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED

---------- ------------------------------ ---------- ----------

         2 PDB$SEED                       READ ONLY  NO

         3 LEIPDB                         READ WRITE NO

2)         源CDB中创建公共用户

DROP USER c##lei CASCADE;

CREATE USER c##lei IDENTIFIED BY oracle;

GRANT CREATE SESSION, RESOURCE, CREATE ANY TABLE, UNLIMITED TABLESPACE TO c##lei CONTAINER=ALL;http://www.cndba.cn/Expect-le/article/2952

GRANT CREATE PLUGGABLE DATABASE TO c##lei CONTAINER=ALL;

GRANT SYSOPER TO c##lei CONTAINER=ALL;

3)         源PDB中创建测试表

ALTER SESSION SET CONTAINER = leipdb;

CREATE TABLE cndba(id NUMBER);

INSERT INTO cndba VALUES(1);

COMMIT;

http://www.cndba.cn/Expect-le/article/2952

SELECT * FROM cndba;

 

        N1

----------

         1

4)         目标CDB中创建公共用户

源CDB和目标CDB中具有相同的公共用户c##lei。

DROP USER c##lei CASCADE;

CREATE USER c##lei IDENTIFIED BY oracle;

GRANT CREATE SESSION, RESOURCE, CREATE ANY TABLE, UNLIMITED TABLESPACE TO c##lei CONTAINER=ALL;

GRANT CREATE PLUGGABLE DATABASE TO c##lei CONTAINER=ALL;

GRANT SYSOPER TO c##lei CONTAINER=ALL;

5)         目标CDB创建DBLINK

在目标CDB中创建指向源CDB的dblink,用户就用之前创建的c##lei。

配置TNS

LEICDB =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.179)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = lei)

    )

  )

创建dblink

CREATE DATABASE LINK leicdb_dblink CONNECT TO c##lei IDENTIFIED BY oracle USING 'leicdb';

验证DBLINK是否正常

SQL> select COUNT(*) from v$version@leicdb_dblink;

 

  COUNT(*)

----------

         1http://www.cndba.cn/Expect-le/article/2952

6)         创建手动刷新的PDB

CREATE PLUGGABLE DATABASE leicdb_pdb FROM leipdb@leicdb_dblink

  CREATE_FILE_DEST='/u01/app/oracle/oradata/'

  REFRESH MODE MANUAL;

7)         刷新leicdb_pdb

刷新之前在目标PDB中插入数据

SQL> INSERT INTO cndba VALUES(2);

SQL> select * from cndba;

 

http://www.cndba.cn/Expect-le/article/2952
http://www.cndba.cn/Expect-le/article/2952

  ID

----------

   1http://www.cndba.cn/Expect-le/article/2952

   2

SQL> commit;

刷新PDB

ALTER SESSION SET CONTAINER = leicdb_pdb;

ALTER PLUGGABLE DATABASE REFRESH;http://www.cndba.cn/Expect-le/article/2952

查看新数据是否同步过来

http://www.cndba.cn/Expect-le/article/2952

ALTER PLUGGABLE DATABASE leicdb_pdb OPEN READ ONLY;

ALTER SESSION SET CONTAINER = leicdb_pdb;

select * from cndba;

  ID

----------

   1

   2

8)         源CDB创建DBLINK

在源CDB中创建指向目标CDB的dblink,用于switchover操作。

同样,也要配置TNS

http://www.cndba.cn/Expect-le/article/2952

LEICDB2 =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.178)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = lei)

    )

  )

创建dblink

CREATE DATABASE LINK leicdb2_dblink CONNECT TO c##lei IDENTIFIED BY oracle USING 'leicdb2';

验证

select COUNT(*) from v$version@leicdb2_dblink;

COUNT(*)

----------

    1

9)         SWITCHOVER

http://www.cndba.cn/Expect-le/article/2952

执行切换操作,和DG switchover很相似切换主备。那么leicdb_pdb就是源PDB,而原来的leipdb就是克隆PDB。

ALTER SESSION SET CONTAINER = leipdb;

ALTER PLUGGABLE DATABASE REFRESH MODE MANUAL FROM leicdb_pdb@leicdb2_dblink SWITCHOVER;

至此就完成了可刷新PDB的在线switchover。

更多内容,请查看官方文档:

https://docs.oracle.com/en/database/oracle/oracle-database/18/multi/administering-pdbs-with-sql-plus.html#GUID-B505C234-FAF4-4BAB-8B59-59276E0EA128

版权声明:本文为博主原创文章,未经博主允许不得转载。

PDB SWITCHOVER

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Expect-乐

Expect-乐

关注

Without the continuous bitter cold, there can be no fragrant plum blossom

  • 336
    原创
  • 6
    翻译
  • 100
    转载
  • 41
    评论
  • 访问:1373023次
  • 积分:1957
  • 等级:核心会员
  • 排名:第3名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ