标签云
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,765)
- DB2 (22)
- MySQL (77)
- Oracle (1,606)
- 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备份恢复 (588)
- 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)
-
最近发表
- 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故障处理
- Oracle 19c 202504补丁(RUs+OJVM)-19.27
- Oracle Recovery Tools修复ORA-600 6101/kdxlin:psno out of range故障
分类目录归档:Oracle
ARM上的oracle数据库存储字节序分析—小字节序
对在ARM CPU上运行的oracle数据库进行分析,判断大小字节序问题
从系统上lscpu看是小字节序
[root@xifenfei ~]# lscpu Architecture: aarch64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 8 On-line CPU(s) list: 0-7 Thread(s) per core: 1 Core(s) per socket: 8 Socket(s): 1 NUMA node(s): 1 Vendor ID: ARM Model: 1 Model name: Cortex-A76 Stepping: r4p1 BogoMIPS: 125.00 NUMA node0 CPU(s): 0-7 ………… [root@xifenfei ~]#
从dbid分析字节序问题
数据库中查看dbid值
SQL> select name,dbid,PLATFORM_ID,PLATFORM_NAME from v$database; NAME DBID PLATFORM_ID --------- ---------- ----------- PLATFORM_NAME -------------------------------------------------------------------------------- ARMDB 1195886419 23 Linux OS (AARCH64)
bbed查看dbid值
BBED> p kcvfh.kcvfhhdr.kccfhdbi ub4 kccfhdbi @28 0x4747c753 BBED> set count 16 COUNT 16 BBED> d File: /tmp/system01.dbf (0) Block: 1 Offsets: 28 to 43 Dba:0x00000000 ------------------------------------------------------------------------ 53c74747 41524d44 42000000 03040000 <32 bytes per line>
从这里可以看出来dbid(1195886419)是倒序存储的,也就证明了arm linux上面运行的oracle 是小字节序的.
ARM Linux(麒麟操作系统)安装Oracle数据库
Oracle在6月底发布了支持ARM cpu的oracle数据库版本19.9,下载页面,选择Oracle Database 19c for LINUX ARM (aarch64)
安装技术文档参考:database-installation-guide-linux,其中描述目前for arm版本oracle只是认证了操作系统oracle linux(for arm) 8.6+

在信创平台中没有oracle linux选项,为了让oracle数据库尽可能的运行在信创的硬件和系统上,我选择的麒麟V10版本进行测试安装测试(该版本未被oracle认证,仅供测试),在安装过程中遇到的几个主要坑分享下:
1. 执行runInstaller报错
[oracle@www.xifenfei.com db_1]$ ./runInstaller /u01/app/oracle/product/19c/db_1/perl/bin/perl: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory [oracle@www.xifenfei.com db_1]$ perl -version This is perl 5, version 28, subversion 3 (v5.28.3) built for aarch64-linux-thread-multi Copyright 1987-2020, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page.
这个是由于oracle自带的perl版本依赖包操作系统中不具备,对数据库软件中的perl进行降级即可
2. 安装图形化界面报PRVG-0282 : failed to retrieve the operating system distribution ID错误
由于在该版本的cvu_prereq.xml文件中只是写了oel支持,现在的操作系统是Kylin Linux Advanced Server,不在他的列表里面,因此提示该错误,解决方案参考:19.x:Database software installation failed with ” PRVG-0282 : failed to retrieve the operating system distribution ID ” (Doc ID 2894095.1),设置CV_ASSUME_DISTID解决该问题
3. 编译报错类似:
Error in invoking target ‘clean rat_on part_on dm_on olap_on sdo_on rac_off dnfs_off’
Error in invoking target ‘mkldflags ntcontab.o nnfgt.o’
通过查看日志发现是类似以下错误

确认是由于缺少了/opt/rh/devtoolset-8/root/usr/bin/ar程序导致,对其进行安装然后重试编译(出现错误类似一个个分析处理)
经过上述一系列处理,数据库软件终于顺利安装

