impdp tables remap_table transform 不产生归档

这篇具有很好参考价值的文章主要介绍了impdp tables remap_table transform 不产生归档。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Data Pump import does not import statistics if using remap_table.
In this test case, the statistics of t1 table were not imported into t2 table if using the remap_table option with impdp.

conn / as sysdba
drop user tc cascade;
create user tc identified by tc;
grant dba to tc;

conn tc/tc
create table t1 (c1 number);
insert into t1 values(1);
commit;
exec dbms_stats.gather_table_stats('TC', 'T1', cascade=>TRUE);

host expdp tc/tc tables=t1 reuse_dumpfiles=yes
host impdp tc/tc remap_table=t1:t2

impdp <SCHEMA> tables=t1,t2 dumpfile=<DUMPFILE> remap_table=t1:t2,t2:t3 table_exists_action=truncate


column table_name format a10
select table_name,num_rows,last_analyzed from dba_tables where owner='TC';

Test Results
SQL> select table_name,num_rows,last_analyzed from dba_tables where owner='TC';

TABLE_NAME   NUM_ROWS LAST_ANAL
---------- ---------- ---------
T1                  1 24-AUG-21
T2                              <<== NULL

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

create table t1 (colu varchar2(5));
 create table t2 (colu varchar2(5));


insert into t1 values ('1');

insert into t2 values ('2');

SQL> host expdp system/oracle tables=t1,t2 reuse_dumpfiles=yes


Dump file set for SYSTEM.SYS_EXPORT_TABLE_01 is:
  /u01/app/oracle/product/19.0.0/db_1/rdbms/log/expdat.dmp
Job "SYSTEM"."SYS_EXPORT_TABLE_01" completed with 1 error(s) at Fri Apr 12 04:01:23 2024 elapsed 0 00:00:08


SQL> host expdp system/oracle tables=t1,t2 reuse_dumpfiles=yes
  /u01/app/oracle/product/19.0.0/db_1/rdbms/log/expdat.dmp
Job "SYSTEM"."SYS_EXPORT_TABLE_01" completed with 1 error(s) at Fri Apr 12 04:01:32 2024 elapsed 0 00:00:04


 drop table t1;

drop table t2;
create table t2 (colu varchar2(5));

create table t3 (colu varchar2(5));

host impdp  system/oracle remap_table=t1:t2,t2:t3 table_exists_action=truncate

--default 读ORA-31640: unable to open dump file "/u01/app/oracle/product/19.0.0/db_1/rdbms/log/expdat.dmp" for read

 

To use multiple TRANSFORM options in one IMPDP process.

SOLUTION

Multiple TRANSFORM options can be set using comma in between.

For Example, the user wants to use "OID:N" and "DISABLE_ARCHIVE_LOGGING:Y". The IMPDP syntax for this will be:

IMPDP <username>/<password> tables=<owner>.<table_name> directory=<directory_name> transform=OID:N,DISABLE_ARCHIVE_LOGGING:Y

SYMPTOMS

Data Pump import parameter:

transform=disable_archive_logging:y

does not have the desired effect when used together with remap_table parameter.

CHANGES

CAUSE

The issue was addressed in unpublished Bug 29425370 - DATA PUMP PARAMETER DISABLE_ARCHIVE_LOGGING:Y DOES NOT HAVE THE DESIRED EFFECT FOR REMAP_TABLE, and Development Team determined that its cause is due to product defect BUG 29792959 - IMPDP WITH TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y GENERATES ARCHIVES, fixed in 23.1.

If DISABLE_ARCHIVE_LOGGING:Y is used then worker process will execute the alter table stmt to disable the logging before loading the data, e.g:

ALTER TABLE "<SCHEMA_NAME>"."<TABLE_NAME>"  NOLOGGING;

But in case of remap, it is also running the alter table stmt for old table only, e.g:
impdp .... remap_table=<TABLE_NAME>:<TARGET_TABLE_NAME>
ALTER TABLE "TEST1"."T1"  NOLOGGING;

but the correct alter table should be :
ALTER TABLE "<SCHEMA_NAME>"."<TARGET_TABLE_NAME>"  NOLOGGING;

Fix of unpublished BUG 29792959 corrects this behavior.

During DataPump import the following error is encountered:

ORA-39083: Object type INDEX:"CAL"."IDX_MESSAGE" failed to create with error:
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

Failing sql is:
ALTER INDEX "CAL"."IDX_MESSAGE"  LOGGING

CHANGES

Parameter TRANSFORM = DISABLE_ARCHIVE_LOGGING:Y is used

CAUSE

Using DISABLE_ARCHIVE_LOGGING:Y in impdp command will disable logging (redo generation) for table and indexes being imported through impdp operation. 
The sequence of errors shows ORA-00054: resource busy error only for alter index logging statements in impdp. 

1. You are disabling logging with DISABLE_ARCHIVE_LOGGING:Y.  (Disable redo generation)
2. You are altering index to logging in same session.   (Force redo generation)

This is contradicting to each other and causing error.

SOLUTION

