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

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[工具] 多租户环境重建 Datapump 工具 EXPDP/IMPDP

[复制链接]
跳转到指定楼层
楼主
发表于 2026-5-31 18:17:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在多租户环境中,对于 Oracle 版本 12.1、12.2、18c、19c、21c 和 23ai:

-- 1.在 ORACLE_HOME 下执行下面的步骤来重新加载 DataPump packages

cd rdbms/admin

-- 把所有 PDB 置于 open 状态,并在 CDB 执行 dpload.sql

语法:

$ORACLE_HOME/perl/bin/perl catcon.pl -d /u01/oracle -l <logging directory> -b <prefix for logfile of dpload for each PDB> dpload.sql

Where:
-l - directory to use for spool log files; for example, /tmp
-b - base name for log and spool file names; for example, dp_rebuild_log_base_name

在操作系统提示符下
cd $ORACLE_HOME/rdbms/admin

$ORACLE_HOME/perl/bin/perl catcon.pl -d /u01/oracle -l /tmp -b dp_rebuild_log_base_name dpload.sql

注意:通过 caton.pl 运行 dpload.sql 后,为了重新编译任何无效对象,utlrp.sql 也可以在所有容器中运行 vi catcon.pl,例如

host perl $ORACLE_HOME/rdbms/admin/catcon.pl -n 1 -l /path_for_logs -b name_for_logs $ORACLE_HOME/rdbms/admin/utlrp.sql;

可以多次运行此命令以编译在第一次运行期间未处理的对象。

另外,如果有数据泵组件在任何一个容器中仍然无效,可以在该容器中单独运行 utlrp.sql,例如

connect / as sysdba
alter session set container = <PDB_NAME>
@utlrp.sql

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-8 00:26 , Processed in 0.258539 second(s), 20 queries .

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

© 2001-2020

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