4. dbca无法正常启动,静默方式直接退出,选择命令方式创建库
--准备好pfile文件,启动库到nomount CREATE DATABASE armdb USER SYS IDENTIFIED BY oracle USER SYSTEM IDENTIFIED BY oracle LOGFILE GROUP 1 ('/u01/app/oracle/oradata/armdb/redo01a.log') SIZE 200M BLOCKSIZE 512, GROUP 2 ('/u01/app/oracle/oradata/armdb/redo02a.log') SIZE 200M BLOCKSIZE 512, GROUP 3 ('/u01/app/oracle/oradata/armdb/redo03a.log') SIZE 200M BLOCKSIZE 512 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 8192 CHARACTER SET AL32UTF8 NATIONAL CHARACTER SET AL16UTF16 EXTENT MANAGEMENT LOCAL DATAFILE '/u01/app/oracle/oradata/armdb/system01.dbf' SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED SYSAUX DATAFILE '/u01/app/oracle/oradata/armdb/sysaux01.dbf' SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED DEFAULT TABLESPACE users DATAFILE '/u01/app/oracle/oradata/armdb/users01.dbf' SIZE 5M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED DEFAULT TEMPORARY TABLESPACE temp TEMPFILE '/u01/app/oracle/oradata/armdb/temp01.dbf' SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED UNDO TABLESPACE undotbs1 DATAFILE '/u01/app/oracle/oradata/armdb/undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED; --执行以下脚本 @?/rdbms/admin/catalog.sql @?/rdbms/admin/catproc.sql @?/rdbms/admin/utlrp.sql @?/sqlplus/admin/pupbld.sql
上述操作之后,在ARM平台的麒麟V10上安装oracle 数据库的事情基本上完成
[oracle@www.xifenfei.com ~]$ uname -a Linux www.xifenfei.com.localdomain 4.19.90-24.4.v2101.ky10.aarch64 #1 SMP Mon May 24 14:45:37 CST 2021 aarch64 aarch64 aarch64 GNU/Linux [oracle@www.xifenfei.com ~]$ cat /etc/os-release NAME="Kylin Linux Advanced Server" VERSION="V10 (Sword)" ID="kylin" VERSION_ID="V10" PRETTY_NAME="Kylin Linux Advanced Server V10 (Sword)" ANSI_COLOR="0;31" [oracle@www.xifenfei.com ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Sat Jul 8 23:46:42 2023 Version 19.19.0.0.0 Copyright (c) 1982, 2023, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.19.0.0.0 SQL> select name,created ,PLATFORM_NAME from v$database; NAME CREATED --------- ------------------ PLATFORM_NAME -------------------------------------------------------------------------------- ARMDB 08-JUL-23 Linux OS (AARCH64)
本次测试是基于Oracle官方没有认证的麒麟V10进行,如果希望安装的顺利一些,稳定一些,建议选择Oracle linux(for ARM)8.6+版本
发表在 Oracle安装升级
标签为 ARM oracle, arm 安装oracle, Kylin oracle, oracle arm, 信创系统安装oracle, 麒麟安装oracle
评论关闭
win系统删除oracle数据文件恢复
有客户联系我们,说win平台下的数据库,在由于空间紧张,在关闭数据库的情况下删除的两个数据文件,导致数据库无法正常访问很多业务表,需要对其进行恢复,查看alert日志发现大概操作,删除文件之后,启动数据库失败
Completed: alter database mount exclusive alter database open Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_dbw0_4060.trc: ORA-01157: cannot identify/lock data file 6 - see DBWR trace file ORA-01110: data file 6: 'D:\DATASPACE\XXXXX.DBF' ORA-27041: unable to open file OSD-04002: 无法打开文件 O/S-Error: (OS 2) 系统找不到指定的文件。 Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_dbw0_4060.trc: ORA-01157: cannot identify/lock data file 38 - see DBWR trace file ORA-01110: data file 38: 'D:\DATASPACE\XXXXX24.DBF' ORA-27041: unable to open file OSD-04002: 无法打开文件 O/S-Error: (OS 2) 系统找不到指定的文件。 Tue Jun 27 14:50:28 2023 Checker run found 2 new persistent data failures
人工创建被删除文件,启动库报ORA-27047,OSD-04006等错误
Tue Jun 27 16:45:10 2023 ALTER DATABASE OPEN Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_dbw0_5456.trc: ORA-01157: cannot identify/lock data file 6 - see DBWR trace file ORA-01110: data file 6: 'D:\DATASPACE\XXXXX.DBF' ORA-27047: unable to read the header block of file OSD-04006: ReadFile() 失败, 无法读取文件 O/S-Error: (OS 38) 已到文件结尾。
offline相关数据文件,启动库成功,但是job开始报错
Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_dbw0_5456.trc: ORA-01157: cannot identify/lock data file 38 - see DBWR trace file ORA-01110: data file 38: 'D:\DATASPACE\XXXXX24.DBF' ORA-27041: unable to open file OSD-04002: 无法打开文件 O/S-Error: (OS 2) 系统找不到指定的文件。 Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_648.trc: ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件 ORA-01110: 数据文件 6: 'D:\DATASPACE\XXXXX.DBF' ORA-1157 signalled during: ALTER DATABASE OPEN... Tue Jun 27 16:48:43 2023 alter database datafile 'D:\DATASPACE\XXXXX.DBF' offline drop Completed: alter database datafile 'D:\DATASPACE\XXXXX.DBF' offline drop Tue Jun 27 16:49:08 2023 alter database open Tue Jun 27 16:49:08 2023 Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_dbw0_5456.trc: ORA-01157: cannot identify/lock data file 38 - see DBWR trace file ORA-01110: data file 38: 'D:\DATASPACE\XXXXX24.DBF' ORA-27041: unable to open file OSD-04002: 无法打开文件 O/S-Error: (OS 2) 系统找不到指定的文件。 Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_3976.trc: ORA-01157: 无法标识/锁定数据文件 38 - 请参阅 DBWR 跟踪文件 ORA-01110: 数据文件 38: 'D:\DATASPACE\XXXXX24.DBF' ORA-1157 signalled during: alter database open... Tue Jun 27 16:49:08 2023 Checker run found 1 new persistent data failures Tue Jun 27 16:49:28 2023 alter database datafile 'D:\DATASPACE\XXXXX24.DBF' offline drop Completed: alter database datafile 'D:\DATASPACE\XXXXX24.DBF' offline drop alter database open Tue Jun 27 16:49:37 2023 Thread 1 opened at log sequence 145929 Current log# 3 seq# 145929 mem# 0: D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG Successful open of redo thread 1 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Tue Jun 27 16:49:37 2023 SMON: enabling cache recovery Successfully onlined Undo Tablespace 2. Verifying file header compatibility for 11g tablespace encryption.. Verifying 11g file header compatibility for tablespace encryption completed SMON: enabling tx recovery Database Characterset is ZHS16GBK No Resource Manager plan active Tue Jun 27 16:49:39 2023 replication_dependency_tracking turned off (no async multimaster replication found) Starting background process QMNC Tue Jun 27 16:49:40 2023 QMNC started with pid=21, OS id=6096 Completed: alter database open Tue Jun 27 16:49:43 2023 db_recovery_file_dest_size of 4096 MB is 0.00% used. This is a user-specified limit on the amount of space that will be used by this database for recovery-related files, and does not reflect the amount of space available in the underlying filesystem or ASM diskgroup. Tue Jun 27 16:49:44 2023 Starting background process CJQ0 Tue Jun 27 16:49:44 2023 CJQ0 started with pid=142, OS id=6036 Tue Jun 27 16:49:48 2023 Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_j007_5184.trc: ORA-12012: 自动执行作业 64 出错 ORA-00376: 此时无法读取文件 6 ORA-01110: 数据文件 6: 'D:\DATASPACE\XXXXX.DBF' ORA-06512: 在 "XIFENFEI.XXXXXXXX", line 2897 ORA-06512: 在 line 1 Tue Jun 27 16:51:52 2023 Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_j000_2548.trc: ORA-12012: 自动执行作业 64 出错 ORA-00376: 此时无法读取文件 6 ORA-01110: 数据文件 6: 'D:\DATASPACE\XXXXX.DBF' ORA-06512: 在 "XIFENFEI.XXXXXXXX", line 2897 ORA-06512: 在 line 1 Tue Jun 27 16:54:44 2023 Starting background process SMCO Tue Jun 27 16:54:44 2023 SMCO started with pid=42, OS id=908 Tue Jun 27 16:55:52 2023
接手现场之后,关闭数据库,使用操作系统层面反删除工具进行扫描恢复,发现其中一个文件(另外一个文件os层面无法恢复)
通过工具检测恢复出来的数据文件,损坏的几个block是文件头部不涉及业务数据,运气不错

另外一个数据文件,从os层面无法恢复,对于这种情况,只能基于底层的block层面进行恢复(恢复没有覆盖的block)

参考类似恢复案例:
win文件系统损坏oracle恢复
Oracle 数据文件大小为0kb或者文件丢失恢复
分享运气超级好的一次drop tablespace 数据恢复
恢复出来的两个数据文件,结合该编辑的其他数据文件通过dul工具恢复其中数据,最大程度抢救客户数据,减少损失.