标签云
asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 kfed MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-01110 ORA-01555 ORA-01578 ORA-08103 ORA-600 2131 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-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)
- 操作系统 (102)
- 数据库 (1,671)
- DB2 (22)
- MySQL (73)
- Oracle (1,533)
- Data Guard (52)
- EXADATA (8)
- GoldenGate (21)
- ORA-xxxxx (159)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (14)
- ORACLE 21C (3)
- Oracle 23ai (7)
- Oracle ASM (65)
- Oracle Bug (8)
- Oracle RAC (52)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (28)
- Oracle备份恢复 (560)
- Oracle安装升级 (92)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (78)
- PostgreSQL (18)
- PostgreSQL恢复 (6)
- SQL Server (27)
- SQL Server恢复 (8)
- TimesTen (7)
- 达梦数据库 (2)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (37)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (20)
-
最近发表
- Kylin Linux 安装19c
- ORA-600 krse_arc_complete.4
- Oracle 19c 202410补丁(RUs+OJVM)
- ntfs MFT损坏(ntfs文件系统故障)导致oracle异常恢复
- .mkp扩展名oracle数据文件加密恢复
- 清空redo,导致ORA-27048: skgfifi: file header information is invalid
- A_H_README_TO_RECOVER勒索恢复
- 通过alert日志分析客户自行对一个数据库恢复的来龙去脉和点评
- ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的SERVICE_NAME
- ORA-01092 ORA-00604 ORA-01558故障处理
- ORA-65088: database open should be retried
- Oracle 19c异常恢复—ORA-01209/ORA-65088
- ORA-600 16703故障再现
- 数据库启动报ORA-27102 OSD-00026 O/S-Error: (OS 1455)
- .[metro777@cock.li].Elbie勒索病毒加密数据库恢复
- 应用连接错误,初始化mysql数据库恢复
- RAC默认服务配置优先节点
- Oracle 19c RAC 替换私网操作
- 监听报TNS-12541 TNS-12560 TNS-00511错误
- drop tablespace xxx including contents恢复
作者归档:惜分飞
RMAN SBT_TAPE备份无法被DISK通道识别
经过测试确认rman SBT_TAPE通道备份的rman备份集无法被DISK通道(文件系统方式备份)方式恢复,关于rman的SBT_TAPE通道(带库方式备份)备份参考:模拟带库实现rman远程备份
发起SBT_TAPE通道备份备份
[oracle@xifenfei ~]$ rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Sun Jul 14 13:19:03 2024 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: XIFENFEI (DBID=1780931490) RMAN> CONFIGURE DEFAULT DEVICE TYPE TO SBT_TAPE; using target database control file instead of recovery catalog old RMAN configuration parameters: CONFIGURE DEFAULT DEVICE TYPE TO DISK; new RMAN configuration parameters: CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE'; new RMAN configuration parameters are successfully stored RMAN> backup format 'ctl_%T_%U.rman' current controlfile; Starting backup at 14-JUL-24 allocated channel: ORA_SBT_TAPE_1 channel ORA_SBT_TAPE_1: SID=147 device type=SBT_TAPE channel ORA_SBT_TAPE_1: SBT/SSH2-SFTP channel ORA_SBT_TAPE_1: starting full datafile backup set channel ORA_SBT_TAPE_1: specifying datafile(s) in backup set including current control file in backup set channel ORA_SBT_TAPE_1: starting piece 1 at 14-JUL-24 channel ORA_SBT_TAPE_1: finished piece 1 at 14-JUL-24 piece handle=ctl_20240714_0r2vt3eh_1_1.rman tag=TAG20240714T131913 comment=API Version 2.0,MMS Version 1.0.9.0 channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:01 Finished backup at 14-JUL-24
确认备份文件在文件系统中位置
[oracle@xifenfei ~]$ ls -l /tmp/rmanback/ctl_20240714_0r2vt3eh_1_1.rman -rw-r--r-- 1 root root 9961472 Jul 14 13:19 /tmp/rmanback/ctl_20240714_0r2vt3eh_1_1.rman
尝试DISK通道加载备份集,报RMAN-07519错误
RMAN> catalog start with '/tmp/rmanback/ctl_20240714_0r2vt3eh_1_1.rman'; using target database control file instead of recovery catalog searching for all files that match the pattern /tmp/rmanback/ctl_20240714_0r2vt3eh_1_1.rman List of Files Unknown to the Database ===================================== File Name: /tmp/rmanback/ctl_20240714_0r2vt3eh_1_1.rman Do you really want to catalog the above files (enter YES or NO)? yes cataloging files... no files cataloged List of Files Which Where Not Cataloged ======================================= File Name: /tmp/rmanback/ctl_20240714_0r2vt3eh_1_1.rman RMAN-07519: Reason: Error while cataloging. See alert.log.
查看alert日志信息报ORA-27048: skgfifi: file header information is invalid 等错误
Sun Jul 14 13:28:22 2024 Errors in file /u01/app/oracle/diag/rdbms/xifenfei/xifenfei/trace/xifenfei_ora_13260.trc: ORA-19624: operation failed, retry possible ORA-19870: error while restoring backup piece /tmp/rmanback/ctl_20240714_0r2vt3eh_1_1.rman ORA-19505: failed to identify file "/tmp/rmanback/ctl_20240714_0r2vt3eh_1_1.rman" ORA-27048: skgfifi: file header information is invalid Additional information: 8 ORA-27048: skgfifi: file header information is invalid Additional information: 8 ORA-27048: skgfifi: file header information is invalid Additional information: 8
通过分析备份文件发现在带库方式备份和文件系统方式备份的文件头信息明显不一样
ORA-27154 ORA-27300 ORA-27301 ORA-27302故障处理
根据经验对系统的内核参数做了一些调整,结果导致数据库启动失败提示报ORA-27154 ORA-27300 ORA-27301 ORA-27302错误
ORA-27154: post/wait create failed ORA-27300: OS system dependent operation:semget failed with status: 28 ORA-27301: OS failure message: No space left on device ORA-27302: failure occurred at: sskgpcreates
根据官方描述:Database Startup Fails with ORA-27300: OS system dependent operation:semget failed with status: 28 (Doc ID 949468.1),出现该问题原因可能是由于kernel.sem参数配置不合适当时,该库的processes配置为:20000,kernel.sem参数配置为:kernel.sem = 250 32000 100 128,参数说明:
kernel.sem = SEMMSL SEMMNS SEMOPM SEMMNI SEMMSL - max semaphores per array SEMMNS - max semaphores system wide SEMOPM - max ops per semop call SEMMNI - max number of arrays
理论上每个这样的配置最大值SEMMSL*SEMMNI=32000大于process的20000的设置,可是实际上控制每个信号集的信号数量没有达到250,而是只有156,通过ipcs命令可以看
[oracle@xifenfei ~]$ ipcs ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x00000000 32768 oracle 640 33554432 30 0x00000000 65537 oracle 640 4261412864 30 0xc2d167d0 98306 oracle 640 2097152 30 0x00000072 131075 root 444 1 1 ------ Semaphore Arrays -------- key semid owner perms nsems 0x450e15bd 0 root 666 1 0x0000cace 32769 root 666 1 0x358b172c 327683 oracle 660 104 0x9053d038 11075588 oracle 660 156 0x9053d039 11108357 oracle 660 156 0x9053d03a 11141126 oracle 660 156 0x9053d03b 11173895 oracle 660 156
从而使得SEMMSL*SEMMNI小于processes值,进而数据库启动报ORA-27154 ORA-27300 ORA-27301 ORA-27302,修改kernel.sem = 250 64000 128 256,数据库启动成功
Patch SCN工具for Linux
前几年开发了图形化的win平台的patch scn工具:一键修改Oracle SCN工具升级(patch scn)
最近基于linux平台开发了命令行方式的Patch scn工具,大概使用如下:
1. 数据库必须处于mount状态才能修改scn
[oracle@iZbp11c0qyuuo1gr7j98upZ tmp]$ ./Patch_SCN 328 247884300 ERROR:Oracle Database must be in Mount state in order to modify SCN
2. Patch_SCN参数提示
[oracle@iZbp11c0qyuuo1gr7j98upZ tmp]$ ./Patch_SCN Use Parameters: PID SCN(10) [ADDR(16,don't 0x)]
3.修改SCN 具体操作
1)启动数据库到mount状态 SQL> startup mount; ORACLE instance started. Total System Global Area 551165952 bytes Fixed Size 2255112 bytes Variable Size 369100536 bytes Database Buffers 171966464 bytes Redo Buffers 7843840 bytes Database mounted. 2)查询数据库当前scn SQL> select CHECKPOINT_CHANGE# from v$database; CHECKPOINT_CHANGE# ------------------ 2478843 3)新会话中修改数据库scn [oracle@iZbp11c0qyuuo1gr7j98upZ tmp]$ ./Patch_SCN 328 247884300 Please press ENTER to continue... Modify the Oracle SCN value to:EC66A0C:247884300 4)启动数据库并查询scn SQL> ALTER DATABASE OPEN; Database altered. SQL> select CHECKPOINT_CHANGE# from v$database; CHECKPOINT_CHANGE# ------------------ 247884301 (比修改scn稍微大由于数据库已经启动会自动增加scn值)
这个小工具直接通过内存地址修改scn,绕过Oracle在一些版本中的oradebug的限制:oradebug poke ORA-32521/ORA-32519故障解决
Patch_SCN下载:Patch_SCN下载
Patch_SCN使用说明:Patch_SCN使用说明