1. Do not use DISABLE_ARCHIVE_LOGGING:Y because in case of database failure or corruption, you may want to recover data. Recovery is done by applying redo information. Using DISABLE_ARCHIVE_LOGGING:Y disables redo generation and when recovery is needed you will not be able to recover and you have go for recreation of full database. When parameter DISABLE_ARCHIVE_LOGGING:Y is not used error ORA-00054: resource busy is not observed. 

2. In case DISABLE_ARCHIVE_LOGGING:Y must be used, then restrict the impact specific to table by using DISABLE_ARCHIVE_LOGGING:Y:table. This will disable redo generation for tables only. The indexes with logging will be imported without error ORA-00054: resource busy.

The database on a DBCS instance is in FORCE LOGGING mode by default and as per documentationhttps://docs.oracle.com/database/121/SUTIL/GUID-64FB67BD-EB67-4F50-A4D2-5D34518E6BDB.htm#SUTIL939, DISABLE_ARCHIVE_LOGGING option will not disable logging when indexes and tables are created if FORCE LOGGING is enabled. To avoid archive logs from being created, turn off FORCE LOGGING

SQL> alter database no force logging;


Once the data is imported, you can enable FORCE LOGGING

SQL> alter database force logging;文章来源地址https://www.toymoban.com/news/detail-852986.html

到了这里,关于impdp tables remap_table transform 不产生归档的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 17、Flink 之Table API: Table API 支持的操作(1)

    一、Flink 专栏 Flink 专栏系统介绍某一知识点,并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分,比如术语、架构、编程模型、编程指南、基本的datastream api用法、四大基石等内容。 3、

    2024年02月03日
    浏览(45)
  • 表格(el-table)里面嵌套表格(el-table)

    样式如下:   用到的代码: 一般需要嵌套表格这种情况下,后端返回的都是字符串格式的数组,需要在接收到数据后自己转化,编辑好提交的时候也需要自己把数组转为字符串格式传给后端. 一般在涉及到嵌套表格的情况下,新增或者编辑某条记录的时候,都会有动态增加或者删除一

    2024年02月15日
    浏览(39)
  • Layui Table 鼠标悬浮弹层显示超出内容、Table基本操作

    JS的DOM之鼠标悬浮事件 鼠标悬浮事件之 mouseover()和 mouseout()事件 鼠标在这块区域时候会触发相应事件,将鼠标挪开则恢复原先事件 悬浮事件编写 实现效果  

    2024年02月11日
    浏览(38)
  • Hive_Hive统计指令analyze table和 describe table

    之前在公司内部经常会看到表的元信息的一些统计信息,当时非常好奇是如何做实现的。 现在发现这些信息主要是基于 analyze table 去做统计的,分享给大家 实现的效果某一个表中每个列的空值数量,重复值数量等,平均长度 具体的指令还是要看HIVE官网,StatsDev - Apache Hive

    2024年02月09日
    浏览(41)
  • el-table实现懒加载(el-table-infinite-scroll)

    2023.8.15今天我学习了用el-table对大量的数据进行懒加载。 效果如下:   1.首先安装:   2.全局引入: 3.页面使用: 如果大家有不懂的地方可以参考: 1.vue—在el-table上实现懒加载效果_列表懒加载插件_迷路小灰灰的博客-CSDN博客 2.el-table-infinite-scroll - npm (npmjs.com) 

    2024年02月12日
    浏览(50)
  • vue3+elementplus基于el-table-v2封装公用table组件

    主要是针对表格进行封装,不包括查询表单和操作按钮。 梳理出系统中通用表格的功能项,即表格主体的所有功能,生成columns列头数据、生成data表体数据、拖拉列宽、分页、生成中文列名、自定义列宽width 效果如下: 父级引用: 父组件: 子组件: 子组件: 父组件: 以上

    2024年02月10日
    浏览(61)
  • el-table实现纯前端导出(适用于el-table任意表格)

    2023.9.1今天我学习了如何使用el-table实现前端的导出功能,该方法的好处有无论你的el-table长什么样子,导出之后就是什么样子。 1.安装三个插件 npm install file-save npm install xlsx npm install xlsx-style 2.创建Export2Excel.js 3.按需引入 4.vue.config.js引入 效果: 扩展: 当我们会出现这样的表

    2024年02月10日
    浏览(52)
  • el-table 多选框改成单选框(el-table单选功能)

    今天,写项目时,有一个table作为筛选的载体,需要选中table里面的一条数据,我想了一下,用table里面的selection功能,实现单选功能。

    2024年02月16日
    浏览(46)
  • el-table实现根据条件对特定的table-cloumn进行是否可勾选

    el-table实现根据条件对特定的table-column进行是否可勾选

    2024年04月17日
    浏览(29)
  • element-ui的table实现滚动加载,涵el-table组件封装一份

    重点就是 a d d R o l l L i s t e n e r addRollListener a d d R o l l L i s t e n e r 函数,想快点弄上去看效果的直接弄这个函数吧 如果不在mounted中则一定要this.$nextTick(() = this.addRollListener()) 示例代码 如果你把上面的看过了;只需要在 a d d R o l l L i s t e n e r addRollListener a d d R o l l L i s t e

    2023年04月08日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包