ORACLE_OCP多租户之综述

ORACLE_OCP多租户之综述

  • 文章目标:
    • 使用Oracle Data Pump在CDB数据库中做导入导出操作
    • 使用统一审计来审计CDB和PDB的数据
    • 使用透明数据加密和Database Vault保护CDB和PDB中的数据安全
    • 描述数据复制的限制
    • 描述整个CDB的XStreams使用情况(了解)
    • 使用Oracle Scheduler调度PDB中的操作(了解)
    • 使用LogMiner挖掘PDB的语句(了解)

一、将Oracle Data Pump与PDB结合使用

  • 使用PDB服务名称从PDB导出或导入到PDB。

ORACLE_OCP多租户之综述

二、从非CDB导出并导入到PDB

  • 使用FULL子句导出PRODDB:

    $ expdp system@PRODDB FULL=Y
    DUMPFILE=proddb.dmp

  • 如果CDB1中不存在PDBC,请在CDB1中创建PDBC:

    SQL> CONNECT sys@CDB1
    SQL> CREATE PLUGGABLE DATABASE
    2 PDBC USING pdb$seed;

  • Open PDBC.

  • 在PDBC中创建Data Pump目录.

  • 将转储文件复制到目录.

  • 在PDBC中为新的本地用户的对象创建与PRODDB相同的表空间.

  • 使用FULL子句导入数据进PDBC :

    $ impdp system@PDBC FULL=Y
    DUMPFILE=proddb.dmp

ORACLE_OCP多租户之综述

三、在PDB之间进行导出和导入

  • 使用FULL子句导出CDB1的PDBA :

    $ expdp system@PDBA FULL=Y …

  • 如果CDB2中不存在PDBC,请在CDB2中创建PDBC :

    SQL> CONNECT sys@CDB2
    SQL> CREATE PLUGGABLE DATABASE
    2 PDBC USING pdb$seed;

  • Open PDBC.

  • 在PDBC中创建Data Pump目录.

  • 将转储文件复制到目录.

  • 在PDBC中为新的本地用户对象创建与PDBA相同的表空间.

  • 使用FULL和REMAP向CDB2中的PDBC导入数据 :

    $ impdp system@PDBC FULL=Y
    REMAP_SCHEMA=c##u:lu…

ORACLE_OCP多租户之综述

四、从PDB导出并导入非CDB

  • 使用FULL子句导出CDB1的PDBC :

    $ expdp system@PDBC FULL=Y …

  • 使用FULL和REMAP子句将数据导入PRODDB:

    $ impdp system@ PRODDB FULL=Y
    REMAP_SCHEMA=c##u:local_u

ORACLE_OCP多租户之综述

五、Export/Import全库迁移: 预览

ORACLE_OCP多租户之综述

六、Export/Import全库迁移:方法

  • 全库导出将产生需要被导出的数据库的完整副本并产生转储文件.

    • TRANSPORTABLE=ALWAYS 参数
    • FULL 参数

      $ expdp user_name@pdb FULL=y DUMPFILE=expdat.dmp
      DIRECTORY=data_pump_dir TRANSPORTABLE=always
      VERSION=12.0 LOGFILE=export.log

  • 全库导入将使用全库导出时所产生的转储文件进行全库导入.

    • TRANSPORT_DATAFILES
    • 如果使用 NETWORK_LINK请使用以下参数:
      • TRANSPORTABLE=ALWAYS 参数

七、Export/Import全库迁移: 案例

ORACLE_OCP多租户之综述

八、通过网络传输数据库: 案例

  • 通过网络传输数据库:使用NETWORK_LINK参数执行导入.
    • 创建源数据库到目标数据库的dblink
    • 将源数据库中的用户定义表空间设为只读
    • 将所有用户定义的表空间的数据文件从源传输到目标位置
    • 必要时执行数据文件的转换
    • 导入到目标数据库

$ impdp username@pdbname full=Y network_link=sourcedb
transportable=always
transport_datafiles=’/oracle/oradata/prod/sales01.dbf’,
‘/oracle/oradata/prod/cust01.dbf’
version=12 logfile=import.log

九、Using SQL*Loader with PDBs

  • 使用SQL * Loader Express模式将行插入PDBC中的HR.EMP表.

    $ sqlldr system@PDBC TABLE=hr.emp

    • 无需准备控制文件:
      • 表列必须是标量数据类型(字符,数字或日期时间)。
      • 数据文件仅包含定界分隔符。
      • SQL * Loader使用表列定义来确定输入数据类型.
  • 使用日志文件验证加载操作.

ORACLE_OCP多租户之综述

上一篇:python字符串


下一篇:In aggregated query without GROUP BY, expression #3 of SELECT list contains nonaggregated column