标签云
asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-00742 ORA-01110 ORA-01555 ORA-01578 ORA-01595 ORA-08103 ORA-600 2131 ORA-600 2662 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-600 kcbzib_kcrsds_1 ORA-600 KCLCHKBLK_4 ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle勒索恢复 oracle异常恢复 Oracle 恢复 ORACLE恢复 ORACLE数据库恢复 oracle 比特币 OSD-04016 YOUR FILES ARE ENCRYPTED 勒索恢复 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (103)
- 数据库 (1,767)
- DB2 (22)
- MySQL (77)
- Oracle (1,608)
- Data Guard (52)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (166)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (8)
- Oracle ASM (69)
- Oracle Bug (8)
- Oracle RAC (54)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (29)
- Oracle备份恢复 (590)
- Oracle安装升级 (97)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (86)
- PostgreSQL (30)
- pdu工具 (6)
- PostgreSQL恢复 (9)
- SQL Server (32)
- SQL Server恢复 (13)
- TimesTen (7)
- 达梦数据库 (3)
- 达梦恢复 (1)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (39)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (22)
-
最近发表
- ORA-00756 ORA-10567故障数据0丢失恢复
- 数据库文件变成32k故障恢复
- tcp连接过多导致监听TNS-12532 TNS-12560 TNS-00502错误
- 文件系统格式化MySQL数据库恢复
- .sstop勒索加密数据库恢复
- 解决一次硬件恢复之后数据文件0kb的故障恢复case
- Error in invoking target ‘libasmclntsh19.ohso libasmperl19.ohso client_sharedlib’问题处理
- ORA-01171: datafile N going offline due to error advancing checkpoint
- linux环境oracle数据库被文件系统勒索加密为.babyk扩展名溯源
- ORA-600 ksvworkmsgalloc: bad reaper
- ORA-600 krccfl_chunk故障处理
- Oracle Recovery Tools恢复案例总结—202505
- ORA-600 kddummy_blkchk 数据库循环重启
- 记录一次asm disk加入到vg通过恢复直接open库的案例
- CHECKDB 发现了 N 个分配错误和 M 个一致性错误
- 达梦数据库dm.ctl文件异常恢复
- Oracle Recovery Tools修复ORA-00742、ORA-600 ktbair2: illegal inheritance故障
- 可能是 tempdb 空间用尽或某个系统表不一致故障处理
- 11.2.0.4库中遇到ORA-600 kcratr_nab_less_than_odr报错
- [MY-013183] [InnoDB] Assertion failure故障处理
分类目录归档:逻辑备份/恢复
datapump network_link遭遇ORA-12899错误
在给一个客户使用expdp+network_link导出数据,然后通过impdp导入数据的过程中遇到ORA-12899问题.
对原库和现在库进行分析


原库和目标库表结构一致,原库该表存储数据实际长度确实为1,但是在impdp导入的时候提示需要长度为3.通过分析,确认原库的nls_length_semantics参数设置为char了,直接使用impdp+network_link不落地方式导入该表数据成功

