暂无图片
数据同步
我来答
分享
暂无图片 匿名用户
数据同步

Oracle19C,PDB库,生产到测试进行数据同步,大家用什么方法呢?我用数据泵各种报错。。。

我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
哇哈哈

实时同步的话当然是oracle自家的goldengate最稳,

你用数据泵啥错误

暂无图片 评论
暂无图片 有用 1
打赏 0
渣男壹号

不是实时的,可能很久或者是特定的某些需要测试才会用到,网络这些都不通的。错误可太多了

ORA-31684

ORA-39151

ORA-06502

ORA-06512

ORA-39126

ORA-27477

暂无图片 评论
暂无图片 有用 1
打赏 1
哇哈哈

加个参数解决对象已存在的问题

impdp的table_exists_action参数
table_exists_action选项:{skip 是如果已存在表,则跳过并处理下一个对象;append是为表增加数据;truncate是截断表,然后为其增加新数据;replace是删除已存在表,重新建表并追加数据}

暂无图片 评论
暂无图片 有用 2
打赏 0
愤怒的蜗牛
2022-10-20
李宏达
2022-10-20
JiekeXu
暂无图片

如果要用数据泵的话,数据不大的情况,你的生产环境建议按用户导出,然后再测试库建立对应的表空间,清理测试环境同名用户,再导入数据到对应的用户下,这样也比较简单,不会报错。再简单点就是不管数据完整性和依赖性直接加参数 “table_exists_action”。

39151, 00000, “Table %s exists. All dependent metadata and data will be skipped due to table_exists_action of skip”

如果数据量比较大的话,那就用 TTS 表空间传输;或者就是 rman 备份恢复了。

暂无图片 评论
暂无图片 有用 2
打赏 0
严少安
2022-10-20
👍‍
李宏达
2022-10-20
张sir

各个报错码的意思如下,

[oracle@ops-dev-app ~]$ oerr ora 31684
31684, 00000, "Object type %s already exists"
// *Document: NO


[oracle@ops-dev-app ~]$ oerr ora 39151
39151, 00000, "Table %s exists. All dependent metadata and data will be skipped due to table_exists_action of skip"
// *Document: NO


[oracle@ops-dev-app ~]$ oerr ora 06502
06502, 00000, "PL/SQL: numeric or value error%s"
// *Cause: An arithmetic, numeric, string, conversion, or constraint error
// occurred. For example, this error occurs if an attempt is made to
// assign the value NULL to a variable declared NOT NULL, or if an
// attempt is made to assign an integer larger than 99 to a variable
// declared NUMBER(2).
// *Action: Change the data, how it is manipulated, or how it is declared so
// that values do not violate constraints.


[oracle@ops-dev-app ~]$ oerr ora 06512
06512, 00000, "at %sline %s"
// *Cause: Backtrace message as the stack is unwound by unhandled
// exceptions.
// *Action: Fix the problem causing the exception or write an exception
// handler for this condition. Or you may need to contact your
// application administrator or DBA.


[oracle@ops-dev-app ~]$ oerr ora 39126
39126, 00000, "Worker unexpected fatal error in %s [%s] \n%s"
// *Cause: An unhandled exception was detected internally within the worker
// process for the Data Pump job. This is an internal error.
// Additional information may be supplied.
// *Action: If problem persists, contact Oracle Customer Support.


[oracle@ops-dev-app ~]$ oerr ora 27477
27477, 00000, "\"%s.%s\" already exists"
// *Cause: An attempt was made to create an object with a name that has
// already been used by another object in the same schema.
// *Action: Reissue the command using a different name or schema.


其中ORA31684 ORA39151 ORA27477都显示导入的目标库种已存在相关的对象,可以参考文章的解决方案:

https://blog.csdn.net/u013758456/article/details/104365597

1.导入的数据库中已经有相同的用户名和老旧的表
加上参数 table_exists_action=replace

2.导入用户不一致
加上参数 remap_schame=原用户名abc:新用户名qwe

3.导入表空间不一致
加上参数 remap_tablespace=ZKH:ZKH3

先解决这几个报错,再看其他的报错是否还有。

暂无图片 评论
暂无图片 有用 2
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
oracle19c创建完用户登录不了一直报ORA-01017: 用户名/口令无效; 登录被拒绝
回答 6
请问最终如何解决的呢?我碰到同样的问题
安装19c RAC 1节点执行root.sh时报错,CLSRSC-119
回答 3
图中出现CRS2674faied和CLSRSC119:Startoftheexclusivemodeclusterfailed错误,应该是主机名解析出现问题了,排查下/etc/hosts和集群名称25
ORA-00600
回答 3
ORA600是Oracle数据库的一个错误代码,通常表示数据库遇到了一个严重的内部错误。ORA600错误通常与数据库的内部操作有关,可能是由于软件缺陷、硬件故障或配置错误等原因引起的。通常是bug引起
报错 ora-03113 alter日志报错 ora-07445 qks3tCreateHistogramObj()+339
回答 2
已采纳
升级问题到:紧急故障
oracle linux9.0安装oracle19c rac
回答 5
db再打一次补丁,更改scp,重启服务器,删除Oracle用户下.ssh文件,执行./runInstaller就OK了
Oracle巡检工具执行报错的问题求助
回答 1
用grid用户试试
19c compatible能更改为12.0.0吗
回答 1
已采纳
TroubleshootingORA201andORA202Errors(DocID948710.1)阅读这篇文章可以发现,如果你的19c是dbca安装的,那么肯定是无法降级的。如果是dbua升级的方
oracle中对活动会话的定义是啥?
回答 1
在Oracle数据库中,活动会话是指当前正在执行的会话。它代表了与数据库连接的客户端或应用程序的活动会话。活动会话包括与数据库的交互,执行SQL语句或其他数据库操作的过程。
oracle pdb refresh 迁移
回答 1
目标端版本必须大于等于源端啊
咋样解决Oracle安装时报的[INS-13001]或[INS-35180]
回答 5
兄弟,你的win10计算机名称是中文名吧?改个英文名估计就ok啦