• 在多租户(容器)数据库中如何创建PDB:方法5 DBCA远程克隆PDB


    基于版本:19c (12.2.0.3) AskScuti

    创建方法:DBCA静默远程克隆PDB。将 CDB1 中的 PDB1 克隆为 CDB2 中的 ERP2

    对应路径:Creating a PDB --> Cloning --> 无对应路径(DBCA)

    在容器数据库CDB里面如何创建PDB,官方文档给出了一张创建PDB技术选项图,图片如下:

    注意:DBCA静默克隆建库,方法没有在此图片上显示,本文将DBCA方法记在Cloning下面

    另外:DBCA克隆或重定位PDB,不支持开启了OMF的CDB, CDB1和CDB2必须都为归档模式

    内容总览

    1. 概述

    2. CDB1:PDB1确认用户和数据

    3. CDB1创建公共用户并授权

    4. CDB2进行DBCA克隆

    5. CDB2验证

    6. 错误情况

    1. 概述

    通过DBCA工具进行静默克隆,两个CDB数据库:CDB1PDB1)和 CDB2ERP1)。

    host 1:192.168.1.12  CDB1(PDB1) 远程服务器

    host 2:192.168.1.14  CDB2(ERP1) 本地服务器

    CDB1PDB1)中有个用户HR,下面有张表 EMPLOYEES

    CDB1下面的 PDB1 静默创建远程克隆到 CDB2 中的 ERP2,并验证 ERP2 中是否存在HR用户及EMPLOYEES表。

    2. CDB1:PDB1确认用户和数据

    [oracle@henry ~]$ sqlplus hr/hr@pdb1
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Wed Aug 28 09:19:35 2019
    Version 19.3.0.0.0
    
    Copyright (c) 1982, 2019, Oracle.  All rights reserved.
    
    Last Successful login time: Wed Aug 28 2019 09:18:10 +08:00
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.3.0.0.0
    
    SQL> select count(1) from employees;
    
      COUNT(1)
    ----------
           107

    HR用户脚本及创建方法可以在这里获取

    3. CDB1创建公共用户并授权

    SQL> conn / as sysdba
    Connected.
    SQL> create user c##remote_user identified by oracle container=all;
    
    User created.
    
    SQL> grant create session,create pluggable database to c##remote_user container=all;
    
    Grant succeeded.
    
    SQL> exit

      

    4. CDB2进行DBCA克隆

    dbca -silent -createPluggableDatabase -createFromRemotePDB -remotePDBName pdb1 -remoteDBConnString 192.168.1.12:1521/cdb1 -remoteDBSYSDBAUserName sys -remoteDBSYSDBAUserPassword oracle -sysDBAUserName sys -sysDBAPassword oracle -dbLinkUsername c##remote_user -dbLinkUserPassword oracle -sourceDB cdb2 -pdbName erp2

    过程

    [oracle@henry ~]$ dbca -silent -createPluggableDatabase -createFromRemotePDB -remotePDBName pdb1 -remoteDBConnString 192.168.1.12:1521/cdb1 -remoteDBSYSDBAUserName sys -remoteDBSYSDBAUserPassword oracle -sysDBAUserName sys -sysDBAPassword oracle -dbLinkUsername c##remote_user -dbLinkUserPassword oracle -sourceDB cdb2 -pdbName erp2
    Prepare for db operation
    50% complete
    Create pluggable database using remote clone operation
    100% complete
    Pluggable database "erp2" plugged successfully.
    Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/cdb2/erp2/cdb2.log" for further details.

    5. CDB2验证

    SQL> show pdbs
    
        CON_ID CON_NAME  OPEN MODE  RESTRICTED
    ---------- --------- ---------- ----------
         2 PDB$SEED      READ ONLY  NO
         3 ERP1          MOUNTED
         4 ERP2          READ WRITE NO
    SQL> alter session set container=erp2;
    
    Session altered.
    
    SQL> select count(*) from hr.employees;
    
      COUNT(*)
    ----------
           107

    6. 错误情况

    报错一

    [FATAL] [DBT-08101] The selected PDB (pdb1) is not open.
       CAUSE: PDB has to be open in READ WRITE mode to perform the configuration.

    请检查 -remoteDBConnString 参数指定的连接字符串是否正确。用的是监听中的 service name,不是 tnsname 的别名。

    报错二

    [FATAL] [DBT-11502] The instance (CDB2) is not running on the local node.
       CAUSE: A locally running instance is required to perform the selected operation.
       ACTION: Specify a locally running database, or execute DBCA on a node where the database instance is running.

    请检查 -sourceDB 参数指定的实例名称是否正确。大小写敏感,如果是大写,需带单引号。还需注意,这个“源库” 指的不是被克隆的数据库,而是要克隆到的目标库

    报错三

    [FATAL] [DBT-19401] Archive log mode is not enabled in the (cdb1) database.
       CAUSE: (cdb1) database should be configured with archive log mode to perform the operation.

    请检查数据库是否为归档模式,非归档模式无法进行DBCA克隆。

  • 相关阅读:
    二级联动选择框的实现
    vimperator
    Ipan笔记-2
    git的一些补充点
    联想云部署的笔记心得
    关于vim的折叠
    ipan笔记
    php中浮点数计算问题
    Chrome 控制台报错Unchecked runtime.lastError: The message port closed before a response was received
    PHP-redis中文文档
  • 原文地址:https://www.cnblogs.com/askscuti/p/11343135.html
Copyright © 2020-2023  润新知