标签云
asm恢复 bbed bootstrap$ dul kcbzib_kcrsds_1 kccpb_sanity_check_2 kcratr_nab_less_than_odr MySQL恢复 obet ORA-00312 ORA-00704 ORA-00742 ORA-01110 ORA-01200 ORA-01555 ORA-01578 ORA-01595 ORA-600 2662 ORA-600 2663 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-600 kcratr_nab_less_than_odr 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 比特币加密文章分类
- MongoDB (1)
- MongoDB恢复 (1)
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (112)
- 数据库 (1,884)
- DB2 (22)
- MySQL (82)
- Oracle (1,709)
- Data Guard (53)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (168)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (8)
- Oracle ASM (73)
- Oracle Bug (8)
- Oracle RAC (56)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (29)
- Oracle备份恢复 (662)
- Oracle安装升级 (108)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (91)
- PostgreSQL (37)
- pdu工具 (7)
- PostgreSQL恢复 (13)
- SQL Server (34)
- SQL Server恢复 (14)
- TimesTen (7)
- 达梦数据库 (5)
- 达梦恢复 (3)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (51)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (34)
- MongoDB (1)
-
最近发表
- 记录19c ASM磁盘掉线触发ORA-59048故障处理
- aix平台Oracle数据库由于断电无法启动故障处理
- 断电引起ORA-600 3005故障处理
- 记录一次云存储资源到期之后引起的数据库恢复
- Firebird 损坏数据库数据抢救工具—firebirdext
- Oracle 19c 202610补丁(RUs+OJVM)-19.33
- 由于con$.con#值达到极限,触发数据库增加约束报ORA-600 12807错误
- MongoDB 离线提取工具—mongoext
- .bres勒索病毒加密数据库dmp文件可恢复
- ORA-600 krsm_mrp_rebuild_lf_list.lno_mismatch
- 记录一次0丢失的ORA-00354: 损坏重做日志块标头故障恢复
- 不当数据库恢复操作导致一个月数据丢失
- obet快速修复oracle 位图损坏块
- 不太常见的10.2.0.1的oracle redo损坏恢复
- obet forcecopy功能抢救硬件故障中的数据文件
- kcratr_nab_less_than_odr和system坏块故障处理
- 通过obet 恢复system坏块,打开数据库
- obet dbv功能完整说明
- 分享一例运行在aix上的sap系统数据库恢复过程
- OBET-Oracle Block Editor Tool使用说明
分类目录归档:数据库
awrload导入awr数据出现两种常见错误说明
ORA-06502/ORA-06512错误
SQL> @?/rdbms/admin/awrload.sql ~~~~~~~~~~ AWR LOAD ~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ This script will load the AWR data from a dump file. The ~ ~ script will prompt users for the following information: ~ ~ (1) name of directory object ~ ~ (2) name of dump file ~ ~ (3) staging schema name to load AWR data into ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Specify the Directory Name ~~~~~~~~~~~~~~~~~~~~~~~~~~ Directory Name Directory Path ------------------------------ ------------------------------------------------- DATA_PUMP_DIR /u01/oracle/admin/ora11g/dpdump/ ORACLE_OCM_CONFIG_DIR /u01/oracle/oracle/product/11.2.0/db_1/ccr/state XMLDIR /u01/oracle/oracle/product/11.2.0/db_1/rdbms/xml Choose a Directory Name from the list above (case-sensitive). Enter value for directory_name: DATA_PUMP_DIR Using the dump directory: DATA_PUMP_DIR Specify the Name of the Dump File to Load ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Please specify the prefix of the dump file (.dmp) to load: Enter value for file_name: awrdat_70441_70885-vpos-primary Loading from the file name: awrdat_70441_70885-vpos-primary.dmp begin * ERROR at line 1: ORA-06502: PL/SQL: numeric or value error: character string buffer too small ORA-06512: at line 2
因为导出来的awr数据库的编码是AL32UTF8,而现在的编码是ZHS16GBK,所以解决方法是设置NLS_LANG为合适编码
[oracle@xifenfei ~]$ env|grep NLS_LANG NLS_LANG=AMERICAN_AMERICA.ZHS16GBK [oracle@xifenfei ~]$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
ORA-31640
SQL> @?/rdbms/admin/awrload.sql ~~~~~~~~~~ AWR LOAD ~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ This script will load the AWR data from a dump file. The ~ ~ script will prompt users for the following information: ~ ~ (1) name of directory object ~ ~ (2) name of dump file ~ ~ (3) staging schema name to load AWR data into ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Specify the Directory Name ~~~~~~~~~~~~~~~~~~~~~~~~~~ Directory Name Directory Path ------------------------------ ------------------------------------------------- DATA_PUMP_DIR /u01/oracle/admin/ora11g/dpdump/ ORACLE_OCM_CONFIG_DIR /u01/oracle/oracle/product/11.2.0/db_1/ccr/state XMLDIR /u01/oracle/oracle/product/11.2.0/db_1/rdbms/xml Choose a Directory Name from the list above (case-sensitive). Enter value for directory_name: DATA_PUMP_DIR Using the dump directory: DATA_PUMP_DIR Specify the Name of the Dump File to Load ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Please specify the prefix of the dump file (.dmp) to load: Enter value for file_name: awrdat_70441_70885-vpos-primary <--注意输入 Loading from the file name: awrdat_70441_70885-vpos-primary.dmp ………… | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | Loading the AWR data from the following | directory/file: | /u01/oracle/admin/ora11g/dpdump/ | awrdat_70441_70885-vpos-primar.dmp <--提示的文件名 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | *** AWR Load Started ... | | This operation will take a few moments. The | progress of the AWR load operation can be | monitored in the following directory/file: | /u01/oracle/admin/ora11g/dpdump/ | awrdat_70441_70885-vpos-primar.log | DBMS_DATAPUMP.ADD_FILE(dump file) ORA-39001: invalid argument value Exception encountered in AWR_LOAD begin * ERROR at line 1: ORA-20115: datapump import encountered error: ORA-39001: invalid argument value ORA-39000: bad dump file specification ORA-31640: unable to open dump file "/u01/oracle/admin/ora11g/dpdump/awrdat_70441_70885-vpos-primar.dmp" for read ORA-27037: unable to obtain file status Linux Error: 2: No such file or directory Additional information: 3 ORA-06512: at "SYS.DBMS_SWRF_INTERNAL", line 1717 ORA-06512: at line 3 begin * ERROR at line 1: ORA-20106: AWR tables do not exist for the 'AWR_STAGE' user ORA-06512: at "SYS.DBMS_SWRF_INTERNAL", line 2920 ORA-00942: table or view does not exist ORA-06512: at line 3 ... Dropping AWR_STAGE user End of AWR Load
这里我们可以看到,dmp文件名为31个字符,而在提示文件名的时候是30个字符,从而出现了dmp文件不存在而导致的相关错误,解决方案重命名dmp文件,名称不超过30个字符
ORA-00600[qmxtriCheckAndRewriteQb0]
数据库报ORA-00600[qmxtriCheckAndRewriteQb0]
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
ORACLE_HOME = /u01/oracle/product/10.2.0
System name: AIX
Node name: abc
Release: 3
Version: 5
Machine: 00C58A644C00
Instance name: XFF2
Redo thread mounted by this instance: 2
Oracle process number: 434
Unix process pid: 492340, image: oracle@abc
*** ACTION NAME:() 2012-11-12 08:46:47.132
*** MODULE NAME:() 2012-11-12 08:46:47.132
*** SERVICE NAME:(ORCL) 2012-11-12 08:46:47.132
*** CLIENT ID:() 2012-11-12 08:46:47.132
*** SESSION ID:(870.58602) 2012-11-12 08:46:47.132
*** 2012-11-12 08:46:47.132
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [qmxtriCheckAndRewriteQb0], [], [], [], [], [], [], []
Current SQL statement for this session:
SELECT EXTRACTVALUE(配置,'//SYSTEM[@XTH="'||:B1 ||'"]/FILE') ,
WHERE EXTRACTVALUE(配置,'//SYSTEM[@XTH="'||:B1 ||'"]/BM')=:B2 AND ROWNUM<2
----- PL/SQL Call Stack -----
object line object
handle number name
70000021d535f70 25 procedure ZLTOOLS.ZL_MBRUNLOG_INSERT
7000002b6819368 1 anonymous block
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ksedst+001c bl ksedst1 000000000 ? 000000000 ?
ksedmp+0290 bl ksedst 104A2C690 ?
ksfdmp+0018 bl 03F26C3C
kgerinv+00dc bl _ptrgl
kgeasnmierr+004c bl kgerinv 7000002F735A838 ? 000000000 ?
000000000 ? 000000000 ?
0FFFFBFFF ?
IPRA.$qmxtriCheckAn bl 03F25970
dRewriteQb_rec+0194
IPRA.$qmxtriCheckAn bl IPRA.$qmxtriCheckAn 1000881EC ? 000000000 ?
dRewriteQb_rec+006c dRewriteQb_rec 000000000 ?
IPRA.$qmxtriCheckAn bl IPRA.$qmxtriCheckAn FFFFFFFFFFF07E0 ? 000000033 ?
dRewriteQb_rec+006c dRewriteQb_rec 1056037F8 ?
qmxtriCheckAndRewri bcl dmqlKMlod+00c0 000000000 ? 110421CB0 ?
teQb+0094 FFFFFFFFFFE87C0 ?
qmxtrxq+0210 bl 03F252EC
qmxtrxop+00a4 bl qmxtrxq FFFFFFFFFFF25B8 ?
700000282F66DD0 ? 110195E98 ?
koksspend+02b0 bl qmxtrxop 100346AB4 ?
kkmdrvend+01a8 bl koksspend 000000001 ? 104B3A8A8 ?
000000000 ?
kkmdrv+004c bl kkmdrvend FFFFFFFFFFE8BE0 ?
883843401048F2F8 ?
opiSem+13c0 bl kkmdrv 000000000 ? 000000000 ?
000000000 ? 11022AC50 ?
opiDeferredSem+0234 bl opiSem FFFFFFFFFFE9CE0 ?
7000001E327CCE0 ? 000000111 ?
100000001 ?
opitca+01e8 bl opiDeferredSem
kksFullTypeCheck+00 bl 03F25230
1c
rpiswu2+034c bl _ptrgl
kksSetBindType+0d28 bl rpiswu2 70000030850C178 ?
3300000033 ?
FFFFFFFFFFF0570 ?
FFFFFFFFFFF0578 ?
7000002F6F0C700 ?
33104027D8 ?
FFFFFFFFFFF1F48 ? 000000000 ?
kksfbc+1054 bl kksSetBindType 70000030F58F400 ? 1107CB418 ?
70000001003B800 ?
10200003000 ? 110000FF8 ?
7000000100ECAB8 ?
FFFFFFFFFFF1480 ?
481A408400003000 ?
opiexe+098c bl 01F960BC
opipls+185c bl opiexe FFFFFFFFFFF3900 ?
FFFFFFFFFFF39E8 ?
FFFFFFFFFFF38A0 ?
opiodr+0ae0 bl _ptrgl
rpidrus+01bc bl opiodr 66FFFF54B0 ? 608736A20 ?
FFFFFFFFFFF67C0 ?
1510195E98 ?
skgmstack+00c8 bl _ptrgl
rpidru+0088 bl skgmstack 102320840 ? 000000000 ?
000000002 ? 000000000 ?
FFFFFFFFFFF5F88 ?
rpiswu2+034c bl _ptrgl
rpidrv+095c bl rpiswu2 70000030850C178 ? 110469C28 ?
11044AA58 ? 000000000 ?
FFFFFFFFFFF5D60 ?
3300000000 ? 000000000 ?
000000000 ?
psddr0+02bc bl 03F266D4
psdnal+01d0 bl psddr0 1500000000 ? 6600000000 ?
FFFFFFFFFFF67C0 ?
30100BACC8 ?
pevm_EXECC+01f8 bl _ptrgl
pfrinstr_EXECC+0070 bl pevm_EXECC 10147B2A4 ? 000000000 ?
700000262828B72 ?
pfrrun_no_tool+005c bl _ptrgl
pfrrun+1014 bl pfrrun_no_tool FFFFFFFFFFF6B20 ?
7000002B6819368 ? 3100ECBB0 ?
plsql_run+06b4 bl pfrrun 1107D84A8 ?
peicnt+0224 bl plsql_run 1107D84A8 ? 10001102676F8 ?
000000000 ?
kkxexe+0250 bl peicnt FFFFFFFFFFF7E38 ? 1107D84A8 ?
opiexe+2ef8 bl kkxexe 11047E1C8 ?
kpoal8+0edc bl opiexe FFFFFFFFFFFB454 ?
FFFFFFFFFFFB1A8 ?
FFFFFFFFFFF9628 ?
opiodr+0ae0 bl _ptrgl
ttcpip+1020 bl _ptrgl
opitsk+1124 bl 01F96AC8
opiino+0990 bl opitsk 0FFFFD490 ? 000000000 ?
opiodr+0ae0 bl _ptrgl
opidrv+0484 bl 01F95914
sou2o+0090 bl opidrv 3C02D99B7C ? 4A076D928 ?
FFFFFFFFFFFF390 ?
opimai_real+01bc bl 01F93294
main+0098 bl opimai_real 000000000 ? 000000000 ?
__start+0098 bl main 000000000 ? 000000000 ?
--------------------- Binary Stack Dump ---------------------
通过这个trace的部分信息可以得到:
1.操作系统版本AIX x64(5.3)
2.数据库版本10.2.0.4
3.sql语句调用EXTRACTVALUE函数
4.Call Stack Trace信息
查询MOS[ID 467350.1]发现匹配信息
Cause Bug 6030982 ORA-600 [QMXTRICHECKANDREWRITEQB0] WITH QUERY USING EXTRACTVALUE FUNCTION Solution This bug is going to be fixed in furture 10.2.0.5.0 and 11g At the mean time , user can workaround by set event = "19027 trace name context forever, level 1" within init.ora or spfile file then bounce database. or SQL> alter session set events ='19027 trace name context forever, level 1'; SQL> Alter system flush shared_pool; -- Execute affected query
通过mos可以确定:
1.是因为数据库执行EXTRACTVALUE函数遇到该bug
2.在11g和10.2.0.5中修复该bug
3.可以通过设置event = “19027 trace name context forever, level 1″来临时解决该问题
个人处理建议
1.如果数据库方便升级,那建议升级处理
2.如果数据库不便立马升级,建议在业务低估时设置session event 19027,然后 flush shared_pool,执行报错sql,如果问题解决,在合适时间设置system event来临时屏蔽该问题.
数据文件的CREATION_TIME来源和算法
对ORACLE比较熟悉的人都知道v$datafile.CREATION_TIME和v$datafile_header.CREATION_TIME这两个列都是表示数据文件的创建时间,而根据我们的经验可以知道几点:
1.当v$datafile.CREATION_TIME与v$datafile_header.CREATION_TIME不一致时数据库不能正常启动
2.v$datafile.CREATION_TIME的值来源于v$datafile_header.CREATION_TIME
3.而v$datafile_header.CREATION_TIME的值来源于数据文件头的块中的信息
现在就出现一个问题,数据块中的kcvfhcrt是一个16进制的数,如何实现在v$datafile和v$datafile_header中转为为了数据文件创建的日期
数据文件中存储创建数据文件日期内容
ub4 kcvfhcrt @108 0x2c67319c
v$datafile.CREATION_TIME值
SQL> select to_char(CREATION_TIME,'yyyy-mm-dd hh24:mi:ss') xifenfei 2 from v$datafile where file#=1; XIFENFEI ------------------- 2011-03-05 05:26:52
如何通过kcvfhcrt值推算出来CREATION_TIME或者通过CREATION_TIME推断出来kcvfhcrt的值规则:
熟悉数据库SCN计数原理的人都知道,我们现在使用的数据库是从1988/01/01 00:00:00开始记录SCN,也就是说我们的数据库的使用最早时间只能是从1988年元旦凌晨开始,那么也就是说数据库记录的创建时间可以采用这个时间点为起点,然后每增加一秒,数据库的kcvfhcrt就增加1,但是ORACLE为了计算简便,每个月按照31天计算
通过时间推算出来kcvfhcrt值
--数据库记录时间起点 1988/01/01 00:00:00 --当前数据文件创建日志 2011/03/05 05:26:52 --两者相差时间 23年02月04日05时26分52秒 --计算相差秒 23*12*31*24*60*60+2*31*24*60*60+4*24*60*60+5*60*60+26*60+52=744960412 --kcvfhcrt值转换 2c67319c(16进制)=744960412(10进制)
通过kcvfhcrt计算CREATION_TIME值
SQL> select to_number('2c67319c','xxxxxxxxxxx') from dual;
TO_NUMBER('2C67319C','XXXXXXXXXXX')
-----------------------------------
744960412
SQL> select 744960412/(12*31*24*60*60) from dual;
744960412/(12*31*24*60*60)
--------------------------
23.1780295
SQL> select mod(744960412,(12*31*24*60*60)) from dual;
MOD(744960412,(12*31*24*60*60))
-------------------------------
5722012
SQL> select 5722012/(31*24*60*60) from dual;
5722012/(31*24*60*60)
---------------------
2.13635454
SQL> select mod(5722012,(31*24*60*60)) from dual;
MOD(5722012,(31*24*60*60))
--------------------------
365212
SQL> select 365212/(24*60*60) from dual;
365212/(24*60*60)
-----------------
4.22699074
SQL> select mod(365212,(24*60*60)) from dual;
MOD(365212,(24*60*60))
----------------------
19612
SQL> select 19612/(60*60) from dual;
19612/(60*60)
-------------
5.44777778
SQL> select mod(19612,(60*60)) from dual;
MOD(19612,(60*60))
------------------
1612
SQL> select 1612/60 from dual;
1612/60
----------
26.8666667
SQL> select mod(1612,60) from dual;
MOD(1612,60)
------------
52
从这里可以得出23年2月4天5时26分52秒,与1988年01月01日00时00分00秒相加得到
2011年03月05日 5:26:52
SQL> select to_char(CREATION_TIME,'yyyy-mm-dd hh24:mi:ss') from v$datafile where file#=1;
TO_CHAR(CREATION_TI
-------------------
2011-03-05 05:26:52
发表在 Oracle
评论关闭

加我微信(17813235971)
加我QQ(107644445)