根据上述情况,查询相关文档,确认类似记录为:
ORA-12899 When Using IMPDP Over Network Link (Doc ID 414901.1)
ORA-26059 During Impdp Using Export Dump Taken With NETWORK_LINK Option (Doc ID 2266956.1)
虽然都不是完全匹配该问题,但是基本上可以确认expdp的network_link和nls_length_semantics参数是引起该问题的根本原因,在后续的迁移中,尽量保持nls_length_semantics参数一致.
ORA-19921: maximum number of 64 rows exceeded
rman 登录报ORA-19921错
[oracle@db-base ~]$ rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Fri May 28 11:58:18 2021 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. RMAN-06900: WARNING: unable to generate V$RMAN_STATUS or V$RMAN_OUTPUT row RMAN-06901: WARNING: disabling update of the V$RMAN_STATUS and V$RMAN_OUTPUT rows ORACLE error from target database: ORA-19921: maximum number of 64 rows exceeded connected to target database: ORCL (DBID=1590736012) RMAN>
通过检查rman进程发现大量未退出进程
[oracle@db-base trace]$ ps -ef|grep rman oracle 998 985 0 May18 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 1054 1039 0 Apr18 ? 00:00:10 rman oracle/11.2.0/db_1/bin/rman target / oracle 1738 1726 0 Apr27 ? 00:00:08 rman oracle/11.2.0/db_1/bin/rman target / oracle 4294 4281 0 May11 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 4655 4642 0 May27 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 4955 4943 0 Apr30 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 5712 5700 0 Apr28 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 7162 7149 0 May19 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 7275 7262 0 Apr17 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 7983 7971 0 May12 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 8013 8002 0 10:59 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 8376 8364 0 May26 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 8519 8507 0 11:03 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 9196 9184 0 11:10 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 9345 9333 0 Apr29 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 9420 9407 0 May01 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 9831 9818 0 11:16 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 10242 10229 0 May25 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 11023 11010 0 Apr10 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 11040 11020 0 Apr16 ? 00:00:08 rman oracle/11.2.0/db_1/bin/rman target / oracle 11345 11332 0 Apr11 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 11364 11343 0 Apr12 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 11696 11684 0 Apr13 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 12008 11998 0 11:39 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 12454 12441 0 Apr15 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 12680 12667 0 Apr14 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 12751 12739 0 May13 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 12849 12833 2 11:48 pts/1 00:00:26 rman oracle/11.2.0/db_1/bin/rman target / oracle 13152 13140 0 May02 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 13731 13719 0 Apr05 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 13869 13857 0 May24 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 14027 14014 0 Apr04 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 14073 14061 0 Apr03 ? 00:00:07 rman oracle/11.2.0/db_1/bin/rman target / oracle 14366 13332 0 12:03 pts/2 00:00:00 grep --color=auto rman oracle 15073 15061 0 May23 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 15263 15251 0 May22 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 15766 15753 0 Apr02 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 15915 15903 0 May14 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 16805 16793 0 Mar31 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 16953 16939 0 Apr01 ? 00:00:08 rman oracle/11.2.0/db_1/bin/rman target / oracle 17648 17635 0 May21 ? 00:00:08 rman oracle/11.2.0/db_1/bin/rman target / oracle 17740 17728 0 May03 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 18265 18253 0 Apr09 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 18964 18951 0 May15 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 20731 20719 0 May20 ? 00:00:08 rman oracle/11.2.0/db_1/bin/rman target / oracle 21104 21092 0 May04 ? 00:00:08 rman oracle/11.2.0/db_1/bin/rman target / oracle 23116 23104 0 May16 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 23230 23216 0 Apr07 ? 00:00:08 rman oracle/11.2.0/db_1/bin/rman target / oracle 23969 23956 0 Apr08 ? 00:00:07 rman oracle/11.2.0/db_1/bin/rman target / oracle 24092 24079 0 Apr24 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 25648 25636 0 May07 ? 00:00:08 rman oracle/11.2.0/db_1/bin/rman target / oracle 25843 25831 0 Apr23 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 26261 26248 0 Apr25 ? 00:00:08 rman oracle/11.2.0/db_1/bin/rman target / oracle 26421 26408 0 May08 ? 00:00:08 rman oracle/11.2.0/db_1/bin/rman target / oracle 26470 26458 0 Apr22 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 26776 26763 0 May05 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 28587 28574 0 Apr26 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 29102 29090 0 May09 ? 00:00:07 rman oracle/11.2.0/db_1/bin/rman target / oracle 29402 29389 0 Apr20 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 29628 29613 0 May17 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 29638 29625 0 Apr06 ? 00:00:07 rman oracle/11.2.0/db_1/bin/rman target / oracle 30118 30105 0 Apr21 ? 00:00:01 rman oracle/11.2.0/db_1/bin/rman target / oracle 32536 32523 0 Apr19 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target / oracle 32609 32597 0 May10 ? 00:00:02 rman oracle/11.2.0/db_1/bin/rman target /
kill相关rman进程
[oracle@db-base trace]$ kill -9 `ps -ef|grep rman|grep -v grep|awk '{print $2}'`
rman 登录正常
[oracle@db-base trace]$ rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Fri May 28 12:04:19 2021 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: ORCL (DBID=1590736012) RMAN>
expdp报ORA-39064 ORA-29285错误
expdp导出数据,报错ORA-39064 ORA-29285错误,导致datapump的logfile记录的日志不全
. . 导出了 "HCP"."HR_ADJ_SAL_ADV_SETUP_M" 0 KB 0 行 ORA-39064: 无法写入日志文件 ORA-29285: 文件写入错误 . . 导出了 "HCP"."HR_ADJ_SAL_CONFIRM" 0 KB 0 行
查询数据库NLS_CHARACTERSET
SQL> select NAME, value$ from props$ where name like 'NLS_CHARACTERSET'; NAME ------------------------------ VALUE$ -------------------------------------------------------------------------------- NLS_CHARACTERSET UTF8
查看客户端字符集
SQL> select userenv('language') from dual; USERENV('LANGUAGE') -------------------------------------------------------------------------------- SIMPLIFIED CHINESE_CHINA.ZHS16GBK
出现这个问题,是由于expdp本身调用UTL_FILE,在Oracle Database PL/SQL Packages and Types Reference中有When data encoded in one character set is read and Globalization Support is told (such as by means of NLS_LANG) that it is encoded in another character set, the result is indeterminate. If NLS_LANG is set, it should be the same as the database character set.
基于这样的情况,通过设置NLS_LANG在客户端字符集和服务端一致,就不会出现该问题